/** * 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; }