$clearOutCache = $request->get_getvalue('clear', ''); $weighting = $request->get_getvalue('weighting', ''); $valid = $request->get_postvalue('valid', false); //Si c'est confirmé on execute if ($valid) { if (!$weighting) { $config = SearchConfig::load(); $config->set_nb_results_per_page(retrieve(POST, 'nb_results_p', 15)); $config->set_cache_lifetime(retrieve(POST, 'cache_time', 15)); $config->set_cache_max_uses(retrieve(POST, 'max_use', 200)); $config->set_unauthorized_providers(retrieve(POST, 'authorized_modules', array())); $config->set_authorizations(Authorizations::build_auth_array_from_form(SearchAuthorizationsService::READ_AUTHORIZATIONS)); SearchConfig::save(); AppContext::get_response()->redirect(HOST . REWRITED_SCRIPT); } else { $search_weightings = new SearchWeightings(); $provider_service = AppContext::get_extension_provider_service(); foreach ($provider_service->get_providers(SearchableExtensionPoint::EXTENSION_POINT) as $module_id => $provider) { $search_weightings->add_module_weighting($module_id, retrieve(POST, $module_id, SearchWeightings::DEFAULT_WEIGHTING)); } SearchConfig::load()->set_weightings($search_weightings); SearchConfig::save(); AppContext::get_response()->redirect(HOST . REWRITED_SCRIPT); } } elseif ($clearOutCache) { $querier = PersistenceContext::get_querier(); $querier->truncate(PREFIX . 'search_results'); $querier->truncate(PREFIX . 'search_index'); AppContext::get_response()->redirect(HOST . SCRIPT); } else { $tpl = new FileTemplate('search/admin_search.tpl');
/** * Sets the search providers weighting * @param SearchWeightings */ public function set_weightings(SearchWeightings $search_weightings) { $this->set_property(self::weightings, $search_weightings->get_weightings()); }