Slider.php
1.6 KB
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);
}
}
}