Differences Between: [Versions 310 and 402] [Versions 311 and 402] [Versions 39 and 402] [Versions 400 and 402] [Versions 401 and 402]
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. 13 // 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/>. 16 17 18 /** 19 * Password type form element 20 * 21 * Contains HTML class for a password type element 22 * 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 26 */ 27 28 require_once('HTML/QuickForm/password.php'); 29 require_once ('templatable_form_element.php'); 30 31 /** 32 * Password type form element 33 * 34 * HTML class for a password type element 35 * 36 * @package core_form 37 * @category form 38 * @copyright 2006 Jamie Pratt <me@jamiep.org> 39 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 40 */ 41 class MoodleQuickForm_password extends HTML_QuickForm_password implements templatable { 42 use templatable_form_element; 43 44 /** @var string, html for help button, if empty then no help */ 45 var $_helpbutton=''; 46 47 /** @var bool if true label will be hidden. */ 48 protected $_hiddenLabel = false; 49 50 /** 51 * constructor 52 * 53 * @param string $elementName (optional) name of the password element 54 * @param string $elementLabel (optional) label for password element 55 * @param mixed $attributes (optional) Either a typical HTML attribute string 56 * or an associative array 57 */ 58 public function __construct($elementName=null, $elementLabel=null, $attributes=null) { 59 global $CFG; 60 61 // No standard mform in moodle should allow autocomplete of passwords. 62 if (empty($attributes)) { 63 $attributes = ['autocomplete' => 'new-password']; 64 } else if (is_array($attributes) && empty($attributes['autocomplete'])) { 65 $attributes['autocomplete'] = 'new-password'; 66 } else if (is_array($attributes) && $attributes['autocomplete'] === 'off') { 67 // A value of 'off' is ignored in all modern browsers and password 68 // managers and should be new-password instead. 69 $attributes['autocomplete'] = 'new-password'; 70 } else if (is_string($attributes)) { 71 if (strpos($attributes, 'autocomplete') === false) { 72 $attributes .= ' autocomplete="new-password" '; 73 } 74 } 75 76 parent::__construct($elementName, $elementLabel, $attributes); 77 } 78 79 /** 80 * Old syntax of class constructor. Deprecated in PHP7. 81 * 82 * @deprecated since Moodle 3.1 83 */ 84 public function MoodleQuickForm_password($elementName=null, $elementLabel=null, $attributes=null) { 85 debugging('Use of class name as constructor is deprecated', DEBUG_DEVELOPER); 86 self::__construct($elementName, $elementLabel, $attributes); 87 } 88 89 /** 90 * get html for help button 91 * 92 * @return string html for help button 93 */ 94 function getHelpButton(){ 95 return $this->_helpbutton; 96 } 97 98 /** 99 * Sets label to be hidden 100 * 101 * @param bool $hiddenLabel sets if label should be hidden 102 */ 103 public function setHiddenLabel($hiddenLabel) { 104 $this->_hiddenLabel = $hiddenLabel; 105 } 106 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body