From 5cc31c3691cd8c41464bff3ae7ca6d0caf0d29b5 Mon Sep 17 00:00:00 2001 From: Mihail Geshoski Date: Wed, 10 Mar 2021 11:08:48 +0800 Subject: [PATCH] MDL-67870 backup: Skip value change if setting is locked by hierarchy The given condition in the if statement did not take into account cases when the setting is locked by hierarchy. Settings which are locked by hierarchy should should keep their current values which were inherited from the parent. --- backup/util/ui/backup_ui_stage.class.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/backup/util/ui/backup_ui_stage.class.php b/backup/util/ui/backup_ui_stage.class.php index aff941b9542..a02a5cb2a4f 100644 --- a/backup/util/ui/backup_ui_stage.class.php +++ b/backup/util/ui/backup_ui_stage.class.php @@ -116,7 +116,9 @@ class backup_ui_stage_initial extends backup_ui_stage { if (isset($data->$name) && $data->$name != $setting->get_value()) { $setting->set_value($data->$name); $changes++; - } else if (!isset($data->$name) && $setting->get_ui_type() == backup_setting::UI_HTML_CHECKBOX && $setting->get_value()) { + } else if (!isset($data->$name) && $setting->get_value() && + $setting->get_ui_type() == backup_setting::UI_HTML_CHECKBOX && + $setting->get_status() !== backup_setting::LOCKED_BY_HIERARCHY) { $setting->set_value(0); $changes++; }