diff --git a/backend/controllers/EventController.php b/backend/controllers/EventController.php index 5c1b366..6f37ce6 100755 --- a/backend/controllers/EventController.php +++ b/backend/controllers/EventController.php @@ -8,7 +8,7 @@ use common\models\EventSearch; use yii\web\Controller; use yii\web\NotFoundHttpException; use yii\filters\VerbFilter; - +use yii\web\UploadedFile; /** * EventController implements the CRUD actions for Event model. */ @@ -65,7 +65,20 @@ class EventController extends Controller { $model = new Event(); - if ($model->load(Yii::$app->request->post()) && $model->save()) { + if ($model->load(Yii::$app->request->post())) { + if ( ($image = UploadedFile::getInstance($model, 'image')) ) { + $model->image = $image->name; + } + if ($model->save() && $image) { + + $imgDir = Yii::getAlias('@storage/event/'); + + if(!is_dir($imgDir)) { + mkdir($imgDir, 0755, true); + } + + $image->saveAs(Yii::getAlias('@storage/event/' . $image->name)); + } return $this->redirect(['view', 'id' => $model->event_id]); } else { return $this->render('create', [ @@ -85,6 +98,23 @@ class EventController extends Controller $model = $this->findModel($id); if ($model->load(Yii::$app->request->post()) && $model->save()) { + if ( ($image = UploadedFile::getInstance($model, 'image')) ) { + $model->image = $image->name; + } + + if(!$model->image){ + $model->image = $model->getOldAttribute('image'); + } + + if ($model->save() && $image) { + $imgDir = Yii::getAlias('@storage/event/'); + + if(!is_dir($imgDir)) { + mkdir($imgDir, 0755, true); + } + + $image->saveAs(Yii::getAlias('@storage/event/' . $image->name)); + } return $this->redirect(['view', 'id' => $model->event_id]); } else { return $this->render('update', [ diff --git a/backend/views/event/_form.php b/backend/views/event/_form.php index 15c6cfa..ff1fc3e 100755 --- a/backend/views/event/_form.php +++ b/backend/views/event/_form.php @@ -34,26 +34,22 @@ use mihaildev\elfinder\ElFinder; 'dateFormat' => 'yyyy-MM-dd', 'clientOptions' => [ 'minDate' => 1 ], ]) ?> - - - $model, - 'field'=>'image', - 'size' => [ - [ - 'width'=>200, - 'height'=>200, - ], - [ - 'width'=>940, - 'height'=>480, - ] + field($model, 'image')->widget(\kartik\file\FileInput::classname(), [ + 'model' => $model, + 'attribute' => 'image', + 'options' => [ + 'accept' => 'image/*', + 'multiple' => true ], - 'multi'=>false, - 'gallery' => $model->image, - 'name' => 'Загрузить изображение' - ]); - ?> + 'pluginOptions' => [ + 'allowedFileExtensions' => ['jpg','gif','png'], + 'initialPreview' => $model->imageUrl ? \common\components\artboximage\ArtboxImageHelper::getImage($model->imageUrl, 'slider') : '', + 'overwriteInitial' => true, + 'showRemove' => true, + 'showUpload' => false, + ], + ]); ?> + field($model, 'meta_title')->textInput(['maxlength' => true]) ?> -- libgit2 0.21.4