forked from catalyst/moodle-filter_coursecompletion
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstatusimg.php
64 lines (42 loc) · 1.5 KB
/
statusimg.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
<?php
define('NO_DEBUG_DISPLAY', true);
require(dirname(__FILE__).'/../../config.php');
require_once($CFG->dirroot.'/completion/completion_completion.php');
$shortname = required_param('shortname', PARAM_TEXT);
// Default to incomplete state for anonymous users
if (!isloggedin()) {
print_icon('incomplete');
return;
}
// If the course can't be identified return an image saying so
$courseid = $DB->get_field('course', 'id', array('shortname' => $shortname));
if (empty($courseid)) {
print_unknowncourse();
return;
}
// Check completion status and print complete/incomplete itcon
$completion = $DB->get_record('course_completions', array('course' => $courseid, 'userid' => $USER->id));
if (empty($completion)) {
print_icon('incompleteicon');
return;
}
if ($completion->status == COMPLETION_STATUS_INPROGRESS) {
print_icon('inprogressicon');
return;
}
if ($completion->status != COMPLETION_STATUS_COMPLETE && $completion->status != COMPLETION_STATUS_COMPLETEVIARPL) {
print_icon('incompleteicon');
return;
}
print_icon('completeicon');
return;
function print_unknowncourse() {
header("HTTP/1.1 303 See Other");
header("Location: $CFG->wwwroot/filter/coursecompletion/pix/unknown.png");
}
function print_icon($name) {
$config = get_config('filter_coursecompletion');
$url = moodle_url::make_pluginfile_url(context_system::instance()->id, 'filter_coursecompletion', $name, 0, '', $config->$name);
header("HTTP/1.1 303 See Other");
header("Location: $url");
}