-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathlevels.php
More file actions
executable file
·56 lines (42 loc) · 2.12 KB
/
Copy pathlevels.php
File metadata and controls
executable file
·56 lines (42 loc) · 2.12 KB
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
<?php
require_once('../../config.php');
global $DB, $OUTPUT, $PAGE;
$chapterid = required_param('chapterid', PARAM_INT);
$levelid = required_param('levelid', PARAM_INT);
$chapter = $DB->get_record('block_mission_map_chapters', ['id' => $chapterid]);
$course = $DB->get_record('course', ['id' => $chapter->courseid]);
// If user not logged in, require login
require_login($course);
$context = context_course::instance($course->id);
// Configurations to the page (display, context etc)
$PAGE->set_context($context);
$PAGE->set_course($course);
$PAGE->set_url('/blocks/mission_map/level.php', array('chapterid' => $chapterid, 'levelid' => $levelid));
$PAGE->set_heading(get_string('view_level', 'block_mission_map'));
// Breadcrumbs navigation
$coursenode = $PAGE->navigation->find($course->id, navigation_node::TYPE_COURSE);
if (!empty($coursenode)) {
$chapterurl = new moodle_url('/course/view.php', array('id' => $chapter->courseid));
$chapternode = $coursenode->add(get_string('chapter_view', 'block_mission_map', $chapter->name), $chapterurl);
$votingnode = $chapternode->add(get_string('view_voting', 'block_mission_map'));
$votingnode->make_active();
}
$level = $DB->get_record('block_mission_map_levels', ['id' => $levelid]);
$sublevels = $DB->get_records('block_mission_map_levels', ['parentlevelid' => $levelid]);
$sublevels = array_values($sublevels);
if (
has_capability('block/mission_map:managechapters', $context)
) {
$level = new \block_mission_map\output\level($level, $sublevels, $context, true);
$renderer = $PAGE->get_renderer('block_mission_map');
} else {
$level = new \block_mission_map\output\level($level, $sublevels, $context, false);
$renderer = $PAGE->get_renderer('block_mission_map');
}
$PAGE->requires->js_call_amd('block_mission_map/colorizer', 'init', ['.block_mission_map']);
echo $OUTPUT->header();
$button = new \block_mission_map\output\button(new moodle_url('/course/view.php', ['id' => $course->id]));
$renderer = $PAGE->get_renderer('block_mission_map');
echo $renderer->render($button);
echo html_writer::div($renderer->render($level), 'block_mission_map');
echo $OUTPUT->footer();