Example #1
0
$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());
 }