This repository was archived by the owner on May 27, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlib.php
More file actions
93 lines (87 loc) · 3.85 KB
/
lib.php
File metadata and controls
93 lines (87 loc) · 3.85 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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<?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/>.
/**
* @package theme_ltiessential
* @copyright 2019 Gareth J Barnard
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
function theme_ltiessential_process_css($css, $theme) {
global $PAGE, $CFG;
$outputus = $PAGE->get_renderer('theme_ltiessential', 'core');
\theme_essential\toolbox::set_core_renderer($outputus);
if (file_exists("$CFG->dirroot/theme/essential/lib.php")) {
require_once("$CFG->dirroot/theme/essential/lib.php");
} else if (!empty($CFG->themedir) and file_exists("$CFG->themedir/essential/lib.php")) {
require_once("$CFG->themedir/essential/lib.php");
} // else will just fail when cannot find theme_essential_process_css!
$css = theme_essential_process_css($css, $theme);
// Set custom CSS.
$customcss = \theme_essential\toolbox::get_setting('ltiessentialcustomcss');
$css = theme_ltiessential_set_customcss($css, $customcss);
// Finally return processed CSS.
return $css;
}
function theme_ltiessential_set_customcss($css, $customcss) {
$tag = '[[setting:ltiessentialcustomcss]]';
$replacement = $customcss;
$css = str_replace($tag, $replacement, $css);
return $css;
}
/**
* Serves any files associated with the theme settings.
*
* @param stdClass $course.
* @param stdClass $cm.
* @param context $context.
* @param string $filearea.
* @param array $args.
* @param bool $forcedownload.
* @param array $options.
* @return bool.
*/
function theme_ltiessential_pluginfile($course, $cm, $context, $filearea, $args, $forcedownload, array $options = array()) {
static $theme;
if (empty($theme)) {
$theme = theme_config::load('ltiessential');
}
if ($context->contextlevel == CONTEXT_SYSTEM) {
// By default, theme files must be cache-able by both browsers and proxies. From 'More' theme.
if (!array_key_exists('cacheability', $options)) {
$options['cacheability'] = 'public';
}
if ($filearea === 'logo') {
return $theme->setting_file_serve('logo', $args, $forcedownload, $options);
} else if ($filearea === 'pagebackground') {
return $theme->setting_file_serve('pagebackground', $args, $forcedownload, $options);
} else if ($filearea === 'favicon') {
return $theme->setting_file_serve('favicon', $args, $forcedownload, $options);
} else if ($filearea === 'headerbackground') {
return $theme->setting_file_serve('headerbackground', $args, $forcedownload, $options);
} else if ($filearea === 'iphoneicon') {
return $theme->setting_file_serve('iphoneicon', $args, $forcedownload, $options);
} else if ($filearea === 'iphoneretinaicon') {
return $theme->setting_file_serve('iphoneretinaicon', $args, $forcedownload, $options);
} else if ($filearea === 'ipadicon') {
return $theme->setting_file_serve('ipadicon', $args, $forcedownload, $options);
} else if ($filearea === 'ipadretinaicon') {
return $theme->setting_file_serve('ipadretinaicon', $args, $forcedownload, $options);
} else {
send_file_not_found();
}
} else {
send_file_not_found();
}
}