[ 'class' => AccessControl::className(), 'rules' => [ [ 'actions' => ['login', 'error'], 'allow' => true, ], [ 'actions' => ['logout', 'index','create','update','view','delete','download-img', 'download-gallery', 'download-photo' ], 'allow' => true, 'roles' => ['@'], ], ], ], 'verbs' => [ 'class' => VerbFilter::className(), 'actions' => [ 'logout' => ['post'], ], ], ]; } /** * @inheritdoc */ public function actions() { return [ 'error' => [ 'class' => 'yii\web\ErrorAction', ], ]; } public function actionIndex() { return $this->render('index'); } public function actionLogin() { $this->layout = '/column2'; if (!\Yii::$app->user->isGuest) { return $this->goHome(); } $model = new LoginForm(); if ($model->load(Yii::$app->request->post()) && $model->login()) { return $this->goBack(); } else { return $this->render('login', [ 'model' => $model, ]); } } public function actionLogout() { Yii::$app->user->logout(); return $this->goHome(); } public function actionDownloadImg() { $model = new UploadForm(); if ($model->load(Yii::$app->request->post())) { $model->file = UploadedFile::getInstance($model, 'file'); $md5_file = md5_file($model->file->tempName); $imgDir = Yii::getAlias('@storage/'.$md5_file.'/'); $imageAlias = Yii::getAlias($imgDir.'120x120'.'.'.$model->file->extension); $imageLink = '/storage/'.$md5_file.'/120x120'.'.'.$model->file->extension; if(!is_dir($imgDir)) { mkdir($imgDir, 0777, true); } $model->file->saveAs($imageAlias); Image::thumbnail($imageAlias, 120, 120) ->save(Yii::getAlias($imageAlias), ['quality' => 50]); $message = 'Файл успешно загружен'; $callback = $_REQUEST['CKEditorFuncNum']; die( ''); } } public function actionDownloadPhoto() { $model = new UploadForm(); if ($model->load(Yii::$app->request->post())) { $model->file = UploadedFile::getInstance($model, 'file'); $md5_file = md5_file($model->file->tempName); $imgDir = Yii::getAlias('@storage/'.$md5_file.'/'); $imageAlias = Yii::getAlias($imgDir.'480x365'.'.'.$model->file->extension); $imageLink = '/storage/'.$md5_file.'/480x365'.'.'.$model->file->extension; if(!is_dir($imgDir)) { mkdir($imgDir, 0777, true); } $model->file->saveAs($imageAlias); Image::thumbnail($imageAlias, 480, 365, $mode = \Imagine\Image\ManipulatorInterface::THUMBNAIL_INSET) ->save(Yii::getAlias($imageAlias), ['quality' => 50]); return json_encode(['link'=>$imageLink]); } } public function actionDownloadGallery() { $model = new UploadForm(); if ($model->load(Yii::$app->request->post())) { $model->file_three = UploadedFile::getInstance($model, 'file_three'); $md5_file = md5_file($model->file_three->tempName); $imgDir = Yii::getAlias('@storage/images/'.$md5_file.'/'); $imageAlias = Yii::getAlias($imgDir.'original'.'.'.$model->file_three->extension); $imageAlias_224X189 = Yii::getAlias($imgDir.'205X145'.'.'.$model->file_three->extension); $imageAlias_44X44 = Yii::getAlias($imgDir.'44X44'.'.'.$model->file_three->extension); $imageLink = '/storage/'.$md5_file.'/205X145'.'.'.$model->file_three->extension; if(!is_dir($imgDir)) { mkdir($imgDir, 0777, true); } $model->file_three->saveAs($imageAlias); Image::thumbnail($imageAlias, 205, 145 ) ->save(Yii::getAlias($imageAlias_224X189), ['quality' => 50]); Image::thumbnail($imageAlias, 44, 44 ) ->save(Yii::getAlias($imageAlias_44X44), ['quality' => 50]); $view = $this->renderPartial('@app/views/site/_gallery_item', [ 'item' => ['image'=>$imageLink], ]); return json_encode(['link'=>$imageLink, 'view' =>$view]); } } }