Blame view

app/modules/admin/models/Slider.php 1.6 KB
bf807468   Alex Savenko   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
  <?php

  

  namespace app\modules\admin\models;

  use app\components\Translite;

  use app\components\resize;

  use yii\web\UploadedFile;

  

  class Slider extends \yii\db\ActiveRecord

  {

  	public $old_image;

          

  	public static function tableName()

      {

          return 'slider';

      }

  	

  	public function rules()

  	{

  		return [

  			[['title'], 'required'],

  			[['old_image','url'], 'safe'],

                          [['image'], 'file', 'extensions'=>'jpg, gif, png', 'skipOnEmpty'=>true],

  

                      ];

  	}	

  	

  	public function attributeLabels()

  	{

  		return [

  			'title'=>'Название',

  			'body'=>'Описание',

  			'date'=>'Дата',

                          'image'=>'Изображения',

  		];

  	}

          

  	public function beforeSave($insert) {

                  

                  

  		if($image = UploadedFile::getInstance($this,'image')){			

  

                          $this->deleteImage($this->old_image);

                          //$this->image = $image;

  			$this->image = time() . '_' . rand(1, 1000) . '.' . $image->extension;

                          $image->saveAs('upload/slider/'.$this->image);

  			

  		}else $this->image = $this->old_image;                

  

  		return parent::beforeSave($insert);

  	}

          

          public function beforeDelete() {

              $this->deleteImage($this->image); 

              return parent::beforeDelete();

          }

          

          public function deleteImage($file){ 

                          if(!empty($file)){

                              @unlink('upload/slider/'.$file);

                          }            

          }        

  	

  

  }