<?php
include_once '../sys/inc/start.php';
$doc= new document();
$doc -> title = 'Очистка категории';



if (!isset($_GET['id']) || !is_numeric($_GET['id']))
{
header('Refresh: 1; url=./');
$doc->err('Ошибка выбора категории');
exit;
}
$id_category=(int)$_GET['id'];

$q=mysql_query("SELECT * FROM `forum_categories` WHERE `id` = '$id_category' AND `group_edit` <= '$user->group'");

if (!mysql_num_rows($q))
{
header('Refresh: 1; url=./');
$doc->err('Категория не доступна для чистки');
exit;
}

$category=mysql_fetch_assoc($q);

$doc->title ='Чистка категории "'.$category['name'].'"'; // шапка страницы



if (isset($_POST['clear']))
{
if (!isset($_SESSION['captcha']) || !isset($_POST['chislo']) || $_SESSION['captcha']!=$_POST['chislo']){$doc->err('Проверочное число введено неверно');}
else
{
// блокируем таблицы
mysql_query("LOCK TABLES `forum_categories` WRITE READ, `forum_topics` WRITE READ, `forum_themes` WRITE READ, `forum_messages` WRITE READ, `forum_history` WRITE READ");

/*
// получаем список всех сообщений из категории для удаления истории
$q_topics=mysql_query("SELECT `id` FROM `forum_messages` WHERE `id_category` = '$category[id]'");
while ($message=mysql_fetch_assoc($q_topics)) {
mysql_query("DELETE FROM `forum_history` WHERE `id_message` = '$message[id]'");
}

// удаляем все сообщения, которые относящиеся к категории
mysql_query("DELETE FROM `forum_messages` WHERE `id_category` = '$category[id]'");
// удаляем все темы, которые относящиеся к категории
mysql_query("DELETE FROM `forum_themes` WHERE `id_category` = '$category[id]'");
// удаляем все разделы, которые относящиеся к категории
mysql_query("DELETE FROM `forum_topics` WHERE `id_category` = '$category[id]'");
// удаляем категорию
mysql_query("DELETE FROM `forum_categories` WHERE `id` = '$category[id]' LIMIT 1");
*/
// оптимизация таблиц после удаления данных
mysql_query("OPTIMIZE TABLE `forum_categories`, `forum_topics`, `forum_themes`, `forum_messages`, `forum_history`");
// разблокируем таблицы
mysql_query("UNLOCK TABLES");


header('Refresh: 1; url=./');
$doc->msg('Категория успешно очищена');
exit;
}
}







$smarty = new design();
$smarty->assign('method','post');
$smarty->assign('action',"?id=$category[id]&amp;".passgen().(isset($_GET['return'])?'&amp;return='.urlencode($_GET['return']):null));
$elements=array();


$count['themes_all']=mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_themes` WHERE `id_category` = '$category[id]'"), 0);
echo "Всего тем в категории: $count[themes_all]<br />";

// темы, в которых была активность более года назад
$count['themes_old']=mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_themes` WHERE `id_category` = '$category[id]' AND `top` = '0' AND `time_last` < '".(TIME-31536000)."'"), 0);
echo "Не активные более года: $count[themes_old]<br />";
// темы, закрытые более трех месяцев
$count['themes_old2']=mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_themes` WHERE `id_category` = '$category[id]' AND `top` = '0' AND `group_write` > '1' AND `time_last` < '".(TIME-7884000)."'"), 0);
echo "Закрытые более трех месяцев: $count[themes_old2]<br />";


if (!$count['themes_old']+$count['themes_old2'])
$elements[]=array('type'=>'text','value'=>'<b>Категория не требует очистки</b>','br'=>1);
else
{
$elements[]=array('type'=>'captcha','br'=>1);
$elements[]=array('type'=>'text','value'=>'* Данные будут безвозвратно удалены','br'=>1);
$elements[]=array('type'=>'submit', 'br'=>0, 'info'=>array('name'=>'clear', 'value'=>'Чистить')); // кнопка
}

$smarty->assign('el',$elements);
$smarty->display('input.form.tpl');


$doc->act('Параметры категории','category.edit.php?id='.$category['id']);
$doc->ret('В категорию','category.php?id='.$category['id']);

$doc->ret('Форум','./');

?>