/** * Метод добавления одной фотографии: * * @param Image $image - инстанс изображения * @param mixed $imageData - POST-массив данных * @param Gallery $gallery - инстанс галереи * * @return void **/ private function _addImage(Image $image, array $imageData, Gallery $gallery) { try { $transaction = Yii::app()->getDb()->beginTransaction(); $image->setAttributes($imageData); if ($image->save() && $gallery->addImage($image)) { $transaction->commit(); if (Yii::app()->getRequest()->getPost('ajax') === null) { Yii::app()->getUser()->setFlash(yupe\widgets\YFlashMessages::SUCCESS_MESSAGE, Yii::t('GalleryModule.gallery', 'Photo was created!')); $this->redirect(['/gallery/galleryBackend/images', 'id' => $gallery->id]); } } } catch (Exception $e) { $transaction->rollback(); Yii::app()->getUser()->setFlash(yupe\widgets\YFlashMessages::ERROR_MESSAGE, $e->getMessage()); } }