-
Notifications
You must be signed in to change notification settings - Fork 2
/
format.php
77 lines (63 loc) · 2.77 KB
/
format.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* @package format_topicsactivitycards
* @author Andrew Hancox <[email protected]>
* @author Open Source Learning <[email protected]>
* @link https://opensourcelearning.co.uk
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @copyright 2021, Andrew Hancox
*/
defined('MOODLE_INTERNAL') || die();
require_once($CFG->libdir . '/filelib.php');
require_once($CFG->libdir . '/completionlib.php');
// Retrieve course format option fields and add them to the $course object.
$format = course_get_format($course);
$course = $format->get_course();
$context = context_course::instance($course->id);
// Add any extra logic here.
$renderer = $format->get_renderer($PAGE);
// If we're not going to a specific section then see if we've been referred here by a CM
// If so then go to that one.
if (empty($displaysection)) {
$referer = get_local_referer(false);
if (!empty($referer)) {
$refererurl = new moodle_url($referer);
$path = $refererurl->get_path();
if (strpos($path, '/mod/') === 0 && strpos(strrev($path), 'php.weiv/') === 0 && !empty($refererurl->get_param('id'))) {
$cmid = $refererurl->get_param('id');
} else if (!empty($refererurl->get_param('cmid'))) {
$cmid = $refererurl->get_param('cmid');
}
$cms = get_fast_modinfo($course)->get_cms();
if (isset($cmid) && !empty($cms[$cmid])) {
$redirectingcm = $cms[$cmid];
$sectionoptions = $format->get_format_options($redirectingcm->sectionnum);
if ($sectionoptions['sectionheading'] == format_topicsactivitycards::SECTIONHEADING_LINKEDCARD) {
$displaysection = $redirectingcm->sectionnum;
}
}
}
}
if (!empty($displaysection)) {
$format->set_section_number($displaysection);
}
// Output course content.
$outputclass = $format->get_output_classname('content');
$widget = new $outputclass($format);
echo $renderer->render($widget);
// Include any format js module here using $PAGE->requires->js.
$PAGE->requires->js('/course/format/topicsactivitycards/format.js');