]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-13005 When trying to restore a course when you have more then one quiz and you...
authorjamiesensei <jamiesensei>
Tue, 5 Feb 2008 11:27:02 +0000 (11:27 +0000)
committerjamiesensei <jamiesensei>
Tue, 5 Feb 2008 11:27:02 +0000 (11:27 +0000)
question/restorelib.php

index 48426518f5f325a38560496dedcac07aac440c72..1600ccfe71ba66059e722c5d1cf29a83e560b2a4 100644 (file)
     function restore_question_get_best_category_context($restore, $contextinfo) {
         switch ($contextinfo['LEVEL'][0]['#']) {
             case 'module':
-                $instanceinfo = backup_getid($restore->backup_unique_code, 'course_modules', $contextinfo['INSTANCE'][0]['#']);
+                if (!$instanceinfo = backup_getid($restore->backup_unique_code, 'course_modules', $contextinfo['INSTANCE'][0]['#'])){
+                    //module has not been restored, probably not selected for restore
+                    return false;
+                }
                 $tocontext = get_context_instance(CONTEXT_MODULE, $instanceinfo->new_id);
                 break;
             case 'course':
                         $tocontext = get_context_instance(CONTEXT_COURSE, $course);
                     }
                 } else {
-                    $tocontext = restore_question_get_best_category_context($restore, $info['QUESTION_CATEGORY']['#']['CONTEXT']['0']['#']);
+                    if (!$tocontext = restore_question_get_best_category_context($restore, $info['QUESTION_CATEGORY']['#']['CONTEXT']['0']['#'])){
+                        return $status; // context doesn't exist - a module has not been restored
+                    }
                 }
                 $question_cat->contextid = $tocontext->id;