diff --git a/backup/moodle2/restore_qtype_coderunner_plugin.class.php b/backup/moodle2/restore_qtype_coderunner_plugin.class.php index 21a1c79d..fb96263a 100644 --- a/backup/moodle2/restore_qtype_coderunner_plugin.class.php +++ b/backup/moodle2/restore_qtype_coderunner_plugin.class.php @@ -150,16 +150,19 @@ public static function convert_backup_to_questiondata(array $backupdata): stdCla $questiondata = parent::convert_backup_to_questiondata($backupdata); $qtype = $questiondata->qtype; - $questiondata->options->testcases = []; - foreach ($backupdata["plugin_qtype_{$qtype}_question"]['coderunner_testcases']['coderunner_testcase'] as $record) { - $testcase = new stdClass(); - $fields = [ 'testcode', 'testtype', 'expected', 'useasexample', 'display', - 'hiderestiffail', 'mark', 'stdin', 'extra']; - foreach ($fields as $field) { - $testcase->$field = $record[$field]; + if (isset($backupdata["plugin_qtype_{$qtype}_question"]['coderunner_testcases'])) { + $questiondata->options->testcases = []; + foreach ($backupdata["plugin_qtype_{$qtype}_question"]['coderunner_testcases']['coderunner_testcase'] as $record) { + $testcase = new stdClass(); + $fields = [ 'testcode', 'testtype', 'expected', 'useasexample', 'display', + 'hiderestiffail', 'mark', 'stdin', 'extra']; + foreach ($fields as $field) { + $testcase->$field = $record[$field]; + } + $questiondata->options->testcases[] = $testcase; } - $questiondata->options->testcases[] = $testcase; } + if (isset($backupdata["plugin_qtype_{$qtype}_question"]['coderunner_options'])) { $questiondata->options = (object) array_merge( (array) $questiondata->options,