Файл: silawar.ru/protected/commands/ClearCommand.php
Строк: 51
<?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();
}
}
}