libdir.'/tablelib.php'; // check for allowed access require_login(); if (!isadmin()) { error( 'Only administrators can use the filters administration page' ); } if (!$site = get_site()) { error( 'Site is not defined in filters administration page' ); } // get parameters $param = new Object; $param->filter = required_param('filter', PARAM_PATH); $param->submit = optional_param('submit', 0, PARAM_BOOL); $param->reset = optional_param('reset', 0, PARAM_BOOL); $filtername = substr($param->filter, strpos( $param->filter, '/' )+1 ) ; // $CFG->pagepath is used to generate the body and id attributes for the body tag // of the page. It is also used to generate the link to the Moodle Docs for this view. $CFG->pagepath = 'filter/' . $filtername . '/config'; // get translated strings for use on page $txt = new Object; $txt->managefilters = get_string( 'managefilters' ); $txt->administration = get_string( 'administration' ); $txt->configuration = get_string( 'configuration' ); //====================== // Process Actions //====================== // if reset pressed let filter config page handle it $forcereset = false; if (!empty($param->reset)) { $forcereset = true; } else if ($config = data_submitted()) { // check session key if (!confirm_sesskey()) { error( get_string('confirmsesskeybad', 'error' ) ); } $configpath = $CFG->dirroot.'/filter/'.$filtername.'/filterconfig.php'; if (file_exists($configpath)) { require_once($configpath); $functionname = $filtername.'_process_config'; if (function_exists($functionname)) { $functionname($config); $saved = true; } } if (empty($saved)) { // run through submitted data // reject if does not start with filter_ foreach ($config as $name => $value) { set_config( $name,$value ); } } redirect( "$CFG->wwwroot/$CFG->admin/filters.php", get_string('changessaved'), 1); exit; } //============================== // Display logic //============================== $filtername = ucfirst($filtername); print_header( "$site->shortname: $txt->managefilters", "$site->fullname", "$txt->administration -> $txt->configuration " . "-> $txt->managefilters -> $filtername" ); print_heading( $txt->managefilters ); print_simple_box("