Skip to content

Commit 0ec7e03

Browse files
committed
Bug fix: integrity checks not working in Moodle 5
1 parent 9e6c3e0 commit 0ec7e03

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

checkquestionintegrity.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,12 @@
7575
$PAGE->set_context($context);
7676
$PAGE->set_title('Question Database Integrity Check');
7777

78+
// Handle Moodle 5.x question bank module contexts.
79+
if ($context->contextlevel == CONTEXT_MODULE) {
80+
$cm = get_coursemodule_from_id(false, $context->instanceid, 0, false, MUST_EXIST);
81+
$PAGE->set_cm($cm, $DB->get_record('course', ['id' => $cm->course], '*', MUST_EXIST));
82+
}
83+
7884
echo $OUTPUT->header();
7985

8086
echo html_writer::tag('h3', 'Question Database Integrity Check');
@@ -155,7 +161,7 @@ function delete_orphaned_versions($versionids) {
155161
return 0;
156162
}
157163

158-
list($insql, $params) = $DB->get_in_or_equal($versionids, SQL_PARAMS_NAMED);
164+
[$insql, $params] = $DB->get_in_or_equal($versionids, SQL_PARAMS_NAMED);
159165
$DB->delete_records_select('question_versions', "id $insql", $params);
160166

161167
return count($versionids);
@@ -174,7 +180,7 @@ function delete_empty_entries($entryids) {
174180
return 0;
175181
}
176182

177-
list($insql, $params) = $DB->get_in_or_equal($entryids, SQL_PARAMS_NAMED);
183+
[$insql, $params] = $DB->get_in_or_equal($entryids, SQL_PARAMS_NAMED);
178184
$DB->delete_records_select('question_bank_entries', "id $insql", $params);
179185

180186
return count($entryids);

0 commit comments

Comments
 (0)