wwwroot/$CFG->admin/editor.php", get_string("changessaved"), 1);
} else {
// Generate edit form
$fontlist = editor_convert_to_array($CFG->editorfontlist);
$stradmin = get_string("administration");
$strconfiguration = get_string("configuration");
$streditorsettings = get_string("editorsettings");
$streditorsettingshelp = get_string("adminhelpeditorsettings");
print_header("Editor settings","Editor settings",
"$stradmin -> ".
"$strconfiguration -> $streditorsettings");
print_heading($streditorsettings);
print_simple_box("
$streditorsettingshelp","center","50%");
print("
\n");
print_simple_box_start("center", "", "$THEME->cellheading");
include("editor.html");
print_simple_box_end();
print_footer();
}
/// FUNCTIONS
function editor_convert_to_array ($string) {
/// Converts $CFG->editorfontlist to array
if(empty($string) || !is_string($string)) {
return false;
}
$fonts = array();
$lines = explode(";", $string);
foreach($lines as $line) {
if(!empty($line)) {
list($fontkey, $fontvalue) = explode(":", $line);
$fonts[$fontkey] = $fontvalue;
}
}
return $fonts;
}
function editor_update_config ($data) {
/// Updates the editor config values.
if(!is_object($data)) {
return false;
}
// make font string
for($i = 0; $i < count($data->fontname); $i++) {
if(!empty($data->fontname[$i])) {
$fontlist .= $data->fontname[$i] .":";
$fontlist .= $data->fontnamevalue[$i] .";";
}
}
// strip last semicolon
$fontlist = substr($fontlist, 0, strlen($fontlist) - 1);
// make array of values to update
$updatedata = array();
$updatedata['editorbackgroundcolor'] = $data->backgroundcolor;
$updatedata['editorfontfamily'] = $data->fontfamily;
$updatedata['editorfontsize'] = $data->fontsize;
$updatedata['editorkillword'] = $data->killword;
$updatedata['editorspelling'] = $data->spelling;
$updatedata['editorfontlist'] = $fontlist;
foreach($updatedata as $name => $value) {
if(!(set_config($name, $value))) {
return false;
}
}
return true;
}
?>