// admin_category or an admin_externalpage) is searchable
class part_of_admin_tree {
- function &locate($name) { trigger_error('Admin class does not implement method <strong>locate()</strong>', E_USER_WARNING); return; }
- function check_access() { trigger_error('Admin class does not implement method <strong>check_access()</strong>', E_USER_WARNING); return; }
- function path($name, $path = array()) { trigger_error('Admin class does not implement method <strong>path()</strong>', E_USER_WARNING); return; }
+ function &locate($name) { trigger_error('Admin class does not implement method <strong>locate()</strong>', E_USER_WARNING); return; }
+ function check_access() { trigger_error('Admin class does not implement method <strong>check_access()</strong>', E_USER_WARNING); return; }
+ function path($name, $path = array()) { trigger_error('Admin class does not implement method <strong>path()</strong>', E_USER_WARNING); return; }
}
class parentable_part_of_admin_tree extends part_of_admin_tree {
function add($destinationname, &$something) { trigger_error('Admin class does not implement method <strong>add()</strong>', E_USER_WARNING); return; }
-
+
}
//---------------------------------------------------------------------------------------------------
class admin_category extends parentable_part_of_admin_tree {
var $children;
- var $name;
- var $visiblename;
-
- function admin_category($name, $visiblename) {
- $this->children = array();
- $this->name = $name;
- $this->visiblename = $visiblename;
- }
-
- function path($name, $path = array()) {
-
- $path[count($path)] = $this->name;
-
- if ($this->name == $name) {
- return $path;
- }
-
- foreach($this->children as $child) {
- if ($return = $child->path($name, $path)) {
- return $return;
- }
- }
-
- return NULL;
-
- }
+ var $name;
+ var $visiblename;
+
+ function admin_category($name, $visiblename) {
+ $this->children = array();
+ $this->name = $name;
+ $this->visiblename = $visiblename;
+ }
+
+ function path($name, $path = array()) {
+
+ $path[count($path)] = $this->name;
+
+ if ($this->name == $name) {
+ return $path;
+ }
+
+ foreach($this->children as $child) {
+ if ($return = $child->path($name, $path)) {
+ return $return;
+ }
+ }
+
+ return NULL;
+
+ }
function &locate($name) {
-
- if ($this->name == $name) {
- return $this;
- }
-
- foreach($this->children as $child) {
- if ($return =& $child->locate($name)) {
- return $return;
- }
- }
- $return = NULL;
- return $return;
- }
+
+ if ($this->name == $name) {
+ return $this;
+ }
+
+ foreach($this->children as $child) {
+ if ($return =& $child->locate($name)) {
+ return $return;
+ }
+ }
+ $return = NULL;
+ return $return;
+ }
function add($destinationname, &$something, $precedence = '') {
-
- if (!is_a($something, 'part_of_admin_tree')) {
- return false;
- }
+
+ if (!is_a($something, 'part_of_admin_tree')) {
+ return false;
+ }
if ($destinationname == $this->name) {
if ($precedence === '') {
}
$this->children[$precedence] = $something;
}
- return true;
- }
-
- unset($entries);
+ return true;
+ }
+
+ unset($entries);
$entries = array_keys($this->children);
-
- foreach($entries as $entry) {
- $child =& $this->children[$entry];
- if (is_a($child, 'parentable_part_of_admin_tree')) {
- if ($child->add($destinationname, $something, $precedence)) {
- return true;
- }
- }
- }
-
- return false;
-
- }
-
- function check_access() {
-
- $return = false;
- foreach ($this->children as $child) {
- $return = $return || $child->check_access();
- }
-
- return $return;
-
- }
-
+
+ foreach($entries as $entry) {
+ $child =& $this->children[$entry];
+ if (is_a($child, 'parentable_part_of_admin_tree')) {
+ if ($child->add($destinationname, $something, $precedence)) {
+ return true;
+ }
+ }
+ }
+
+ return false;
+
+ }
+
+ function check_access() {
+
+ $return = false;
+ foreach ($this->children as $child) {
+ $return = $return || $child->check_access();
+ }
+
+ return $return;
+
+ }
+
}
// this is the class we use to add an external page to the admin hierarchy. on the
$this->role = $role;
}
- function path($name, $path = array()) {
- if ($name == $this->name) {
- array_push($path, $this->name);
- return $path;
- } else {
- return NULL;
- }
- }
-
- function &locate($name) {
+ function path($name, $path = array()) {
+ if ($name == $this->name) {
+ array_push($path, $this->name);
+ return $path;
+ } else {
+ return NULL;
+ }
+ }
+
+ function &locate($name) {
$return = ($this->name == $name ? $this : NULL);
- return $return;
- }
+ return $return;
+ }
- function check_access() {
- $context = get_context_instance(CONTEXT_SYSTEM, SITEID);
+ function check_access() {
+ $context = get_context_instance(CONTEXT_SYSTEM, SITEID);
return has_capability($this->role, $context);
- }
+ }
}
class admin_settingpage extends part_of_admin_tree {
var $name;
- var $visiblename;
- var $settings;
- var $role;
-
- function path($name, $path = array()) {
- if ($name == $this->name) {
- array_push($path, $this->name);
- return $path;
- } else {
- return NULL;
- }
- }
-
- function &locate($name) {
+ var $visiblename;
+ var $settings;
+ var $role;
+
+ function path($name, $path = array()) {
+ if ($name == $this->name) {
+ array_push($path, $this->name);
+ return $path;
+ } else {
+ return NULL;
+ }
+ }
+
+ function &locate($name) {
$return = ($this->name == $name ? $this : NULL);
- return $return;
- }
-
- function admin_settingpage($name, $visiblename, $role = 'moodle/legacy:admin') {
- global $CFG;
- $this->settings = new stdClass();
- $this->name = $name;
- $this->visiblename = $visiblename;
- $this->role = $role;
- }
-
- function add(&$setting) {
- if (is_a($setting, 'admin_setting')) {
- $temp = $setting->name;
- $this->settings->$temp =& $setting;
- return true;
- }
- return false;
- }
-
- function check_access() {
- $context = get_context_instance(CONTEXT_SYSTEM, SITEID);
+ return $return;
+ }
+
+ function admin_settingpage($name, $visiblename, $role = 'moodle/legacy:admin') {
+ global $CFG;
+ $this->settings = new stdClass();
+ $this->name = $name;
+ $this->visiblename = $visiblename;
+ $this->role = $role;
+ }
+
+ function add(&$setting) {
+ if (is_a($setting, 'admin_setting')) {
+ $this->settings->{$setting->name} =& $setting;
+ return true;
+ }
+ return false;
+ }
+
+ function check_access() {
+ $context = get_context_instance(CONTEXT_SYSTEM, SITEID);
return has_capability($this->role, $context);
- }
-
- function output_html() {
- $return = '<table class="generaltable" width="100%" border="0" align="center" cellpadding="5" cellspacing="1">' . "\n";
- foreach($this->settings as $setting) {
- $return .= $setting->output_html();
- }
- $return .= '</table>';
- return $return;
- }
+ }
+
+ function output_html() {
+ $return = '<table class="generaltable" width="100%" border="0" align="center" cellpadding="5" cellspacing="1">' . "\n";
+ foreach($this->settings as $setting) {
+ $return .= $setting->output_html();
+ }
+ $return .= '</table>';
+ return $return;
+ }
// return '' (empty string) for successful write, otherwise return language-specific error
function write_settings($data) {
- $return = '';
- foreach($this->settings as $setting) {
- if (isset($data['s_' . $setting->name])) {
+ $return = '';
+ foreach($this->settings as $setting) {
+ if (isset($data['s_' . $setting->name])) {
$return .= $setting->write_setting($data['s_' . $setting->name]);
} else {
$return .= $setting->write_setting('');
}
- }
- return $return;
- }
+ }
+ return $return;
+ }
}
class admin_setting {
var $name;
- var $visiblename;
- var $description;
- var $data;
+ var $visiblename;
+ var $description;
+ var $data;
function admin_setting($name, $visiblename, $description) {
- $this->name = $name;
- $this->visiblename = $visiblename;
- $this->description = $description;
- }
-
- function get_setting() {
- return; // has to be overridden
- }
-
- function write_setting($data) {
- return; // has to be overridden
- }
-
- function output_html() {
+ $this->name = $name;
+ $this->visiblename = $visiblename;
+ $this->description = $description;
+ }
+
+ function get_setting() {
+ return NULL; // has to be overridden
+ }
+
+ function write_setting($data) {
+ return; // has to be overridden
+ }
+
+ function output_html() {
return; // has to be overridden
- }
-
+ }
+
}
}
function get_setting() {
- global $CFG;
- $temp = $this->name; // there's gotta be a more elegant way
- return $CFG->$temp; // of doing this
- }
-
- function write_setting($data) {
- $data = clean_param($data, $this->paramtype);
- return (set_config($this->name,$data) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
- }
+ global $CFG;
+ return (isset($CFG->{$this->name}) ? $CFG->{$this->name} : NULL);
+ }
+
+ function write_setting($data) {
+ $data = clean_param($data, $this->paramtype);
+ return (set_config($this->name,$data) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
+ }
function output_html() {
return '<tr><td width="100" align="right" valign="top">' . $this->visiblename . '</td>' .
}
function get_setting() {
- global $CFG;
- $temp = $this->name; // there's gotta be a more elegant way
- return $CFG->$temp; // of doing this
- }
-
- function write_setting($data) {
- if ($data == '1') {
- return (set_config($this->name,1) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
- } else {
- return (set_config($this->name,0) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
- }
- }
+ global $CFG;
+ return (isset($CFG->{$this->name}) ? $CFG->{$this->name} : NULL);
+ }
+
+ function write_setting($data) {
+ if ($data == '1') {
+ return (set_config($this->name,1) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
+ } else {
+ return (set_config($this->name,0) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
+ }
+ }
function output_html() {
return '<tr><td width="100" align="right" valign="top">' . $this->visiblename . '</td>' .
class admin_setting_configselect extends admin_setting {
var $choices;
-
+
function admin_setting_configselect($name, $visiblename, $description, $choices) {
- $this->choices = $choices;
- parent::admin_setting($name, $visiblename, $description);
- }
+ $this->choices = $choices;
+ parent::admin_setting($name, $visiblename, $description);
+ }
function get_setting() {
- global $CFG;
- $temp = $this->name;
- return $CFG->$temp;
- }
-
- function write_setting($data) {
+ global $CFG;
+ return (isset($CFG->{$this->name}) ? $CFG->{$this->name} : NULL);
+ }
+
+ function write_setting($data) {
// check that what we got was in the original choices
- if (! in_array($data, array_keys($this->choices))) {
- return 'Error setting ' . $this->visiblename . '<br />';
- }
-
- return (set_config($this->name, $data) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
- }
-
- function output_html() {
- $return = '<tr><td width="100" align="right" valign="top">' . $this->visiblename . '</td><td align="left"><select name="s_' . $this->name .'">';
+ if (! in_array($data, array_keys($this->choices))) {
+ return 'Error setting ' . $this->visiblename . '<br />';
+ }
+
+ return (set_config($this->name, $data) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
+ }
+
+ function output_html() {
+ $return = '<tr><td width="100" align="right" valign="top">' . $this->visiblename . '</td><td align="left"><select name="s_' . $this->name .'">';
foreach ($this->choices as $key => $value) {
- $return .= '<option value="' . $key . '"' . ($key == $this->get_setting() ? ' selected="selected"' : '') . '>' . $value . '</option>';
- }
- $return .= '</select></td></tr><tr><td> </td><td align="left">' . $this->description . '</td></tr>';
- return $return;
- }
+ $return .= '<option value="' . $key . '"' . ($key == $this->get_setting() ? ' selected="selected"' : '') . '>' . $value . '</option>';
+ }
+ $return .= '</select></td></tr><tr><td> </td><td align="left">' . $this->description . '</td></tr>';
+ return $return;
+ }
}
class admin_setting_configtime extends admin_setting {
var $name2;
- var $choices;
- var $choices2;
+ var $choices;
+ var $choices2;
function admin_setting_configtime($hoursname, $minutesname, $visiblename, $description) {
- $this->name2 = $minutesname;
- $this->choices = array();
- for ($i = 0; $i < 24; $i++) {
- $this->choices[$i] = $i;
- }
- $this->choices2 = array();
- for ($i = 0; $i < 60; $i += 5) {
- $this->choices2[$i] = $i;
- }
- parent::admin_setting($hoursname, $visiblename, $description);
- }
+ $this->name2 = $minutesname;
+ $this->choices = array();
+ for ($i = 0; $i < 24; $i++) {
+ $this->choices[$i] = $i;
+ }
+ $this->choices2 = array();
+ for ($i = 0; $i < 60; $i += 5) {
+ $this->choices2[$i] = $i;
+ }
+ parent::admin_setting($hoursname, $visiblename, $description);
+ }
function get_setting() {
- global $CFG;
- $temp = $this->name;
- $temp2 = $this->name2;
- return array((empty($CFG->$temp) ? 0 : $CFG->$temp), (empty($CFG->$temp2) ? 0 : $CFG->$temp2));
- }
-
- function write_setting($data) {
+ global $CFG;
+ return (isset($CFG->{$this->name}) && isset($CFG->{$this->name2}) ? array($CFG->{$this->name}, $CFG->{$this->name2}) : NULL);
+ }
+
+ function write_setting($data) {
// check that what we got was in the original choices
- if (!(in_array($data['h'], array_keys($this->choices)) && in_array($data['m'], array_keys($this->choices2)))) {
- return get_string('errorsetting', 'admin') . $this->visiblename . '<br />';
- }
-
- return (set_config($this->name, $data['h']) && set_config($this->name2, $data['m']) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
- }
-
- function output_html() {
- $setvalue = $this->get_setting();
- $return = '<tr><td width="100" align="right" valign="top">' . $this->visiblename . '</td><td align="left"><select name="s_' . $this->name .'[h]">';
+ if (!(in_array($data['h'], array_keys($this->choices)) && in_array($data['m'], array_keys($this->choices2)))) {
+ return get_string('errorsetting', 'admin') . $this->visiblename . '<br />';
+ }
+
+ return (set_config($this->name, $data['h']) && set_config($this->name2, $data['m']) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
+ }
+
+ function output_html() {
+ $setvalue = $this->get_setting();
+ if (!is_array($setvalue)) {
+ $setvalue = array(0,0);
+ }
+ $return = '<tr><td width="100" align="right" valign="top">' . $this->visiblename . '</td><td align="left"><select name="s_' . $this->name .'[h]">';
foreach ($this->choices as $key => $value) {
- $return .= '<option value="' . $key . '"' . ($key == $setvalue[0] ? ' selected="selected"' : '') . '>' . $value . '</option>';
- }
- $return .= '</select> <select name="s_' . $this->name . '[m]">';
+ $return .= '<option value="' . $key . '"' . ($key == $setvalue[0] ? ' selected="selected"' : '') . '>' . $value . '</option>';
+ }
+ $return .= '</select> <select name="s_' . $this->name . '[m]">';
foreach ($this->choices2 as $key => $value) {
- $return .= '<option value="' . $key . '"' . ($key == $setvalue[1] ? ' selected="selected"' : '') . '>' . $value . '</option>';
- }
- $return .= '</select></td></tr><tr><td> </td><td align="left">' . $this->description . '</td></tr>';
- return $return;
- }
+ $return .= '<option value="' . $key . '"' . ($key == $setvalue[1] ? ' selected="selected"' : '') . '>' . $value . '</option>';
+ }
+ $return .= '</select></td></tr><tr><td> </td><td align="left">' . $this->description . '</td></tr>';
+ return $return;
+ }
}
}
function get_setting() {
- global $CFG;
- $temp = $this->name;
- return explode(',', $CFG->$temp);
- }
-
- function write_setting($data) {
- foreach ($data as $datum) {
- if (! in_array($datum, array_keys($this->choices))) {
- return get_string('errorsetting', 'admin') . $this->visiblename . '<br />';
- }
- }
-
- return (set_config($this->name, implode(',',$data)) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
- }
-
- function output_html() {
- $return = '<tr><td width="100" align="right" valign="top">' . $this->visiblename . '</td><td align="left"><select name="s_' . $this->name .'[]" size="10" multiple="multiple">';
+ global $CFG;
+ return (isset($CFG->{$this->name}) ? explode(',', $CFG->{$this->name}) : NULL);;
+ }
+
+ function write_setting($data) {
+ foreach ($data as $datum) {
+ if (! in_array($datum, array_keys($this->choices))) {
+ return get_string('errorsetting', 'admin') . $this->visiblename . '<br />';
+ }
+ }
+
+ return (set_config($this->name, implode(',',$data)) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
+ }
+
+ function output_html() {
+ $currentsetting = $this->get_setting();
+ if (!is_array($currentsetting)) {
+ $currentsetting = array();
+ }
+ $return = '<tr><td width="100" align="right" valign="top">' . $this->visiblename . '</td><td align="left"><select name="s_' . $this->name .'[]" size="10" multiple="multiple">';
foreach ($this->choices as $key => $value) {
- $return .= '<option value="' . $key . '"' . (in_array($key,$this->get_setting()) ? ' selected="selected"' : '') . '>' . $value . '</option>';
- }
- $return .= '</select></td></tr><tr><td> </td><td align="left">' . $this->description . '</td></tr>';
- return $return;
+ $return .= '<option value="' . $key . '"' . (in_array($key,$currentsetting) ? ' selected="selected"' : '') . '>' . $value . '</option>';
+ }
+ $return .= '</select></td></tr><tr><td> </td><td align="left">' . $this->description . '</td></tr>';
+ return $return;
}
}
class admin_setting_special_adminseesall extends admin_setting_configcheckbox {
- function admin_setting_special_adminseesall() {
- $name = 'calendar_adminseesall';
- $visiblename = get_string('adminseesall', 'admin');
- $description = get_string('helpadminseesall', 'admin');
- parent::admin_setting($name, $visiblename, $description);
- }
+ function admin_setting_special_adminseesall() {
+ $name = 'calendar_adminseesall';
+ $visiblename = get_string('adminseesall', 'admin');
+ $description = get_string('helpadminseesall', 'admin');
+ parent::admin_setting($name, $visiblename, $description);
+ }
function write_setting($data) {
- global $SESSION;
+ global $SESSION;
unset($SESSION->cal_courses_shown);
- parent::write_setting($data);
- }
+ parent::write_setting($data);
+ }
}
class admin_setting_sitesetselect extends admin_setting_configselect {
function admin_setting_sitesetselect($name, $visiblename, $description, $choices) {
- $site = get_site();
- $this->id = $site->id;
- parent::admin_setting_configselect($name, $visiblename, $description, $choices);
-
- }
-
- function get_setting() {
- $site = get_site();
- $temp = $this->name;
- return $site->$temp;
- }
-
- function write_setting($data) {
- if (!in_array($data, array_keys($this->choices))) {
+ $site = get_site();
+ $this->id = $site->id;
+ parent::admin_setting_configselect($name, $visiblename, $description, $choices);
+
+ }
+
+ function get_setting() {
+ $site = get_site();
+ return (isset($site->{$this->name}) ? $site->{$this->name} : NULL);
+ }
+
+ function write_setting($data) {
+ if (!in_array($data, array_keys($this->choices))) {
return get_string('errorsetting', 'admin') . $this->visiblename . '<br />';
- }
- $record = new stdClass();
- $record->id = $this->id;
- $temp = $this->name;
- $record->$temp = $data;
- $record->timemodified = time();
- return (update_record('course', $record) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
- }
-
+ }
+ $record = new stdClass();
+ $record->id = $this->id;
+ $temp = $this->name;
+ $record->$temp = $data;
+ $record->timemodified = time();
+ return (update_record('course', $record) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
+ }
+
}
class admin_setting_special_frontpage extends admin_setting_configselect {
function admin_setting_special_frontpage($loggedin = false) {
- global $CFG;
- require_once($CFG->dirroot . '/course/lib.php');
- $name = 'frontpage' . ($loggedin ? 'loggedin' : '');
- $visiblename = get_string('frontpage' . ($loggedin ? 'loggedin' : ''),'admin');
- $description = get_string('configfrontpage' . ($loggedin ? 'loggedin' : ''),'admin');
- $choices = array(FRONTPAGENEWS => get_string('frontpagenews'),
+ global $CFG;
+ require_once($CFG->dirroot . '/course/lib.php');
+ $name = 'frontpage' . ($loggedin ? 'loggedin' : '');
+ $visiblename = get_string('frontpage' . ($loggedin ? 'loggedin' : ''),'admin');
+ $description = get_string('configfrontpage' . ($loggedin ? 'loggedin' : ''),'admin');
+ $choices = array(FRONTPAGENEWS => get_string('frontpagenews'),
FRONTPAGECOURSELIST => get_string('frontpagecourselist'),
FRONTPAGECATEGORYNAMES => get_string('frontpagecategorynames'),
FRONTPAGECATEGORYCOMBO => get_string('frontpagecategorycombo'),
- '' => get_string('none'));
- if (count_records("course") > FRONTPAGECOURSELIMIT) {
- unset($choices[FRONTPAGECOURSELIST]);
- }
- parent::admin_setting_configselect($name, $visiblename, $description, $choices);
- }
-
+ '' => get_string('none'));
+ if (count_records("course") > FRONTPAGECOURSELIMIT) {
+ unset($choices[FRONTPAGECOURSELIST]);
+ }
+ parent::admin_setting_configselect($name, $visiblename, $description, $choices);
+ }
+
function get_setting() {
- global $CFG;
- $temp = $this->name;
- return (explode(',', $CFG->$temp));
- }
-
- function write_setting($data) {
- if (empty($data)) {
- $data = array();
- }
- foreach($data as $datum) {
- if (! in_array($datum, array_keys($this->choices))) {
- return get_string('errorsetting', 'admin') . $this->visiblename . '<br />';
- }
- }
- return (set_config($this->name, implode(',', $data)) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
- }
-
- function output_html() {
-
- $currentsetting = $this->get_setting();
- $return = '<tr><td width="100" align="right" valign="top">' . $this->visiblename . '</td><td align="left">';
- for ($i = 0; $i < count($this->choices) - 1; $i++) {
- $return .='<select name="s_' . $this->name .'[]">';
+ global $CFG;
+ return (isset($CFG->{$this->name}) ? explode(',', $CFG->{$this->name}) : NULL);
+ }
+
+ function write_setting($data) {
+ if (empty($data)) {
+ $data = array();
+ }
+ foreach($data as $datum) {
+ if (! in_array($datum, array_keys($this->choices))) {
+ return get_string('errorsetting', 'admin') . $this->visiblename . '<br />';
+ }
+ }
+ return (set_config($this->name, implode(',', $data)) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
+ }
+
+ function output_html() {
+
+ $currentsetting = $this->get_setting();
+ if (!is_array($currentsetting)) {
+ $currentsetting = array();
+ }
+ for ($i = 0; $i < count($this->choices) - 1; $i++) {
+ if (!isset($currentsetting[$i])) {
+ $currentsetting[$i] = 0;
+ }
+ }
+ $return = '<tr><td width="100" align="right" valign="top">' . $this->visiblename . '</td><td align="left">';
+ for ($i = 0; $i < count($this->choices) - 1; $i++) {
+ $return .='<select name="s_' . $this->name .'[]">';
foreach ($this->choices as $key => $value) {
$return .= '<option value="' . $key . '"' . ($key == $currentsetting[$i] ? ' selected="selected"' : '') . '>' . $value . '</option>';
- }
- $return .= '</select>';
- if ($i !== count($this->choices) - 2) {
- $return .= ' ' . get_string('then') . ' ';
- }
- }
- $return .= '</td></tr><tr><td> </td><td align="left">' . $this->description . '</td></tr>';
- return $return;
-
-
- }
+ }
+ $return .= '</select>';
+ if ($i !== count($this->choices) - 2) {
+ $return .= ' ' . get_string('then') . ' ';
+ }
+ }
+ $return .= '</td></tr><tr><td> </td><td align="left">' . $this->description . '</td></tr>';
+ return $return;
+
+
+ }
}
class admin_setting_sitesetcheckbox extends admin_setting_configcheckbox {
function admin_setting_sitesetcheckbox($name, $visiblename, $description) {
- $site = get_site();
- $this->id = $site->id;
- parent::admin_setting_configcheckbox($name, $visiblename, $description);
-
- }
-
- function get_setting() {
- $site = get_site();
- $temp = $this->name;
- return ($site->$temp == '1' ? 1 : 0);
- }
-
- function write_setting($data) {
- $record = new stdClass();
- $record->id = $this->id;
- $temp = $this->name;
- $record->$temp = ($data == '1' ? 1 : 0);
- $record->timemodified = time();
- return (update_record('course', $record) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
- }
-
+ $site = get_site();
+ $this->id = $site->id;
+ parent::admin_setting_configcheckbox($name, $visiblename, $description);
+
+ }
+
+ function get_setting() {
+ $site = get_site();
+ return (isset($site->{$this->name}) ? $site->{$this->name} : NULL);
+ }
+
+ function write_setting($data) {
+ $record = new stdClass();
+ $record->id = $this->id;
+ $temp = $this->name;
+ $record->$temp = ($data == '1' ? 1 : 0);
+ $record->timemodified = time();
+ return (update_record('course', $record) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
+ }
+
}
class admin_setting_sitesettext extends admin_setting_configtext {
function admin_setting_sitesettext($name, $visiblename, $description, $paramtype) {
- $site = get_site();
- $this->id = $site->id;
- parent::admin_setting_configtext($name, $visiblename, $description, $paramtype);
-
- }
-
- function get_setting() {
- $site = get_site();
- $temp = $this->name;
- return $site->$temp;
- }
-
- function write_setting($data) {
- $record = new stdClass();
- $record->id = $this->id;
- $temp = $this->name;
- $record->$temp = $data;
- $record->timemodified = time();
- return (update_record('course', $record) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
- }
-
+ $site = get_site();
+ $this->id = $site->id;
+ parent::admin_setting_configtext($name, $visiblename, $description, $paramtype);
+
+ }
+
+ function get_setting() {
+ $site = get_site();
+ return (isset($site->{$this->name}) ? $site->{$this->name} : NULL);
+ }
+
+ function write_setting($data) {
+ $record = new stdClass();
+ $record->id = $this->id;
+ $temp = $this->name;
+ $record->$temp = $data;
+ $record->timemodified = time();
+ return (update_record('course', $record) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
+ }
+
}
class admin_setting_special_frontpagedesc extends admin_setting {
var $id;
-
- function admin_setting_special_frontpagedesc() {
- $site = get_site();
- $this->id = $site->id;
- $name = 'summary';
- $visiblename = get_string('frontpagedescription');
- $description = get_string('frontpagedescriptionhelp');
- parent::admin_setting($name, $visiblename, $description);
- }
+
+ function admin_setting_special_frontpagedesc() {
+ $site = get_site();
+ $this->id = $site->id;
+ $name = 'summary';
+ $visiblename = get_string('frontpagedescription');
+ $description = get_string('frontpagedescriptionhelp');
+ parent::admin_setting($name, $visiblename, $description);
+ }
function output_html() {
-
- $usehtmleditor = can_use_html_editor();
-
+
+ $usehtmleditor = can_use_html_editor();
+
$return = '<tr><td width="100" align="right" valign="top">' . $this->visiblename . '</td>' .
- '<td>';
-
- ob_start(); // double-check the number of columns below... might overrun some screen resolutions
- print_textarea($usehtmleditor, 20, 40, 0, 0, 's_' . $this->name, $this->get_setting());
-
- if ($usehtmleditor) {
- use_html_editor();
- }
- $return .= ob_get_contents();
- ob_end_clean();
- $return .= '</td></tr><tr><td> </td><td>' . $this->description . '</td></tr>';
- return $return;
-
- }
-
- function get_setting() {
-
- $site = get_site();
- $temp = $this->name;
- return ($site->$temp);
-
- }
-
- function write_setting($data) {
-
- $data = addslashes(clean_param($data, PARAM_CLEANHTML));
-
- $record = new stdClass();
- $record->id = $this->id;
- $temp = $this->name;
- $record->$temp = $data;
- $record->timemodified = time();
-
- return(update_record('course', $record) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
-
- }
+ '<td>';
+
+ ob_start(); // double-check the number of columns below... might overrun some screen resolutions
+ print_textarea($usehtmleditor, 20, 40, 0, 0, 's_' . $this->name, $this->get_setting());
+
+ if ($usehtmleditor) {
+ use_html_editor();
+ }
+ $return .= ob_get_contents();
+ ob_end_clean();
+ $return .= '</td></tr><tr><td> </td><td>' . $this->description . '</td></tr>';
+ return $return;
+
+ }
+
+ function get_setting() {
+
+ $site = get_site();
+ return (isset($site->{$this->name}) ? $site->{$this->name} : NULL);
+
+ }
+
+ function write_setting($data) {
+
+ $data = addslashes(clean_param($data, PARAM_CLEANHTML));
+
+ $record = new stdClass();
+ $record->id = $this->id;
+ $temp = $this->name;
+ $record->$temp = $data;
+ $record->timemodified = time();
+
+ return(update_record('course', $record) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
+
+ }
}
var $items;
function admin_setting_special_editorfontlist() {
- global $CFG;
- $name = 'editorfontlist';
- $visiblename = get_string('editorfontlist', 'admin');
- $description = get_string('configeditorfontlist', 'admin');
- $items = explode(';', $CFG->editorfontlist);
- $this->items = array();
- foreach ($items as $item) {
- $item = explode(':', $item);
- $this->items[$item[0]] = $item[1];
- }
- parent::admin_setting($name, $visiblename, $description);
- }
-
- function get_setting() {
- return $this->items;
- }
-
- function write_setting($data) {
-
- // there miiight be an easier way to do this :)
-
- $keys = array();
- $values = array();
-
- foreach ($data as $key => $value) {
- if (substr($key,0,1) == 'k') {
- $keys[substr($key,1)] = $value;
- } elseif (substr($key,0,1) == 'v') {
- $values[substr($key,1)] = $value;
- }
- }
-
- $result = '';
- for ($i = 0; $i < count($keys); $i++) {
- if (($keys[$i] !== '') && ($values[$i] !== '')) {
- $result .= clean_param($keys[$i],PARAM_NOTAGS) . ':' . clean_param($values[$i], PARAM_NOTAGS) . ';';
- }
- }
-
- $result = substr($result, 0, -1); // trim the last semicolon
-
- return (set_config($this->name, $result) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
- }
-
- function output_html() {
+ global $CFG;
+ $name = 'editorfontlist';
+ $visiblename = get_string('editorfontlist', 'admin');
+ $description = get_string('configeditorfontlist', 'admin');
+ if (isset($CFG->editorfontlist)) {
+ $items = explode(';', $CFG->editorfontlist);
+ $this->items = array();
+ foreach ($items as $item) {
+ $item = explode(':', $item);
+ $this->items[$item[0]] = $item[1];
+ }
+ } else {
+ $items = NULL;
+ }
+ parent::admin_setting($name, $visiblename, $description);
+ }
+
+ function get_setting() {
+ return $this->items;
+ }
+
+ function write_setting($data) {
+
+ // there miiight be an easier way to do this :)
+
+ $keys = array();
+ $values = array();
+
+ foreach ($data as $key => $value) {
+ if (substr($key,0,1) == 'k') {
+ $keys[substr($key,1)] = $value;
+ } elseif (substr($key,0,1) == 'v') {
+ $values[substr($key,1)] = $value;
+ }
+ }
+
+ $result = '';
+ for ($i = 0; $i < count($keys); $i++) {
+ if (($keys[$i] !== '') && ($values[$i] !== '')) {
+ $result .= clean_param($keys[$i],PARAM_NOTAGS) . ':' . clean_param($values[$i], PARAM_NOTAGS) . ';';
+ }
+ }
+
+ $result = substr($result, 0, -1); // trim the last semicolon
+
+ return (set_config($this->name, $result) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
+ }
+
+ function output_html() {
$return = '<tr><td width="100" align="right" valign="top">' . $this->visiblename . '</td><td align="left">';
- $count = 0;
- foreach ($this->items as $key => $value) {
- $return .= '<input type="text" name="s_editorfontlist[k' . $count . ']" value="' . $key . '" size="20" />';
- $return .= ' ';
+ $count = 0;
+ $currentsetting = $this->items;
+ if (!is_array($currentsetting)) {
+ $currentsetting = NULL;
+ }
+ foreach ($currentsetting as $key => $value) {
+ $return .= '<input type="text" name="s_editorfontlist[k' . $count . ']" value="' . $key . '" size="20" />';
+ $return .= ' ';
$return .= '<input type="text" name="s_editorfontlist[v' . $count . ']" value="' . $value . '" size="40" /><br />';
- $count++;
- }
- $return .= '<input type="text" name="s_editorfontlist[k' . $count . ']" value="" size="20" />';
- $return .= ' ';
+ $count++;
+ }
+ $return .= '<input type="text" name="s_editorfontlist[k' . $count . ']" value="" size="20" />';
+ $return .= ' ';
$return .= '<input type="text" name="s_editorfontlist[v' . $count . ']" value="" size="40" /><br />';
- $return .= '<input type="text" name="s_editorfontlist[k' . ($count + 1) . ']" value="" size="20" />';
- $return .= ' ';
+ $return .= '<input type="text" name="s_editorfontlist[k' . ($count + 1) . ']" value="" size="20" />';
+ $return .= ' ';
$return .= '<input type="text" name="s_editorfontlist[v' . ($count + 1) . ']" value="" size="40" />';
- $return .= '</td></tr><tr><td> </td><td align="left">' . $this->description . '</td></tr>';
+ $return .= '</td></tr><tr><td> </td><td align="left">' . $this->description . '</td></tr>';
return $return;
- }
-
+ }
+
}
class admin_setting_special_editordictionary extends admin_setting_configselect {
function admin_setting_special_editordictionary() {
- $name = 'editordictionary';
- $visiblename = get_string('editordictionary','admin');
- $description = get_string('configeditordictionary', 'admin');
- $choices = $this->editor_get_dictionaries();
- if (! is_array($choices)) {
- $choices = array('');
- }
-
- parent::admin_setting_configselect($name, $visiblename, $description, $choices);
- }
+ $name = 'editordictionary';
+ $visiblename = get_string('editordictionary','admin');
+ $description = get_string('configeditordictionary', 'admin');
+ $choices = $this->editor_get_dictionaries();
+ if (! is_array($choices)) {
+ $choices = array('');
+ }
+
+ parent::admin_setting_configselect($name, $visiblename, $description, $choices);
+ }
// function borrowed from the old moodle/admin/editor.php, slightly modified
function editor_get_dictionaries () {
class admin_setting_special_editorhidebuttons extends admin_setting {
var $name;
- var $visiblename;
- var $description;
- var $items;
+ var $visiblename;
+ var $description;
+ var $items;
function admin_setting_special_editorhidebuttons() {
- $this->name = 'editorhidebuttons';
- $this->visiblename = get_string('editorhidebuttons', 'admin');
- $this->description = get_string('confeditorhidebuttons', 'admin');
+ $this->name = 'editorhidebuttons';
+ $this->visiblename = get_string('editorhidebuttons', 'admin');
+ $this->description = get_string('confeditorhidebuttons', 'admin');
// weird array... buttonname => buttonimage (assume proper path appended). if you leave buttomimage blank, text will be printed instead
- $this->items = array('fontname' => '',
- 'fontsize' => '',
- 'formatblock' => '',
- 'bold' => 'ed_format_bold.gif',
- 'italic' => 'ed_format_italic.gif',
- 'underline' => 'ed_format_underline.gif',
- 'strikethrough' => 'ed_format_strike.gif',
- 'subscript' => 'ed_format_sub.gif',
- 'superscript' => 'ed_format_sup.gif',
- 'copy' => 'ed_copy.gif',
- 'cut' => 'ed_cut.gif',
- 'paste' => 'ed_paste.gif',
- 'clean' => 'ed_wordclean.gif',
- 'undo' => 'ed_undo.gif',
- 'redo' => 'ed_redo.gif',
- 'justifyleft' => 'ed_align_left.gif',
- 'justifycenter' => 'ed_align_center.gif',
- 'justifyright' => 'ed_align_right.gif',
- 'justifyfull' => 'ed_align_justify.gif',
- 'lefttoright' => 'ed_left_to_right.gif',
- 'righttoleft' => 'ed_right_to_left.gif',
- 'insertorderedlist' => 'ed_list_num.gif',
- 'insertunorderedlist' => 'ed_list_bullet.gif',
- 'outdent' => 'ed_indent_less.gif',
- 'indent' => 'ed_indent_more.gif',
- 'forecolor' => 'ed_color_fg.gif',
- 'hilitecolor' => 'ed_color_bg.gif',
- 'inserthorizontalrule' => 'ed_hr.gif',
- 'createanchor' => 'ed_anchor.gif',
- 'createlink' => 'ed_link.gif',
- 'unlink' => 'ed_unlink.gif',
- 'insertimage' => 'ed_image.gif',
- 'inserttable' => 'insert_table.gif',
- 'insertsmile' => 'em.icon.smile.gif',
- 'insertchar' => 'icon_ins_char.gif',
- 'spellcheck' => 'spell-check.gif',
- 'htmlmode' => 'ed_html.gif',
- 'popupeditor' => 'fullscreen_maximize.gif',
- 'search_replace' => 'ed_replace.gif');
- }
+ $this->items = array('fontname' => '',
+ 'fontsize' => '',
+ 'formatblock' => '',
+ 'bold' => 'ed_format_bold.gif',
+ 'italic' => 'ed_format_italic.gif',
+ 'underline' => 'ed_format_underline.gif',
+ 'strikethrough' => 'ed_format_strike.gif',
+ 'subscript' => 'ed_format_sub.gif',
+ 'superscript' => 'ed_format_sup.gif',
+ 'copy' => 'ed_copy.gif',
+ 'cut' => 'ed_cut.gif',
+ 'paste' => 'ed_paste.gif',
+ 'clean' => 'ed_wordclean.gif',
+ 'undo' => 'ed_undo.gif',
+ 'redo' => 'ed_redo.gif',
+ 'justifyleft' => 'ed_align_left.gif',
+ 'justifycenter' => 'ed_align_center.gif',
+ 'justifyright' => 'ed_align_right.gif',
+ 'justifyfull' => 'ed_align_justify.gif',
+ 'lefttoright' => 'ed_left_to_right.gif',
+ 'righttoleft' => 'ed_right_to_left.gif',
+ 'insertorderedlist' => 'ed_list_num.gif',
+ 'insertunorderedlist' => 'ed_list_bullet.gif',
+ 'outdent' => 'ed_indent_less.gif',
+ 'indent' => 'ed_indent_more.gif',
+ 'forecolor' => 'ed_color_fg.gif',
+ 'hilitecolor' => 'ed_color_bg.gif',
+ 'inserthorizontalrule' => 'ed_hr.gif',
+ 'createanchor' => 'ed_anchor.gif',
+ 'createlink' => 'ed_link.gif',
+ 'unlink' => 'ed_unlink.gif',
+ 'insertimage' => 'ed_image.gif',
+ 'inserttable' => 'insert_table.gif',
+ 'insertsmile' => 'em.icon.smile.gif',
+ 'insertchar' => 'icon_ins_char.gif',
+ 'spellcheck' => 'spell-check.gif',
+ 'htmlmode' => 'ed_html.gif',
+ 'popupeditor' => 'fullscreen_maximize.gif',
+ 'search_replace' => 'ed_replace.gif');
+ }
function get_setting() {
- global $CFG;
- $temp = $this->name;
- return explode(' ', $CFG->$temp);
- }
+ global $CFG;
+ return (isset($CFG->{$this->name}) ? explode(' ', $CFG->{$this->name}) : NULL);
+ }
function write_setting($data) {
- $result = array();
- if (empty($data)) { $data = array(); }
+ $result = array();
+ if (empty($data)) { $data = array(); }
foreach ($data as $key => $value) {
- if (!in_array($key, array_keys($this->items))) {
- return get_string('errorsetting', 'admin') . $this->visiblename . '<br />';
- }
- if ($value == '1') {
- $result[] = $key;
- }
- }
- return (set_config($this->name, implode(' ',$result)) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
- }
+ if (!in_array($key, array_keys($this->items))) {
+ return get_string('errorsetting', 'admin') . $this->visiblename . '<br />';
+ }
+ if ($value == '1') {
+ $result[] = $key;
+ }
+ }
+ return (set_config($this->name, implode(' ',$result)) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
+ }
function output_html() {
-
- global $CFG;
-
- // checkboxes with input name="$this->name[$key]" value="1"
- // we do 15 fields per column
-
- $currentsetting = $this->get_setting();
-
- $return = '<tr><td width="100" align="right" valign="top">' . $this->visiblename . '</td><td align="left">';
-
- $return .= '<table><tr><td valign="top" align="right">';
-
- $count = 0;
-
- foreach($this->items as $key => $value) {
- if ($count % 15 == 0) {
- $return .= '</div></td><td valign="top" align="right">';
- }
-
- $return .= ($value == '' ? get_string($key,'editor') : '<img width="18" height="18" src="' . $CFG->wwwroot . '/lib/editor/htmlarea/images/' . $value . '" alt="' . get_string($key,'editor') . '" title="' . get_string($key,'editor') . '" />') . ' ';
- $return .= '<input type="checkbox" value="1" name="s_' . $this->name . '[' . $key . ']"' . (in_array($key,$currentsetting) ? ' checked="checked"' : '') . ' /> ';
- $count++;
- if ($count % 15 != 0) {
- $return .= '<br /><br />';
- }
- }
-
- $return .= '</td></tr>';
- $return .= '</table>';
- $return .= '</td></tr><tr><td> </td><td align="left">' . $this->description . '</td></tr>';
-
- return $return;
- }
+
+ global $CFG;
+
+ // checkboxes with input name="$this->name[$key]" value="1"
+ // we do 15 fields per column
+
+ $currentsetting = $this->get_setting();
+ if (!is_array($currentsetting)) {
+ $currentsetting = array();
+ }
+
+ $return = '<tr><td width="100" align="right" valign="top">' . $this->visiblename . '</td><td align="left">';
+
+ $return .= '<table><tr><td valign="top" align="right">';
+
+ $count = 0;
+
+ foreach($this->items as $key => $value) {
+ if ($count % 15 == 0) {
+ $return .= '</div></td><td valign="top" align="right">';
+ }
+
+ $return .= ($value == '' ? get_string($key,'editor') : '<img width="18" height="18" src="' . $CFG->wwwroot . '/lib/editor/htmlarea/images/' . $value . '" alt="' . get_string($key,'editor') . '" title="' . get_string($key,'editor') . '" />') . ' ';
+ $return .= '<input type="checkbox" value="1" name="s_' . $this->name . '[' . $key . ']"' . (in_array($key,$currentsetting) ? ' checked="checked"' : '') . ' /> ';
+ $count++;
+ if ($count % 15 != 0) {
+ $return .= '<br /><br />';
+ }
+ }
+
+ $return .= '</td></tr>';
+ $return .= '</table>';
+ $return .= '</td></tr><tr><td> </td><td align="left">' . $this->description . '</td></tr>';
+
+ return $return;
+ }
}
}
function get_setting() {
- $backup_config = backup_get_config(); // we need this function from backup/lib.php ... but it causes conflicts. ideas?
- $temp = $this->name;
- return (isset($backup_config->$temp) ? $backup_config->$temp : 0); // we default to false/0 if the pair doesn't exist
- }
-
- function write_setting($data) {
+ $backup_config = backup_get_config();
+ return (isset($backup_config->{$this->name}) ? $backup_config->{$this->name} : NULL);
+ }
+
+ function write_setting($data) {
// check that what we got was in the original choices
- if (! in_array($data, array_keys($this->choices))) {
- return get_string('errorsetting', 'admin') . $this->visiblename . '<br />';
- }
-
- return (backup_set_config($this->name, $data) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
+ if (! in_array($data, array_keys($this->choices))) {
+ return get_string('errorsetting', 'admin') . $this->visiblename . '<br />';
+ }
+
+ return (backup_set_config($this->name, $data) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
}
}
class admin_setting_special_backupsaveto extends admin_setting_configtext {
function admin_setting_special_backupsaveto() {
- $name = 'backup_sche_destination';
- $visiblename = get_string('saveto');
- $description = get_string('backupsavetohelp');
- parent::admin_setting_configtext($name, $visiblename, $description, PARAM_PATH);
- }
-
- function get_setting() {
- $backup_config = backup_get_config();
- $temp = $this->name;
- return (isset($backup_config->$temp) ? $backup_config->$temp : ''); // we default to false/0 if the pair doesn't exist
- }
-
- function write_setting($data) {
+ $name = 'backup_sche_destination';
+ $visiblename = get_string('saveto');
+ $description = get_string('backupsavetohelp');
+ parent::admin_setting_configtext($name, $visiblename, $description, PARAM_PATH);
+ }
+
+ function get_setting() {
+ $backup_config = backup_get_config();
+ return (isset($backup_config->{$this->name}) ? $backup_config->{$this->name} : NULL);
+ }
+
+ function write_setting($data) {
$data = clean_param($data, PARAM_PATH);
- if (!empty($data) and (substr($data,-1) == '/' or substr($data,-1) == '\\')) {
+ if (!empty($data) and (substr($data,-1) == '/' or substr($data,-1) == '\\')) {
return get_string('pathslasherror') . '<br />';
} else if (!empty($data) and !is_dir($data)) {
- return get_string('pathnotexists') . '<br />';
+ return get_string('pathnotexists') . '<br />';
}
- return (backup_set_config($this->name, $data) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
- }
+ return (backup_set_config($this->name, $data) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
+ }
}
}
function write_setting($data) {
- if ($data == '1') {
- return (backup_set_config($this->name, 1) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
- } else {
- return (backup_set_config($this->name, 0) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
- }
- }
-
- function get_setting() {
- $backup_config = backup_get_config();
- $temp = $this->name;
- return (isset($backup_config->$temp) ? $backup_config->$temp : 0); // we default to false if the pair doesn't exist
- }
+ if ($data == '1') {
+ return (backup_set_config($this->name, 1) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
+ } else {
+ return (backup_set_config($this->name, 0) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
+ }
+ }
+
+ function get_setting() {
+ $backup_config = backup_get_config();
+ return (isset($backup_config->{$this->name}) ? $backup_config->{$this->name} : NULL);
+ }
}
class admin_setting_special_backuptime extends admin_setting_configtime {
function admin_setting_special_backuptime() {
- $name = 'backup_sche_hour';
- $name2 = 'backup_sche_minute';
- $visiblename = get_string('executeat');
- $description = get_string('backupexecuteathelp');
+ $name = 'backup_sche_hour';
+ $name2 = 'backup_sche_minute';
+ $visiblename = get_string('executeat');
+ $description = get_string('backupexecuteathelp');
parent::admin_setting_configtime($name, $name2, $visiblename, $description);
}
-
- function get_setting() {
- $backup_config = backup_get_config();
- $temp = $this->name;
- $temp2 = $this->name2;
- return array(isset($backup_config->$temp) ? $backup_config->$temp : 0, isset($backup_config->$temp2) ? $backup_config->$temp2 : 0); // we default to 0:0 if the pair doesn't exist
- }
-
- function write_setting($data) {
+
+ function get_setting() {
+ $backup_config = backup_get_config();
+ return (isset($backup_config->{$this->name}) && isset($backup_config->{$this->name}) ? array($backup_config->{$this->name}, $backup_config->{$this->name2}) : NULL);
+ }
+
+ function write_setting($data) {
// check that what we got was in the original choices
- if (!(in_array($data['h'], array_keys($this->choices)) && in_array($data['m'], array_keys($this->choices2)))) {
- return get_string('errorsetting', 'admin') . $this->visiblename . '<br />';
- }
-
- return (backup_set_config($this->name, $data['h']) && backup_set_config($this->name2, $data['m']) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
- }
-
+ if (!(in_array($data['h'], array_keys($this->choices)) && in_array($data['m'], array_keys($this->choices2)))) {
+ return get_string('errorsetting', 'admin') . $this->visiblename . '<br />';
+ }
+
+ return (backup_set_config($this->name, $data['h']) && backup_set_config($this->name2, $data['m']) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
+ }
+
}
class admin_setting_special_backupdays extends admin_setting {
function admin_setting_special_backupdays() {
- $name = 'backup_sche_weekdays';
- $visiblename = get_string('schedule');
- $description = get_string('backupschedulehelp');
- parent::admin_setting($name, $visiblename, $description);
- }
-
- function get_setting() {
- $backup_config = backup_get_config();
- $temp = $this->name;
- return (isset($backup_config->$temp) ? $backup_config->$temp : '0000000');
- }
-
- function output_html() {
-
+ $name = 'backup_sche_weekdays';
+ $visiblename = get_string('schedule');
+ $description = get_string('backupschedulehelp');
+ parent::admin_setting($name, $visiblename, $description);
+ }
+
+ function get_setting() {
+ $backup_config = backup_get_config();
+ return (isset($backup_config->{$this->name}) ? $backup_config->{$this->name} : NULL);
+ }
+
+ function output_html() {
+
+ $currentsetting = $this->get_setting();
+ if ($currentsetting === NULL) {
+ $currentsetting = '0000000';
+ }
+
return '<tr><td width="100" align="right" valign="top">' . $this->visiblename . '</td><td align="left">' .
- '<table><tr><td><div align="center"> ' . get_string('sunday', 'calendar') . ' </div></td><td><div align="center"> ' .
- get_string('monday', 'calendar') . ' </div></td><td><div align="center"> ' . get_string('tuesday', 'calendar') . ' </div></td><td><div align="center"> ' .
- get_string('wednesday', 'calendar') . ' </div></td><td><div align="center"> ' . get_string('thursday', 'calendar') . ' </div></td><td><div align="center"> ' .
- get_string('friday', 'calendar') . ' </div></td><td><div align="center"> ' . get_string('saturday', 'calendar') . ' </div></td></tr><tr>' .
- '<td><div align="center"><input type="checkbox" name="s_'. $this->name .'[u]" value="1" ' . (substr($this->get_setting(),0,1) == '1' ? 'checked="checked"' : '') . ' /></div></td>' .
- '<td><div align="center"><input type="checkbox" name="s_'. $this->name .'[m]" value="1" ' . (substr($this->get_setting(),1,1) == '1' ? 'checked="checked"' : '') . ' /></div></td>' .
- '<td><div align="center"><input type="checkbox" name="s_'. $this->name .'[t]" value="1" ' . (substr($this->get_setting(),2,1) == '1' ? 'checked="checked"' : '') . ' /></div></td>' .
- '<td><div align="center"><input type="checkbox" name="s_'. $this->name .'[w]" value="1" ' . (substr($this->get_setting(),3,1) == '1' ? 'checked="checked"' : '') . ' /></div></td>' .
- '<td><div align="center"><input type="checkbox" name="s_'. $this->name .'[r]" value="1" ' . (substr($this->get_setting(),4,1) == '1' ? 'checked="checked"' : '') . ' /></div></td>' .
- '<td><div align="center"><input type="checkbox" name="s_'. $this->name .'[f]" value="1" ' . (substr($this->get_setting(),5,1) == '1' ? 'checked="checked"' : '') . ' /></div></td>' .
- '<td><div align="center"><input type="checkbox" name="s_'. $this->name .'[s]" value="1" ' . (substr($this->get_setting(),6,1) == '1' ? 'checked="checked"' : '') . ' /></div></td>' .
- '</tr></table>' .
+ '<table><tr><td><div align="center"> ' . get_string('sunday', 'calendar') . ' </div></td><td><div align="center"> ' .
+ get_string('monday', 'calendar') . ' </div></td><td><div align="center"> ' . get_string('tuesday', 'calendar') . ' </div></td><td><div align="center"> ' .
+ get_string('wednesday', 'calendar') . ' </div></td><td><div align="center"> ' . get_string('thursday', 'calendar') . ' </div></td><td><div align="center"> ' .
+ get_string('friday', 'calendar') . ' </div></td><td><div align="center"> ' . get_string('saturday', 'calendar') . ' </div></td></tr><tr>' .
+ '<td><div align="center"><input type="checkbox" name="s_'. $this->name .'[u]" value="1" ' . (substr($currentsetting,0,1) == '1' ? 'checked="checked"' : '') . ' /></div></td>' .
+ '<td><div align="center"><input type="checkbox" name="s_'. $this->name .'[m]" value="1" ' . (substr($currentsetting,1,1) == '1' ? 'checked="checked"' : '') . ' /></div></td>' .
+ '<td><div align="center"><input type="checkbox" name="s_'. $this->name .'[t]" value="1" ' . (substr($currentsetting,2,1) == '1' ? 'checked="checked"' : '') . ' /></div></td>' .
+ '<td><div align="center"><input type="checkbox" name="s_'. $this->name .'[w]" value="1" ' . (substr($currentsetting,3,1) == '1' ? 'checked="checked"' : '') . ' /></div></td>' .
+ '<td><div align="center"><input type="checkbox" name="s_'. $this->name .'[r]" value="1" ' . (substr($currentsetting,4,1) == '1' ? 'checked="checked"' : '') . ' /></div></td>' .
+ '<td><div align="center"><input type="checkbox" name="s_'. $this->name .'[f]" value="1" ' . (substr($currentsetting,5,1) == '1' ? 'checked="checked"' : '') . ' /></div></td>' .
+ '<td><div align="center"><input type="checkbox" name="s_'. $this->name .'[s]" value="1" ' . (substr($currentsetting,6,1) == '1' ? 'checked="checked"' : '') . ' /></div></td>' .
+ '</tr></table>' .
'</td></tr><tr><td> </td><td align="left">' . $this->description . '</td></tr>';
-
- }
-
- // we're using the array trick (see http://ca.php.net/manual/en/faq.html.php#faq.html.arrays) to get the data passed to use without having to modify
- // admin_settingpage (note that admin_settingpage only calls write_setting with the data that matches $this->name... so if we have multiple form fields,
- // they MUST go into an array named $this->name, or else we won't receive them here
- function write_setting($data) {
- $week = 'umtwrfs';
- $result = array(0 => 0, 1 => 0, 2 => 0, 3 => 0, 4 => 0, 5 => 0, 6 => 0);
- foreach($data as $key => $value) {
- if ($value == '1') {
- $result[strpos($week, $key)] = 1;
- }
- }
- return (backup_set_config($this->name, implode('',$result)) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
- }
+
+ }
+
+ // we're using the array trick (see http://ca.php.net/manual/en/faq.html.php#faq.html.arrays) to get the data passed to use without having to modify
+ // admin_settingpage (note that admin_settingpage only calls write_setting with the data that matches $this->name... so if we have multiple form fields,
+ // they MUST go into an array named $this->name, or else we won't receive them here
+ function write_setting($data) {
+ $week = 'umtwrfs';
+ $result = array(0 => 0, 1 => 0, 2 => 0, 3 => 0, 4 => 0, 5 => 0, 6 => 0);
+ foreach($data as $key => $value) {
+ if ($value == '1') {
+ $result[strpos($week, $key)] = 1;
+ }
+ }
+ return (backup_set_config($this->name, implode('',$result)) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
+ }
}
class admin_setting_special_debug extends admin_setting_configcheckbox {
function admin_setting_special_debug() {
- $name = 'debug';
- $visiblename = get_string('debug', 'admin');
- $description = get_string('configdebug', 'admin');
- parent::admin_setting_configcheckbox($name, $visiblename, $description);
- }
-
- function write_setting($data) {
- if ($data == '1') {
- return (set_config($this->name,15) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
- } else {
- return (set_config($this->name,7) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
- }
- }
+ $name = 'debug';
+ $visiblename = get_string('debug', 'admin');
+ $description = get_string('configdebug', 'admin');
+ parent::admin_setting_configcheckbox($name, $visiblename, $description);
+ }
+
+ function write_setting($data) {
+ if ($data == '1') {
+ return (set_config($this->name,15) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
+ } else {
+ return (set_config($this->name,7) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
+ }
+ }
function output_html() {
return '<tr><td width="100" align="right" valign="top">' . $this->visiblename . '</td>' .
function get_setting() {
global $CFG;
- $temp = $this->name;
- $setting = intval($CFG->$temp);
- return array('u' => $setting & 1, 'm' => $setting & 2, 't' => $setting & 4, 'w' => $setting & 8, 'r' => $setting & 16, 'f' => $setting & 32, 's' => $setting & 64);
+ if (isset($CFG->{$this->name})) {
+ $setting = intval($CFG->{$this->name});
+ return array('u' => $setting & 1, 'm' => $setting & 2, 't' => $setting & 4, 'w' => $setting & 8, 'r' => $setting & 16, 'f' => $setting & 32, 's' => $setting & 64);
+ } else {
+ return NULL;
+ }
}
- function write_setting($data) {
- $week = 'umtwrfs';
- $result = array(0 => 0, 1 => 0, 2 => 0, 3 => 0, 4 => 0, 5 => 0, 6 => 0);
- foreach($data as $key => $value) {
- if ($value == '1') {
- $result[strpos($week, $key)] = 1;
- }
- }
- return (set_config($this->name, bindec(implode('',$result))) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
- }
+ function write_setting($data) {
+ $week = 'umtwrfs';
+ $result = array(0 => 0, 1 => 0, 2 => 0, 3 => 0, 4 => 0, 5 => 0, 6 => 0);
+ foreach($data as $key => $value) {
+ if ($value == '1') {
+ $result[strpos($week, $key)] = 1;
+ }
+ }
+ return (set_config($this->name, bindec(implode('',$result))) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
+ }
- function output_html() {
+ function output_html() {
- $result = $this->get_setting();
-
+ $currentsetting = $this->get_setting();
+ if (!is_array($currentsetting)) {
+ $currentsetting = array('u' => 0, 'm' => 0, 't' => 0, 'w' => 0, 'r' => 0, 'f' => 0, 's' => 0);
+ }
return '<tr><td width="100" align="right" valign="top">' . $this->visiblename . '</td><td align="left">' .
- '<table><tr><td><div align="center"> ' . get_string('sunday', 'calendar') . ' </div></td><td><div align="center"> ' .
- get_string('monday', 'calendar') . ' </div></td><td><div align="center"> ' . get_string('tuesday', 'calendar') . ' </div></td><td><div align="center"> ' .
- get_string('wednesday', 'calendar') . ' </div></td><td><div align="center"> ' . get_string('thursday', 'calendar') . ' </div></td><td><div align="center"> ' .
- get_string('friday', 'calendar') . ' </div></td><td><div align="center"> ' . get_string('saturday', 'calendar') . ' </div></td></tr><tr>' .
- '<td><div align="center"><input type="checkbox" name="s_'. $this->name .'[u]" value="1" ' . ($result['u'] ? 'checked="checked"' : '') . ' /></div></td>' .
- '<td><div align="center"><input type="checkbox" name="s_'. $this->name .'[m]" value="1" ' . ($result['m'] ? 'checked="checked"' : '') . ' /></div></td>' .
- '<td><div align="center"><input type="checkbox" name="s_'. $this->name .'[t]" value="1" ' . ($result['t'] ? 'checked="checked"' : '') . ' /></div></td>' .
- '<td><div align="center"><input type="checkbox" name="s_'. $this->name .'[w]" value="1" ' . ($result['w'] ? 'checked="checked"' : '') . ' /></div></td>' .
- '<td><div align="center"><input type="checkbox" name="s_'. $this->name .'[r]" value="1" ' . ($result['r'] ? 'checked="checked"' : '') . ' /></div></td>' .
- '<td><div align="center"><input type="checkbox" name="s_'. $this->name .'[f]" value="1" ' . ($result['f'] ? 'checked="checked"' : '') . ' /></div></td>' .
- '<td><div align="center"><input type="checkbox" name="s_'. $this->name .'[s]" value="1" ' . ($result['s'] ? 'checked="checked"' : '') . ' /></div></td>' .
- '</tr></table>' .
+ '<table><tr><td><div align="center"> ' . get_string('sunday', 'calendar') . ' </div></td><td><div align="center"> ' .
+ get_string('monday', 'calendar') . ' </div></td><td><div align="center"> ' . get_string('tuesday', 'calendar') . ' </div></td><td><div align="center"> ' .
+ get_string('wednesday', 'calendar') . ' </div></td><td><div align="center"> ' . get_string('thursday', 'calendar') . ' </div></td><td><div align="center"> ' .
+ get_string('friday', 'calendar') . ' </div></td><td><div align="center"> ' . get_string('saturday', 'calendar') . ' </div></td></tr><tr>' .
+ '<td><div align="center"><input type="checkbox" name="s_'. $this->name .'[u]" value="1" ' . ($currentsetting['u'] ? 'checked="checked"' : '') . ' /></div></td>' .
+ '<td><div align="center"><input type="checkbox" name="s_'. $this->name .'[m]" value="1" ' . ($currentsetting['m'] ? 'checked="checked"' : '') . ' /></div></td>' .
+ '<td><div align="center"><input type="checkbox" name="s_'. $this->name .'[t]" value="1" ' . ($currentsetting['t'] ? 'checked="checked"' : '') . ' /></div></td>' .
+ '<td><div align="center"><input type="checkbox" name="s_'. $this->name .'[w]" value="1" ' . ($currentsetting['w'] ? 'checked="checked"' : '') . ' /></div></td>' .
+ '<td><div align="center"><input type="checkbox" name="s_'. $this->name .'[r]" value="1" ' . ($currentsetting['r'] ? 'checked="checked"' : '') . ' /></div></td>' .
+ '<td><div align="center"><input type="checkbox" name="s_'. $this->name .'[f]" value="1" ' . ($currentsetting['f'] ? 'checked="checked"' : '') . ' /></div></td>' .
+ '<td><div align="center"><input type="checkbox" name="s_'. $this->name .'[s]" value="1" ' . ($currentsetting['s'] ? 'checked="checked"' : '') . ' /></div></td>' .
+ '</tr></table>' .
'</td></tr><tr><td> </td><td align="left">' . $this->description . '</td></tr>';
-
- }
+
+ }
}
class admin_setting_special_perfdebug extends admin_setting_configcheckbox {
function admin_setting_special_perfdebug() {
- $name = 'perfdebug';
- $visiblename = get_string('perfdebug', 'admin');
- $description = get_string('configperfdebug', 'admin');
- parent::admin_setting_configcheckbox($name, $visiblename, $description);
- }
-
- function write_setting($data) {
- if ($data == '1') {
- return (set_config($this->name,15) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
- } else {
- return (set_config($this->name,7) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
- }
- }
+ $name = 'perfdebug';
+ $visiblename = get_string('perfdebug', 'admin');
+ $description = get_string('configperfdebug', 'admin');
+ parent::admin_setting_configcheckbox($name, $visiblename, $description);
+ }
+
+ function write_setting($data) {
+ if ($data == '1') {
+ return (set_config($this->name,15) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
+ } else {
+ return (set_config($this->name,7) ? '' : get_string('errorsetting', 'admin') . $this->visiblename . '<br />');
+ }
+ }
function output_html() {
return '<tr><td width="100" align="right" valign="top">' . $this->visiblename . '</td>' .
// N.B.: THIS FUNCTION HANDLES AUTHENTICATION
function admin_externalpage_setup($section) {
- global $CFG, $ADMIN, $PAGE, $_GET, $USER;
+ global $CFG, $ADMIN, $PAGE, $USER;
require_once($CFG->libdir . '/blocklib.php');
- require_once($CFG->dirroot . '/admin/pagelib.php');
-
-
- // this needs to be changed.
- $_GET['section'] = $section;
+ require_once($CFG->dirroot . '/' . $CFG->admin . '/pagelib.php');
define('TEMPORARY_ADMIN_PAGE_ID',26);
$PAGE = page_create_object($pagetype,TEMPORARY_ADMIN_PAGE_ID);
- $PAGE->init_full();
+ $PAGE->init_full($section);
$root = $ADMIN->locate($PAGE->section);
if (!is_a($root, 'admin_externalpage')) {
error(get_string('sectionerror','admin'));
- die;
+ die;
}
// this eliminates our need to authenticate on the actual pages
if (!($root->check_access())) {
error(get_string('accessdenied', 'admin'));
- die;
+ die;
}
$adminediting = optional_param('adminedit', -1, PARAM_BOOL);