mirror of
https://github.com/moodle/moodle.git
synced 2025-01-19 06:18:28 +01:00
bc76ab4742
This implementation will include the correct autocomplete attribute value so that the password managers can aid in creating good secure passwords and not get confused with other autocomplete types. There are some changes the password type form so that autocomplete attribute can be passed an array.
90 lines
3.0 KiB
PHP
90 lines
3.0 KiB
PHP
<?php
|
|
// This file is part of Moodle - http://moodle.org/
|
|
//
|
|
// Moodle is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU General Public License as published by
|
|
// the Free Software Foundation, either version 3 of the License, or
|
|
// (at your option) any later version.
|
|
//
|
|
// Moodle is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU General Public License
|
|
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
|
/**
|
|
* Password type form element
|
|
*
|
|
* Contains HTML class for a password type element
|
|
*
|
|
* @package core_form
|
|
* @copyright 2006 Jamie Pratt <me@jamiep.org>
|
|
* @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 <me@jamiep.org>
|
|
* @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 = array('autocomplete'=>'off');
|
|
} else if (is_array($attributes) && empty($attributes['autocomplete'])) {
|
|
$attributes['autocomplete'] = 'off';
|
|
} else if (is_string($attributes)) {
|
|
if (strpos($attributes, 'autocomplete') === false) {
|
|
$attributes .= ' autocomplete="off" ';
|
|
}
|
|
}
|
|
|
|
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;
|
|
}
|
|
}
|