Файл: sysadm/cron.php
Строк: 135
<?
define('ROOT','../');
require_once (ROOT.'system/power.php');
$fuser->aut();
$admin->user_can('settings_site',$ya['id'],true,ROOT.'sysadm/');
$diz -> head('Система CRON');
$diz -> title('Система CRON');
switch($do){
case 'cron':
if (!isset($_POST['submit'])) {
echo'<div class="fon"><form action="?do=cron" method="post">
'.language('Укажите время между чистками в днях(не менее 1 и не более 30)').':<br/>
<input type="number" name="cron" value="'.($db->settings('cron')/86400).'" min="1" max="30"/>
<br/>
<input type="submit" name="submit" value="'.language('Изменить').'"/></form>
</div>';
}else{
$time = (!empty($_POST['cron']) && ($_POST['cron']>=1 or $_POST['cron']<=30)) ? abs(intval($_POST['cron'])) : 1;
$db->query("UPDATE `settings` SET `parametr`=".($time*86400)." where `name`='cron' LIMIT 1");
header('Location: ?do=cron');
}
echo '<div class="levo"><a href="?" class="levo_tuch">'.$diz -> icon('back.png').' '.language('Назад').'</a></div>';
break;
case 'clear':
if(!isset($_GET['true'])){
echo'<div class="fon">'.language('Вы подтверждаете это действие').'?</div>';
echo '<div class="dialog">
<a class="dialog_m" href="?do=clear&true">'.language('Да').'</a>
<a class="dialog_m" href="?">'.language('Нет').'</a>
</div>';
}else{
/////////Удаление старых писем (больше недели)
$db -> query("DELETE FROM `mail` WHERE `read`<>'save' and `time` < '".(time()-604800)."'");
/////////Удаление старых событий (больше недели)
$db -> query("DELETE FROM `lenta` WHERE `time` < '".(time()-604800)."'");
/////////Удаление старых запросов на восстановление пароля
$db -> query("DELETE FROM `report` WHERE `type`='lost' and `time` < '".(time()-259200)."'");
/////////Удаление старых запросов на подтверждение email
$db -> query("DELETE FROM `report` WHERE `type`='act_email' and `time` < '".(time()-86400)."'");
//Удаление рекламы
$db -> query("DELETE FROM `reklama` WHERE `time` < '".time()."'");
///удаляем пустые диалоги
$db -> query("DELETE FROM dialogs WHERE dialogs.id NOT IN (SELECT mail.dialog FROM mail)");
///Разбан пользователей
$db -> query("DELETE FROM `ban` WHERE `bantime` < '".time()."'");
//обновляем время крона
$db->query("UPDATE `settings` SET `parametr`=".($db->settings('cron')+time())." where `name`='crontime' LIMIT 1");
header('Location: ?');
}
break;
default:
echo '<div class="fon">'.language('Автоматическая чистка будет').': <span class="date">'.$func -> times(date('d m Y H:i:s',ustime($ya['gmt'],$db->settings('crontime')))).'</span><br/>
'.language('Последняя чистка была').': <span class="date">'.$func -> times(date('d m Y H:i:s',ustime($ya['gmt'],$db->settings('crontime')-$db->settings('cron')))).'</span><br/>
'.language('Промежуток между чистками').': <span class="date">'.$func->GetName($db->settings('cron')/86400,'день','дня','дней').'</span></div>';
echo '<div class="menu"><a href="?do=clear" class="menutuch">'.$diz -> icon('settings.png').' '.language('Выполнить чистку').'</a></div>';
echo '<div class="menu"><a href="?do=cron" class="menutuch">'.$diz -> icon('settings.png').' '.language('Изменить промежуток между чистками').'</a></div>';
echo '<div class="new">'.language('Удаление').'</div>';
$mail = $db -> dbcount('COUNT(`id`)','mail',"`read`<>'save' and `time` < '".(time()-604800)."'");
$ban = $db -> dbcount('COUNT(`id`)','ban',"`bantime` < '".time()."'");
$dil_del=$db -> query("SELECT id FROM dialogs WHERE dialogs.id NOT IN (SELECT mail.dialog FROM mail)")->num_rows;
$lost = $db -> dbcount('COUNT(`id`)','report',"`type`='lost' and `time` < '".(time()-259200)."'");
$act_email = $db -> dbcount('COUNT(`id`)','report',"`type`='act_email' and `time` < '".(time()-86400)."'");
$lenta = $db -> dbcount('COUNT(`id`)','lenta',"`time` < '".(time()-604800)."'");
$all=$mail+$lenta+$ban+$lost+$dil_del;
echo '<div class="fon"/>
'.language('Записей').': <span class="count">'.$all.'</span><hr>
'.language('Диалогов').': <span class="count">'.$dil_del.'</span><br/>
'.language('Пользователей на разбан').': <span class="count">'.$ban.'</span><br/>
'.language('Заявок восстановления пароля').': <span class="count">'.$lost.'</span><br/>
'.language('Заявок подтверждения email').': <span class="count">'.$act_email.'</span><br/>
'.language('Событий в ленте').': <span class="count">'.$lenta.'</span>
</div>';
}
echo '<div class="levo"><a href="./" class="levo_tuch">'.$diz -> icon('back.png').' '.language('Управление').'</a></div>';
echo '<div class="levo"><a href="'.ROOT.'" class="levo_tuch">'.$diz -> icon('home.png').' '.language('На главную').'</a></div>';
#####Копирайт#######
$diz -> out($msg);
?>