Beispiel #1
0
    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);
 }
Beispiel #3
0
 /**
  *
  * @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');
 }