public function actionRun() { // get routines to upgrade $installedVersion = Yii::app()->params['version']; $addRoutines = false; $routines = array(); foreach ($this->history as $version) { if (!$addRoutines && $version[0] == $installedVersion) { $addRoutines = true; } if ($addRoutines && isset($version[1])) { $routines[] = $version[1]; } } // run upgrade routines foreach ($routines as $routine) { $this->{$routine}(); } // upgrade complete if ($addRoutines) { // write latest version to config $path = Yii::getPathOfAlias('application.config.ppma') . '.php'; /** @noinspection PhpIncludeInspection */ $config = new CConfiguration(require($path)); $config['version'] = $this->latestVersion; file_put_contents($path, "<?php\n\nreturn " . $config->saveAsString() . ';'); $this->render('success', array('version' => $this->latestVersion)); } else { $this->render('isuptodate'); } }
public function testSaveAsString() { $config = new CConfiguration($this->configFile); $str = $config->saveAsString(); eval("\$data={$str};"); $this->assertTrue($config->toArray() === $data); }
/** * * @return void */ protected function _actionStep4() { // Remove step from session Yii::app()->user->setState('step', 0, 0); // Flag app as installed $path = Yii::getPathOfAlias('application.config.ppma') . '.php'; $config = (require $path); $config['isInstalled'] = true; $config = new CConfiguration($config); file_put_contents($path, "<?php\n\nreturn " . $config->saveAsString() . ';'); $this->render('step4'); }