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));
$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));
}
+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 = '<script type="text/javascript">
+//<![CDATA[
+document.write(\'<div class="reveal"><input id="'.$id.'reveal" value="1" type="checkbox" onclick="revealPassword(\\\''.$id.'\\\')"/><label for="'.$id.'reveal">'.addslashes_js($reveal).'<\/label><\/div>\');
+//]]>
+</script>';
+ return format_admin_setting($this->name, $this->visiblename,
+ '<input type="password" class="form-text" id="id_s_'.$this->name.'" name="s_'.$this->name.'" value="'.s($current).'" />'.$revealjs,
+ $this->description);
+ }
+
+}
+
class admin_setting_configcheckbox extends admin_setting {
function admin_setting_configcheckbox($name, $visiblename, $description, $defaultsetting) {
} else {
var newpw = document.createElement('<input type="password" name="'+pw.name+'">');
}
+ newpw.attributes['class'].nodeValue = pw.attributes['class'].nodeValue;
} catch (e) {
var newpw = document.createElement('input');
newpw.setAttribute('name', pw.name);
} else {
newpw.setAttribute('type', 'password');
}
+ newpw.setAttribute('class', pw.getAttribute('class'));
}
newpw.id = pw.id;
newpw.size = pw.size;
float: none;
}
+
/* #adminsettings .admin-configtime .form-select {
display: inline;
float: none;
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;
}