From eba8cd63b4f6a293bfe69349306ff1f551fe92eb Mon Sep 17 00:00:00 2001 From: skodak Date: Thu, 26 Apr 2007 07:08:12 +0000 Subject: [PATCH] MDL-9588 Addd password reveal class to admin settings forms --- admin/settings/security.php | 2 +- admin/settings/server.php | 2 +- lib/adminlib.php | 26 ++++++++++++++++++++++++++ lib/javascript-static.js | 2 ++ theme/standard/styles_layout.css | 11 +++++++++++ 5 files changed, 41 insertions(+), 2 deletions(-) diff --git a/admin/settings/security.php b/admin/settings/security.php index 7a476d32dd..739171b1cd 100644 --- a/admin/settings/security.php +++ b/admin/settings/security.php @@ -39,7 +39,7 @@ $temp->add(new admin_setting_configselect('bloglevel', get_string('bloglevel', ' 0 => get_string('disableblogs','blog')))); $temp->add(new admin_setting_configcheckbox('cronclionly', get_string('cronclionly', 'admin'), get_string('configcronclionly', 'admin'), 0)); -$temp->add(new admin_setting_configtext('cronremotepassword', get_string('cronremotepassword', 'admin'), get_string('configcronremotepassword', 'admin'), '', PARAM_RAW)); +$temp->add(new admin_setting_configpasswordreveal('cronremotepassword', get_string('cronremotepassword', 'admin'), get_string('configcronremotepassword', 'admin'), '', PARAM_RAW)); $temp->add(new admin_setting_configcheckbox('passwordpolicy', get_string('passwordpolicy', 'admin'), get_string('configpasswordpolicy', 'admin'), 0)); $temp->add(new admin_setting_configtext('minpasswordlength', get_string('minpasswordlength', 'admin'), get_string('configminpasswordlength', 'admin'), 8, PARAM_INT)); diff --git a/admin/settings/server.php b/admin/settings/server.php index cefd3e3bc2..e4126077dd 100644 --- a/admin/settings/server.php +++ b/admin/settings/server.php @@ -19,7 +19,7 @@ $ADMIN->add('server', $temp, 0); $temp = new admin_settingpage('mail', get_string('mail','admin')); $temp->add(new admin_setting_configtext('smtphosts', get_string('smtphosts', 'admin'), get_string('configsmtphosts', 'admin'), '', PARAM_HOST)); $temp->add(new admin_setting_configtext('smtpuser', get_string('smtpuser', 'admin'), get_string('configsmtpuser', 'admin'), '', PARAM_NOTAGS)); -$temp->add(new admin_setting_configtext('smtppass', get_string('smtppass', 'admin'), get_string('configsmtpuser', 'admin'), '', PARAM_RAW)); +$temp->add(new admin_setting_configpasswordreveal('smtppass', get_string('smtppass', 'admin'), get_string('configsmtpuser', 'admin'), '', PARAM_RAW)); $temp->add(new admin_setting_configtext('noreplyaddress', get_string('noreplyaddress', 'admin'), get_string('confignoreplyaddress', 'admin'), 'noreply@' . $_SERVER['HTTP_HOST'], PARAM_NOTAGS)); $temp->add(new admin_setting_configtext('allowemailaddresses', get_string('allowemailaddresses', 'admin'), get_string('configallowemailaddresses', 'admin'), '', PARAM_NOTAGS)); $temp->add(new admin_setting_configtext('denyemailaddresses', get_string('denyemailaddresses', 'admin'), get_string('configdenyemailaddresses', 'admin'), '', PARAM_NOTAGS)); diff --git a/lib/adminlib.php b/lib/adminlib.php index fda804a949..f346a7c6d7 100644 --- a/lib/adminlib.php +++ b/lib/adminlib.php @@ -1427,6 +1427,32 @@ class admin_setting_configtext extends admin_setting { } +class admin_setting_configpasswordreveal extends admin_setting_configtext { + + function admin_setting_configpasswordreveal($name, $visiblename, $description, $defaultsetting, $paramtype=PARAM_RAW) { + parent::admin_setting_configtext($name, $visiblename, $description, $defaultsetting, $paramtype); + } + + function output_html() { + if ($this->get_setting() === NULL) { + $current = $this->defaultsetting; + } else { + $current = $this->get_setting(); + } + $id = 'id_s_'.$this->name; + $reveal = get_string('revealpassword', 'form'); + $revealjs = ''; + return format_admin_setting($this->name, $this->visiblename, + ''.$revealjs, + $this->description); + } + +} + class admin_setting_configcheckbox extends admin_setting { function admin_setting_configcheckbox($name, $visiblename, $description, $defaultsetting) { diff --git a/lib/javascript-static.js b/lib/javascript-static.js index 65874080ce..2c38185fb4 100644 --- a/lib/javascript-static.js +++ b/lib/javascript-static.js @@ -291,6 +291,7 @@ function revealPassword(id) { } else { var newpw = document.createElement(''); } + newpw.attributes['class'].nodeValue = pw.attributes['class'].nodeValue; } catch (e) { var newpw = document.createElement('input'); newpw.setAttribute('name', pw.name); @@ -299,6 +300,7 @@ function revealPassword(id) { } else { newpw.setAttribute('type', 'password'); } + newpw.setAttribute('class', pw.getAttribute('class')); } newpw.id = pw.id; newpw.size = pw.size; diff --git a/theme/standard/styles_layout.css b/theme/standard/styles_layout.css index cf86947a4c..7a3a01392b 100644 --- a/theme/standard/styles_layout.css +++ b/theme/standard/styles_layout.css @@ -978,6 +978,7 @@ body#admin-modules table.generaltable td.c0 float: none; } + /* #adminsettings .admin-configtime .form-select { display: inline; float: none; @@ -994,6 +995,16 @@ body#admin-modules table.generaltable td.c0 padding: 0.3em 0 1.5em 0; } +#adminsettings .form-item .reveal input { + margin-left:5px; + margin-right:3px; +} + +#adminsettings .form-item .reveal label { + width: auto; + text-align: left; +} + .environmentbox { margin-top: 1em; } -- 2.39.5