public function routeShutdown(Zend_Controller_Request_Abstract $request) { /* Redirect to the upgrade controller if an upgrade is neccessary */ if (Phprojekt_Auth::isLoggedIn() && ($request->getModuleName() != 'Core' || $request->getControllerName() != 'Upgrade') && ($request->getControllerName() != 'Login' || $request->getActionName() != 'logout')) { $migration = new Phprojekt_Migration($this->_extensions); if ($migration->needsUpgrade()) { $this->_request->setModuleName('Core'); $this->_request->setControllerName('Upgrade'); $this->_request->setActionName('index'); } } }
/** * Index. * * If the user is an admin and we need upgrades, print a form. * Else, print a message depending on the situation. */ public function indexAction() { $config = Phprojekt::getInstance()->getConfig(); $language = Phprojekt_Auth::getRealUser()->getSetting("language", $config->language); $this->view->language = $language; $this->view->compressedDojo = (bool) $config->compressedDojo; $this->view->frontendMsg = (bool) $config->frontendMessages; $this->view->newVersion = Phprojekt::getVersion(); $extensions = new Phprojekt_Extensions(PHPR_CORE_PATH); $migration = new Phprojekt_Migration($extensions); if ($migration->needsUpgrade()) { if (!Phprojekt_Auth::isAdminUser()) { $this->render('upgradeLocked'); } else { $this->view->modules = $migration->getModulesNeedingUpgrade(); $this->render('upgrade'); } } else { $this->render('upgradeIdle'); } }