diff --git a/backup/moodle2/restore_stepslib.php b/backup/moodle2/restore_stepslib.php index 2b6cdabd656..2f59a62ed55 100644 --- a/backup/moodle2/restore_stepslib.php +++ b/backup/moodle2/restore_stepslib.php @@ -1421,6 +1421,12 @@ class restore_course_structure_step extends restore_structure_step { $data->theme = ''; } + // Check if this is an old SCORM course format. + if ($data->format == 'scorm') { + $data->format = 'singleactivity'; + $data->activitytype = 'scorm'; + } + // Course record ready, update it $DB->update_record('course', $data); diff --git a/course/format/scorm/format.php b/course/format/scorm/format.php deleted file mode 100644 index 465f7f7ca4d..00000000000 --- a/course/format/scorm/format.php +++ /dev/null @@ -1,17 +0,0 @@ -format; - require_once($CFG->dirroot.'/mod/'.$module.'/locallib.php'); - - $strgroups = get_string('groups'); - $strgroupmy = get_string('groupmy'); - $editing = $PAGE->user_is_editing(); - - $moduleformat = $module.'_course_format_display'; - if (function_exists($moduleformat)) { - $moduleformat($USER,$course); - } else { - echo $OUTPUT->notification('The module '. $module. ' does not support single activity course format'); - } diff --git a/course/format/scorm/lang/en/format_scorm.php b/course/format/scorm/lang/en/format_scorm.php deleted file mode 100644 index 8b684c1b0b0..00000000000 --- a/course/format/scorm/lang/en/format_scorm.php +++ /dev/null @@ -1,27 +0,0 @@ -. - -/** - * Strings for component 'format_scorm', language 'en', branch 'MOODLE_20_STABLE' - * - * @package format_scorm - * @copyright 1999 onwards Martin Dougiamas {@link http://moodle.com} - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ - -$string['sectionname'] = 'SCORM'; -$string['pluginname'] = 'SCORM format'; diff --git a/course/format/scorm/lib.php b/course/format/scorm/lib.php deleted file mode 100644 index 60e9a2648f8..00000000000 --- a/course/format/scorm/lib.php +++ /dev/null @@ -1,101 +0,0 @@ -. - -/** - * This file contains main class for the course format SCORM - * - * @since 2.0 - * @package format_scorm - * @copyright 2009 Sam Hemelryk - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ - -defined('MOODLE_INTERNAL') || die(); -require_once($CFG->dirroot. '/course/format/lib.php'); - -/** - * Main class for the Scorm course format - * - * @package format_scorm - * @copyright 2012 Marina Glancy - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ -class format_scorm extends format_base { - - /** - * The URL to use for the specified course - * - * @param int|stdClass $section Section object from database or just field course_sections.section - * if null the course view page is returned - * @param array $options options for view URL. At the moment core uses: - * 'navigation' (bool) if true and section has no separate page, the function returns null - * 'sr' (int) used by multipage formats to specify to which section to return - * @return null|moodle_url - */ - public function get_view_url($section, $options = array()) { - if (!empty($options['navigation']) && $section !== null) { - return null; - } - return new moodle_url('/course/view.php', array('id' => $this->courseid)); - } - - /** - * Loads all of the course sections into the navigation - * - * @param global_navigation $navigation - * @param navigation_node $node The course node within the navigation - */ - public function extend_course_navigation($navigation, navigation_node $node) { - // Scorm course format does not extend course navigation - } - - /** - * Returns the list of blocks to be automatically added for the newly created course - * - * @return array of default blocks, must contain two keys BLOCK_POS_LEFT and BLOCK_POS_RIGHT - * each of values is an array of block names (for left and right side columns) - */ - public function get_default_blocks() { - return array( - BLOCK_POS_LEFT => array(), - BLOCK_POS_RIGHT => array('news_items', 'recent_activity', 'calendar_upcoming') - ); - } - - /** - * Allows course format to execute code on moodle_page::set_course() - * - * If user is on course view page and there is no scorm module added to the course - * and the user has 'moodle/course:update' capability, redirect to create module - * form. This function is executed before the output starts - * - * @param moodle_page $page instance of page calling set_course - */ - public function page_set_course(moodle_page $page) { - global $PAGE; - if ($PAGE == $page && $page->has_set_url() && - $page->url->compare(new moodle_url('/course/view.php'), URL_MATCH_BASE)) { - $modinfo = get_fast_modinfo($this->courseid); - if (empty($modinfo->instances['scorm']) - && has_capability('moodle/course:update', context_course::instance($this->courseid))) { - // Redirect to create a new activity - $url = new moodle_url('/course/modedit.php', - array('course' => $this->courseid, 'section' => 0, 'add' => 'scorm')); - redirect($url); - } - } - } -} diff --git a/course/format/scorm/version.php b/course/format/scorm/version.php deleted file mode 100644 index 14b026681a8..00000000000 --- a/course/format/scorm/version.php +++ /dev/null @@ -1,30 +0,0 @@ -. - -/** - * Version details - * - * @package format - * @subpackage scorm - * @copyright 1999 onwards Martin Dougiamas (http://dougiamas.com) - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ - -defined('MOODLE_INTERNAL') || die(); - -$plugin->version = 2013050100; // The current plugin version (Date: YYYYMMDDXX) -$plugin->requires = 2013050100; // Requires this Moodle version -$plugin->component = 'format_scorm'; // Full name of the plugin (used for diagnostics) diff --git a/lib/db/upgrade.php b/lib/db/upgrade.php index cdc076ba0a3..6d36f68321a 100644 --- a/lib/db/upgrade.php +++ b/lib/db/upgrade.php @@ -2327,5 +2327,29 @@ function xmldb_main_upgrade($oldversion) { upgrade_main_savepoint(true, 2013081200.00); } + // Convert SCORM course format courses to singleactivity. + if ($oldversion < 2013081500.01) { + // First set relevant singleactivity settings. + $formatoptions = new stdClass(); + $formatoptions->format = 'singleactivity'; + $formatoptions->sectionid = 0; + $formatoptions->name = 'activitytype'; + $formatoptions->value = 'scorm'; + + $courses = $DB->get_recordset('course', array('format' => 'scorm'), 'id'); + foreach ($courses as $course) { + $formatoptions->courseid = $course->id; + $DB->insert_record('course_format_options', $formatoptions); + } + $courses->close(); + + // Now update course format for these courses. + $sql = "UPDATE {course} + SET format = 'singleactivity', modinfo = '', sectioncache = '' + WHERE format = 'scorm'"; + $DB->execute($sql); + upgrade_main_savepoint(true, 2013081500.01); + } + return true; } diff --git a/lib/pluginlib.php b/lib/pluginlib.php index cf7e1464d04..be05e4d2360 100644 --- a/lib/pluginlib.php +++ b/lib/pluginlib.php @@ -728,7 +728,7 @@ class plugin_manager { ), 'format' => array( - 'scorm', 'singleactivity', 'social', 'topics', 'weeks' + 'singleactivity', 'social', 'topics', 'weeks' ), 'gradeexport' => array( diff --git a/mod/scorm/locallib.php b/mod/scorm/locallib.php index 45715d4300e..561da6f74a3 100644 --- a/mod/scorm/locallib.php +++ b/mod/scorm/locallib.php @@ -770,60 +770,6 @@ function scorm_get_last_completed_attempt($scormid, $userid) { } } -function scorm_course_format_display($user, $course) { - global $CFG, $DB, $PAGE, $OUTPUT; - - $strupdate = get_string('update'); - $context = context_course::instance($course->id); - - echo '
'.get_string('name').': '.format_string($scorm->name).''; - if (has_capability('moodle/course:manageactivities', $context)) { - if ($PAGE->user_is_editing()) { - // Display update icon - $path = $CFG->wwwroot.'/course'; - $headertext .= ''. - ''. - ''; - } - $headertext .= ' | '; - // Display report link - $trackedusers = $DB->get_record('scorm_scoes_track', array('scormid'=>$scorm->id), 'count(distinct(userid)) as c'); - if ($trackedusers->c > 0) { - $headertext .= ''. - ''. - get_string('viewallreports', 'scorm', $trackedusers->c).''; - } else { - $headertext .= ' | '.get_string('noreports', 'scorm'); - } - $colspan = ' colspan="2"'; - } - $headertext .= ' |
'.get_string('summary').': '.format_module_intro('scorm', $scorm, $scorm->coursemodule).' |