Вход Регистрация
Файл: silawar.ru/protected/models/DungeonsList.php
Строк: 139
<?php
class DungeonsList extends CActiveRecord {

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

    public function 
rules() {
        return array(
            array(
'name_dungeon, warriors_need, healers_need, all_need, time_cooldown, day_access''required'),
            array(
'level, warriors_need, healers_need, all_need, day_access''numerical''integerOnly' => true),
            array(
'name_dungeon''length''max' => 64),
            array(
'time_cooldown''length''max' => 11),
            array(
'id_dungeon, name_dungeon, level, warriors_need, healers_need, all_need, time_cooldown, day_access''safe''on' => 'search'),
        );
    }

    public function 
relations() {
        return array(
            
'battlesDungeons' => array(self::HAS_MANY'BattlesDungeons''id_dungeon'),
            
'dungeonsBots' => array(self::HAS_MANY'DungeonsBots''id_dungeon'),
            
'usersLog' => array(self::MANY_MANY'Users''user_dungeons(id_dungeon, id_user)'),
            
'users' => array(self::MANY_MANY'Users''dungeons_waiters(id_dungeon, id_user)',
                            
'condition'=>'users.last_visit > '.(time()-60*5)),
            
'warriors' => array(self::MANY_MANY'Users''dungeons_waiters(id_dungeon, id_user)',
                            
'condition'=>'warriors.class = 1 AND warriors.last_visit > '.(time()-60*5)),
            
'healers' => array(self::MANY_MANY'Users''dungeons_waiters(id_dungeon, id_user)',
                            
'condition'=>'healers.class = 2 AND healers.last_visit > '.(time()-60*5)),
        );
    }

    public function 
attributeLabels() {
        return array(
            
'id_dungeon' => 'Id Dungeon',
            
'name_dungeon' => 'Name Dungeon',
            
'level' => 'Level',
            
'warriors_need' => 'Warriors Need',
            
'healers_need' => 'Healers Need',
            
'all_need' => 'All Need',
            
'time_cooldown' => 'Time Cooldown',
            
'day_access' => 'Day Access',
        );
    }

    public function 
behaviors() {
        return array(
'CAdvancedArBehavior' => array(
            
'class' => 'application.extensions.CAdvancedArBehavior.CAdvancedArBehavior'));
    }

    public function 
search() {
        
$criteria = new CDbCriteria;

        
$criteria->compare('id_dungeon'$this->id_dungeontrue);
        
$criteria->compare('name_dungeon'$this->name_dungeontrue);
        
$criteria->compare('level'$this->level);
        
$criteria->compare('warriors_need'$this->warriors_need);
        
$criteria->compare('healers_need'$this->healers_need);
        
$criteria->compare('all_need'$this->all_need);
        
$criteria->compare('time_cooldown'$this->time_cooldowntrue);
        
$criteria->compare('day_access'$this->day_access);

        return new 
CActiveDataProvider($this, array(
            
'criteria' => $criteria,
        ));
    }
    
    public static function 
model($className __CLASS__) {
        return 
parent::model($className);
    }

    
/**
    * Проверяет находится ли пользователь в очереди
    */
    
public static function checkForWait() {
        
$criteria = new CDbCriteria;
        
$criteria->with = array('users');
        
$criteria->together true;
        
$criteria->addCondition('users.id_user = '.Yii::app()->user->id);
        return 
self::model()->find($criteria);
    }
}
Онлайн: 1
Реклама