Current File : //opt/RZphp71/includes/HTML/Select/Common/USState.php |
<?php
// +-----------------------------------------------------------------------+
// | Copyright (c) 2002 Richard Heyes |
// | All rights reserved. |
// | |
// | Redistribution and use in source and binary forms, with or without |
// | modification, are permitted provided that the following conditions |
// | are met: |
// | |
// | o Redistributions of source code must retain the above copyright |
// | notice, this list of conditions and the following disclaimer. |
// | o Redistributions in binary form must reproduce the above copyright |
// | notice, this list of conditions and the following disclaimer in the |
// | documentation and/or other materials provided with the distribution.|
// | o The names of the authors may not be used to endorse or promote |
// | products derived from this software without specific prior written |
// | permission. |
// | |
// | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
// | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
// | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
// | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
// | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
// | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
// | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
// | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
// | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
// | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
// | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
// | |
// +-----------------------------------------------------------------------+
// | Author: Richard Heyes <richard@php.net> |
// +-----------------------------------------------------------------------+
//
// $Id: USState.php,v 1.1 2003/01/18 13:37:58 richard Exp $
/**
* Class to produce a HTML Select dropdown of US States
*
* @author Richard Heyes <richard@php.net>
* @access public
* @version 1.0
* @package HTML_Select
*/
class HTML_Select_Common_USState
{
/**
* Constructor
*
* @access public
*/
function HTML_Select_Common_USState()
{
$this->_states['ak'] = 'Alabama';
$this->_states['al'] = 'Alaska';
$this->_states['ar'] = 'Arizona';
$this->_states['az'] = 'Arkansas';
$this->_states['ca'] = 'California';
$this->_states['co'] = 'Colorado';
$this->_states['ct'] = 'Connecticut';
$this->_states['de'] = 'Delaware';
$this->_states['dc'] = 'District of Columbia';
$this->_states['fl'] = 'Florida';
$this->_states['ga'] = 'Georgia';
$this->_states['hi'] = 'Hawaii';
$this->_states['id'] = 'Idaho';
$this->_states['il'] = 'Illinois';
$this->_states['in'] = 'Indiana';
$this->_states['ia'] = 'Iowa';
$this->_states['ks'] = 'Kansas';
$this->_states['ky'] = 'Kentucky';
$this->_states['la'] = 'Louisiana';
$this->_states['ma'] = 'Maine';
$this->_states['md'] = 'Maryland';
$this->_states['ma'] = 'Massachusetts';
$this->_states['mi'] = 'Michigan';
$this->_states['mn'] = 'Minnesota';
$this->_states['ms'] = 'Mississippi';
$this->_states['mo'] = 'Missouri';
$this->_states['mt'] = 'Montana';
$this->_states['ne'] = 'Nebraska';
$this->_states['nv'] = 'Nevada';
$this->_states['ne'] = 'New England';
$this->_states['nh'] = 'New Hampshire';
$this->_states['nj'] = 'New Jersey';
$this->_states['nm'] = 'New Mexico';
$this->_states['ny'] = 'New York';
$this->_states['nc'] = 'North Carolina';
$this->_states['nd'] = 'North Dakota';
$this->_states['oh'] = 'Ohio';
$this->_states['ok'] = 'Oklahoma';
$this->_states['or'] = 'Oregon';
$this->_states['pa'] = 'Pennsylvania';
$this->_states['ri'] = 'Rhode Island';
$this->_states['sc'] = 'South Carolina';
$this->_states['sd'] = 'South Dakota';
$this->_states['tn'] = 'Tennessee';
$this->_states['tx'] = 'Texas';
$this->_states['ut'] = 'Utah';
$this->_states['vt'] = 'Vermont';
$this->_states['va'] = 'Virginia';
$this->_states['wa'] = 'Washington';
$this->_states['wv'] = 'West Virginia';
$this->_states['wi'] = 'Wisconsin';
$this->_states['wy'] = 'Wyoming';
}
/**
* Produces the HTML for the dropdown
*
* @param string $name The name="" attribute
* @param string $selectedOption The option to be selected by default.
* Must match the state name exactly,
* (though it can be a different case).
* @param string $promoText The text to appear as the first option
* @param string $extraAttributes Any extra attributes for the <select> tag
* @return string The HTML for the <select>
* @access public
*/
function toHTML($name, $selectedOption = null, $promoText = 'Select a state...', $extraAttributes = '')
{
$options[] = sprintf('<option value="">%s</option>', $promoText);
$selectedOption = strtolower($selectedOption);
foreach ($this->_states as $state) {
$state_lc = strtolower($state);
$selected = $selectedOption == $state_lc ? ' selected="selected"' : '';
$options[] = '<option value="' . $state_lc . '"' . $selected . '>' . ucfirst($state) . '</option>';
}
return sprintf('<select name="%s" %s>%s</select>',
$name,
$extraAttributes,
implode("\r\n", $options));
}
/**
* Returns an array with all states, indexed by shortcut
*
* @return array The array containing all state data
* @access public
*/
function getList()
{
return $this->_states;
}
}
?>