<?php

class ClearCommand extends CConsoleCommand {

    public function run($args) {
        //Считаем онлайн
        $online = AppParams::model()->findByPk(1);
        $online->value_param = rand(10,40) + Users::countOnline();
        $online->save(false);
        //Логи боев которым 3 мин+
        Yii::app()->db->createCommand()->delete('battle_log', '`time`<' . (time() - 180));
        //Лог пещер, которые закрылись 3 дня назад
        //Yii::app()->db->createCommand()->delete('battles_dungeons', '`time_end`<' . (time() - 3 * 24 * 60 * 60));
        //Сообщения в чате, которым больше 12 часов
        Yii::app()->db->createCommand()->delete('chat', '`time`<' . (time() - 12 * 60 * 60));
        //Сообщения для ботов
//        $criteria = new CDbCriteria();
//        $criteria->with = array('idUser');
//        $criteria->together = true;
//        $criteria->addCondition('idUser.id_role=5 OR idUser.id_role=6');
//        $mails = UserMail::model()->findAll($criteria);
//        foreach ($mails as $mail) {
//            $mail->delete();
//        }
        //Чистка разобранных вещей
        $criteria = new CDbCriteria();
        $criteria->with = array('idUser');
        $criteria->together = true;
        $criteria->addCondition('t.status > 0 AND idUser.id_role=5 OR t.status = 5');
        $items = UserItems::model()->findAll($criteria);
        foreach ($items as $item) {
            $item->delete();
        }
        //Чистка прошедших данжей и чистка зверей
        $criteria = new CDbCriteria();
        $criteria->addCondition('time_end > 0 AND time_end <' . (time() - 60 * 60 * 2));
        $dungeons = BattlesDungeons::model()->findAll($criteria);
        foreach ($dungeons as $dungeon) {
            foreach ($dungeon->bots as $bot) {
                $bot->delete();
            }
            $dungeon->delete();
        }
    }

}
