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

class UsersMessages extends CActiveRecord {

    public function 
tableName() {
        return 
'users_messages';
    }

    public function 
rules() {
        return array(
            array(
'id_dialog, id_user, type, money, iron, bottles, item, time, status''required'),
            array(
'type, status''numerical''integerOnly' => true),
            array(
'id_dialog, id_user''length''max' => 10),
            array(
'message''length''max' => 1024),
            array(
'money, iron, bottles, item, time''length''max' => 11),
            array(
'id_message, id_dialog, id_user, type, message, money, iron, bottles, item, time, status''safe''on' => 'search'),
        );
    }

    public function 
relations() {
        return array(
            
'idUser' => array(self::BELONGS_TO'Users''id_user'),
            
'idDialog' => array(self::BELONGS_TO'UsersDialogs''id_dialog'),
            
'users' => array(self::MANY_MANY'Users''users_messages_for_users(id_message, id_user)'),
        );
    }

    public function 
attributeLabels() {
        return array(
            
'id_message' => 'Id Message',
            
'id_dialog' => 'Id Dialog',
            
'id_user' => 'Id User',
            
'type' => 'Type',
            
'message' => 'Message',
            
'money' => 'Money',
            
'iron' => 'Iron',
            
'bottles' => 'Bottles',
            
'item' => 'Item',
            
'time' => 'Time',
            
'status' => 'Status',
        );
    }
    
    protected function 
beforeSave() {
        if (
$this->isNewRecord) {
            
$this->time time();
            
$this->status 1;
        }
        return 
parent::beforeSave();
    }
    
    public function 
behaviors() {
        return array(
'CAdvancedArBehavior' => array(
            
'class' => 'application.extensions.CAdvancedArBehavior.CAdvancedArBehavior'));
    }
    
    
/**
     * Проверяет есть ли у пользователя новая почта
     * @param int $id
     * @return int
     */
    
public static function checkNewMail() {
        if (!
Yii::app()->user->isGuest) {
            
$criteria = new CDbCriteria();
            
$criteria->with = array('users');
            
$criteria->compare('users.id_user'Yii::app()->user->id);
            
$criteria->compare('t.status'1);
            return 
self::model()->count($criteria);
        }
        return 
false;
    }
    
    public function 
search($id_user null) {
        
$criteria = new CDbCriteria;
        
$criteria->compare('id_dialog'$this->id_dialog);
        
        return new 
CActiveDataProvider($this, array(
            
'criteria' => $criteria,
            
'sort' => array(
                
'sortVar' => 'sort',
                
'defaultOrder' => 'time DESC',
            ),
            
'pagination' => array(
                
'route' => '/mail/list/',
                
'params' => array('id'=>$id_user),
                
'pageVar' => 'page',
                
'pageSize' => '10',
            ),
        ));
    }

    public static function 
model($className __CLASS__) {
        return 
parent::model($className);
    }

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