. /** * This file contains general functions for the course format Topic * * @since 2.0 * @package moodlecore * @copyright 2009 Sam Hemelryk * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ /** * Indicates this format uses sections. * * @return bool Returns true */ function callback_topics_uses_sections() { return true; } /** * Used to display the course structure for a course where format=topic * * This is called automatically by {@link load_course()} if the current course * format = weeks. * * @param array $path An array of keys to the course node in the navigation * @param stdClass $modinfo The mod info object for the current course * @return bool Returns true */ function callback_topics_load_content(&$navigation, $course, $coursenode) { return $navigation->load_generic_course_sections($course, $coursenode, 'topics'); } /** * The string that is used to describe a section of the course * e.g. Topic, Week... * * @return string */ function callback_topics_definition() { return get_string('topic'); } /** * The GET argument variable that is used to identify the section being * viewed by the user (if there is one) * * @return string */ function callback_topics_request_key() { return 'topic'; } function callback_topics_get_section_name($course, $section) { // We can't add a node without any text if ((string)$section->name !== '') { return format_string($section->name, true, array('context' => get_context_instance(CONTEXT_COURSE, $course->id))); } else if ($section->section == 0) { return get_string('section0name', 'format_topics'); } else { return get_string('topic').' '.$section->section; } } /** * Declares support for course AJAX features * * @see course_format_ajax_support() * @return stdClass */ function callback_topics_ajax_support() { $ajaxsupport = new stdClass(); $ajaxsupport->capable = true; $ajaxsupport->testedbrowsers = array('MSIE' => 6.0, 'Gecko' => 20061111, 'Safari' => 531, 'Chrome' => 6.0); return $ajaxsupport; } /** * Returns a URL to arrive directly at a section * * @param int $courseid The id of the course to get the link for * @param int $sectionnum The section number to jump to * @return moodle_url */ function callback_topics_get_section_url($courseid, $sectionnum) { return new moodle_url('/course/view.php', array('id' => $courseid, 'topic' => $sectionnum)); }