/**
  * Main method for displaying hub pages
  */
 public function index()
 {
     global $wgCityId;
     $wikiFactoryHub = WikiFactoryHub::getInstance();
     $verticalId = $wikiFactoryHub->getVerticalId($wgCityId);
     $currentHub = '';
     $allVerticals = $wikiFactoryHub->getAllVerticals();
     if (isset($allVerticals[$verticalId]['short'])) {
         $currentHub = $allVerticals[$verticalId]['short'];
     }
     $this->setVal('currentHub', $currentHub);
     if (!$this->checkAccess()) {
         $titleText = $this->getContext()->getTitle()->getText();
         $titleTextSplit = explode('/', $titleText);
         $this->hubUrl = $titleTextSplit[0];
         $this->app->wg->Out->setStatusCode(404);
         $this->overrideTemplate('404');
         return;
     }
     $editHubModel = new EditHubModel();
     $this->modules = array();
     foreach ($editHubModel->getModulesIds() as $moduleId) {
         $this->modules[$moduleId] = $this->renderModule($editHubModel, $moduleId, $editHubModel->getNotTranslatedModuleName($moduleId));
     }
     $this->response->addAsset('wikiahubs_v3');
     $this->response->addAsset('wikiahubs_v3_modal');
     $this->response->addAsset('wikiahubs_v3_scss');
     $this->response->addAsset('wikiahubs_v3_scss_mobile');
     $this->wg->Out->addJsConfigVars(['wgWikiaHubsVerticalId' => $this->verticalId]);
     if (F::app()->checkSkin('wikiamobile')) {
         $this->overrideTemplate('wikiamobileindex');
     }
 }
 protected function isValidModule(EditHubModel $model, $moduleId)
 {
     if ($moduleId > 0) {
         return in_array($moduleId, $model->getModulesIds());
     }
     return false;
 }