shortname: $strmanagefilters", "$site->fullname", "$stradministration -> ". "$strconfiguration -> $strmanagefilters"); print_heading($strmanagefilters); /// Make a list of all available filters and the best names for them we can find $allfilters = array(); $filterlocations = array("mod", "filter"); foreach ($filterlocations as $filterlocation) { $plugins = get_list_of_plugins($filterlocation); foreach ($plugins as $key => $plugin) { if (is_readable("$CFG->dirroot/$filterlocation/$plugin/filter.php")) { $name = trim(get_string("filtername", $plugin)); if (empty($name) or $name == "[[filtername]]") { $name = $plugin; } $allfilters["$filterlocation/$plugin"] = $name; } } } /// Make an array of all the currently installed filters $installedfilters = array(); if (!empty($CFG->textfilters)) { $installedfilters = explode(',',$CFG->textfilters); // Do a little cleanup for robustness foreach ($installedfilters as $key => $installedfilter) { if (empty($installedfilter)) { unset($installedfilters[$key]); set_config("textfilters", implode(',', $installedfilters)); } } } $selectedfilter = "none"; /// If data submitted, then process and store. if (!empty($options)) { if (($config = data_submitted()) && confirm_sesskey()) { unset($config->options); unset($config->sesskey); foreach ($config as $name => $value) { set_config($name, $value); } } } if (!empty($add) and !empty($uselect) and confirm_sesskey()) { $selectedfilter = $uselect; if (!in_array($selectedfilter, $installedfilters)) { $installedfilters[] = $selectedfilter; set_config("textfilters", implode(',', $installedfilters)); } } else if (!empty($remove) and !empty($iselect) and confirm_sesskey()) { $selectedfilter = $iselect; foreach ($installedfilters as $key => $installedfilter) { if ($installedfilter == $selectedfilter) { unset($installedfilters[$key]); } } set_config("textfilters", implode(',', $installedfilters)); } else if ((!empty($up) or !empty($down)) and !empty($iselect) and confirm_sesskey()) { if (!empty($up)) { if ($allfilters[$iselect]) { foreach ($installedfilters as $key => $installedfilter) { if ($installedfilter == $iselect) { $movefilter = $key; break; } $swapfilter = $key; } } } if (!empty($down)) { if ($allfilters[$iselect]) { $choosenext = false; foreach ($installedfilters as $key => $installedfilter) { if ($choosenext) { $swapfilter = $key; break; } if ($installedfilter == $iselect) { $movefilter = $key; $choosenext = true; } } } } if (isset($swapfilter) and isset($movefilter)) { $tempfilter = $installedfilters[$swapfilter]; $installedfilters[$swapfilter] = $installedfilters[$movefilter]; $installedfilters[$movefilter] = $tempfilter; set_config("textfilters", implode(',', $installedfilters)); } $selectedfilter = $iselect; } /// Make an array of all the currently uninstalled filters $uninstalledfilters = array(); foreach ($allfilters as $filter => $name) { $installed = false; foreach ($installedfilters as $installedfilter) { if ($installedfilter == $filter) { $installed = true; } } if (!$installed) { $uninstalledfilters[] = $filter; } } /// Print the current form include("filters.html"); print_footer(); ?>