Skip to content

Commit ea218fc

Browse files
authored
Merge pull request #253 from ngandrass/development
Fix side effects of question duplication bug patch
2 parents 59cda8c + 2dd0c61 commit ea218fc

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

backup/moodle2/restore_qtype_coderunner_plugin.class.php

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -150,16 +150,19 @@ public static function convert_backup_to_questiondata(array $backupdata): stdCla
150150
$questiondata = parent::convert_backup_to_questiondata($backupdata);
151151
$qtype = $questiondata->qtype;
152152

153-
$questiondata->options->testcases = [];
154-
foreach ($backupdata["plugin_qtype_{$qtype}_question"]['coderunner_testcases']['coderunner_testcase'] as $record) {
155-
$testcase = new stdClass();
156-
$fields = [ 'testcode', 'testtype', 'expected', 'useasexample', 'display',
157-
'hiderestiffail', 'mark', 'stdin', 'extra'];
158-
foreach ($fields as $field) {
159-
$testcase->$field = $record[$field];
153+
if (isset($backupdata["plugin_qtype_{$qtype}_question"]['coderunner_testcases'])) {
154+
$questiondata->options->testcases = [];
155+
foreach ($backupdata["plugin_qtype_{$qtype}_question"]['coderunner_testcases']['coderunner_testcase'] as $record) {
156+
$testcase = new stdClass();
157+
$fields = [ 'testcode', 'testtype', 'expected', 'useasexample', 'display',
158+
'hiderestiffail', 'mark', 'stdin', 'extra'];
159+
foreach ($fields as $field) {
160+
$testcase->$field = $record[$field];
161+
}
162+
$questiondata->options->testcases[] = $testcase;
160163
}
161-
$questiondata->options->testcases[] = $testcase;
162164
}
165+
163166
if (isset($backupdata["plugin_qtype_{$qtype}_question"]['coderunner_options'])) {
164167
$questiondata->options = (object) array_merge(
165168
(array) $questiondata->options,

0 commit comments

Comments
 (0)