MDL-45536 atto_html: Update the textarea size when switching to HTML view
[moodle.git] / lib / form / text.php
blob97a0219eb7192af58f7eaa4e78321fe7f0bb59a7
1 <?php
2 // This file is part of Moodle - http://moodle.org/
3 //
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.
8 //
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/>.
18 /**
19 * Text type form element
21 * Contains HTML class for a text type element
23 * @package core_form
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");
30 /**
31 * Text type form element
33 * HTML class for a text type element
35 * @package core_form
36 * @category form
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 */
42 var $_helpbutton='';
44 /** @var bool if true label will be hidden */
45 var $_hiddenLabel=false;
47 /**
48 * constructor
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);
58 /**
59 * Sets label to be hidden
61 * @param bool $hiddenLabel sets if label should be hidden
63 function setHiddenLabel($hiddenLabel){
64 $this->_hiddenLabel = $hiddenLabel;
67 /**
68 * Freeze the element so that only its value is returned and set persistantfreeze to false
70 * @since Moodle 2.4
71 * @access public
72 * @return void
74 function freeze()
76 $this->_flagFrozen = true;
77 // No hidden element is needed refer MDL-30845
78 $this->setPersistantFreeze(false);
79 } //end func freeze
81 /**
82 * Returns the html to be used when the element is frozen
84 * @since Moodle 2.4
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
94 /**
95 * Returns HTML for this form element.
97 * @return string
99 function toHtml(){
100 if ($this->_hiddenLabel){
101 $this->_generateId();
102 return '<label class="accesshide" for="'.$this->getAttribute('id').'" >'.
103 $this->getLabel().'</label>'.parent::toHtml();
104 } else {
105 return parent::toHtml();
110 * get html for help button
112 * @return string html for help button
114 function getHelpButton(){
115 return $this->_helpbutton;