37 'actions' => array(
'create',
'updateStep1',
'updateStep2',
'updateStep3'),
38 'roles' => array(
'Admin'),
41 'users' => array(
'*'),
54 $model->invitationMessage =
UpdatesModule::t(
'With this archive you can update Gentics Portal.Node PHP to version {version}', array(
'{version}' => Yii::app()->getModule(
'updates')->currentVersion));
55 $model->invitationMessage .=
"\nNOTE: Before run update check if application directory is writable!";
56 $model->finishMessage =
'Successfully updated';
57 if (!empty($_POST[
'CreateReleaseForm'])) {
58 $model->attributes = $_POST[
'CreateReleaseForm'];
59 if ($model->validate()) {
61 Yii::getPathOfAlias(
'site'),
62 array(
'.git',
'.idea',
'.gitignore',
'custom',
'frontend/runtime',
'frontend/www/assets',
'common/runtime',
'DCR',
'FSCR'),
63 $model->invitationMessage,
66 Yii::app()->request->sendFile(pathinfo($release->getZipLocation(), PATHINFO_BASENAME), file_get_contents($release->getZipLocation()), null,
false);
71 $this->render(
'create', array(
'model' => $model));
82 Yii::app()->user->setState(
'releaseFile', null);
84 if (!empty($_POST[
'UpdateForm'])) {
85 $model->attributes = $_POST[
'UpdateForm'];
88 $file = CUploadedFile::getInstance($model,
'file');
89 if ($file && !$file->getHasError()) {
90 $fileName = Yii::getPathOfAlias(
'site.custom.runtime') .
'/' . $file->getName();
91 $file->saveAs($fileName);
92 Yii::app()->user->setState(
'releaseFile', $fileName);
93 $this->redirect(
'updateStep2');
95 throw new Exception(
'Upload file error.' . ($file ?
'Code: ' . $file->getError() :
''));
98 $this->render(
'updateStep1', array(
'model' => $model));
108 if ($releaseFile = Yii::app()->user->getState(
'releaseFile')) {
109 $release =
new Release($releaseFile);
110 $this->render(
'updateStep2', array(
'release' => $release));
112 $this->redirect(
'updateStep1');
123 if (isset($_POST[
'Update']) && ($releaseFile = Yii::app()->user->getState(
'releaseFile'))) {
126 $release =
new Release($releaseFile);
127 $release->update(Yii::getPathOfAlias(
'site'));
129 Yii::app()->user->setState(
'releaseFile', null);
130 $this->render(
'updateStep3', array(
'release' => $release,
'backupPath' => $backupPath));
131 }
catch (Exception $e) {
132 Yii::app()->user->setFlash(
'error',
UpdatesModule::t(
'Update process fails') .
' ' . $e->getMessage());
133 $this->render(
'updateStep3');
136 $this->redirect(
'updateStep1');