From 2293c233d071923784707b200592423bc00d13f7 Mon Sep 17 00:00:00 2001 From: Vitaliy Date: Thu, 17 Mar 2016 15:01:15 +0200 Subject: [PATCH] 16.03.16 --- backend/views/specialization/_form.php | 2 +- common/models/Portfolio.php | 1 + common/modules/file/widgets/ImageUploaderInput.php | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ common/widgets/ImageResizer.php | 185 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- common/widgets/ImageUploader.php | 63 --------------------------------------------------------------- common/widgets/views/image_sizer.php | 184 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- frontend/controllers/AccountsController.php | 11 +++++++++++ frontend/views/accounts/_blog_form.php | 2 +- frontend/views/accounts/_gallery_form.php | 2 +- frontend/views/accounts/_portfolio_form.php | 26 +++++++++++++++++++------- frontend/views/accounts/_projects_form.php | 2 +- frontend/views/accounts/_team_form.php | 2 +- frontend/views/accounts/description.php | 2 +- frontend/views/company/gallery.php | 3 +++ frontend/views/layouts/admin.php | 184 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------- 15 files changed, 206 insertions(+), 525 deletions(-) create mode 100755 common/modules/file/widgets/ImageUploaderInput.php delete mode 100755 common/widgets/ImageResizer.php delete mode 100755 common/widgets/ImageUploader.php delete mode 100755 common/widgets/views/image_sizer.php diff --git a/backend/views/specialization/_form.php b/backend/views/specialization/_form.php index a1117a6..018cc2c 100755 --- a/backend/views/specialization/_form.php +++ b/backend/views/specialization/_form.php @@ -27,7 +27,7 @@ use \kartik\color\ColorInput; 'options' => ['placeholder' => 'Select color ...'], ]); - echo \common\widgets\ImageUploader::widget([ + echo common\modules\file\widgets\ImageUploader::widget([ 'model'=> $model, 'field'=>'image', 'width'=>940, diff --git a/common/models/Portfolio.php b/common/models/Portfolio.php index e3b245a..083ab3a 100644 --- a/common/models/Portfolio.php +++ b/common/models/Portfolio.php @@ -71,6 +71,7 @@ 'name', 'preview', 'link', + 'city', 'cover' ], 'required', diff --git a/common/modules/file/widgets/ImageUploaderInput.php b/common/modules/file/widgets/ImageUploaderInput.php new file mode 100755 index 0000000..b161889 --- /dev/null +++ b/common/modules/file/widgets/ImageUploaderInput.php @@ -0,0 +1,62 @@ +render('image_sizer', + [ + 'model'=>$this->model, + 'size' => $this->size, + 'field' => $this->attribute, + 'height' => $this->height, + 'width' => $this->width, + 'multi' => $this->multi, + 'name' => $this->name, + 'remover' => $this->remover + ]); + + } + + public function getGallery(){ + if($this->gallery){ + $array = explode(",", $this->gallery); + if(count($array) > 1){ + array_pop($array); + } + return $array; + } else { + return array(); + } + + } + +} \ No newline at end of file diff --git a/common/widgets/ImageResizer.php b/common/widgets/ImageResizer.php deleted file mode 100755 index 8957517..0000000 --- a/common/widgets/ImageResizer.php +++ /dev/null @@ -1,185 +0,0 @@ -request->post(); - - if ($request) { - - if(isset($request['old_img'])){ - $this->deleteImages($request['old_img']); - } - - - $model->file = UploadedFile::getInstance($model, 'file'); - - if(!$model->file){ - return json_encode(["error"=>"Не указан файл"]); - } - - $md5_file = md5_file($model->file->tempName); - - $imgDir = Yii::getAlias('@storage/'.$md5_file.'/'); - - $imageOrigAlias = Yii::getAlias($imgDir.'original'.'.'.$model->file->extension); - - if(!is_dir($imgDir)) { - mkdir($imgDir, 0755, true); - } - - $model->file->saveAs($imageOrigAlias); - - if($request['width'] && $request['height']){ - - $imageAlias = Yii::getAlias($imgDir.$request['width'].'x'.$request['height'].'.'.$model->file->extension); - - $imageLink = '/storage/'.$md5_file.'/'.$request['width'].'x'.$request['height'].'.'.$model->file->extension; - - $this->resizeImg($request['width'],$request['height'], $imageOrigAlias,$imageAlias); - - } else { - - $imageLink = '/storage/'.$md5_file.'/'.'original'.'.'.$model->file->extension; - - } - - - if($model->multi){ -// $view = $this->renderPartial('@app/components/views/_gallery_item', [ -// 'item' => ['image'=>$imageLink], -// ]); -// -// return json_encode(['link'=>$imageLink, 'view' =>$view]); - - - } else { - $p1[0] = ""; - return json_encode(['success','initialPreview' => $p1, 'append' => false, 'name' =>$imageLink,]); - } - - - } else { - return json_encode(['error']); - } - - - - - } - - - public function isBigger($width,$height,$w,$h) - { - if($width>$w){ - return true; - }else if($height >$h) { - return true; - } - return false; - } - - - - - - public function resizeImg($w, $h, $imageAlias,$imageAliasSave) - { - $img = Image::getImagine()->open(Yii::getAlias($imageAlias)); - - $size = $img->getSize(); - - $width = $size->getWidth(); - $height = $size->getHeight(); - - $e_width = $w/$h; - $e_height = $h/$w; - - $e1_width = $width/$height; - $e1_height = $height/$width; - - if($this->isBigger($width,$height,$w,$h)){ - if($e_width<$e1_width){ - $new_width = $width*($e_width/$e1_width); - $width = $new_width; - }else { - $new_height = $height*($e_height/$e1_height); - $height = $new_height; - } - - - } else { - $img->save($imageAliasSave, array('flatten' => false)); - return true; - } - - - Image::crop($imageAlias, $width, $height,[0,0]) - ->save(Yii::getAlias($imageAliasSave), ['quality' => - 100]); - - - $imagine = new Imagine(); - $imagine->open($imageAliasSave) - ->resize(new Box($w, $h)) - ->save($imageAliasSave, array('flatten' => false)); - - - - } - - - private function deleteImages($old_img){ - - if(!empty($old_img) && file_exists($_SERVER['DOCUMENT_ROOT'].$old_img)){ - - $rootDir = explode("/", $old_img); - - $row = $_SERVER['DOCUMENT_ROOT'].'/'.$rootDir[1].'/'.$rootDir[2].'/'; - - $allFiles = scandir($row); - - $allFiles = array_slice($allFiles, 2); - - foreach($allFiles as $oldFile){ - - unlink($row.$oldFile); - - } - - } - } - - public function actionDeleteImage(){ - $old_img = Yii::$app->request->post('old_img'); - - if ($old_img) { - $this->deleteImages($old_img); - } - } - - - -} \ No newline at end of file diff --git a/common/widgets/ImageUploader.php b/common/widgets/ImageUploader.php deleted file mode 100755 index c9cad75..0000000 --- a/common/widgets/ImageUploader.php +++ /dev/null @@ -1,63 +0,0 @@ -render('image_sizer', - [ - 'model'=>$this->model, - 'size' => $this->size, - 'field' => $this->field, - 'height' => $this->height, - 'width' => $this->width, - 'multi' => $this->multi, - 'name' => $this->name, - 'remover' => $this->remover - ]); - - } - - public function getGallery(){ - if($this->gallery){ - $array = explode(",", $this->gallery); - if(count($array) > 1){ - array_pop($array); - } - return $array; - } else { - return array(); - } - - } - -} \ No newline at end of file diff --git a/common/widgets/views/image_sizer.php b/common/widgets/views/image_sizer.php deleted file mode 100755 index 66909a3..0000000 --- a/common/widgets/views/image_sizer.php +++ /dev/null @@ -1,184 +0,0 @@ - -
- - - - "{$field}_picture_link"]) ?> - - - -
-
-
- $field) { - ?> - - - $field ? Html::img($model->$field): '' ?> -
-
-
- - - - - - $field, 'data-url'=>Yii::$app->getUrlManager()->createUrl('file/uploader/download-photo')]);?> - - - - - - - - - - - $field, 'data-url'=>Yii::$app->getUrlManager()->createUrl('file/uploader/download-photo'), 'multiple'=> 'multiple' ]);?> - - - "{$field}_picture_link"]) ?> - - - - -
- context->getGallery() as $image){ - echo $this->render('_gallery_item', [ 'item' => ['image'=>$image]]); - } - ?> -
- - - -
\ No newline at end of file diff --git a/frontend/controllers/AccountsController.php b/frontend/controllers/AccountsController.php index a00a4e6..1edbb91 100755 --- a/frontend/controllers/AccountsController.php +++ b/frontend/controllers/AccountsController.php @@ -70,6 +70,7 @@ 'portfolio-delete' => [ 'POST' ], 'projects-delete' => [ 'POST' ], 'blog-delete' => [ 'POST' ], + 'gallery-cover' => [ 'POST' ], ], ], ]; @@ -1198,4 +1199,14 @@ } } + + public function actionGalleryCover() + { + $gallery_id = Yii::$app->request->post('gallery_id'); + + $cover = Gallery::find()->select('cover')->where(['gallery_id'=>$gallery_id])->column(); + die($cover[0]); + + } + } diff --git a/frontend/views/accounts/_blog_form.php b/frontend/views/accounts/_blog_form.php index c4ebd86..fa97b44 100644 --- a/frontend/views/accounts/_blog_form.php +++ b/frontend/views/accounts/_blog_form.php @@ -4,7 +4,7 @@ */ use common\components\Request; use common\models\Blog; - use common\widgets\ImageUploader; + use common\modules\file\widgets\ImageUploader; use mihaildev\ckeditor\CKEditor; use mihaildev\elfinder\ElFinder; use yii\helpers\Html; diff --git a/frontend/views/accounts/_gallery_form.php b/frontend/views/accounts/_gallery_form.php index f40fbb6..97e7597 100644 --- a/frontend/views/accounts/_gallery_form.php +++ b/frontend/views/accounts/_gallery_form.php @@ -6,7 +6,7 @@ use common\components\Request; use common\models\Gallery; use common\models\User; - use common\widgets\ImageUploader; + use common\modules\file\widgets\ImageUploader; use yii\helpers\Html; use yii\widgets\ActiveForm; diff --git a/frontend/views/accounts/_portfolio_form.php b/frontend/views/accounts/_portfolio_form.php index 06b057b..86ad81e 100644 --- a/frontend/views/accounts/_portfolio_form.php +++ b/frontend/views/accounts/_portfolio_form.php @@ -8,8 +8,9 @@ use common\models\Option; use common\models\Portfolio; use common\models\Specialization; - use common\widgets\ImageUploader; - use mihaildev\ckeditor\CKEditor; + use common\modules\file\widgets\ImageUploader; +use common\modules\file\widgets\ImageUploaderInput; +use mihaildev\ckeditor\CKEditor; use yii\helpers\ArrayHelper; use yii\helpers\Html; use yii\widgets\ActiveForm; @@ -96,9 +97,7 @@
Фото главное
- $portfolio, - 'field' => 'cover', + field($portfolio, 'cover')->widget(ImageUploaderInput::className(),[ 'size' => [ [ 'width' => 720, @@ -224,6 +223,19 @@ $('body').on('click', '.admin-portfolio-foto #cover_remove_img',function(){ bottomButton() }) - } - ) + + + $('#portfolio-gallery_id').change(function(){ + var gallery_id = $(this).val(); + $.post( "/accounts/gallery-cover", {gallery_id:gallery_id}, function( data ) { + if(!($('#cover_old_img').val().length)){ + $('#cover_picture_link').val(data); + var newimg=document.createElement("img"); + newimg.setAttribute("src",data); + + $('#cover_img_block .admin-avatar-pattern').append(newimg); + } + }); + }); + }); diff --git a/frontend/views/accounts/_projects_form.php b/frontend/views/accounts/_projects_form.php index 5de9bee..b0e4e96 100644 --- a/frontend/views/accounts/_projects_form.php +++ b/frontend/views/accounts/_projects_form.php @@ -10,7 +10,7 @@ use common\models\Payment; use common\models\Project; use common\models\Specialization; - use common\widgets\ImageUploader; + use common\modules\file\widgets\ImageUploader; use kartik\select2\Select2; use mihaildev\ckeditor\CKEditor; use yii\helpers\Html; diff --git a/frontend/views/accounts/_team_form.php b/frontend/views/accounts/_team_form.php index 69b72f5..c4fce0a 100644 --- a/frontend/views/accounts/_team_form.php +++ b/frontend/views/accounts/_team_form.php @@ -6,7 +6,7 @@ */ use common\components\Request; use common\models\Team; - use common\widgets\ImageUploader; + use common\modules\file\widgets\ImageUploader; use kartik\select2\Select2; use yii\helpers\Html; use yii\web\JsExpression; diff --git a/frontend/views/accounts/description.php b/frontend/views/accounts/description.php index 9c1bb6b..b4a6582 100644 --- a/frontend/views/accounts/description.php +++ b/frontend/views/accounts/description.php @@ -7,7 +7,7 @@ use common\models\CompanyInfo; use common\models\User; use common\models\UserInfo; - use common\widgets\ImageUploader; + use common\modules\file\widgets\ImageUploader; use mihaildev\ckeditor\CKEditor; use yii\helpers\Html; use yii\widgets\ActiveForm; diff --git a/frontend/views/company/gallery.php b/frontend/views/company/gallery.php index 9c65417..4d056a8 100755 --- a/frontend/views/company/gallery.php +++ b/frontend/views/company/gallery.php @@ -12,6 +12,8 @@ use yii\widgets\ListView; $this->params['company'] = $company; $this->title = 'My Yii Application'; ?> + +
@@ -35,6 +37,7 @@ $this->title = 'My Yii Application';
+