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 {