<?php
include_once '../sys/inc/start.php';
$doc = new document(1);

$accept=(empty($_SESSION['antiflood']['newtheme']) || $_SESSION['antiflood']['newtheme']<TIME-3600)?true:false;



if ($user->group >= 2)$accept=true; // админ-составу разрешается создавать темы без ограничений



$doc -> title ='Новая тема';

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


if ($user->group < 2 && !empty($dcms->forum_theme_after_day) && $user->reg_date>TIME-86400)
{
if (isset($_GET['return']))
header('Refresh: 1; url='.$_GET['return']);
else header('Refresh: 1; url=./');
$doc->err('Новым пользователям разрешено создавать темы после суток пребывания на сайте');
if (isset($_GET['return']))
$doc->ret('В тему',for_value($_GET['return']));
else
$doc->ret('В тему','theme.php?id='.$theme['id']);
exit;
}








$q=mysql_query("SELECT * FROM `forum_topics` WHERE `id` = '$id_topic' AND `group_write` <= '$user->group'");

if (!mysql_num_rows($q))
{
if (isset($_GET['return']))
header('Refresh: 1; url='.$_GET['return']);
else header('Refresh: 1; url=./');
$doc->err('В выбранном разделе нельзя создавать темы');
exit;
}

$topic=mysql_fetch_assoc($q);





if ($accept && isset($_POST['message']) && isset($_POST['name']))
{
$message=text::input_text($_POST['message']);
$name=text::for_name($_POST['name']);


if ($mat = is_valid::mat($message))$doc -> err('Обнаружен мат: '.$mat);
elseif ($mat = is_valid::mat($name))$doc -> err('Обнаружен мат: '.$mat);
elseif ($dcms->forum_theme_captcha && $user->group < 2 && (!isset($_SESSION['captcha']) || !isset($_POST['chislo']) || $_SESSION['captcha']!==$_POST['chislo']))
{
$doc->err('Проверочное число введено неверно');
}
elseif ($message && $name)
{
$user->balls++;
mysql_query("UPDATE `forum_topics` SET `time_last` = '".TIME."' WHERE `id` = '$id_topic' LIMIT 1");


mysql_query("INSERT INTO `forum_themes` (`id_category`, `id_topic`,  `name`, `id_autor`, `time_create`, `id_last`, `time_last`, `group_show`, `group_write`, `group_edit`)
 VALUES ('$topic[id_category]','$topic[id]','".my_esc($name)."', '$user->id', '".TIME."','$user->id','".TIME."','$topic[group_show]','$topic[group_write]','".max($user->group,2)."')");

$theme['id']=mysql_insert_id();
$theme=mysql_fetch_assoc(mysql_query("SELECT * FROM `forum_themes` WHERE `id` = '$theme[id]' LIMIT 1"));
mysql_query("INSERT INTO `forum_messages` (`id_category`, `id_topic`, `id_theme`, `id_user`, `time`, `message`, `group_show`, `group_edit`)
 VALUES ('$theme[id_category]','$theme[id_topic]','$theme[id]','$user->id','".TIME."','".my_esc($message)."','$theme[group_show]','$theme[group_edit]')");

$_SESSION['antiflood']['newtheme']=TIME;
$doc->msg('Тема успешно создана');

header('Refresh: 1; url=theme.php?id='.$theme['id']);
$doc->ret('В тему','theme.php?id='.$theme['id']);
exit;

}
else
{
$doc->err('Сообщение или название темы пусто');
}

}






$doc->title=$topic['name'].' - Новая тема';


if ($accept){
$smarty = new design();
$smarty->assign('method','post');
$smarty->assign('action',"?id_topic=$topic[id]&amp;".passgen().(isset($_GET['return'])?'&amp;return='.urlencode($_GET['return']):null));
$elements=array();
$elements[]=array('type'=>'input_text', 'title'=>'Название темы*', 'br'=>1, 'info'=>array('name'=>'name'));
$elements[]=array('type'=>'text','value'=>output_text('* Название темы должно быть информативным, четко выделяя ее среди других тем. [b]Названия вида "помогите", "как сделать" и т.д. строго запрещены.[/b]'),'br'=>1);
$elements[]=array('type'=>'textarea', 'title'=>'Сообщение', 'br'=>1, 'info'=>array('name'=>'message'));
if ($dcms->forum_theme_captcha  && $user->group < 2)$elements[]=array('type'=>'captcha', 'br'=>1);
$elements[]=array('type'=>'submit', 'br'=>0, 'info'=>array('value'=>'Создать тему')); // кнопка
$smarty->assign('el',$elements);
$smarty->display('input.form.tpl');
}
else echo "Разрешается создавать темы не чаще одного раза в час";


if (isset($_GET['return']))$doc->ret('В раздел',for_value($_GET['return']));
else
$doc->ret('В раздел','theme.php?id='.$theme['id']);

?>
