<?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_theme=(int)$_GET['id'];

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

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

$theme=mysql_fetch_assoc($q);



$doc->title.=' - '.$theme['name'];

switch (@$_GET['show']) {
case 'all':$show ='all';break;
default:$show ='part';break;
}


$delete_posts = array();

foreach ($_POST as $key=>$value) {
if ($value && preg_match('#^post([0-9]+)$#ui', $key, $n))
$delete_posts[]="`forum_messages`.`id` = '$n[1]'";
}



if ($delete_posts)
{
if (isset($_POST['delete']))
{

foreach ($_POST as $key=>$value) {
if ($value && preg_match('#^post([0-9]+)$#ui', $key, $n))
{
// удаление папок с файлами сообщений
	$dir = new files(FILES.'/.forum/'.$theme['id'].'/'.$n[1]);
	$dir -> delete();
	unset($dir);
}
}



mysql_query("DELETE FROM `forum_messages`, `forum_history`
USING `forum_messages`
LEFT JOIN `forum_history`
ON `forum_messages`.`id` = `forum_history`.`id_message`
WHERE `forum_messages`.`id_theme` = '$theme[id]' AND (".implode(' OR ',$delete_posts).")");
$doc->msg('Успешно удалено "'.count($delete_posts).'" сообщений');
}

if (isset($_POST['hide']))
{
mysql_query("UPDATE `forum_messages` SET `forum_messages`.`group_show` = '2' WHERE `forum_messages`.`id_theme` = '$theme[id]' AND (".implode(' OR ',$delete_posts).") LIMIT ".count($delete_posts));
$doc->msg('Успешно скрыто "'.count($delete_posts).'" сообщений');
}

}


// меню сортировки
$ord = array();
$ord[]=array("?id=$theme[id]&amp;show=all",'Все',$show =='all');
$ord[]=array("?id=$theme[id]&amp;show=part",'Постранично',$show=='part');
$or = new design();
$or->assign('order',$ord);
$or->display('design.order.tpl');


$posts = array();
if ($show=='part'){
$pages = new pages;
$pages->posts = mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_messages` WHERE `id_theme` = '$theme[id]' AND `group_show` <= '$user->group'"), 0); // количество сообщений  теме
$pages->this_page(); // получаем текущую страницу
$q = mysql_query("SELECT `id`, `id_user`, `message`, `time` FROM `forum_messages`  WHERE `id_theme` = '$theme[id]' AND `group_show` <= '$user->group' ORDER BY `id` ASC LIMIT {$pages->my_start()}, {$pages->items_per_page}");
}
else
$q = mysql_query("SELECT `id`, `id_user`, `message`, `time` FROM `forum_messages`  WHERE `id_theme` = '$theme[id]' AND `group_show` <= '$user->group' ORDER BY `id` ASC");

while ($messages=mysql_fetch_assoc($q)) {
$ank=new user($messages['id_user']);

$t=$ank->nick.' '.vremja($messages['time']);
$p=text::for_opis($messages['message']);


$posts[]=array('title'=>$t, 'checkbox'=>array('name'=>'post'.$messages['id']), 'post'=>$p);
}
if (!$posts)$posts[]=array('icon'=>array('size'=>'small','src'=>'/sys/images/icons/empty.png'),'title'=>'Сообщения отсутствуют');

$show = new design();
$show->assign('post',$posts);
echo "<form method='post' action='?id=$theme[id]'>";
$show->display('design.listing.tpl');
echo "<input type='submit' name='delete' value='Удалить' /><input type='submit' name='hide' value='Скрыть' /></form>";
if ($show=='part')
$pages->listing('?id='.$theme['id'].'&amp;show=part&amp;'); // вывод страниц

$doc->ret('Вернуться в тему','theme.php?id='.$theme['id'].($show=='part'?'&amp;page='.$pages->this_page:''));


$doc->ret('В раздел','topic.php?id='.$theme['id_topic']);
$doc->ret('В категорию','category.php?id='.$theme['id_category']);
$doc->ret('Форум','./');
?>
