MDL-64190 mod_quiz: use password unmask config element.

Also created required admin setting class for creating unmask password
elements with an 'advanced' checkbox control.
This commit is contained in:
Paul Holden
2019-01-11 15:11:24 +00:00
parent 1a36b8b5aa
commit 1cd62f2bc8
2 changed files with 23 additions and 2 deletions
+21
View File
@@ -2489,7 +2489,28 @@ class admin_setting_configpasswordunmask extends admin_setting_configtext {
$element = $OUTPUT->render_from_template('core_admin/setting_configpasswordunmask', $context);
return format_admin_setting($this, $this->visiblename, $element, $this->description, true, '', null, $query);
}
}
/**
* Password field, allows unmasking of password, with an advanced checkbox that controls an additional $name.'_adv' setting.
*
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @copyright 2018 Paul Holden (pholden@greenhead.ac.uk)
*/
class admin_setting_configpasswordunmask_with_advanced extends admin_setting_configpasswordunmask {
/**
* Constructor
*
* @param string $name unique ascii name, either 'mysetting' for settings that in config, or 'myplugin/mysetting' for ones in config_plugins.
* @param string $visiblename localised
* @param string $description long localised info
* @param array $defaultsetting ('value'=>string, 'adv'=>bool)
*/
public function __construct($name, $visiblename, $description, $defaultsetting) {
parent::__construct($name, $visiblename, $description, $defaultsetting['value']);
$this->set_advanced_flag_options(admin_setting_flag::ENABLED, !empty($defaultsetting['adv']));
}
}
/**