From ddd99c03d225680653c19ac013f1242cb74663ec Mon Sep 17 00:00:00 2001 From: Paul Holden Date: Wed, 19 Jun 2024 14:03:25 +0100 Subject: [PATCH] MDL-82220 group: check valid mapping when restoring custom fields. --- backup/moodle2/restore_stepslib.php | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/backup/moodle2/restore_stepslib.php b/backup/moodle2/restore_stepslib.php index 39bdb0030b2..7f29ae798ae 100644 --- a/backup/moodle2/restore_stepslib.php +++ b/backup/moodle2/restore_stepslib.php @@ -1235,9 +1235,11 @@ class restore_groups_structure_step extends restore_structure_step { */ public function process_groupcustomfield($data) { $newgroup = $this->get_mapping('group', $data['groupid']); - $data['groupid'] = $newgroup->newitemid ?? $data['groupid']; - $handler = \core_group\customfield\group_handler::create(); - $handler->restore_instance_data_from_backup($this->task, $data); + if ($newgroup && $newgroup->newitemid) { + $data['groupid'] = $newgroup->newitemid; + $handler = \core_group\customfield\group_handler::create(); + $handler->restore_instance_data_from_backup($this->task, $data); + } } public function process_grouping($data) { @@ -1291,10 +1293,12 @@ class restore_groups_structure_step extends restore_structure_step { * @return void */ public function process_groupingcustomfield($data) { - $newgroup = $this->get_mapping('grouping', $data['groupingid']); - $data['groupingid'] = $newgroup->newitemid ?? $data['groupingid']; - $handler = \core_group\customfield\grouping_handler::create(); - $handler->restore_instance_data_from_backup($this->task, $data); + $newgrouping = $this->get_mapping('grouping', $data['groupingid']); + if ($newgrouping && $newgrouping->newitemid) { + $data['groupingid'] = $newgrouping->newitemid; + $handler = \core_group\customfield\grouping_handler::create(); + $handler->restore_instance_data_from_backup($this->task, $data); + } } public function process_grouping_group($data) {