Skip to content

Instantly share code, notes, and snippets.

@ryross
Created April 12, 2010 21:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ryross/364044 to your computer and use it in GitHub Desktop.
Save ryross/364044 to your computer and use it in GitHub Desktop.
Helper_States
<?php defined('SYSPATH') or die('No direct script access.');
class Helper_States
{
public static $state_list = array(
'alabama' => 'Alabama',
'alaska' => 'Alaska',
'arizona' => 'Arizona',
'arkansas' => 'Arkansas',
'california' => 'California',
'colorado' => 'Colorado',
'connecticut' => 'Connecticut',
'delaware' => 'Delaware',
'districtofcolumbia' => 'District of Columbia',
'florida' => 'Florida',
'georgia' => 'Georgia',
'hawaii' => 'Hawaii',
'idaho' => 'Idaho',
'illinois' => 'Illinois',
'indiana' => 'Indiana',
'iowa' => 'Iowa',
'kansas' => 'Kansas',
'kentucky' => 'Kentucky',
'louisiana' => 'Louisiana',
'maine' => 'Maine',
'maryland' => 'Maryland',
'massachusetts' => 'Massachusetts',
'michigan' => 'Michigan',
'minnesota' => 'Minnesota',
'mississippi' => 'Mississippi',
'missouri' => 'Missouri',
'montana' => 'Montana',
'nebraska' => 'Nebraska',
'nevada' => 'Nevada',
'newhampshire' => 'New Hampshire',
'newjersey' => 'New Jersey',
'newmexico' => 'New Mexico',
'newyork' => 'New York',
'northcarolina' => 'North Carolina',
'northdakota' => 'North Dakota',
'ohio' => 'Ohio',
'oklahoma' => 'Oklahoma',
'oregon' => 'Oregon',
'pennsylvania' => 'Pennsylvania',
'rhodeisland' => 'Rhode Island',
'southcarolina' => 'South Carolina',
'southdakota' => 'South Dakota',
'tennessee' => 'Tennessee',
'texas' => 'Texas',
'utah' => 'Utah',
'vermont' => 'Vermont',
'virginia' => 'Virginia',
'washington' => 'Washington',
'westvirginia' => 'West Virginia',
'wisconsin' => 'Wisconsin',
'wyoming' => 'Wyoming',
);
public static $abbr_list = array(
'AL'=>"Alabama",
'AK'=>"Alaska",
'AZ'=>"Arizona",
'AR'=>"Arkansas",
'CA'=>"California",
'CO'=>"Colorado",
'CT'=>"Connecticut",
'DE'=>"Delaware",
'DC'=>"District Of Columbia",
'FL'=>"Florida",
'GA'=>"Georgia",
'HI'=>"Hawaii",
'ID'=>"Idaho",
'IL'=>"Illinois",
'IN'=>"Indiana",
'IA'=>"Iowa",
'KS'=>"Kansas",
'KY'=>"Kentucky",
'LA'=>"Louisiana",
'ME'=>"Maine",
'MD'=>"Maryland",
'MA'=>"Massachusetts",
'MI'=>"Michigan",
'MN'=>"Minnesota",
'MS'=>"Mississippi",
'MO'=>"Missouri",
'MT'=>"Montana",
'NE'=>"Nebraska",
'NV'=>"Nevada",
'NH'=>"New Hampshire",
'NJ'=>"New Jersey",
'NM'=>"New Mexico",
'NY'=>"New York",
'NC'=>"North Carolina",
'ND'=>"North Dakota",
'OH'=>"Ohio",
'OK'=>"Oklahoma",
'OR'=>"Oregon",
'PA'=>"Pennsylvania",
'RI'=>"Rhode Island",
'SC'=>"South Carolina",
'SD'=>"South Dakota",
'TN'=>"Tennessee",
'TX'=>"Texas",
'UT'=>"Utah",
'VT'=>"Vermont",
'VA'=>"Virginia",
'WA'=>"Washington",
'WV'=>"West Virginia",
'WI'=>"Wisconsin",
'WY'=>"Wyoming"
);
public static function abbr_to_url($state)
{
if( ! isset(Helper_States::$abbr_list[$state]))
return FALSE;
return array_search(Helper_States::$abbr_list[$state], Helper_States::$state_list);
}
public static function abbr_to_name($state)
{
if( ! isset(Helper_States::$abbr_list[$state]))
return FALSE;
return Helper_States::$abbr_list[$state];
}
public static function url_to_name($url)
{
if( ! isset(Helper_States::$state_list[$url]))
return FALSE;
return Helper_States::$state_list[$url];
}
public static function name_to_abbr($state)
{
return array_search($state, Helper_States::$abbr_list);
}
public static function name_to_url($state)
{
return array_search($state, Helper_States::$state_list);
}
public static function url_to_abbr($url)
{
if( ! Helper_States::url_to_name($url))
return FALSE;
return array_search(Helper_States::url_to_name($url), Helper_States::$abbr_list);
}
public static function state_select($name, $value, $attr = NULL)
{
$states = array_keys(Helper_States::$abbr_list);
$state_list = array_combine($states, $states);
return Form::select($name, $state_list, $value, $attr);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment