Commit 84f4663d26befb241af4f6551914eccdf7bf5518

Authored by Administrator
1 parent 36b5a2bc

30.06.16 event images

backend/controllers/EventController.php
... ... @@ -8,7 +8,7 @@ use common\models\EventSearch;
8 8 use yii\web\Controller;
9 9 use yii\web\NotFoundHttpException;
10 10 use yii\filters\VerbFilter;
11   -
  11 +use yii\web\UploadedFile;
12 12 /**
13 13 * EventController implements the CRUD actions for Event model.
14 14 */
... ... @@ -65,7 +65,20 @@ class EventController extends Controller
65 65 {
66 66 $model = new Event();
67 67  
68   - if ($model->load(Yii::$app->request->post()) && $model->save()) {
  68 + if ($model->load(Yii::$app->request->post())) {
  69 + if ( ($image = UploadedFile::getInstance($model, 'image')) ) {
  70 + $model->image = $image->name;
  71 + }
  72 + if ($model->save() && $image) {
  73 +
  74 + $imgDir = Yii::getAlias('@storage/event/');
  75 +
  76 + if(!is_dir($imgDir)) {
  77 + mkdir($imgDir, 0755, true);
  78 + }
  79 +
  80 + $image->saveAs(Yii::getAlias('@storage/event/' . $image->name));
  81 + }
69 82 return $this->redirect(['view', 'id' => $model->event_id]);
70 83 } else {
71 84 return $this->render('create', [
... ... @@ -85,6 +98,23 @@ class EventController extends Controller
85 98 $model = $this->findModel($id);
86 99  
87 100 if ($model->load(Yii::$app->request->post()) && $model->save()) {
  101 + if ( ($image = UploadedFile::getInstance($model, 'image')) ) {
  102 + $model->image = $image->name;
  103 + }
  104 +
  105 + if(!$model->image){
  106 + $model->image = $model->getOldAttribute('image');
  107 + }
  108 +
  109 + if ($model->save() && $image) {
  110 + $imgDir = Yii::getAlias('@storage/event/');
  111 +
  112 + if(!is_dir($imgDir)) {
  113 + mkdir($imgDir, 0755, true);
  114 + }
  115 +
  116 + $image->saveAs(Yii::getAlias('@storage/event/' . $image->name));
  117 + }
88 118 return $this->redirect(['view', 'id' => $model->event_id]);
89 119 } else {
90 120 return $this->render('update', [
... ...
backend/views/event/_form.php
... ... @@ -34,26 +34,22 @@ use mihaildev\elfinder\ElFinder;
34 34 'dateFormat' => 'yyyy-MM-dd',
35 35 'clientOptions' => [ 'minDate' => 1 ],
36 36 ]) ?>
37   -
38   -
39   - <?= \common\modules\file\widgets\ImageUploader::widget([
40   - 'model'=> $model,
41   - 'field'=>'image',
42   - 'size' => [
43   - [
44   - 'width'=>200,
45   - 'height'=>200,
46   - ],
47   - [
48   - 'width'=>940,
49   - 'height'=>480,
50   - ]
  37 + <?= $form->field($model, 'image')->widget(\kartik\file\FileInput::classname(), [
  38 + 'model' => $model,
  39 + 'attribute' => 'image',
  40 + 'options' => [
  41 + 'accept' => 'image/*',
  42 + 'multiple' => true
51 43 ],
52   - 'multi'=>false,
53   - 'gallery' => $model->image,
54   - 'name' => 'Загрузить изображение'
55   - ]);
56   - ?>
  44 + 'pluginOptions' => [
  45 + 'allowedFileExtensions' => ['jpg','gif','png'],
  46 + 'initialPreview' => $model->imageUrl ? \common\components\artboximage\ArtboxImageHelper::getImage($model->imageUrl, 'slider') : '',
  47 + 'overwriteInitial' => true,
  48 + 'showRemove' => true,
  49 + 'showUpload' => false,
  50 + ],
  51 + ]); ?>
  52 +
57 53  
58 54 <?= $form->field($model, 'meta_title')->textInput(['maxlength' => true]) ?>
59 55  
... ...