/**
  * Called in WikiaSearchController and Oasis SearchController index action. 
  * Sets the SearchConfigs namespaces based on MW-core NS request style.
  * @see    WikiSearchControllerTest::testSetNamespacesFromRequest
  * @param  Wikia\Search\Config $searchConfig
  * @param  User $user
  * @return boolean true
  */
 protected function setNamespacesFromRequest($searchConfig, User $user)
 {
     $searchEngine = new SearchEngine();
     $searchableNamespaces = $searchEngine->searchableNamespaces();
     $namespaces = array();
     foreach ($searchableNamespaces as $i => $name) {
         if ($this->getVal('ns' . $i, false)) {
             $namespaces[] = $i;
         }
     }
     if (empty($namespaces)) {
         if ($user->getGlobalPreference('searchAllNamespaces')) {
             $namespaces = array_keys($searchableNamespaces);
         } else {
             $profiles = $searchConfig->getSearchProfiles();
             // this is mostly needed for unit testing
             $defaultProfile = !empty($this->wg->DefaultSearchProfile) ? $this->wg->DefaultSearchProfile : 'default';
             $namespaces = $profiles[$defaultProfile]['namespaces'];
         }
     }
     $searchConfig->setNamespaces($namespaces);
     return true;
 }