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