-<?php
+<?php //$Id$
/**
* adminlib.php - Contains functions that only administrators will ever need to use
}
$loaded = $xmldb_file->loadXMLStructure();
- $structure =& $xmldb_file->getStructure();
+ $structure = $xmldb_file->getStructure();
if ($loaded and $tables = $structure->getTables()) {
foreach($tables as $table) {
* @author Vincenzo K. Marcovecchio
* @package admin
*/
-class part_of_admin_tree {
+interface part_of_admin_tree {
/**
* Finds a named part_of_admin_tree.
* @param string $name The internal name of the part_of_admin_tree we're searching for.
* @return mixed An object reference or a NULL reference.
*/
- function &locate($name) {
- trigger_error('Admin class does not implement method <strong>locate()</strong>', E_USER_WARNING);
- return;
- }
+ public function locate($name);
/**
* Removes named part_of_admin_tree.
* @param string $name The internal name of the part_of_admin_tree we want to remove.
* @return bool success.
*/
- function prune($name) {
- trigger_error('Admin class does not implement method <strong>prune()</strong>', E_USER_WARNING);
- return;
- }
+ public function prune($name);
/**
* Search using query
* @param strin query
* @return mixed array-object structure of found settings and pages
*/
- function search($query) {
- trigger_error('Admin class does not implement method <strong>search()</strong>', E_USER_WARNING);
- return;
- }
+ public function search($query);
/**
* Verifies current user's access to this part_of_admin_tree.
*
* @return bool True if the user has access, false if she doesn't.
*/
- function check_access() {
- trigger_error('Admin class does not implement method <strong>check_access()</strong>', E_USER_WARNING);
- return;
- }
+ public function check_access();
/**
* Mostly usefull for removing of some parts of the tree in admin tree block.
*
* @return True is hidden from normal list view
*/
- function is_hidden() {
- trigger_error('Admin class does not implement method <strong>is_hidden()</strong>', E_USER_WARNING);
- return;
- }
+ public function is_hidden();
}
/**
* @author Vincenzo K. Marcovecchio
* @package admin
*/
-class parentable_part_of_admin_tree extends part_of_admin_tree {
+interface parentable_part_of_admin_tree extends part_of_admin_tree {
/**
* Adds a part_of_admin_tree object to the admin tree.
* also parentable_part_of_admin_tree's.
*
* @param string $destinationname The internal name of the new parent for $something.
- * @param part_of_admin_tree &$something The object to be added.
+ * @param part_of_admin_tree $something The object to be added.
* @return bool True on success, false on failure.
*/
- function add($destinationname, $something) {
- trigger_error('Admin class does not implement method <strong>add()</strong>', E_USER_WARNING);
- return;
- }
+ public function add($destinationname, $something);
}
* @author Vincenzo K. Marcovecchio
* @package admin
*/
-class admin_category extends parentable_part_of_admin_tree {
+class admin_category implements parentable_part_of_admin_tree {
/**
* @var mixed An array of part_of_admin_tree objects that are this object's children
*/
- var $children;
+ public $children;
/**
* @var string An internal name for this category. Must be unique amongst ALL part_of_admin_tree objects
*/
- var $name;
+ public $name;
/**
* @var string The displayed name for this category. Usually obtained through get_string()
*/
- var $visiblename;
+ public $visiblename;
/**
* @var bool Should this category be hidden in admin tree block?
*/
- var $hidden;
+ public $hidden;
/**
* paths
*/
- var $path;
- var $visiblepath;
+ public $path;
+ public $visiblepath;
/**
* Constructor for an empty admin category
* @param string $visiblename The displayed named for this category. Usually obtained through get_string()
* @param bool $hidden hide category in admin tree block
*/
- function admin_category($name, $visiblename, $hidden=false) {
+ public function __construct($name, $visiblename, $hidden=false) {
$this->children = array();
$this->name = $name;
$this->visiblename = $visiblename;
* @param bool $findpath initialize path and visiblepath arrays
* @return mixed A reference to the object with internal name $name if found, otherwise a reference to NULL.
*/
- function &locate($name, $findpath=false) {
+ public function locate($name, $findpath=false) {
if ($this->name == $name) {
if ($findpath) {
$this->visiblepath[] = $this->visiblename;
$return = NULL;
foreach($this->children as $childid=>$unused) {
- if ($return =& $this->children[$childid]->locate($name, $findpath)) {
+ if ($return = $this->children[$childid]->locate($name, $findpath)) {
break;
}
}
* @param strin query
* @return mixed array-object structure of found settings and pages
*/
- function search($query) {
+ public function search($query) {
$result = array();
foreach ($this->children as $child) {
$subsearch = $child->search($query);
* @param string $name The internal name of the object we want to remove.
* @return bool success
*/
- function prune($name) {
+ public function prune($name) {
if ($this->name == $name) {
return false; //can not remove itself
* @param mixed $something A part_of_admin_tree or setting instanceto be added.
* @return bool True if successfully added, false if $something can not be added.
*/
- function add($parentname, $something) {
- $parent =& $this->locate($parentname);
+ public function add($parentname, $something) {
+ $parent = $this->locate($parentname);
if (is_null($parent)) {
debugging('parent does not exist!');
return false;
}
- if (is_a($something, 'part_of_admin_tree')) {
- if (!is_a($parent, 'parentable_part_of_admin_tree')) {
+ if ($something instanceof part_of_admin_tree) {
+ if (!($parent instanceof parentable_part_of_admin_tree)) {
debugging('error - parts of tree can be inserted only into parentable parts');
return false;
}
*
* @return bool True if the user has access to atleast one child in this category, false otherwise.
*/
- function check_access() {
+ public function check_access() {
foreach ($this->children as $child) {
if ($child->check_access()) {
return true;
*
* @return bool True if hidden
*/
- function is_hidden() {
+ public function is_hidden() {
return $this->hidden;
}
}
/**
* list of errors
*/
- var $errors;
+ public $errors;
/**
* search query
*/
- var $search;
+ public $search;
/**
* full tree flag - true means all settings required, false onlypages required
*/
- var $fulltree;
+ public $fulltree;
+ public $loaded;
- function admin_root() {
- parent::admin_category('root', get_string('administration'), false);
+ public function __construct($fulltree) {
+ parent::__construct('root', get_string('administration'), false);
$this->errors = array();
$this->search = '';
- $this->fulltree = true;
+ $this->fulltree = $fulltree;
+ $this->loaded = false;
+ }
+
+ public function purge_children($requirefulltree) {
+ $this->children = array();
+ $this->fulltree = ($requirefulltree || $this->fulltree);
+ $this->loaded = false;
}
}
* @author Vincenzo K. Marcovecchio
* @package admin
*/
-class admin_externalpage extends part_of_admin_tree {
+class admin_externalpage implements part_of_admin_tree {
/**
* @var string An internal name for this external page. Must be unique amongst ALL part_of_admin_tree objects
*/
- var $name;
+ public $name;
/**
* @var string The displayed name for this external page. Usually obtained through get_string().
*/
- var $visiblename;
+ public $visiblename;
/**
* @var string The external URL that we should link to when someone requests this external page.
*/
- var $url;
+ public $url;
/**
* @var string The role capability/permission a user must have to access this external page.
*/
- var $req_capability;
+ public $req_capability;
/**
* @var object The context in which capability/permission should be checked, default is site context.
*/
- var $context;
+ public $context;
/**
* @var bool hidden in admin tree block.
*/
- var $hidden;
+ public $hidden;
/**
* visible path
*/
- var $path;
- var $visiblepath;
+ public $path;
+ public $visiblepath;
/**
* Constructor for adding an external page into the admin tree.
* @param context $context The context the page relates to. Not sure what happens
* if you specify something other than system or front page. Defaults to system.
*/
- function admin_externalpage($name, $visiblename, $url, $req_capability='moodle/site:config', $hidden=false, $context=NULL) {
+ public function __construct($name, $visiblename, $url, $req_capability='moodle/site:config', $hidden=false, $context=NULL) {
$this->name = $name;
$this->visiblename = $visiblename;
$this->url = $url;
* @param string $name The internal name of the object we want.
* @return mixed A reference to the object with internal name $name if found, otherwise a reference to NULL.
*/
- function &locate($name, $findpath=false) {
+ public function locate($name, $findpath=false) {
if ($this->name == $name) {
if ($findpath) {
$this->visiblepath = array($this->visiblename);
}
}
- function prune($name) {
+ public function prune($name) {
return false;
}
* @param strin query
* @return mixed array-object structure of found settings and pages
*/
- function search($query) {
+ public function search($query) {
$textlib = textlib_get_instance();
$found = false;
* Determines if the current user has access to this external page based on $this->req_capability.
* @return bool True if user has access, false otherwise.
*/
- function check_access() {
+ public function check_access() {
global $CFG;
if (empty($CFG->rolesactive)) {
return true; // no access check before site is fully set up
*
* @return bool True if hidden
*/
- function is_hidden() {
+ public function is_hidden() {
return $this->hidden;
}
* @author Vincenzo K. Marcovecchio
* @package admin
*/
-class admin_settingpage extends part_of_admin_tree {
+class admin_settingpage implements part_of_admin_tree {
/**
* @var string An internal name for this external page. Must be unique amongst ALL part_of_admin_tree objects
*/
- var $name;
+ public $name;
/**
* @var string The displayed name for this external page. Usually obtained through get_string().
*/
- var $visiblename;
+ public $visiblename;
/**
* @var mixed An array of admin_setting objects that are part of this setting page.
*/
- var $settings;
+ public $settings;
/**
* @var string The role capability/permission a user must have to access this external page.
*/
- var $req_capability;
+ public $req_capability;
/**
* @var object The context in which capability/permission should be checked, default is site context.
*/
- var $context;
+ public $context;
/**
* @var bool hidden in admin tree block.
*/
- var $hidden;
+ public $hidden;
/**
* paths
*/
- var $path;
- var $visiblepath;
+ public $path;
+ public $visiblepath;
// see admin_externalpage
- function admin_settingpage($name, $visiblename, $req_capability='moodle/site:config', $hidden=false, $context=NULL) {
+ public function __construct($name, $visiblename, $req_capability='moodle/site:config', $hidden=false, $context=NULL) {
$this->settings = new object();
$this->name = $name;
$this->visiblename = $visiblename;
}
// see admin_category
- function &locate($name, $findpath=false) {
+ public function locate($name, $findpath=false) {
if ($this->name == $name) {
if ($findpath) {
$this->visiblepath = array($this->visiblename);
}
}
- function search($query) {
+ public function search($query) {
$found = array();
foreach ($this->settings as $setting) {
}
}
- function prune($name) {
+ public function prune($name) {
return false;
}
* @param object $setting is the admin_setting object you want to add
* @return true if successful, false if not
*/
- function add($setting) {
- if (!is_a($setting, 'admin_setting')) {
+ public function add($setting) {
+ if (!($setting instanceof admin_setting)) {
debugging('error - not a setting instance');
return false;
}
}
// see admin_externalpage
- function check_access() {
+ public function check_access() {
global $CFG;
if (empty($CFG->rolesactive)) {
return true; // no access check before site is fully set up
* outputs this page as html in a table (suitable for inclusion in an admin pagetype)
* returns a string of the html
*/
- function output_html() {
- $adminroot =& admin_get_root();
+ public function output_html() {
+ $adminroot = admin_get_root();
$return = '<fieldset>'."\n".'<div class="clearer"><!-- --></div>'."\n";
foreach($this->settings as $setting) {
$fullname = $setting->get_full_name();
*
* @return bool True if hidden
*/
- function is_hidden() {
+ public function is_hidden() {
return $this->hidden;
}
*/
class admin_setting {
- var $name;
- var $visiblename;
- var $description;
- var $defaultsetting;
- var $updatedcallback;
- var $plugin; // null means main config table
+ public $name;
+ public $visiblename;
+ public $description;
+ public $defaultsetting;
+ public $updatedcallback;
+ public $plugin; // null means main config table
/**
* Constructor
* @param string $description localised long description
* @param mixed $defaultsetting string or array depending on implementation
*/
- function admin_setting($name, $visiblename, $description, $defaultsetting) {
+ public function __construct($name, $visiblename, $description, $defaultsetting) {
$this->parse_setting_name($name);
$this->visiblename = $visiblename;
$this->description = $description;
}
}
- function get_full_name() {
+ public function get_full_name() {
return 's_'.$this->plugin.'_'.$this->name;
}
- function get_id() {
+ public function get_id() {
return 'id_s_'.$this->plugin.'_'.$this->name;
}
- function config_read($name) {
+ public function config_read($name) {
global $CFG;
if (!empty($this->plugin)) {
$value = get_config($this->plugin, $name);
}
}
- function config_write($name, $value) {
+ public function config_write($name, $value) {
return (boolean)set_config($name, $value, $this->plugin);
}
* Returns current value of this setting
* @return mixed array or string depending on instance, NULL means not set yet
*/
- function get_setting() {
+ public function get_setting() {
// has to be overridden
return NULL;
}
* Returns default setting if exists
* @return mixed array or string depending on instance; NULL means no default, user must supply
*/
- function get_defaultsetting() {
+ public function get_defaultsetting() {
return $this->defaultsetting;
}
* @param mixed string or array, must not be NULL
* @return '' if ok, string error message otherwise
*/
- function write_setting($data) {
+ public function write_setting($data) {
// should be overridden
return '';
}
* @param mixed data array or string depending on setting
* @return string
*/
- function output_html($data, $query='') {
+ public function output_html($data, $query='') {
// should be overridden
return;
}
/**
* function called if setting updated - cleanup, cache reset, etc.
*/
- function set_updatedcallback($functionname) {
+ public function set_updatedcallback($functionname) {
$this->updatedcallback = $functionname;
}
* @param string $query
* @return bool
*/
- function is_related($query) {
+ public function is_related($query) {
if (strpos(strtolower($this->name), $query) !== false) {
return true;
}
* @param string $heading heading
* @param string $information text in box
*/
- function admin_setting_heading($name, $heading, $information) {
- parent::admin_setting($name, $heading, $information, '');
+ public function __construct($name, $heading, $information) {
+ parent::__construct($name, $heading, $information, '');
}
- function get_setting() {
+ public function get_setting() {
return true;
}
- function get_defaultsetting() {
+ public function get_defaultsetting() {
return true;
}
- function write_setting($data) {
+ public function write_setting($data) {
// do not write any setting
return '';
}
- function output_html($data, $query='') {
+ public function output_html($data, $query='') {
$return = '';
if ($this->visiblename != '') {
$return .= print_heading('<a name="'.$this->name.'">'.highlightfast($query, $this->visiblename).'</a>', '', 3, 'main', true);
*/
class admin_setting_configtext extends admin_setting {
- var $paramtype;
- var $size;
+ public $paramtype;
+ public $size;
/**
* config text contructor
* @param mixed $paramtype int means PARAM_XXX type, string is a allowed format in regex
* @param int $size default field size
*/
- function admin_setting_configtext($name, $visiblename, $description, $defaultsetting, $paramtype=PARAM_RAW, $size=null) {
+ public function __construct($name, $visiblename, $description, $defaultsetting, $paramtype=PARAM_RAW, $size=null) {
$this->paramtype = $paramtype;
if (!is_null($size)) {
$this->size = $size;
} else {
$this->size = ($paramtype == PARAM_INT) ? 5 : 30;
}
- parent::admin_setting($name, $visiblename, $description, $defaultsetting);
+ parent::__construct($name, $visiblename, $description, $defaultsetting);
}
- function get_setting() {
+ public function get_setting() {
return $this->config_read($this->name);
}
- function write_setting($data) {
+ public function write_setting($data) {
if ($this->paramtype === PARAM_INT and $data === '') {
// do not complain if '' used instead of 0
$data = 0;
* @param string data
* @return mixed true if ok string if error found
*/
- function validate($data) {
+ public function validate($data) {
if (is_string($this->paramtype)) {
if (preg_match($this->paramtype, $data)) {
return true;
}
}
- function output_html($data, $query='') {
+ public function output_html($data, $query='') {
$default = $this->get_defaultsetting();
return format_admin_setting($this, $this->visiblename,
* General text area without html editor.
*/
class admin_setting_configtextarea extends admin_setting_configtext {
- var $rows;
- var $cols;
+ public $rows;
+ public $cols;
- function admin_setting_configtextarea($name, $visiblename, $description, $defaultsetting, $paramtype=PARAM_RAW, $cols='60', $rows='8') {
+ public function __construct($name, $visiblename, $description, $defaultsetting, $paramtype=PARAM_RAW, $cols='60', $rows='8') {
$this->rows = $rows;
$this->cols = $cols;
- parent::admin_setting_configtext($name, $visiblename, $description, $defaultsetting, $paramtype);
+ parent::__construct($name, $visiblename, $description, $defaultsetting, $paramtype);
}
- function output_html($data, $query='') {
+ public function output_html($data, $query='') {
$default = $this->get_defaultsetting();
$defaultinfo = $default;
* @param string $description long localised info
* @param string $defaultsetting default password
*/
- function admin_setting_configpasswordunmask($name, $visiblename, $description, $defaultsetting) {
- parent::admin_setting_configtext($name, $visiblename, $description, $defaultsetting, PARAM_RAW, 30);
+ public function __construct($name, $visiblename, $description, $defaultsetting) {
+ parent::__construct($name, $visiblename, $description, $defaultsetting, PARAM_RAW, 30);
}
- function output_html($data, $query='') {
+ public function output_html($data, $query='') {
$id = $this->get_id();
$unmask = get_string('unmaskpassword', 'form');
$unmaskjs = '<script type="text/javascript">
* @param string $description long localised info
* @param string $defaultdirectory default directory location
*/
- function admin_setting_configfile($name, $visiblename, $description, $defaultdirectory) {
- parent::admin_setting_configtext($name, $visiblename, $description, $defaultdirectory, PARAM_RAW, 50);
+ public function __construct($name, $visiblename, $description, $defaultdirectory) {
+ parent::__construct($name, $visiblename, $description, $defaultdirectory, PARAM_RAW, 50);
}
- function output_html($data, $query='') {
+ public function output_html($data, $query='') {
$default = $this->get_defaultsetting();
if ($data) {
*/
class admin_setting_configexecutable extends admin_setting_configfile {
- function output_html($data, $query='') {
+ public function output_html($data, $query='') {
$default = $this->get_defaultsetting();
if ($data) {
* Path to directory
*/
class admin_setting_configdirectory extends admin_setting_configfile {
- function output_html($data, $query='') {
+ public function output_html($data, $query='') {
$default = $this->get_defaultsetting();
if ($data) {
* Checkbox
*/
class admin_setting_configcheckbox extends admin_setting {
- var $yes;
- var $no;
+ public $yes;
+ public $no;
/**
* Constructor
* @param string $yes value used when checked
* @param string $no value used when not checked
*/
- function admin_setting_configcheckbox($name, $visiblename, $description, $defaultsetting, $yes='1', $no='0') {
- parent::admin_setting($name, $visiblename, $description, $defaultsetting);
+ public function __construct($name, $visiblename, $description, $defaultsetting, $yes='1', $no='0') {
+ parent::__construct($name, $visiblename, $description, $defaultsetting);
$this->yes = (string)$yes;
$this->no = (string)$no;
}
- function get_setting() {
+ public function get_setting() {
return $this->config_read($this->name);
}
- function write_setting($data) {
+ public function write_setting($data) {
if ((string)$data === $this->yes) { // convert to strings before comparison
$data = $this->yes;
} else {
return ($this->config_write($this->name, $data) ? '' : get_string('errorsetting', 'admin'));
}
- function output_html($data, $query='') {
+ public function output_html($data, $query='') {
$default = $this->get_defaultsetting();
if (!is_null($default)) {
* Multiple checkboxes, each represents different value, stored in csv format
*/
class admin_setting_configmulticheckbox extends admin_setting {
- var $choices;
+ public $choices;
/**
* Constructor
* @param array $defaultsetting array of selected
* @param array $choices array of $value=>$label for each checkbox
*/
- function admin_setting_configmulticheckbox($name, $visiblename, $description, $defaultsetting, $choices) {
+ public function __construct($name, $visiblename, $description, $defaultsetting, $choices) {
$this->choices = $choices;
- parent::admin_setting($name, $visiblename, $description, $defaultsetting);
+ parent::__construct($name, $visiblename, $description, $defaultsetting);
}
/**
- * This function may be used in ancestors for lazy loading of choices
+ * This public function may be used in ancestors for lazy loading of choices
* @return true if loaded, false if error
*/
- function load_choices() {
+ public function load_choices() {
/*
if (is_array($this->choices)) {
return true;
* @param string $query
* @return bool
*/
- function is_related($query) {
+ public function is_related($query) {
if (!$this->load_choices() or empty($this->choices)) {
return false;
}
return false;
}
- function get_setting() {
+ public function get_setting() {
$result = $this->config_read($this->name);
if (is_null($result)) {
return $setting;
}
- function write_setting($data) {
+ public function write_setting($data) {
if (!is_array($data)) {
return ''; // ignore it
}
return $this->config_write($this->name, implode(',', $result)) ? '' : get_string('errorsetting', 'admin');
}
- function output_html($data, $query='') {
+ public function output_html($data, $query='') {
if (!$this->load_choices() or empty($this->choices)) {
return '';
}
* Multiple checkboxes 2, value stored as string 00101011
*/
class admin_setting_configmulticheckbox2 extends admin_setting_configmulticheckbox {
- function get_setting() {
+ public function get_setting() {
$result = $this->config_read($this->name);
if (is_null($result)) {
return NULL;
return $setting;
}
- function write_setting($data) {
+ public function write_setting($data) {
if (!is_array($data)) {
return ''; // ignore it
}
* Select one value from list
*/
class admin_setting_configselect extends admin_setting {
- var $choices;
+ public $choices;
/**
* Constructor
* @param string $defaultsetting
* @param array $choices array of $value=>$label for each selection
*/
- function admin_setting_configselect($name, $visiblename, $description, $defaultsetting, $choices) {
+ public function __construct($name, $visiblename, $description, $defaultsetting, $choices) {
$this->choices = $choices;
- parent::admin_setting($name, $visiblename, $description, $defaultsetting);
+ parent::__construct($name, $visiblename, $description, $defaultsetting);
}
/**
* This function may be used in ancestors for lazy loading of choices
* @return true if loaded, false if error
*/
- function load_choices() {
+ public function load_choices() {
/*
if (is_array($this->choices)) {
return true;
return true;
}
- function is_related($query) {
+ public function is_related($query) {
if (parent::is_related($query)) {
return true;
}
return false;
}
- function get_setting() {
+ public function get_setting() {
return $this->config_read($this->name);
}
- function write_setting($data) {
+ public function write_setting($data) {
if (!$this->load_choices() or empty($this->choices)) {
return '';
}
* @param string $default the default selected option.
* @return array the HTML for the select element, and a warning message.
*/
- function output_select_html($data, $current, $default, $extraname = '') {
+ public function output_select_html($data, $current, $default, $extraname = '') {
if (!$this->load_choices() or empty($this->choices)) {
return array('', '');
}
return array($selecthtml, $warning);
}
- function output_html($data, $query='') {
+ public function output_html($data, $query='') {
$default = $this->get_defaultsetting();
$current = $this->get_setting();
* @param array $defaultsetting array of selected items
* @param array $choices array of $value=>$label for each list item
*/
- function admin_setting_configmultiselect($name, $visiblename, $description, $defaultsetting, $choices) {
- parent::admin_setting_configselect($name, $visiblename, $description, $defaultsetting, $choices);
+ public function __construct($name, $visiblename, $description, $defaultsetting, $choices) {
+ parent::__construct($name, $visiblename, $description, $defaultsetting, $choices);
}
- function get_setting() {
+ public function get_setting() {
$result = $this->config_read($this->name);
if (is_null($result)) {
return NULL;
return explode(',', $result);
}
- function write_setting($data) {
+ public function write_setting($data) {
if (!is_array($data)) {
return ''; //ignore it
}
* @param string $query
* @return bool
*/
- function is_related($query) {
+ public function is_related($query) {
if (!$this->load_choices() or empty($this->choices)) {
return false;
}
return false;
}
- function output_html($data, $query='') {
+ public function output_html($data, $query='') {
if (!$this->load_choices() or empty($this->choices)) {
return '';
}
* them as an array named after $name (so we only use $name2 internally for the setting)
*/
class admin_setting_configtime extends admin_setting {
- var $name2;
+ public $name2;
/**
* Constructor
* @param string $description long localised info
* @param array $defaultsetting array representing default time 'h'=>hours, 'm'=>minutes
*/
- function admin_setting_configtime($hoursname, $minutesname, $visiblename, $description, $defaultsetting) {
+ public function __construct($hoursname, $minutesname, $visiblename, $description, $defaultsetting) {
$this->name2 = $minutesname;
- parent::admin_setting($hoursname, $visiblename, $description, $defaultsetting);
+ parent::__construct($hoursname, $visiblename, $description, $defaultsetting);
}
- function get_setting() {
+ public function get_setting() {
$result1 = $this->config_read($this->name);
$result2 = $this->config_read($this->name2);
if (is_null($result1) or is_null($result2)) {
return array('h' => $result1, 'm' => $result2);
}
- function write_setting($data) {
+ public function write_setting($data) {
if (!is_array($data)) {
return '';
}
return ($result ? '' : get_string('errorsetting', 'admin'));
}
- function output_html($data, $query='') {
+ public function output_html($data, $query='') {
$default = $this->get_defaultsetting();
if (is_array($default)) {
}
class admin_setting_configiplist extends admin_setting_configtextarea {
- function validate($data) {
+ public function validate($data) {
if(!empty($data)) {
$ips = explode("\n", $data);
} else {
* @param array $defaultsetting array of usernames
* @param string $capability string capability name.
*/
- function __construct($name, $visiblename, $description, $defaultsetting, $capability) {
+ public function __construct($name, $visiblename, $description, $defaultsetting, $capability) {
$users = get_users_by_capability(get_context_instance(CONTEXT_SYSTEM),
$capability, 'username,firstname,lastname', 'lastname,firstname');
$choices = array(
foreach ($users as $user) {
$choices[$user->username] = fullname($user);
}
- parent::admin_setting_configmultiselect($name, $visiblename, $description, $defaultsetting, $choices);
+ parent::__construct($name, $visiblename, $description, $defaultsetting, $choices);
}
- function get_defaultsetting() {
+ public function get_defaultsetting() {
$this->load_choices();
if (empty($this->defaultsetting)) {
return array('$@NONE@$');
}
}
- function get_setting() {
+ public function get_setting() {
$result = parent::get_setting();
if (empty($result)) {
$result = array('$@NONE@$');
return $result;
}
- function write_setting($data) {
+ public function write_setting($data) {
// If all is selected, remove any explicit options.
if (in_array('$@ALL@$', $data)) {
$data = array('$@ALL@$');
* Special checkbox for calendar - resets SESSION vars.
*/
class admin_setting_special_adminseesall extends admin_setting_configcheckbox {
- function admin_setting_special_adminseesall() {
- parent::admin_setting_configcheckbox('calendar_adminseesall', get_string('adminseesall', 'admin'),
- get_string('helpadminseesall', 'admin'), '0');
+ public function __construct() {
+ parent::__construct('calendar_adminseesall', get_string('adminseesall', 'admin'),
+ get_string('helpadminseesall', 'admin'), '0');
}
- function write_setting($data) {
+ public function write_setting($data) {
global $SESSION;
unset($SESSION->cal_courses_shown);
return parent::write_setting($data);
* Special select for settings that are altered in setup.php and can not be altered on the fly
*/
class admin_setting_special_selectsetup extends admin_setting_configselect {
- function get_setting() {
+ public function get_setting() {
// read directly from db!
return get_config(NULL, $this->name);
}
- function write_setting($data) {
+ public function write_setting($data) {
global $CFG;
// do not change active CFG setting!
$current = $CFG->{$this->name};
* Special select for frontpage - stores data in course table
*/
class admin_setting_sitesetselect extends admin_setting_configselect {
- function get_setting() {
+ public function get_setting() {
$site = get_site();
return $site->{$this->name};
}
- function write_setting($data) {
+ public function write_setting($data) {
global $DB;
if (!in_array($data, array_keys($this->choices))) {
return get_string('errorsetting', 'admin');
* Special select - lists on the frontpage - hacky
*/
class admin_setting_courselist_frontpage extends admin_setting {
- var $choices;
+ public $choices;
- function admin_setting_courselist_frontpage($loggedin) {
+ public function __construct($loggedin) {
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');
$defaults = array(FRONTPAGECOURSELIST);
- parent::admin_setting($name, $visiblename, $description, $defaults);
+ parent::__construct($name, $visiblename, $description, $defaults);
}
- function load_choices() {
+ public function load_choices() {
global $DB;
if (is_array($this->choices)) {
return true;
}
return true;
}
- function get_setting() {
+ public function get_setting() {
$result = $this->config_read($this->name);
if (is_null($result)) {
return NULL;
return explode(',', $result);
}
- function write_setting($data) {
+ public function write_setting($data) {
if (!is_array($data)) {
return '';
}
return ($this->config_write($this->name, implode(',', $save)) ? '' : get_string('errorsetting', 'admin'));
}
- function output_html($data, $query='') {
+ public function output_html($data, $query='') {
$this->load_choices();
$currentsetting = array();
foreach ($data as $key) {
* Special checkbox for frontpage - stores data in course table
*/
class admin_setting_sitesetcheckbox extends admin_setting_configcheckbox {
- function get_setting() {
+ public function get_setting() {
$site = get_site();
return $site->{$this->name};
}
- function write_setting($data) {
+ public function write_setting($data) {
global $DB;
$record = new object();
$record->id = SITEID;
* Empty string means not set here. Manual setting is required.
*/
class admin_setting_sitesettext extends admin_setting_configtext {
- function get_setting() {
+ public function get_setting() {
$site = get_site();
return $site->{$this->name} != '' ? $site->{$this->name} : NULL;
}
- function validate($data) {
+ public function validate($data) {
$cleaned = clean_param($data, PARAM_MULTILANG);
if ($cleaned === '') {
return get_string('required');
}
}
- function write_setting($data) {
+ public function write_setting($data) {
global $DB;
$data = trim($data);
$validated = $this->validate($data);
* Special text editor for site description.
*/
class admin_setting_special_frontpagedesc extends admin_setting {
- function admin_setting_special_frontpagedesc() {
- parent::admin_setting('summary', get_string('frontpagedescription'), get_string('frontpagedescriptionhelp'), NULL);
+ public function __construct() {
+ parent::__construct('summary', get_string('frontpagedescription'), get_string('frontpagedescriptionhelp'), NULL);
}
- function get_setting() {
+ public function get_setting() {
$site = get_site();
return $site->{$this->name};
}
- function write_setting($data) {
+ public function write_setting($data) {
global $DB;
$record = new object();
$record->id = SITEID;
return($DB->update_record('course', $record) ? '' : get_string('errorsetting', 'admin'));
}
- function output_html($data, $query='') {
+ public function output_html($data, $query='') {
global $CFG;
$CFG->adminusehtmleditor = can_use_html_editor();
class admin_setting_special_editorfontlist extends admin_setting {
- var $items;
+ public $items;
- function admin_setting_special_editorfontlist() {
+ public function __construct() {
global $CFG;
$name = 'editorfontlist';
$visiblename = get_string('editorfontlist', 'admin');
'v7' => 'impact',
'k8' => 'Wingdings',
'v8' => 'wingdings');
- parent::admin_setting($name, $visiblename, $description, $defaults);
+ parent::__construct($name, $visiblename, $description, $defaults);
}
- function get_setting() {
+ public function get_setting() {
global $CFG;
$result = $this->config_read($this->name);
if (is_null($result)) {
return $currentsetting;
}
- function write_setting($data) {
+ public function write_setting($data) {
// there miiight be an easier way to do this :)
// if this is changed, make sure the $defaults array above is modified so that this
return ($this->config_write($this->name, implode(';', $result)) ? '' : get_string('errorsetting', 'admin'));
}
- function output_html($data, $query='') {
+ public function output_html($data, $query='') {
$fullname = $this->get_full_name();
$return = '<div class="form-group">';
for ($i = 0; $i < count($data) / 2; $i++) {
class admin_setting_emoticons extends admin_setting {
- var $items;
+ public $items;
- function admin_setting_emoticons() {
+ public function __construct() {
global $CFG;
$name = 'emoticons';
$visiblename = get_string('emoticons', 'admin');
'v26' => 'martin',
'k27' => '( )',
'v27' => 'egg');
- parent::admin_setting($name, $visiblename, $description, $defaults);
+ parent::__construct($name, $visiblename, $description, $defaults);
}
- function get_setting() {
+ public function get_setting() {
global $CFG;
$result = $this->config_read($this->name);
if (is_null($result)) {
return $currentsetting;
}
- function write_setting($data) {
+ public function write_setting($data) {
// there miiight be an easier way to do this :)
// if this is changed, make sure the $defaults array above is modified so that this
return ($this->config_write($this->name, implode('{;}', $result)) ? '' : get_string('errorsetting', 'admin').$this->visiblename.'<br />');
}
- function output_html($data, $query='') {
+ public function output_html($data, $query='') {
$fullname = $this->get_full_name();
$return = '<div class="form-group">';
for ($i = 0; $i < count($data) / 2; $i++) {
}
class admin_setting_special_editorhidebuttons extends admin_setting {
- var $items;
+ public $items;
- function admin_setting_special_editorhidebuttons() {
- parent::admin_setting('editorhidebuttons', get_string('editorhidebuttons', 'admin'),
- get_string('confeditorhidebuttons', 'admin'), array());
+ public function __construct() {
+ parent::__construct('editorhidebuttons', get_string('editorhidebuttons', 'admin'),
+ get_string('confeditorhidebuttons', 'admin'), array());
// weird array... buttonname => buttonimage (assume proper path appended). if you leave buttomimage blank, text will be printed instead
$this->items = array('fontname' => '',
'fontsize' => '',
'search_replace' => 'ed_replace.gif');
}
- function get_setting() {
+ public function get_setting() {
$result = $this->config_read($this->name);
if (is_null($result)) {
return NULL;
return explode(' ', $result);
}
- function write_setting($data) {
+ public function write_setting($data) {
if (!is_array($data)) {
return ''; // ignore it
}
return ($this->config_write($this->name, implode(' ', $result)) ? '' : get_string('errorsetting', 'admin'));
}
- function output_html($data, $query='') {
+ public function output_html($data, $query='') {
global $CFG;
* Special setting for limiting of the list of available languages.
*/
class admin_setting_langlist extends admin_setting_configtext {
- function admin_setting_langlist() {
- parent::admin_setting_configtext('langlist', get_string('langlist', 'admin'), get_string('configlanglist', 'admin'), '', PARAM_NOTAGS);
+ public function __construct() {
+ parent::__construct('langlist', get_string('langlist', 'admin'), get_string('configlanglist', 'admin'), '', PARAM_NOTAGS);
}
- function write_setting($data) {
+ public function write_setting($data) {
$return = parent::write_setting($data);
get_list_of_languages(true);//refresh the list
return $return;
* Course category selection
*/
class admin_settings_coursecat_select extends admin_setting_configselect {
- function admin_settings_coursecat_select($name, $visiblename, $description, $defaultsetting) {
- parent::admin_setting_configselect($name, $visiblename, $description, $defaultsetting, NULL);
+ public function __construct($name, $visiblename, $description, $defaultsetting) {
+ parent::__construct($name, $visiblename, $description, $defaultsetting, NULL);
}
- function load_choices() {
+ public function load_choices() {
global $CFG;
require_once($CFG->dirroot.'/course/lib.php');
if (is_array($this->choices)) {
}
class admin_setting_special_backupdays extends admin_setting_configmulticheckbox2 {
- function admin_setting_special_backupdays() {
- parent::admin_setting_configmulticheckbox2('backup_sche_weekdays', get_string('schedule'), get_string('backupschedulehelp'), array(), NULL);
+ public function __construct() {
+ parent::__construct('backup_sche_weekdays', get_string('schedule'), get_string('backupschedulehelp'), array(), NULL);
$this->plugin = 'backup';
}
- function load_choices() {
+ public function load_choices() {
if (is_array($this->choices)) {
return true;
}
* Special debug setting
*/
class admin_setting_special_debug extends admin_setting_configselect {
- function admin_setting_special_debug() {
- parent::admin_setting_configselect('debug', get_string('debug', 'admin'), get_string('configdebug', 'admin'), DEBUG_NONE, NULL);
+ public function __construct() {
+ parent::__construct('debug', get_string('debug', 'admin'), get_string('configdebug', 'admin'), DEBUG_NONE, NULL);
}
- function load_choices() {
+ public function load_choices() {
if (is_array($this->choices)) {
return true;
}
class admin_setting_special_calendar_weekend extends admin_setting {
- function admin_setting_special_calendar_weekend() {
+ public function __construct() {
$name = 'calendar_weekend';
$visiblename = get_string('calendar_weekend', 'admin');
$description = get_string('helpweekenddays', 'admin');
$default = array ('0', '6'); // Saturdays and Sundays
- parent::admin_setting($name, $visiblename, $description, $default);
+ parent::__construct($name, $visiblename, $description, $default);
}
- function get_setting() {
+ public function get_setting() {
$result = $this->config_read($this->name);
if (is_null($result)) {
return NULL;
return $settings;
}
- function write_setting($data) {
+ public function write_setting($data) {
if (!is_array($data)) {
return '';
}
return ($this->config_write($this->name, $result) ? '' : get_string('errorsetting', 'admin'));
}
- function output_html($data, $query='') {
+ public function output_html($data, $query='') {
// The order matters very much because of the implied numeric keys
$days = array('sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday');
$return = '<table><thead><tr>';
* which identify roles that will be enabled by default. Default is the
* student role
*/
- function admin_setting_pickroles($name, $visiblename, $description, $types) {
- parent::admin_setting_configmulticheckbox($name, $visiblename, $description, NULL, NULL);
+ public function __construct($name, $visiblename, $description, $types) {
+ parent::__construct($name, $visiblename, $description, NULL, NULL);
$this->types = $types;
}
- function load_choices() {
+ public function load_choices() {
global $CFG, $DB;
if (empty($CFG->rolesactive)) {
return false;
}
}
- function get_defaultsetting() {
+ public function get_defaultsetting() {
global $CFG;
if (empty($CFG->rolesactive)) {
* Text field with an advanced checkbox, that controls a additional "fix_$name" setting.
*/
class admin_setting_text_with_advanced extends admin_setting_configtext {
- function __construct($name, $visiblename, $description, $defaultsetting, $paramtype) {
- parent::admin_setting_configtext($name, $visiblename, $description,
+ public function __construct($name, $visiblename, $description, $defaultsetting, $paramtype) {
+ parent::__construct($name, $visiblename, $description,
$defaultsetting, $paramtype);
}
- function get_setting() {
+ public function get_setting() {
$value = parent::get_setting();
$fix = $this->config_read('fix_' . $this->name);
if (is_null($value) or is_null($fix)) {
return array('value' => $value, 'fix' => $fix);
}
- function write_setting($data) {
+ public function write_setting($data) {
$error = parent::write_setting($data['value']);
if (!$error) {
if (empty($data['fix'])) {
return $error;
}
- function output_html($data, $query='') {
+ public function output_html($data, $query='') {
$default = $this->get_defaultsetting();
$defaultinfo = array();
if (isset($this->choices[$default['value']])) {
* Dropdown menu with an advanced checkbox, that controls a additional "fix_$name" setting.
*/
class admin_setting_combo_with_advanced extends admin_setting_configselect {
- function __construct($name, $visiblename, $description, $defaultsetting, $choices) {
- parent::admin_setting_configselect($name, $visiblename, $description,
- $defaultsetting, $choices);
+ public function __construct($name, $visiblename, $description, $defaultsetting, $choices) {
+ parent::__construct($name, $visiblename, $description, $defaultsetting, $choices);
}
- function get_setting() {
+ public function get_setting() {
$value = parent::get_setting();
$fix = $this->config_read('fix_' . $this->name);
if (is_null($value) or is_null($fix)) {
return array('value' => $value, 'fix' => $fix);
}
- function write_setting($data) {
+ public function write_setting($data) {
$error = parent::write_setting($data['value']);
if (!$error) {
if (empty($data['fix'])) {
return $error;
}
- function output_html($data, $query='') {
+ public function output_html($data, $query='') {
$default = $this->get_defaultsetting();
$current = $this->get_setting();
* Specialisation of admin_setting_combo_with_advanced for easy yes/no choices.
*/
class admin_setting_yesno_with_advanced extends admin_setting_combo_with_advanced {
- function __construct($name, $visiblename, $description, $defaultsetting) {
+ public function __construct($name, $visiblename, $description, $defaultsetting) {
parent::__construct($name, $visiblename, $description,
$defaultsetting, array(get_string('no'), get_string('yes')));
}
* Graded roles in gradebook
*/
class admin_setting_special_gradebookroles extends admin_setting_pickroles {
- function admin_setting_special_gradebookroles() {
- parent::admin_setting_pickroles('gradebookroles', get_string('gradebookroles', 'admin'),
- get_string('configgradebookroles', 'admin'),
- array('moodle/legacy:student'));
+ public function __construct() {
+ parent::__construct('gradebookroles', get_string('gradebookroles', 'admin'),
+ get_string('configgradebookroles', 'admin'),
+ array('moodle/legacy:student'));
}
}
class admin_setting_regradingcheckbox extends admin_setting_configcheckbox {
- function write_setting($data) {
+ public function write_setting($data) {
global $CFG, $DB;
$oldvalue = $this->config_read($this->name);
* Which roles to show on course decription page
*/
class admin_setting_special_coursemanager extends admin_setting_pickroles {
- function admin_setting_special_coursemanager() {
- parent::admin_setting_pickroles('coursemanager', get_string('coursemanager', 'admin'),
- get_string('configcoursemanager', 'admin'),
- array('moodle/legacy:editingteacher'));
+ public function __construct() {
+ parent::__construct('coursemanager', get_string('coursemanager', 'admin'),
+ get_string('configcoursemanager', 'admin'),
+ array('moodle/legacy:editingteacher'));
}
}
* Primary grade export plugin - has state tracking.
*/
class admin_setting_special_gradeexport extends admin_setting_configmulticheckbox {
- function admin_setting_special_gradeexport() {
- parent::admin_setting_configmulticheckbox('gradeexport', get_string('gradeexport', 'admin'),
- get_string('configgradeexport', 'admin'), array(), NULL);
+ public function __construct() {
+ parent::__construct('gradeexport', get_string('gradeexport', 'admin'),
+ get_string('configgradeexport', 'admin'), array(), NULL);
}
- function load_choices() {
+ public function load_choices() {
if (is_array($this->choices)) {
return true;
}
*/
class admin_setting_gradecat_combo extends admin_setting {
- var $choices;
+ public $choices;
- function admin_setting_gradecat_combo($name, $visiblename, $description, $defaultsetting, $choices) {
+ public function __construct($name, $visiblename, $description, $defaultsetting, $choices) {
$this->choices = $choices;
- parent::admin_setting($name, $visiblename, $description, $defaultsetting);
+ parent::__construct($name, $visiblename, $description, $defaultsetting);
}
- function get_setting() {
+ public function get_setting() {
global $CFG;
$value = $this->config_read($this->name);
return array('value' => $value, 'forced' => $forced, 'adv' => $adv);
}
- function write_setting($data) {
+ public function write_setting($data) {
global $CFG;
$value = $data['value'];
}
}
- function output_html($data, $query='') {
+ public function output_html($data, $query='') {
$value = $data['value'];
$forced = !empty($data['forced']);
$adv = !empty($data['adv']);
* Selection of grade report in user profiles
*/
class admin_setting_grade_profilereport extends admin_setting_configselect {
- function admin_setting_grade_profilereport() {
- parent::admin_setting_configselect('grade_profilereport', get_string('profilereport', 'grades'), get_string('configprofilereport', 'grades'), 'user', null);
+ public function __construct() {
+ parent::__construct('grade_profilereport', get_string('profilereport', 'grades'), get_string('configprofilereport', 'grades'), 'user', null);
}
- function load_choices() {
+ public function load_choices() {
if (is_array($this->choices)) {
return true;
}
* Special class for register auth selection
*/
class admin_setting_special_registerauth extends admin_setting_configselect {
- function admin_setting_special_registerauth() {
- parent::admin_setting_configselect('registerauth', get_string('selfregistration', 'auth'), get_string('selfregistration_help', 'auth'), '', null);
+ public function __construct() {
+ parent::__construct('registerauth', get_string('selfregistration', 'auth'), get_string('selfregistration_help', 'auth'), '', null);
}
- function get_defaultsettings() {
+ public function get_defaultsettings() {
$this->load_choices();
if (array_key_exists($this->defaultsetting, $this->choices)) {
return $this->defaultsetting;
}
}
- function load_choices() {
+ public function load_choices() {
global $CFG;
if (is_array($this->choices)) {
* Module manage page
*/
class admin_page_managemods extends admin_externalpage {
- function admin_page_managemods() {
+ public function __construct() {
global $CFG;
- parent::admin_externalpage('managemodules', get_string('modsettings', 'admin'), "$CFG->wwwroot/$CFG->admin/modules.php");
+ parent::__construct('managemodules', get_string('modsettings', 'admin'), "$CFG->wwwroot/$CFG->admin/modules.php");
}
- function search($query) {
+ public function search($query) {
global $DB;
if ($result = parent::search($query)) {
return $result;
* Enrolment manage page
*/
class admin_enrolment_page extends admin_externalpage {
- public function admin_enrolment_page() {
+ public function __construct() {
global $CFG;
- parent::admin_externalpage('enrolment', get_string('enrolments'), $CFG->wwwroot . '/'.$CFG->admin.'/enrol.php');
+ parent::__construct('enrolment', get_string('enrolments'), $CFG->wwwroot . '/'.$CFG->admin.'/enrol.php');
}
- function search($query) {
+ public function search($query) {
if ($result = parent::search($query)) {
return $result;
}
* Blocks manage page
*/
class admin_page_manageblocks extends admin_externalpage {
- function admin_page_manageblocks() {
+ public function __construct() {
global $CFG;
- parent::admin_externalpage('manageblocks', get_string('blocksettings', 'admin'), "$CFG->wwwroot/$CFG->admin/blocks.php");
+ parent::__construct('manageblocks', get_string('blocksettings', 'admin'), "$CFG->wwwroot/$CFG->admin/blocks.php");
}
- function search($query) {
+ public function search($query) {
global $CFG, $DB;
if ($result = parent::search($query)) {
return $result;
* Question type manage page
*/
class admin_page_manageqtypes extends admin_externalpage {
- function __construct() {
+ public function __construct() {
global $CFG;
parent::__construct('manageqtypes', get_string('manageqtypes', 'admin'), "$CFG->wwwroot/$CFG->admin/qtypes.php");
}
- function search($query) {
+ public function search($query) {
global $CFG;
if ($result = parent::search($query)) {
return $result;
* Special class for authentication administration.
*/
class admin_setting_manageauths extends admin_setting {
- function admin_setting_manageauths() {
- parent::admin_setting('authsui', get_string('authsettings', 'admin'), '', '');
+ public function __construct() {
+ parent::__construct('authsui', get_string('authsettings', 'admin'), '', '');
}
- function get_setting() {
+ public function get_setting() {
return true;
}
- function get_defaultsetting() {
+ public function get_defaultsetting() {
return true;
}
- function write_setting($data) {
+ public function write_setting($data) {
// do not write any setting
return '';
}
- function is_related($query) {
+ public function is_related($query) {
if (parent::is_related($query)) {
return true;
}
return false;
}
- function output_html($data, $query='') {
+ public function output_html($data, $query='') {
global $CFG;
* Special class for filter administration.
*/
class admin_setting_managefilters extends admin_setting {
- function admin_setting_managefilters() {
- parent::admin_setting('filtersui', get_string('filtersettings', 'admin'), '', '');
+ public function __construct() {
+ parent::__construct('filtersui', get_string('filtersettings', 'admin'), '', '');
}
- function get_setting() {
+ public function get_setting() {
return true;
}
- function get_defaultsetting() {
+ public function get_defaultsetting() {
return true;
}
- function write_setting($data) {
+ public function write_setting($data) {
// do not write any setting
return '';
}
- function is_related($query) {
+ public function is_related($query) {
if (parent::is_related($query)) {
return true;
}
return false;
}
- function output_html($data, $query='') {
+ public function output_html($data, $query='') {
global $CFG;
$strname = get_string('name');
class admin_setting_manageportfolio extends admin_setting {
private $baseurl;
- function admin_setting_manageportfolio() {
+ public function __construct() {
global $CFG;
- parent::admin_setting('manageportfolio', get_string('manageportfolio', 'portfolio'), '', '');
- $this->baseurl = $CFG->wwwroot . '/' . $CFG->admin . '/portfolio.php?sesskey=' . sesskey();
+ parent::__construct('manageportfolio', get_string('manageportfolio', 'portfolio'), '', '');
+ $this->baseurl = $CFG->wwwroot . '/' . $CFG->admin . '/portfolio.php?sesskey=' . sesskey();
}
- function get_setting() {
+ public function get_setting() {
return true;
}
- function get_defaultsetting() {
+ public function get_defaultsetting() {
return true;
}
- function is_related($query) {
+ public function is_related($query) {
if (parent::is_related($query)) {
return true;
}
return false;
}
- function output_html($data, $query='') {
+ public function output_html($data, $query='') {
global $CFG;
$output = print_simple_box_start(true);
die;
}
- $adminroot =& admin_get_root(false, false); // settings not required for external pages
- $extpage =& $adminroot->locate($section);
+ $adminroot = admin_get_root(false, false); // settings not required for external pages
+ $extpage = $adminroot->locate($section);
- if (empty($extpage) or !is_a($extpage, 'admin_externalpage')) {
+ if (empty($extpage) or !($extpage instanceof admin_externalpage)) {
print_error('sectionerror', 'admin', "$CFG->wwwroot/$CFG->admin/");
die;
}
static $ADMIN = NULL;
- if (!is_null($ADMIN)) {
- $olderrors = $ADMIN->errors;
- $oldsearch = $ADMIN->search;
- $oldfulltree = $ADMIN->fulltree;
- } else {
- $olderrors = array();
- $oldsearch = '';
- $oldfulltree = false;
+ if (is_null($ADMIN)) {
+ // create the admin tree!
+ $ADMIN = new admin_root($requirefulltree);
}
- if ($reload or ($requirefulltree and !$oldfulltree)) {
- $ADMIN = NULL;
+ if ($reload or ($requirefulltree and !$ADMIN->fulltree)) {
+ $ADMIN->purge_children($requirefulltree);
}
- if (is_null($ADMIN)) {
- // start the admin tree!
- $ADMIN = new admin_root();
- // array of error messages and search query
- $ADMIN->errors = $olderrors;
- $ADMIN->search = $oldsearch;
- if ($requirefulltree) {
- $ADMIN->fulltree = true;
- } else {
- $ADMIN->fulltree = $oldfulltree;
- }
-
+ if (!$ADMIN->loaded) {
// we process this file first to create categories first and in correct order
require($CFG->dirroot.'/'.$CFG->admin.'/settings/top.php');
if (file_exists($CFG->dirroot.'/local/settings.php')) {
require($CFG->dirroot.'/local/settings.php');
}
+
+ $ADMIN->loaded = true;
}
return $ADMIN;
$node = admin_get_root(true, true);
}
- if (is_a($node, 'admin_category')) {
+ if ($node instanceof admin_category) {
$entries = array_keys($node->children);
foreach ($entries as $entry) {
admin_apply_default_settings($node->children[$entry], $unconditional);
}
- } else if (is_a($node, 'admin_settingpage')) {
+ } else if ($node instanceof admin_settingpage) {
foreach ($node->settings as $setting) {
if (!$unconditional and !is_null($setting->get_setting())) {
//do not override existing defaults
$data[$fullname] = $value;
}
- $adminroot =& admin_get_root();
+ $adminroot = admin_get_root();
$settings = admin_find_write_settings($adminroot, $data);
$count = 0;
return $return;
}
- if (is_a($node, 'admin_category')) {
+ if ($node instanceof admin_category) {
$entries = array_keys($node->children);
foreach ($entries as $entry) {
$return = array_merge($return, admin_find_write_settings($node->children[$entry], $data));
}
- } else if (is_a($node, 'admin_settingpage')) {
+ } else if ($node instanceof admin_settingpage) {
foreach ($node->settings as $setting) {
$fullname = $setting->get_full_name();
if (array_key_exists($fullname, $data)) {
}
$query = $textlib->strtolower($query);
- $adminroot =& admin_get_root();
+ $adminroot = admin_get_root();
$findings = $adminroot->search($query);
$return = '';
$savebutton = false;
// hidden pages are not displayed in search results
continue;
}
- if (is_a($page, 'admin_externalpage')) {
+ if ($page instanceof admin_externalpage) {
$return .= print_heading(get_string('searchresults','admin').' - <a href="'.$page->url.'">'.highlight($query, $page->visiblename).'</a>', '', 2, 'main', true);
- } else if (is_a($page, 'admin_settingpage')) {
+ } else if ($page instanceof admin_settingpage) {
$return .= print_heading(get_string('searchresults','admin').' - <a href="'.$CFG->wwwroot.'/'.$CFG->admin.'/settings.php?section='.$page->name.'">'.highlight($query, $page->visiblename).'</a>', '', 2, 'main', true);
} else {
continue;
function admin_output_new_settings_by_page($node) {
$return = array();
- if (is_a($node, 'admin_category')) {
+ if ($node instanceof admin_category) {
$entries = array_keys($node->children);
foreach ($entries as $entry) {
$return += admin_output_new_settings_by_page($node->children[$entry]);
}
- } else if (is_a($node, 'admin_settingpage')) {
+ } else if ($node instanceof admin_settingpage) {
$newsettings = array();
foreach ($node->settings as $setting) {
if (is_null($setting->get_setting())) {
}
}
if (count($newsettings) > 0) {
- $adminroot =& admin_get_root();
+ $adminroot = admin_get_root();
$page = print_heading(get_string('upgradesettings','admin').' - '.$node->visiblename, '', 2, 'main', true);
$page .= '<fieldset class="adminsettings">'."\n";
foreach ($newsettings as $setting) {
<div class="form-description">'.highlight($query, $description).'</div>
</div>';
- $adminroot =& admin_get_root();
+ $adminroot = admin_get_root();
if (array_key_exists($fullname, $adminroot->errors)) {
$str = '<fieldset class="error"><legend>'.$adminroot->errors[$fullname]->error.'</legend>'.$str.'</fieldset>';
}
*/
function any_new_admin_settings($node) {
- if (is_a($node, 'admin_category')) {
+ if ($node instanceof admin_category) {
$entries = array_keys($node->children);
foreach ($entries as $entry) {
if (any_new_admin_settings($node->children[$entry])){
}
}
- } else if (is_a($node, 'admin_settingpage')) {
+ } else if ($node instanceof admin_settingpage) {
foreach ($node->settings as $setting) {
if ($setting->get_setting() === NULL) {
return true;
class admin_setting_managerepository extends admin_setting {
private $baseurl;
- function admin_setting_managerepository() {
+ public function __construct() {
global $CFG;
- parent::admin_setting('managerepository', get_string('managerepository', 'repository'), '', '');
+ parent::__construct('managerepository', get_string('managerepository', 'repository'), '', '');
$this->baseurl = $CFG->wwwroot . '/' . $CFG->admin . '/repository.php?sesskey=' . sesskey();
}
- function get_setting() {
+ public function get_setting() {
return true;
}
- function get_defaultsetting() {
+ public function get_defaultsetting() {
return true;
}
- function get_full_name() {
+ public function get_full_name() {
return 's_managerepository';
}
- function write_setting($data) {
+ public function write_setting($data) {
$url = $this->baseurl . '&new=' . $data;
// TODO
// Should not use redirect and exit here
// exit;
}
- function is_related($query) {
+ public function is_related($query) {
if (parent::is_related($query)) {
return true;
}
return false;
}
- function output_html($data, $query='') {
+ public function output_html($data, $query='') {
global $CFG, $USER;
$output = print_box_start('generalbox','',true);
$namestr = get_string('name');