forked from brickfield/moodle-block_accessibility
-
Notifications
You must be signed in to change notification settings - Fork 0
/
changecolour.php
executable file
·80 lines (71 loc) · 2.8 KB
/
changecolour.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
78
79
80
<?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/>.
/**
* Sets the session variable for custom colour schemes (1)
*
* This page accepts the required colour scheme as an argument, and
* sets a session variable accordingly. If the colour scheme is 1 (the
* theme default) the variable is unset.
* If the page is being requested via AJAX, we just return HTTP 200, or
* 400 if the parameter was invalid. If requesting normally, we redirect
* to reset the saved setting, or to the page we came from as required. (2)
*
* @package block_accessibility (3)
* @copyright Copyright © 2009 Taunton's College (4)
* @author Mark Johnson (5)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later (6)
* @param int scheme - The number of the colour scheme, 1-4 (7)
*/
// INITIALIZATION
// =========================================================
require_once('../../config.php');
require_once($CFG->dirroot.'/blocks/accessibility/lib.php');
require_login();
$scheme = required_param('scheme', PARAM_INT);
switch($scheme) {
case 1:
// Clear the scheme stored in the session
unset($USER->colourscheme);
// Clear user records in database
$urlparams = array(
'op' => 'reset',
'scheme' => true,
'userid' => $USER->id
);
if(!accessibility_is_ajax()){
$redirect = required_param('redirect', PARAM_TEXT);
$urlparams['redirect'] = $redirect;
}
$redirecturl = new moodle_url('/blocks/accessibility/database.php', $urlparams);
redirect($redirecturl);
break;
case 2:
case 3:
case 4:
$USER->colourscheme = $scheme;
break;
default:
header("HTTP/1.0 400 Bad Request");
break;
}
if (accessibility_is_ajax()) {
// it would be good idea to include userstyles.php here as HTTP response
// this would save one extra HTTP request from module.js
} else {
$redirect = required_param('redirect', PARAM_TEXT);
$redirecturl = new moodle_url($redirect);
redirect($redirecturl);
}