-
Notifications
You must be signed in to change notification settings - Fork 8
/
grade.php
66 lines (57 loc) · 2.49 KB
/
grade.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
<?php
// This file is part of mod_checkmark for Moodle - http://moodle.org/
//
// It 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.
//
// It 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/>.
/**
* grade.php redirects to submissions-list if someone has grading capabilities. Otherwise it redirects to standard view.
*
* @package mod_checkmark
* @author Philipp Hager
* @copyright 2014 Academic Moodle Cooperation {@link http://www.academic-moodle-cooperation.org}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
require(__DIR__ . '/../../config.php');
$id = required_param('id', PARAM_INT); // Course module ID!
$PAGE->set_url('/mod/checkmark/grade.php', array('id' => $id));
if (! $cm = get_coursemodule_from_id('checkmark', $id)) {
print_error('invalidcoursemodule');
}
if (! $checkmark = $DB->get_record('checkmark', array('id' => $cm->instance))) {
print_error('invalidid', 'checkmark');
}
if (! $course = $DB->get_record('course', array('id' => $checkmark->course))) {
print_error('coursemisconf', 'checkmark');
}
require_login($course, false, $cm);
$modinfo = get_fast_modinfo($course);
$cminfo = $modinfo->get_cm($cm->id);
if (empty($cminfo->uservisible)) {
if ($cminfo->availableinfo) {
// User cannot access the activity, but on the course page they will
// see a link to it, greyed-out, with information (HTML format) from
// $cm->availableinfo about why they can't access it.
$text = "<br />".format_text($cminfo->availableinfo, FORMAT_HTML);
} else {
// User cannot access the activity and they will not see it at all.
$text = '';
}
$notification = $OUTPUT->notification(get_string('conditions_prevent_access', 'checkmark').$text, 'notifyproblem');
echo $OUTPUT->box($notification, 'generalbox centered');
die;
}
if (has_capability('mod/checkmark:grade', context_module::instance($cm->id))) {
redirect('submissions.php?id='.$cm->id);
} else {
redirect('view.php?id='.$cm->id);
}