. /** * Password type form element * * Contains HTML class for a password type element * * @package core_form * @copyright 2006 Jamie Pratt * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require_once('HTML/QuickForm/password.php'); require_once('templatable_form_element.php'); /** * Password type form element * * HTML class for a password type element * * @package core_form * @category form * @copyright 2006 Jamie Pratt * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class MoodleQuickForm_password extends HTML_QuickForm_password implements templatable { use templatable_form_element; /** @var string, html for help button, if empty then no help */ var $_helpbutton=''; /** * constructor * * @param string $elementName (optional) name of the password element * @param string $elementLabel (optional) label for password element * @param mixed $attributes (optional) Either a typical HTML attribute string * or an associative array */ public function __construct($elementName=null, $elementLabel=null, $attributes=null) { global $CFG; // No standard mform in moodle should allow autocomplete of passwords. if (empty($attributes)) { $attributes = ['autocomplete' => 'new-password']; } else if (is_array($attributes) && empty($attributes['autocomplete'])) { $attributes['autocomplete'] = 'new-password'; } else if (is_array($attributes) && $attributes['autocomplete'] === 'off') { // A value of 'off' is ignored in all modern browsers and password // managers and should be new-password instead. $attributes['autocomplete'] = 'new-password'; } else if (is_string($attributes)) { if (strpos($attributes, 'autocomplete') === false) { $attributes .= ' autocomplete="new-password" '; } } parent::__construct($elementName, $elementLabel, $attributes); } /** * Old syntax of class constructor. Deprecated in PHP7. * * @deprecated since Moodle 3.1 */ public function MoodleQuickForm_password($elementName=null, $elementLabel=null, $attributes=null) { debugging('Use of class name as constructor is deprecated', DEBUG_DEVELOPER); self::__construct($elementName, $elementLabel, $attributes); } /** * get html for help button * * @return string html for help button */ function getHelpButton(){ return $this->_helpbutton; } }