/** * Running the upgrade. * @return string * @since 0.2 */ public function actionLevelUp() { $error = ''; $info = ''; $mdVersion = $this->module->version; $dbVersion = (new Query())->from('{{%podium_config}}')->select('value')->where(['name' => 'version'])->limit(1)->one(); if (!isset($dbVersion['value'])) { $error = Yii::t('podium/flash', 'Error while checking current database version! Please verify your database.'); } else { $result = Helper::compareVersions(explode('.', $mdVersion), explode('.', $dbVersion['value'])); if ($result == '=') { $info = Yii::t('podium/flash', 'Module and database versions are the same!'); } elseif ($result == '<') { $error = Yii::t('podium/flash', 'Module version appears to be older than database! Please verify your database.'); } } return $this->render('level-up', ['currentVersion' => $mdVersion, 'dbVersion' => $dbVersion['value'], 'error' => $error, 'info' => $info]); }
/** * Performs upgrade check. * @param array $warnings Flash warnings * @return boolean * @since 0.2 */ public function upgradeCheck($warnings) { if ($warnings) { foreach ($warnings as $warning) { if ($warning == Yii::t('podium/flash', 'It looks like there is a new version of Podium database! {link}', ['link' => Html::a(Yii::t('podium/view', 'Update Podium'), ['install/level-up'])])) { return false; } if ($warning == Yii::t('podium/flash', 'Module version appears to be older than database! Please verify your database.')) { return false; } } } $result = Helper::compareVersions(explode('.', $this->module->version), explode('.', Config::getInstance()->get('version'))); if ($result == '>') { $this->warning(Yii::t('podium/flash', 'It looks like there is a new version of Podium database! {link}', ['link' => Html::a(Yii::t('podium/view', 'Update Podium'), ['install/level-up'])]), false); } elseif ($result == '<') { $this->warning(Yii::t('podium/flash', 'Module version appears to be older than database! Please verify your database.'), false); } return false; }