Файл: sysadm/cron.php
Строк: 79
<?php
define('GCMS',true);
define('ROOT','../');
require_once (ROOT.'system/power.php');
if($aut==true){
if($ya['level']==7){
$diz -> head('Система CRON');
$diz -> title('Система CRON');
switch($do){
case 'cron':
if (!isset($_POST['submit'])) {
echo'<div class="fon"><form action="cron.php?do=cron" method="post">
Укажите время между чистками в секундах(не менее 86400 и не более 2592000):<br/><input type="text" name="cron" value="'.$nastr['cron'].'" maxlength="40"/><br/>
<input type="submit" name="submit" value="Изменить"/></form>
</div>';
}else{
$time=intval(abs($_POST['cron']));
if($time>=86400 and $time<=2592000){
$db->query("UPDATE `settings` SET `parametr`=".$time." where `name`='cron' LIMIT 1");
}
header('Location: cron.php?do=cron');
}
echo '<div class="levo"><a href="cron.php" class="levo_tuch">'.$diz -> img('back.png').' Система CRON</a></div>';
break;
case 'clear':
if(!isset($_GET['true'])){
echo'<div class="fon">Вы действительно желаете выполнить очистку БД сейчас?</div>';
echo '<div class="dialog">
<a class="dialog_m" href="?do=clear&true">Да</a>
<a class="dialog_m" href="?">Нет</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)."'");
//Удаление рекламы
$db -> query("DELETE FROM `reklama` WHERE `time` < '".time()."'");
///Разбан пользователей
$db -> query("DELETE FROM `ban` WHERE `bantime` < '".time()."'");
//обновляем время крона
$db->query("UPDATE `settings` SET `parametr`=".($nastr['cron']+time())." where `name`='crontime' LIMIT 1");
header('Location: ?');
}
break;
default:
echo '<div class="fon"/>В данном разделе можно посмотреть следующую автоматическую чистку БД. Так же выполнить это вручную.</div>';
echo '<div class="new"/>Автоматическая чистка будет: '.$func -> times(date('d m Y в H:i:s',$nastr['crontime'])).'<br/>
Последняя чистка БД была: '.$func -> times(date('d m Y в H:i:s',$nastr['crontime']-$nastr['cron'])).'<br/>
Промежуток между чистками: '.$func->ontime($nastr['cron']).'</div>';
echo '<div class="levo"><a href="?do=clear" class="levo_tuch">'.$diz -> img('r.png').' Выполнить чистку сейчас</a></div>';
echo '<div class="levo"><a href="?do=cron" class="levo_tuch">'.$diz -> img('r.png').' Изменить промежуток между чистками</a></div>';
echo '<div class="new"/>Общие сведения</div>';
$mail = $db -> dbcount('COUNT(`id`)','mail',"`read`<>'save' and `time` < '".(time()-604800)."'");
$ban = $db -> dbcount('COUNT(`id`)','ban',"`bantime` < '".time()."'");
$lost = $db -> dbcount('COUNT(`id`)','report',"`type`='lost' and `time` < '".(time()-259200)."'");
$lenta = $db -> dbcount('COUNT(`id`)','lenta',"`time` < '".(time()-604800)."'");
$all=$mail+$lenta+$ban+$lost;
echo '<div class="fon"/>
Всего записей на удаление: <b>'.$all.'</b><hr>
Писем на удаление: <b>'.$mail.'</b><br/>
Пользователей на разбан: <b>'.$ban.'</b><br/>
Заявок восстановления пароля на удаление: <b>'.$lost.'</b><br/>
Событий в ленте на удаление: <b>'.$lenta.'</b>
</div>';
}
echo '<div class="levo"><a href="./" class="levo_tuch">'.$diz -> img('back.png').' Админка</a></div>';
echo '<div class="levo"><a href="/index.php" class="levo_tuch">'.$diz -> img('home.png').' На главную</a></div>';
#####Копирайт#######
$diz -> out($msg);
} else header('location: ./');
} else header('location: '.ROOT);
?>