rating MDL-24513 made scales.php work with site level (not course level) scales
[moodle.git] / course / scales.php
CommitLineData
d9cb06dc 1<?php
2
3// This file is part of Moodle - http://moodle.org/
4//
5// Moodle is free software: you can redistribute it and/or modify
6// it under the terms of the GNU General Public License as published by
7// the Free Software Foundation, either version 3 of the License, or
8// (at your option) any later version.
9//
10// Moodle is distributed in the hope that it will be useful,
11// but WITHOUT ANY WARRANTY; without even the implied warranty of
12// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13// GNU General Public License for more details.
14//
15// You should have received a copy of the GNU General Public License
16// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
17
18/**
19 * Allows a creator to edit custom scales, and also display help about scales
20 *
21 * @copyright 1999 Martin Dougiamas http://dougiamas.com
096ec8d6 22 * @deprecated - TODO remove this file or replace it with an alternative solution for scales overview
d9cb06dc 23 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
24 * @package course
25 */
26
27require_once("../config.php");
28require_once("lib.php");
29
30$id = required_param('id', PARAM_INT); // course id
31$scaleid = optional_param('scaleid', 0, PARAM_INT); // scale id (show only this one)
32
a6855934 33$url = new moodle_url('/course/scales.php', array('id'=>$id));
d9cb06dc 34if ($scaleid !== 0) {
35 $url->param('scaleid', $scaleid);
36}
37$PAGE->set_url($url);
38
b97af597
AD
39$context = null;
40if ($course = $DB->get_record('course', array('id'=>$id))) {
41 require_login($course);
42 $context = get_context_instance(CONTEXT_COURSE, $course->id);
43} else {
44 //$id will be 0 for site level scales
45 require_login();
46 $context = get_context_instance(CONTEXT_SYSTEM);
d9cb06dc 47}
48
b97af597 49$PAGE->set_context($context);
d9cb06dc 50require_capability('moodle/course:viewscales', $context);
51
d9cb06dc 52$strscales = get_string("scales");
d9cb06dc 53$strcustomscales = get_string("scalescustom");
54$strstandardscales = get_string("scalesstandard");
d9cb06dc 55
56$PAGE->set_title($strscales);
b97af597
AD
57if (!empty($course)) {
58 $PAGE->set_heading($course->fullname);
59} else {
60 $PAGE->set_heading($SITE->fullname);
61}
d9cb06dc 62echo $OUTPUT->header();
63
64if ($scaleid) {
65 if ($scale = $DB->get_record("scale", array('id'=>$scaleid))) {
66 if ($scale->courseid == 0 || $scale->courseid == $course->id) {
a57319b1 67
78ad5f3f 68 $scalemenu = make_menu_from_list($scale->scale);
92604dbc 69
e6db3026 70 echo $OUTPUT->box_start();
7c5286cd 71 echo $OUTPUT->heading($scale->name);
78ad5f3f 72 echo "<center>";
593a43b6 73 echo html_writer::select($scalemenu, 'unused');
78ad5f3f 74 echo "</center>";
75 echo text_to_html($scale->description);
e6db3026 76 echo $OUTPUT->box_end();
d9cb06dc 77 echo $OUTPUT->close_window_button();
78 echo $OUTPUT->footer();
79 exit;
9c002633 80 }
d9cb06dc 81 }
82}
9c002633 83
8bdc9cac
SH
84$systemcontext = get_context_instance(CONTEXT_SYSTEM);
85
d9cb06dc 86if ($scales = $DB->get_records("scale", array("courseid"=>$course->id), "name ASC")) {
87 echo $OUTPUT->heading($strcustomscales);
88
89 if (has_capability('moodle/course:managescales', $context)) {
90 echo "<p align=\"center\">(";
91 print_string('scalestip2');
92 echo ")</p>";
9c002633 93 }
94
d9cb06dc 95 foreach ($scales as $scale) {
8bdc9cac 96
64f93798 97 $scale->description = file_rewrite_pluginfile_urls($scale->description, 'pluginfile.php', $systemcontext->id, 'grade', 'scale', $scale->id);
8bdc9cac 98
d9cb06dc 99 $scalemenu = make_menu_from_list($scale->scale);
100
101 echo $OUTPUT->box_start();
102 echo $OUTPUT->heading($scale->name);
103 echo "<center>";
593a43b6 104 echo html_writer::select($scalemenu, 'unused');
d9cb06dc 105 echo "</center>";
106 echo text_to_html($scale->description);
107 echo $OUTPUT->box_end();
108 echo "<hr />";
109 }
9c002633 110
d9cb06dc 111} else {
112 if (has_capability('moodle/course:managescales', $context)) {
113 echo "<p align=\"center\">(";
f854cfae 114 print_string("scalestip2");
d9cb06dc 115 echo ")</p>";
116 }
117}
118
119if ($scales = $DB->get_records("scale", array("courseid"=>0), "name ASC")) {
120 echo $OUTPUT->heading($strstandardscales);
121 foreach ($scales as $scale) {
8bdc9cac 122
64f93798 123 $scale->description = file_rewrite_pluginfile_urls($scale->description, 'pluginfile.php', $systemcontext->id, 'grade', 'scale', $scale->id);
8bdc9cac 124
d9cb06dc 125 $scalemenu = make_menu_from_list($scale->scale);
126
127 echo $OUTPUT->box_start();
128 echo $OUTPUT->heading($scale->name);
129 echo "<center>";
593a43b6 130 echo html_writer::select($scalemenu, 'unused');
d9cb06dc 131 echo "</center>";
132 echo text_to_html($scale->description);
133 echo $OUTPUT->box_end();
134 echo "<hr />";
9c002633 135 }
d9cb06dc 136}
9c002633 137
d9cb06dc 138echo $OUTPUT->close_window_button();
139echo $OUTPUT->footer();
a57319b1 140