Exemple #1
0
 /**
  * @throws \Exception
  */
 public function actionUpgrade()
 {
     if (Fabric::fabricHosted()) {
         throw new \Exception('Fabric hosted DSPs can not be upgraded.');
     }
     /** @var \CWebUser $_user */
     $_user = \Yii::app()->user;
     // Create and login first admin user
     if (!$_user->getState('df_authenticated') && !Session::isSystemAdmin()) {
         throw new \Exception('Upgrade requires admin privileges, logout and login with admin credentials.');
     }
     $_current = SystemManager::getCurrentVersion();
     $_temp = SystemManager::getDspVersions();
     $_versions = array();
     foreach ($_temp as $_version) {
         $_name = Option::get($_version, 'name', '');
         if (version_compare($_current, $_name, '<')) {
             $_versions[] = $_name;
         }
     }
     $_model = new UpgradeDspForm();
     $_model->versions = $_versions;
     $this->render('upgradeDsp', array('model' => $_model));
 }
 /**
  * @throws \Exception
  */
 public function actionUpgrade()
 {
     if (Fabric::fabricHosted()) {
         throw new \Exception('Fabric hosted DSPs can not be upgraded . ');
     }
     /** @var \CWebUser $_user */
     $_user = \Yii::app()->user;
     // Create and login first admin user
     if (!$_user->getState('df_authenticated')) {
         if (!Session::isSystemAdmin()) {
             throw new \Exception('Upgrade requires admin privileges, logout and login with admin credentials . ');
         }
     }
     $_current = SystemManager::getCurrentVersion();
     $_temp = SystemManager::getDspVersions();
     $_versions = array();
     foreach ($_temp as $_version) {
         $_name = Option::get($_version, 'name', '');
         if (version_compare($_current, $_name, '<')) {
             $_versions[] = $_name;
         }
     }
     $_model = new UpgradeDspForm();
     $_model->versions = $_versions;
     if (isset($_POST, $_POST['UpgradeDspForm'])) {
         $_model->setAttributes($_POST['UpgradeDspForm'], false);
         if ($_model->validate()) {
             $_version = Option::get($_versions, $_model->selected, '');
             try {
                 SystemManager::upgradeDsp($_version);
                 $this->redirect('/');
             } catch (\Exception $_ex) {
                 $_model->addError('versions', $_ex->getMessage());
             }
         }
     }
     $this->render('upgradeDsp', array('model' => $_model));
 }