diff --git a/backup/restorelib.php b/backup/restorelib.php index a39045d73f6..9e1c6710655 100644 --- a/backup/restorelib.php +++ b/backup/restorelib.php @@ -7933,7 +7933,7 @@ define('RESTORE_GROUPS_GROUPINGS', 3); } //We compare Moodle's versions - if ($CFG->version < $info->backup_moodle_version && $status) { + if ($status && $CFG->version < $info->backup_moodle_version) { $message = new object(); $message->serverversion = $CFG->version; $message->serverrelease = $CFG->release; @@ -8003,8 +8003,9 @@ define('RESTORE_GROUPS_GROUPINGS', 3); global $SESSION, $DB; $restore->backup_unique_code=$backup_unique_code; $restore->users = 2; // yuk - $restore->course_files = $SESSION->restore->restore_course_files; - $restore->site_files = $SESSION->restore->restore_site_files; + // we set these from restore object on silent restore and from info (backup) object on import + $restore->course_files = isset($SESSION->restore->restore_course_files) ? $SESSION->restore->restore_course_files : $SESSION->info->backup_course_files; + $restore->site_files = isset($SESSION->restore->restore_site_files) ? $SESSION->restore->restore_site_files : $SESSION->info->backup_site_files; if ($allmods = $DB->get_records("modules")) { foreach ($allmods as $mod) { $modname = $mod->name; @@ -8020,12 +8021,14 @@ define('RESTORE_GROUPS_GROUPINGS', 3); function backup_to_restore_array($backup,$k=0) { if (is_array($backup) ) { + $restore = array(); foreach ($backup as $key => $value) { $newkey = str_replace('backup','restore',$key); $restore[$newkey] = backup_to_restore_array($value,$key); } } else if (is_object($backup)) { + $restore = new stdClass(); $tmp = get_object_vars($backup); foreach ($tmp as $key => $value) { $newkey = str_replace('backup','restore',$key);