News.php
3.06 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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<?php
namespace common\models;
use Yii;
/**
 * This is the model class for table "w_news".
 *
 * @property integer $id
 * @property string $name
 * @property string $code
 * @property string $brief
 * @property string $content
 * @property integer $sort_delete
 * @property string $title
 * @property string $kwords
 * @property string $descr
 * @property string $dt
 * @property integer $is_active
 * @property integer $mail_send
 * @property integer $mails_count
 * @property string $img
 * @property string $price_list
 */
class News extends \yii\db\ActiveRecord
{
    public $file;
    public function beforeSave()
    {
        $this->dt = strtotime( $this->dt );
        return true;
    }
    /**
     * @inheritdoc
     */
    public static function tableName()
    {
        return 'w_news';
    }
    /**
     * @inheritdoc
     */
    public function rules()
    {
        return [
            [['name', 'code', 'brief', 'content', 'title', 'kwords', 'descr', 'dt', 'is_active', 'img','mail_send'], 'required'],
            [['brief', 'content'], 'string'],
            [['img'], 'file'],
            [['sort_delete', 'is_active', 'mail_send', 'mails_count'], 'integer'],
            [['name', 'code', 'title', 'kwords', 'descr', 'price_list'], 'string', 'max' => 254],
            [['dt'], 'string', 'max' => 15],
            [['code'], 'unique'],
            [['mails_count'], 'default', 'value' => '0'],
        ];
    }
    public function getDate(){
        return date("Y-m-d", $this->dt);
    }
    function minImg($dir, $width, $height=null){
        if($width=='original'){
            $preg = '/\/(.[^\/]*)$/';
            preg_match('/\.(.[^.]*)$/', $dir, $type);
            $row = preg_replace( $preg, '/original.'.$type[1],  $dir);
        } else {
            $preg = '/\/(.[^\/]*)$/';
            preg_match('/\.(.[^.]*)$/', $dir, $type);
            $row =  preg_replace( $preg, '/'.$width.'X'.$height.'.'.$type[1],  $dir);
        }
        return $row;
//        if(file_exists($_SERVER['DOCUMENT_ROOT'].$row)){
//            return $row;
//        } else {
//            return "/storage/no-image.png";
//        }
    }
    /**
     * @inheritdoc
     */
    public function attributeLabels()
    {
        return [
            'id' => 'ID',
            'name' => 'Название',
            'code' => 'Алиас',
            'brief' => 'Краткое описание',
            'content' => 'Содержание',
            'sort_delete' => 'Sort Delete',
            'title' => 'SEO: Title',
            'kwords' => 'SEO: Ключевые слова',
            'descr' => 'SEO: Описание',
            'dt' => 'Дата',
            'is_active' => 'Выводить',
            'mail_send' => 'Отправить подписчикам',
            'mails_count' => 'Отправлено писем',
            'img' => 'Изображение',
            'price_list' => 'Прайс лист',
        ];
    }
    public function pregStr($str){
        $vowels = array("<strong>", "</strong>");
        return str_replace($vowels, "", $str);
    }
}