upgrade_mod_savepoint(true, 2013090100, 'scorm');
}
+ // Moodle v2.6.0 release upgrade line.
+ // Put any upgrade step following this.
+
+ if ($oldversion < 2013110501) {
+ // Fix invalid $scorm->launch records.
+ // Get all scorms that have a launch value that references a sco from a different scorm.
+ $sql = "SELECT s.*
+ FROM {scorm} s
+ LEFT JOIN {scorm_scoes} c ON s.launch = c.id
+ WHERE c.id IS null OR s.id <> c.scorm";
+ $scorms = $DB->get_recordset_sql($sql);
+ foreach ($scorms as $scorm) {
+ // Find the first launchable sco for this SCORM.
+ $sqlselect = 'scorm = ? AND '.$DB->sql_isnotempty('scorm_scoes', 'launch', false, true). ' ORDER BY sortorder LIMIT 1';
+ $sco = $DB->get_record_select('scorm_scoes', $sqlselect, array($scorm->id));
+ if (!empty($sco)) {
+ $scorm->launch = $sco->id;
+ $DB->update_record('scorm', $scorm);
+ }
+ }
+ $scorms->close();
+
+ upgrade_mod_savepoint(true, 2013110501, 'scorm');
+ }
+
return true;
}