public function searchIndex()
 {
     global $wgRequest, $wgSitename, $wgUser;
     $lang = $this->helper->getLangForSearchResults();
     $centralUrl = $this->helper->getCentralUrlFromGlobalTitle($lang);
     $globalSearchUrl = $this->helper->getGlobalSearchUrl($centralUrl);
     $localSearchUrl = SpecialPage::getTitleFor('Search')->getFullUrl();
     $fulltext = $wgUser->getGlobalPreference('enableGoSearch') ? 0 : 'Search';
     $query = $wgRequest->getVal('search', $wgRequest->getVal('query', ''));
     $localSearchPlaceholder = html_entity_decode(wfMessage('global-navigation-local-search-placeholder', $wgSitename)->parse());
     if (WikiaPageType::isCorporatePage() && !WikiaPageType::isWikiaHub()) {
         $this->response->setVal('disableLocalSearchOptions', true);
         $this->response->setVal('defaultSearchPlaceholder', wfMessage('global-navigation-global-search')->escaped());
         $this->response->setVal('defaultSearchUrl', $globalSearchUrl);
     } else {
         $this->response->setVal('globalSearchUrl', $globalSearchUrl);
         $this->response->setVal('localSearchUrl', $localSearchUrl);
         $this->response->setVal('localSearchPlaceholder', $localSearchPlaceholder);
         $this->response->setVal('defaultSearchPlaceholder', $localSearchPlaceholder);
         $this->response->setVal('defaultSearchUrl', $localSearchUrl);
     }
     $this->response->setVal('fulltext', $fulltext);
     $this->response->setVal('query', $query);
     $this->response->setVal('lang', $lang);
 }
Ejemplo n.º 2
0
 public function testGetLangForSearchResultsIfResultsLangNotSet()
 {
     $wgRequestMock = $this->getMock('WebRequest', ['getVal']);
     $wgRequestMock->expects($this->any())->method('getVal')->will($this->returnValue(null));
     $this->mockGlobalVariable('wgRequest', $wgRequestMock);
     $this->mockGlobalVariable('wgLanguageCode', 'bar');
     $globalNavHelper = new GlobalNavigationHelper();
     $this->assertEquals($globalNavHelper->getLangForSearchResults(), 'bar');
 }