From: skodak Date: Sat, 2 Sep 2006 11:10:10 +0000 (+0000) Subject: fixed defaults for backups during installation X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=99c8a1004d980ba06f7241c6210db081a79a2e8f;p=moodle.git fixed defaults for backups during installation --- diff --git a/admin/adminlib.php b/admin/adminlib.php index 7db9e22fef..86c9cca6a3 100644 --- a/admin/adminlib.php +++ b/admin/adminlib.php @@ -1593,6 +1593,44 @@ function admin_externalpage_print_footer() { } +// n.b. this function unconditionally applies default settings +function apply_default_settings(&$node) { + + global $CFG; + + if (is_a($node, 'admin_category')) { + $entries = array_keys($node->children); + foreach ($entries as $entry) { + apply_default_settings($node->children[$entry]); + } + return; + } + + if (is_a($node, 'admin_settingpage')) { + foreach ($node->settings as $setting) { + $CFG->{$setting->name} = $setting->defaultsetting; + $setting->write_setting($setting->defaultsetting); + unset($setting); // needed to prevent odd (imho) reference behaviour + // see http://www.php.net/manual/en/language.references.whatdo.php#AEN6399 + } + return; + } + + return; + +} + +// n.b. this function unconditionally applies default settings +function apply_default_exception_settings($defaults) { + + global $CFG; + + foreach($defaults as $key => $value) { + $CFG->$key = $value; + set_config($key, $value); + } + +} // Code to build admin-tree ---------------------------------------------------------------------------- diff --git a/admin/index.php b/admin/index.php index 400e2da67c..87ed57434d 100644 --- a/admin/index.php +++ b/admin/index.php @@ -571,44 +571,6 @@ admin_externalpage_print_footer(); -// n.b. this function unconditionally applies default settings -function apply_default_settings(&$node) { - - global $CFG; - - if (is_a($node, 'admin_category')) { - $entries = array_keys($node->children); - foreach ($entries as $entry) { - apply_default_settings($node->children[$entry]); - } - return; - } - - if (is_a($node, 'admin_settingpage')) { - foreach ($node->settings as $setting) { - $CFG->{$setting->name} = $setting->defaultsetting; - $setting->write_setting($setting->defaultsetting); - unset($setting); // needed to prevent odd (imho) reference behaviour - // see http://www.php.net/manual/en/language.references.whatdo.php#AEN6399 - } - return; - } - - return; - -} - -// n.b. this function unconditionally applies default settings -function apply_default_exception_settings($defaults) { - - global $CFG; - - foreach($defaults as $key => $value) { - $CFG->$key = $value; - set_config($key, $value); - } - -} ?> diff --git a/backup/lib.php b/backup/lib.php index 459274e315..95c768c25c 100644 --- a/backup/lib.php +++ b/backup/lib.php @@ -319,7 +319,7 @@ /// This function upgrades the backup tables, if necessary /// It's called from admin/index.php, also backup.php and restore.php - global $CFG, $db; + global $CFG, $db, $ADMIN; require_once ("$CFG->dirroot/backup/version.php"); // Get code versions @@ -345,6 +345,9 @@ $db->debug = false; if ($status) { if (set_config("backup_version", $backup_version) and set_config("backup_release", $backup_release)) { + //initialize default backup settings now + require_once($CFG->dirroot . '/admin/adminlib.php'); + apply_default_settings($ADMIN->locate('backups')); notify(get_string("databasesuccess"), "green"); notify(get_string("databaseupgradebackups", "", $backup_version), "green"); print_continue($continueto);