News.php 3.06 KB
<?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);
    }
}