예제 #1
0
 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');
         }
     }
 }
예제 #2
0
 /**
  * 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');
     }
 }