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']); }
public function getMedias() { return $this->hasMany(Medias::className(), ['media_id' => 'media_id'])->via('articlesMedias'); }