From 382d4d9fbe8386c6c24f983331895f592e6f25b5 Mon Sep 17 00:00:00 2001 From: stronk7 Date: Thu, 12 Mar 2009 22:21:57 +0000 Subject: [PATCH] MDL-18543 restore of role assignments / overrides - skip non-restored contexts. Merged from 19_STABLE --- backup/restorelib.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/backup/restorelib.php b/backup/restorelib.php index 3749903732..b702cc642c 100644 --- a/backup/restorelib.php +++ b/backup/restorelib.php @@ -9115,6 +9115,11 @@ WHERE $oldinstance = backup_getid($restore->backup_unique_code,$table,$oldid); } + // new instance id not found (not restored module/block/user)... skip any assignment + if (!$oldinstance || empty($oldinstance->new_id)) { + continue; + } + $newcontext = get_context_instance($contextlevel, $oldinstance->new_id); $assignment->contextid = $newcontext->id; // new context id // might already have same assignment @@ -9145,6 +9150,11 @@ WHERE $oldinstance = backup_getid($restore->backup_unique_code,$table,$oldid); } + // new instance id not found (not restored module/block/user)... skip any override + if (!$oldinstance || empty($oldinstance->new_id)) { + continue; + } + $newcontext = get_context_instance($contextlevel, $oldinstance->new_id); $override->contextid = $newcontext->id; // new context id // use assign capability instead so we can add context to context_rel -- 2.39.5