Index: adminlib.php
===================================================================
--- adminlib.php (revision 2814)
+++ adminlib.php (working copy)
@@ -1772,6 +1772,41 @@
}
/**
+ * General text area with html editor.
+ */
+class admin_setting_confightmlarea extends admin_setting {
+
+ var $cols;
+ var $rows;
+
+ function admin_setting_confightmlarea($name, $visiblename, $description, $defaultsetting, $rows, $cols) {
+ $this->cols = $cols;
+ $this->rows = $rows;
+
+ parent::admin_setting($name, $visiblename, $description, $defaultsetting);
+ }
+
+ function get_setting() {
+ return $this->config_read($this->name);
+ }
+
+ function write_setting($data) {
+
+ return ($this->config_write($this->name, $data) ? '' : get_string('errorsetting', 'admin'));
+ }
+
+ function output_html($data, $query='') {
+
+ global $CFG;
+
+ $CFG->adminusehtmleditor = can_use_html_editor();
+ $return = '
'.print_textarea($CFG->adminusehtmleditor, $this->rows, $this->cols, 0, 0, $this->get_full_name(), $data, 0, true).'
';
+
+ return format_admin_setting($this, $this->visiblename, $return, $this->description, false, '', NULL, $query);
+ }
+}
+
+/**
* Password field, allows unmasking of password
*/
class admin_setting_configpasswordunmask extends admin_setting_configtext {
@@ -2405,6 +2440,38 @@
}
/**
+ * JavaScript Button
+ * Add a button to a settings page that executes javascript that was added to the page through require_js().
+ */
+class admin_setting_configjsbutton extends admin_setting {
+ var $js;
+ function admin_setting_configjsbutton($name, $visiblename, $description, $defaultsetting, $js) {
+ $this->js = $js;
+ parent::admin_setting($name, $visiblename, $description, $defaultsetting);
+ }
+
+ function get_setting() {
+ return true;
+ }
+
+ function get_defaultsetting() {
+ return true;
+ }
+
+ function write_setting($data) {
+ // do not write any setting
+ return '';
+ }
+
+ function output_html($data, $query='') {
+
+ $return = '';
+
+ return $return;
+ }
+}
+
+/**
* Special checkbox for calendar - resets SESSION vars.
*/
class admin_setting_special_adminseesall extends admin_setting_configcheckbox {