Вход Регистрация
Файл: silawar.ru/protected/models/UserMail.php
Строк: 93
<?php

class UserMail extends CActiveRecord {

    
/**
     * @return string the associated database table name
     */
    
public function tableName() {
        return 
'user_mail';
    }

    
/**
     * @return array validation rules for model attributes.
     */
    
public function rules() {
        
// NOTE: you should only define rules for those attributes that
        // will receive user inputs.
        
return array(
            
// The following rule is used by search().
            // @todo Please remove those attributes that should not be searched.
            
array('id_user, id_mail, type, new, save, time, items, bottles, iron, money, text, who, whom, sender''safe'),
        );
    }

    
/**
     * @return array relational rules.
     */
    
public function relations() {
        
// NOTE: you may need to adjust the relation name and the related
        // class name for the relations automatically generated below.
        
return array(
            
'idUser' => array(self::BELONGS_TO'Users''id_user'),
            
'idItem' => array(self::BELONGS_TO'UserItems''items'),
            
'idWho' => array(self::BELONGS_TO'Users''who'),
            
'idWhom' => array(self::BELONGS_TO'Users''whom'),
        );
    }

    
/**
     * @return array customized attribute labels (name=>label)
     */
    
public function attributeLabels() {
        return array(
            
'text' => Yii::t('layout''Сообщение'),
        );
    }

    protected function 
beforeSave() {
        if (
parent::beforeSave()) {
            if (
$this->isNewRecord) {
                
$this->time time();
                if (isset(
Yii::app()->user)) {
                    if (
$this->who == Yii::app()->user->id && $this->id_user == Yii::app()->user->id) {
                        
$this->new 0;
                    }
                }
            }
            return 
true;
        } else
            return 
false;
    }

    
/**
     * Проверяет есть ли у пользователя новая почта
     * @param int $id
     * @return int
     */
    
public static function checkNewMail() {
        if (!
Yii::app()->user->isGuest) {
            
$criteria = new CDbCriteria;
            
$criteria->compare('whom'Yii::app()->user->id);
            
$criteria->compare('new'1);
            return 
self::model()->count($criteria);
        }
        return 
false;
    }

    
/**
     * Проверяет есть ли у пользователя новая почта с вложением
     * @param int $id
     * @return int
     */
    
public static function checkNewMailWithAttachment() {
        if (!
Yii::app()->user->isGuest) {
            
$criteria = new CDbCriteria;
            
$criteria->addCondition('type > 0');
            
$criteria->compare('whom'Yii::app()->user->id);
            
$criteria->compare('new'1);
            return 
self::model()->count($criteria);
        }
        return 
false;
    }

    public function 
search() {
        
$criteria = new CDbCriteria;
        
$criteria->compare('id_user'$this->id_user);
        return new 
CActiveDataProvider($this, array(
            
'criteria' => $criteria,
        ));
    }

    
/**
     * Returns the static model of the specified AR class.
     * Please note that you should have this exact method in all your CActiveRecord descendants!
     * @param string $className active record class name.
     * @return Files the static model class
     */
    
public static function model($className __CLASS__) {
        return 
parent::model($className);
    }

    
/**
     * Обрезает текст сообщения, чтоб он нормально отображался на выводе сообщений
     * @param string $text текст с бд
     * @return string обрезаный текст
     */
    
public static function cutText($text) {
        
$result strip_tags($text);
        if (
strlen($result) > 19) {
            
$result mb_substr($result017'UTF-8');
            
$result .= '...';
        }
        return 
$result;
    }

}
Онлайн: 1
Реклама