1 <?php 2 /* vim: set expandtab tabstop=4 shiftwidth=4: */ 3 // +----------------------------------------------------------------------+ 4 // | PHP version 4.0 | 5 // +----------------------------------------------------------------------+ 6 // | Copyright (c) 1997, 1998, 1999, 2000, 2001 The PHP Group | 7 // +----------------------------------------------------------------------+ 8 // | This source file is subject to version 2.0 of the PHP license, | 9 // | that is bundled with this package in the file LICENSE, and is | 10 // | available at through the world-wide-web at | 11 // | http://www.php.net/license/2_02.txt. | 12 // | If you did not receive a copy of the PHP license and are unable to | 13 // | obtain it through the world-wide-web, please send a note to | 14 // | license@php.net so we can mail you a copy immediately. | 15 // +----------------------------------------------------------------------+ 16 // | Authors: Adam Daniel <adaniel1@eesus.jnj.com> | 17 // | Bertrand Mansion <bmansion@mamasam.com> | 18 // +----------------------------------------------------------------------+ 19 // 20 // $Id$ 21 22 require_once('HTML/QuickForm/select.php'); 23 24 /** 25 * This class takes the same arguments as a select element, but instead 26 * of creating a select ring it creates hidden elements for all values 27 * already selected with setDefault or setConstant. This is useful if 28 * you have a select ring that you don't want visible, but you need all 29 * selected values to be passed. 30 * 31 * @author Isaac Shepard <ishepard@bsiweb.com> 32 * 33 * @version 1.0 34 * @since 2.1 35 * @access public 36 */ 37 class HTML_QuickForm_hiddenselect extends HTML_QuickForm_select 38 { 39 // {{{ constructor 40 41 /** 42 * Class constructor 43 * 44 * @param string Select name attribute 45 * @param mixed Label(s) for the select (not used) 46 * @param mixed Data to be used to populate options 47 * @param mixed Either a typical HTML attribute string or an associative array (not used) 48 * @since 1.0 49 * @access public 50 * @return void 51 */ 52 public function __construct($elementName=null, $elementLabel=null, $options=null, $attributes=null) { 53 // TODO MDL-52313 Replace with the call to parent::__construct(). 54 HTML_QuickForm_element::__construct($elementName, $elementLabel, $attributes); 55 $this->_persistantFreeze = true; 56 $this->_type = 'hiddenselect'; 57 if (isset($options)) { 58 $this->load($options); 59 } 60 } //end constructor 61 62 /** 63 * Old syntax of class constructor. Deprecated in PHP7. 64 * 65 * @deprecated since Moodle 3.1 66 */ 67 public function HTML_QuickForm_hiddenselect($elementName=null, $elementLabel=null, $options=null, $attributes=null) { 68 debugging('Use of class name as constructor is deprecated', DEBUG_DEVELOPER); 69 self::__construct($elementName, $elementLabel, $options, $attributes); 70 } 71 72 // }}} 73 // {{{ toHtml() 74 75 /** 76 * Returns the SELECT in HTML 77 * 78 * @since 1.0 79 * @access public 80 * @return string 81 * @throws 82 */ 83 function toHtml() 84 { 85 $tabs = $this->_getTabs(); 86 $name = $this->getPrivateName(); 87 $strHtml = ''; 88 89 foreach ($this->_values as $key => $val) { 90 for ($i = 0, $optCount = count($this->_options); $i < $optCount; $i++) { 91 if ($val == $this->_options[$i]['attr']['value']) { 92 $strHtml .= $tabs . '<input' . $this->_getAttrString(array( 93 'type' => 'hidden', 94 'name' => $name, 95 'value' => $val 96 )) . " />\n" ; 97 } 98 } 99 } 100 101 return $strHtml; 102 } //end func toHtml 103 104 // }}} 105 // {{{ accept() 106 107 /** 108 * This is essentially a hidden element and should be rendered as one 109 */ 110 function accept(&$renderer, $required=false, $error=null) 111 { 112 $renderer->renderHidden($this); 113 } 114 115 // }}} 116 } //end class HTML_QuickForm_hiddenselect 117 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body