}
if ($oldversion < 2021052500.26) {
+ // Delete orphaned course_modules_completion rows; these were not deleted properly
+ // by remove_course_contents function.
+ $DB->delete_records_subquery('course_modules_completion', 'id', 'id',
+ "SELECT cmc.id
+ FROM {course_modules_completion} cmc
+ LEFT JOIN {course_modules} cm ON cm.id = cmc.coursemoduleid
+ WHERE cm.id IS NULL");
+ upgrade_main_savepoint(true, 2021052500.26);
+ }
+
+ if ($oldversion < 2021052500.27) {
+ // Script to fix incorrect records of "hidden" field in existing grade items.
+ $sql = "SELECT cm.instance, cm.course
+ FROM {course_modules} cm
+ JOIN {modules} m ON m.id = cm.module
+ WHERE m.name = :module AND cm.visible = :visible";
+ $hidequizlist = $DB->get_recordset_sql($sql, ['module' => 'quiz', 'visible' => 0]);
+
+ foreach ($hidequizlist as $hidequiz) {
+ $params = [
+ 'itemmodule' => 'quiz',
+ 'courseid' => $hidequiz->course,
+ 'iteminstance' => $hidequiz->instance,
+ ];
+
+ $DB->set_field('grade_items', 'hidden', 1, $params);
+ }
+ $hidequizlist->close();
+
+ upgrade_main_savepoint(true, 2021052500.27);
+ }
+
+ if ($oldversion < 2021052500.29) {
// Get the current guest user which is also set as 'deleted'.
$guestuser = $DB->get_record('user', ['id' => $CFG->siteguest, 'deleted' => 1]);
// If there is a deleted guest user, reset the user to not be deleted and make sure the related
}
// Main savepoint reached.
- upgrade_main_savepoint(true, 2021052500.26);
+ upgrade_main_savepoint(true, 2021052500.29);
}
return true;