- $search = null;
- extract($this->ExtractRequestParams());
-
- $title = Title :: newFromText($search);
- if(!$title)
- return; // Return empty result
+ global $wgEnableOpenSearchSuggest, $wgSearchSuggestCacheExpiry;
+ $params = $this->extractRequestParams();
+ $search = $params['search'];
+ $limit = $params['limit'];
+ $namespaces = $params['namespace'];
+ $suggest = $params['suggest'];
+
+ // MWSuggest or similar hit
+ if ( $suggest && !$wgEnableOpenSearchSuggest ) {
+ $searches = array();
+ } else {
+ // Open search results may be stored for a very long time
+ $this->getMain()->setCacheMaxAge( $wgSearchSuggestCacheExpiry );
+ $this->getMain()->setCacheMode( 'public' );
+
+ $searches = PrefixSearch::titleSearch( $search, $limit,
+ $namespaces );