2 // This file is part of Moodle - http://moodle.org/
4 // Moodle is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
9 // Moodle is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
14 // You should have received a copy of the GNU General Public License
15 // along with Moodle. If not, see <http://www.gnu.org/licenses/>.
19 * Text type form element
21 * Contains HTML class for a text type element
24 * @copyright 2006 Jamie Pratt <me@jamiep.org>
25 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
28 require_once("HTML/QuickForm/text.php");
31 * Text type form element
33 * HTML class for a text type element
37 * @copyright 2006 Jamie Pratt <me@jamiep.org>
38 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
40 class MoodleQuickForm_text
extends HTML_QuickForm_text
{
41 /** @var string html for help button, if empty then no help */
44 /** @var bool if true label will be hidden */
45 var $_hiddenLabel=false;
50 * @param string $elementName (optional) name of the text field
51 * @param string $elementLabel (optional) text field label
52 * @param string $attributes (optional) Either a typical HTML attribute string or an associative array
54 function MoodleQuickForm_text($elementName=null, $elementLabel=null, $attributes=null) {
55 parent
::HTML_QuickForm_text($elementName, $elementLabel, $attributes);
59 * Sets label to be hidden
61 * @param bool $hiddenLabel sets if label should be hidden
63 function setHiddenLabel($hiddenLabel){
64 $this->_hiddenLabel
= $hiddenLabel;
68 * Freeze the element so that only its value is returned and set persistantfreeze to false
76 $this->_flagFrozen
= true;
77 // No hidden element is needed refer MDL-30845
78 $this->setPersistantFreeze(false);
82 * Returns the html to be used when the element is frozen
85 * @return string Frozen html
87 function getFrozenHtml()
89 $attributes = array('readonly' => 'readonly');
90 $this->updateAttributes($attributes);
91 return $this->_getTabs() . '<input' . $this->_getAttrString($this->_attributes
) . ' />' . $this->_getPersistantData();
92 } //end func getFrozenHtml
95 * Returns HTML for this form element.
100 if ($this->_hiddenLabel
){
101 $this->_generateId();
102 return '<label class="accesshide" for="'.$this->getAttribute('id').'" >'.
103 $this->getLabel().'</label>'.parent
::toHtml();
105 return parent
::toHtml();
110 * get html for help button
112 * @return string html for help button
114 function getHelpButton(){
115 return $this->_helpbutton
;