Beispiel #1
0
 public function actionImage($id)
 {
     $success = null;
     if ($photo = Medias::findOne($id)) {
         $photoUpload = UploadedFile::getInstance($photo, 'image');
         if ($photoUpload && $photo->validate(['image'])) {
             $exp = explode(".", $photoUpload->name);
             $ext = end($exp);
             $photoName = uniqid($id . '_') . '.' . $ext;
             $upload_path = Yii::getAlias('@webroot') . '/uploads/media/' . $photoName;
             $upload_path_thumb = Yii::getAlias('@webroot') . '/uploads/media/resized/' . $photoName;
             if ($photoUpload->saveAs($upload_path) and Image::thumbnail($upload_path, 300, 300, ManipulatorInterface::THUMBNAIL_INSET)->save($upload_path_thumb)) {
                 $photoOld = clone $photo;
                 $photo->file_url = '/uploads/media/' . $photoName;
                 $photo->file_url_thumb = '/uploads/media/resized/' . $photoName;
                 if ($photo->save()) {
                     @unlink($photoOld->bigImageUrl);
                     @unlink($photoOld->thumbImageUrl);
                     $success = ['message' => Yii::t('backend', 'Photo uploaded'), 'photo' => ['image' => str_replace('//', '/', $photo->file_url), 'thumb' => str_replace('//', '/', $photo->file_url_thumb)]];
                 } else {
                     $this->error = Yii::t('admin', 'Update error. {0}', $photo->formatErrors());
                 }
             } else {
                 $this->error = Yii::t('admin', 'File upload error. Check uploads folder for write permissions');
             }
         } else {
             $this->error = Yii::t('admin', 'File is incorrect');
         }
     } else {
         $this->error = Yii::t('admin', 'Not found');
     }
     return $this->formatResponse($success);
 }
 public function getShopMedias()
 {
     return $this->hasMany(Medias::className(), ['media_id' => 'media_id']);
 }
Beispiel #3
0
 public function getMedias()
 {
     return $this->hasMany(Medias::className(), ['media_id' => 'media_id'])->via('articlesMedias');
 }