/**
  * Initializes the controller before invoking an action method.
  *
  * @return void
  */
 protected function initializeAction()
 {
     $this->site = $this->moduleData->getSite();
     if (!$this->site instanceof Site) {
         $this->initializeSiteFromFirstAvailableAndStoreInModuleData();
     }
     $rootPageId = $this->site->getRootPageId();
     if ($rootPageId > 0 && !Util::pageExists($rootPageId)) {
         $this->initializeSiteFromFirstAvailableAndStoreInModuleData();
     }
     try {
         $moduleName = $this->request->getArgument('module');
         if ($this->moduleManager->isRegisteredModule($moduleName)) {
             $this->activeModuleName = $moduleName;
             $this->activeModule = $this->moduleManager->getModule($moduleName);
         }
     } catch (NoSuchArgumentException $e) {
         $this->activeModule = $this->moduleManager->getModule($this->activeModuleName);
     }
     $this->moduleManager->sortModules();
     $this->modules = $this->moduleManager->getModules();
 }
 /**
  * @return void
  */
 protected function resolveSite()
 {
     $this->site = $this->moduleData->getSite();
     if (!$this->site instanceof Site) {
         $this->initializeSiteFromFirstAvailableAndStoreInModuleData();
     }
     $rootPageId = $this->site instanceof Site ? $this->site->getRootPageId() : 0;
     if ($rootPageId > 0 && !Util::pageExists($rootPageId)) {
         $this->initializeSiteFromFirstAvailableAndStoreInModuleData();
     }
 }