/** * Execution method always used for tasks * * @return void */ public function execute() { parent::execute(); //引数のセット if (isset($this->params[self::KEY_APACHE_OWNER])) { $owner = Hash::get($this->params, self::KEY_APACHE_OWNER); $writables = array(APP . 'Config', APP . 'tmp', ROOT . DS . 'composer.json', ROOT . DS . 'bower.json'); foreach ($writables as $file) { $messages = array(); $ret = null; $cmd = sprintf('`which chown` %s -R %s 2>&1', $owner, $file); exec($cmd, $messages, $ret); } } if (array_key_exists(self::KEY_RELEASE, $this->params)) { $path = ROOT . DS . 'app' . DS . 'Plugin' . DS; $plugins = array_unique(array_merge(App::objects('plugins'), array_map('basename', glob($path . '*', GLOB_ONLYDIR)))); $folder = new Folder(); foreach ($plugins as $plugin) { $folder->delete($path . $plugin . DS . '.git'); } $folder->delete(ROOT . DS . '.git'); $folder->delete(ROOT . DS . '.chef'); } Configure::write('NetCommons.installed', true); $this->InstallUtil->saveAppConf(); }
/** * Execution method always used for tasks * * @return void */ public function execute() { parent::execute(); //引数のセット $data = array(); // * login if (array_key_exists(self::KEY_USERNAME, $this->params)) { $data['User'][self::KEY_USERNAME] = Hash::get($this->params, self::KEY_USERNAME); } else { $data['User'][self::KEY_USERNAME] = $this->in(__d('install', 'NetCommons Login id?')); } // * password if (array_key_exists(self::KEY_PASSWORD, $this->params)) { $data['User'][self::KEY_PASSWORD] = Hash::get($this->params, self::KEY_PASSWORD); } else { $data['User'][self::KEY_PASSWORD] = $this->in(__d('install', 'NetCommons Login password?')); } $data['User'][self::KEY_PASSWORD . '_again'] = $data['User'][self::KEY_PASSWORD]; // * handlename $data['User'][self::KEY_HANDLENAME] = __d('install', 'System administrator'); //アカウント作成 if (!$this->InstallUtil->saveAdminUser($data)) { return $this->error(__d('install', 'The user could not be saved. Please try again.')); } }
/** * Execution method always used for tasks * * @return void */ public function execute() { parent::execute(); if (!$this->InstallUtil->installBowerPackages(false)) { return $this->error(__d('install', 'Failed to install bower packages.')); } }
/** * Execution method always used for tasks * * @return void */ public function execute() { parent::execute(); //引数のセット if (isset($this->params[self::KEY_CONNECTION])) { $connection = Hash::get($this->params, self::KEY_CONNECTION); } else { $connection = 'master'; } $plugins = array_unique(array_merge(App::objects('plugins'), array_map('basename', glob(ROOT . DS . 'app' . DS . 'Plugin' . DS . '*', GLOB_ONLYDIR)))); if (!$this->InstallUtil->installMigrations($connection, $plugins)) { return $this->error(__d('install', 'Failed to install migrations.')); } }
/** * Execution method always used for tasks * * @return void */ public function execute() { parent::execute(); //引数のセット if (isset($this->params[self::KEY_APACHE_OWNER])) { $owner = Hash::get($this->params, self::KEY_APACHE_OWNER); $writables = array(APP . 'Config', APP . 'tmp', ROOT . DS . 'composer.json', ROOT . DS . 'bower.json'); foreach ($writables as $file) { $messages = array(); $ret = null; $cmd = sprintf('`which chown` %s -R %s 2>&1', $owner, $file); exec($cmd, $messages, $ret); } } }
/** * Execution method always used for tasks * * @return void */ public function execute() { parent::execute(); //引数のセット $this->__prepare(); //データベースの設定 if ($this->InstallUtil->validatesDBConf($this->data)) { $this->InstallUtil->saveDBConf($this->data); } else { $message = var_export($this->InstallUtil->validationErrors, true); return $this->error('validation error', $message); } //データベース作成 if (!$this->InstallUtil->createDB($this->data)) { return $this->error(__d('install', 'Failed to create database.')); } }
/** * Execution method always used for tasks * * @return void */ public function execute() { parent::execute(); //引数のセット if (isset($this->params[self::KEY_BASE_URL])) { $fullBaseUrl = $this->params[self::KEY_BASE_URL]; } else { $fullBaseUrl = $this->in(__d('install', 'Please entry base url.')); } if (!$fullBaseUrl) { $message = __d('install', 'Failed to base url.'); return $this->error($message); } Configure::write('App.fullBaseUrl', $fullBaseUrl); if (array_key_exists(self::KEY_ENABLE_LANGUAGES, $this->params)) { $languageEnabled = Hash::get($this->params, self::KEY_ENABLE_LANGUAGES, 'en,ja'); } else { $languageEnabled = $this->in(__d('install', 'Enable languages?'), ['en,ja', 'en', 'ja'], 'en,ja'); } if (array_key_exists(self::KEY_LANGUAGE, $this->params)) { $currentLanguage = Hash::get($this->params, self::KEY_LANGUAGE, 'ja'); } else { $currentLanguage = $this->in(__d('install', 'Current language?'), ['en', 'ja'], 'ja'); } //application.ymlの初期化処理 $data['language'] = strtolower($currentLanguage); $data['languageEnabled'] = explode(',', strtolower($languageEnabled)); if (!$this->InstallUtil->installApplicationYaml($data)) { $message = __d('install', 'Failed to write %s. Please check permission.', [APP . 'Config' . DS . 'application.yml']); return $this->error($message); } //database.phpの初期化処理 $configs = $this->InstallUtil->chooseDBByEnvironment(); if (!$this->InstallUtil->saveDBConf($configs)) { $message = __d('install', 'Failed to write %s. Please check permission.', array(APP . 'Config' . DS . 'database.php')); return $this->error($message); } }
/** * Execution method always used for tasks * * @return void */ public function execute() { parent::execute(); $status = 0; if (version_compare($this->phpVersion, '5.4.0') >= 0) { $message = __d('install', '%s(%s) version success.', 'PHP', $this->phpVersion); $this->out('<success>Success:</success> ' . $message); } else { $message = __d('install', '%s(%s) version error. Please more than "%s" version.', 'PHP', $this->phpVersion, 'PHP 5.4'); $this->err('<error>Error:</error> ' . $message); $status = parent::CODE_ERROR; } $version = phpversion('pdo_mysql'); if (!$version) { $message = __d('install', 'Not found the %s. Please install the %s.', 'pdo_mysql', 'pdo_mysql'); $this->err('<error>Error:</error> ' . $message); $status = parent::CODE_ERROR; } else { $message = __d('install', '%s(%s) version success.', 'pdo_mysql', $version); $this->out('<success>Success:</success> ' . $message); } $this->_stop($status); }