From 3d3fb328b4e1ca4e2ca43b45ff0399b2edee09ba Mon Sep 17 00:00:00 2001 From: Frederic Massart Date: Mon, 21 Nov 2016 11:03:41 +0800 Subject: [PATCH] MDL-57063 backup: Do not try to set default value on locked setting We cannot set a default value on settings which are 'config' or 'permission' locked or an exception will be thrown from base_setting::set_value. --- backup/util/dbops/backup_controller_dbops.class.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/backup/util/dbops/backup_controller_dbops.class.php b/backup/util/dbops/backup_controller_dbops.class.php index ffaa34d016c..d203db45d3b 100644 --- a/backup/util/dbops/backup_controller_dbops.class.php +++ b/backup/util/dbops/backup_controller_dbops.class.php @@ -628,7 +628,9 @@ abstract class backup_controller_dbops extends backup_dbops { $locked = $uselocks && (get_config('backup', $config.'_locked') == true); if ($plan->setting_exists($settingname)) { $setting = $plan->get_setting($settingname); - if ($setting->get_value() != $value || 1==1) { + // We can only update the setting if it isn't already locked by config or permission. + if ($setting->get_status() !== base_setting::LOCKED_BY_CONFIG + && $setting->get_status() !== base_setting::LOCKED_BY_PERMISSION) { $setting->set_value($value); if ($locked) { $setting->set_status(base_setting::LOCKED_BY_CONFIG);