You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
118 lines
4.2 KiB
118 lines
4.2 KiB
2 years ago
|
<?php
|
||
|
/* vim: set expandtab tabstop=4 shiftwidth=4: */
|
||
|
// +----------------------------------------------------------------------+
|
||
|
// | PHP version 4.0 |
|
||
|
// +----------------------------------------------------------------------+
|
||
|
// | Copyright (c) 1997, 1998, 1999, 2000, 2001 The PHP Group |
|
||
|
// +----------------------------------------------------------------------+
|
||
|
// | This source file is subject to version 2.0 of the PHP license, |
|
||
|
// | that is bundled with this package in the file LICENSE, and is |
|
||
|
// | available at through the world-wide-web at |
|
||
|
// | http://www.php.net/license/2_02.txt. |
|
||
|
// | If you did not receive a copy of the PHP license and are unable to |
|
||
|
// | obtain it through the world-wide-web, please send a note to |
|
||
|
// | license@php.net so we can mail you a copy immediately. |
|
||
|
// +----------------------------------------------------------------------+
|
||
|
// | Authors: Adam Daniel <adaniel1@eesus.jnj.com> |
|
||
|
// | Bertrand Mansion <bmansion@mamasam.com> |
|
||
|
// +----------------------------------------------------------------------+
|
||
|
//
|
||
|
// $Id$
|
||
|
|
||
|
require_once('HTML/QuickForm/select.php');
|
||
|
|
||
|
/**
|
||
|
* 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.
|
||
|
*
|
||
|
* @author Isaac Shepard <ishepard@bsiweb.com>
|
||
|
*
|
||
|
* @version 1.0
|
||
|
* @since 2.1
|
||
|
* @access public
|
||
|
*/
|
||
|
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
|
||
|
*/
|
||
|
public function __construct($elementName=null, $elementLabel=null, $options=null, $attributes=null) {
|
||
|
// TODO MDL-52313 Replace with the call to parent::__construct().
|
||
|
HTML_QuickForm_element::__construct($elementName, $elementLabel, $attributes);
|
||
|
$this->_persistantFreeze = true;
|
||
|
$this->_type = 'hiddenselect';
|
||
|
if (isset($options)) {
|
||
|
$this->load($options);
|
||
|
}
|
||
|
} //end constructor
|
||
|
|
||
|
/**
|
||
|
* Old syntax of class constructor. Deprecated in PHP7.
|
||
|
*
|
||
|
* @deprecated since Moodle 3.1
|
||
|
*/
|
||
|
public function HTML_QuickForm_hiddenselect($elementName=null, $elementLabel=null, $options=null, $attributes=null) {
|
||
|
debugging('Use of class name as constructor is deprecated', DEBUG_DEVELOPER);
|
||
|
self::__construct($elementName, $elementLabel, $options, $attributes);
|
||
|
}
|
||
|
|
||
|
// }}}
|
||
|
// {{{ toHtml()
|
||
|
|
||
|
/**
|
||
|
* Returns the SELECT in HTML
|
||
|
*
|
||
|
* @since 1.0
|
||
|
* @access public
|
||
|
* @return string
|
||
|
* @throws
|
||
|
*/
|
||
|
function toHtml()
|
||
|
{
|
||
|
$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 . '<input' . $this->_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
|
||
|
*/
|
||
|
function accept(&$renderer, $required=false, $error=null)
|
||
|
{
|
||
|
$renderer->renderHidden($this);
|
||
|
}
|
||
|
|
||
|
// }}}
|
||
|
} //end class HTML_QuickForm_hiddenselect
|
||
|
?>
|