skodak 9152fc9938 MDL-8323 finished full conversion to proper $COURSE global - no more $CFG->coursetheme, $CFG->courselang - improved course_setup(), current_language() and current_theme(); and Chameleon theme fixes needed for global $COURSE
MDL-7962 chat seems to be completely broken in head (fixed wrong JS)
* reworked chat themes support
MDL-8338 Cron does not need cookies
MDL-8339 forum cron capabilities problems
* minor deprecated function current_encoding() cleanup
2007-01-28 21:18:08 +00:00

64 lines
1.7 KiB
PHP

<?php
require_once('../../../config.php');
require_once('../config.php');
if (empty($THEME->chameleonenabled)) {
die('CHAMELEON_ERROR Editing this theme has been disabled');
}
$id = optional_param('id', SITEID, PARAM_INT);
if (!$course = get_record('course', 'id', $id)) {
error('Incorrect course id');
}
course_setup($course); // we should not require login here
if ($id != SITEID and !empty($CFG->allowcoursethemes) and !empty($course->theme) and !empty($THEME->chameleonteachereditenabled)) {
if (!has_capability('moodle/course:update', get_context_instance(CONTEXT_COURSE, $id))) {
die('CHAMELEON_ERROR Either you are not logged in or you are not allowed to edit this theme');
}
} else if (!has_capability('moodle/site:config', get_context_instance(CONTEXT_SYSTEM, SITEID))) {
die('CHAMELEON_ERROR Either you are not logged in or you are not allowed to edit this theme');
}
require_once('ChameleonCSS.class.php');
require_once('ChameleonFileBrowser.class.php');
if (isset($_GET['path'])) {
$fm = new ChameleonFileBrowser;
die($fm->readfiles());
}
$chameleon = new ChameleonCSS('../', 'user_styles.css', 'temp_user_styles.css');
if (isset($_POST['css'])) {
if (!isset($_GET['temp'])) {
if (!$chameleon->update('perm', $_POST['css'])) {
die('CHAMELEON_ERROR ' . $chameleon->error);
}
if (!$chameleon->update('temp')) {
die('CHAMELEON_ERROR ' . $chameleon->error);
}
} else {
if (!$chameleon->update('temp', $_POST['css'])) {
die('CHAMELEON_ERROR ' . $chameleon->error);
}
}
} else {
$css = $chameleon->read();
if ($css === false) {
echo 'CHAMELEON_ERROR ' . $chameleon->error;
} else {
echo $css;
}
}
?>