X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/5517dbf1904795f710675847cd2a49f64009286c..914ba42493e01bc0f79053b0d3cd6348fcdfa0f8:/cookbooks/dmca/files/default/html/HTML/QuickForm/hiddenselect.php diff --git a/cookbooks/dmca/files/default/html/HTML/QuickForm/hiddenselect.php b/cookbooks/dmca/files/default/html/HTML/QuickForm/hiddenselect.php new file mode 100644 index 000000000..be32ddf49 --- /dev/null +++ b/cookbooks/dmca/files/default/html/HTML/QuickForm/hiddenselect.php @@ -0,0 +1,122 @@ + + * @copyright 2001-2011 The PHP Group + * @license http://www.php.net/license/3_01.txt PHP License 3.01 + * @version CVS: $Id$ + * @link http://pear.php.net/package/HTML_QuickForm + */ + +/** + * Class for elements + */ +require_once 'HTML/QuickForm/select.php'; + +/** + * Hidden select pseudo-element + * + * This class takes the same arguments as a select element, but instead + * of creating a select ring it creates hidden elements for all values + * already selected with setDefault or setConstant. This is useful if + * you have a select ring that you don't want visible, but you need all + * selected values to be passed. + * + * @category HTML + * @package HTML_QuickForm + * @author Isaac Shepard + * @version Release: 3.2.16 + * @since 2.1 + */ +class HTML_QuickForm_hiddenselect extends HTML_QuickForm_select +{ + // {{{ constructor + + /** + * Class constructor + * + * @param string Select name attribute + * @param mixed Label(s) for the select (not used) + * @param mixed Data to be used to populate options + * @param mixed Either a typical HTML attribute string or an associative array (not used) + * @since 1.0 + * @access public + * @return void + */ + function HTML_QuickForm_hiddenselect($elementName=null, $elementLabel=null, $options=null, $attributes=null) + { + HTML_QuickForm_element::HTML_QuickForm_element($elementName, $elementLabel, $attributes); + $this->_persistantFreeze = true; + $this->_type = 'hiddenselect'; + if (isset($options)) { + $this->load($options); + } + } //end constructor + + // }}} + // {{{ toHtml() + + /** + * Returns the SELECT in HTML + * + * @since 1.0 + * @access public + * @return string + * @throws + */ + function toHtml() + { + if (empty($this->_values)) { + return ''; + } + + $tabs = $this->_getTabs(); + $name = $this->getPrivateName(); + $strHtml = ''; + + foreach ($this->_values as $key => $val) { + for ($i = 0, $optCount = count($this->_options); $i < $optCount; $i++) { + if ($val == $this->_options[$i]['attr']['value']) { + $strHtml .= $tabs . '_getAttrString(array( + 'type' => 'hidden', + 'name' => $name, + 'value' => $val + )) . " />\n" ; + } + } + } + + return $strHtml; + } //end func toHtml + + // }}} + // {{{ accept() + + /** + * This is essentially a hidden element and should be rendered as one + * + * @param HTML_QuickForm_Renderer renderer object + * @param bool $sc1 unused, for signature compatibility + * @param bool $sc2 unused, for signature compatibility + */ + function accept(&$renderer, $sc1 = false, $sc2 = null) + { + $renderer->renderHidden($this); + } + + // }}} +} //end class HTML_QuickForm_hiddenselect +?>