Example #1
0
 public function execute()
 {
     $params = $this->extractRequestParams();
     $search = $params['search'];
     $limit = $params['limit'];
     $namespaces = $params['namespace'];
     $suggest = $params['suggest'];
     // Some script that was loaded regardless of wgEnableOpenSearchSuggest, likely cached.
     if ($suggest && !$this->getConfig()->get('EnableOpenSearchSuggest')) {
         $searches = array();
     } else {
         // Open search results may be stored for a very long time
         $this->getMain()->setCacheMaxAge($this->getConfig()->get('SearchSuggestCacheExpiry'));
         $this->getMain()->setCacheMode('public');
         $searcher = new StringPrefixSearch();
         $searches = $searcher->searchWithVariants($search, $limit, $namespaces);
     }
     // Set top level elements
     $result = $this->getResult();
     $result->addValue(null, 0, $search);
     $result->addValue(null, 1, $searches);
 }