/** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' page. */ public function actionCreate($id) { $album = Album::model()->findByPk($id); if ($album === null) { throw new CHttpException(404, 'The requested album does not exists.'); } $model = new AlbumImage(); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['AlbumImage'])) { $model->attributes = $_POST['AlbumImage']; $model->album_id = $album->id; if ($model->save()) { PublicFile::attachPrecreated($model, $model->_image); $this->redirect(['/album/details', 'id' => $album->id]); } } $this->render('create', ['model' => $model, 'album' => $album]); }
/** * Update Album Cover Image. * @param int $id * @throws CHttpException */ public function actionCover($id) { $model = $this->loadModel($id); $model->scenario = 'update-cover'; $user = $this->getUser(); if (!$model->canEdit()) { throw new CHttpException(403, 'You are not allowed to perform this action'); } if (isset($_POST['Album'])) { $model->attributes = $_POST['Album']; if ($model->validate('image')) { if ($model->cover instanceof PublicFile) { $model->cover->delete(); } PublicFile::attachPrecreated($model, $model->image); $this->redirect(['/album/view', 'id' => $model->id, 'username' => $user->username, 'uguid' => $user->guid]); } } $this->render('/album/cover', compact('model', 'user')); }
/** * Creates a new album with optional album cover. * If creation is successful, the browser will be redirected to the 'view' page. */ public function actionCreate() { $user = $this->getUser(); if ($user->id != Yii::app()->user->id) { throw new CHttpException(403, 'You can create album only on your profile.'); } $this->subLayout = "application.modules.album.views._layout"; $model = new Album(); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['Album'])) { $_POST = Yii::app()->input->stripClean($_POST); $_POST['containerGuid'] = Yii::app()->user->guid; $_POST['containerClass'] = 'User'; $model->content->populateByForm(); $model->attributes = $_POST['Album']; if ($model->save()) { PublicFile::attachPrecreated($model, Yii::app()->request->getParam('cover')); $this->redirect(['/album/view', 'id' => $model->id, 'username' => $user->username, 'uguid' => $user->guid]); } } $this->render('/album/create', ['model' => $model, 'user' => $user]); }