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);
}
}