<?php
include_once '../sys/inc/start.php';
$groups = groups::load_ini(); // загружаем массив групп
$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);


if (isset($_POST['save']))
{
if (isset($_POST['name']))
{
$name=text::for_name($_POST['name']);
if ($name && $name!=$theme['name'])
{
$theme['name']=$name;
mysql_query("UPDATE `forum_themes` SET `name` = '".my_esc($theme['name'])."' WHERE `id` = '$theme[id]' LIMIT 1");
$doc->msg('Название темы успешно изменено');
}
}

$t['top']=(int)!empty($_POST['top']);
if ($t['top']!=$theme['top'])
{
$theme['top']=$t['top'];
mysql_query("UPDATE `forum_themes` SET `top` = '$theme[top]' WHERE `id` = '$theme[id]' LIMIT 1");
if ($theme['top'])$doc->msg('Тема успешно закреплена');
else $doc->msg('Тема успешно откреплена');
}

if (isset($_POST['topic']))
{
$topic=(int)$_POST['topic'];
$q=mysql_query("SELECT * FROM `forum_topics` WHERE `id` = '$topic' AND `group_show` <= '$user->group' AND `group_write` <= '$user->group'");

if (mysql_num_rows($q) && $topic!=$theme['id_topic'])
{
$topic=mysql_fetch_assoc($q);
$theme['id_topic']=$topic['id'];
$theme['id_category']=$topic['id_category'];
mysql_query("UPDATE `forum_themes` SET `id_topic` = '$theme[id_topic]',
 `id_category` = '$theme[id_category]',
  `group_show` = '$topic[group_show]' WHERE `id` = '$theme[id]' LIMIT 1");
mysql_query("UPDATE `forum_messages` SET `id_topic` = '$theme[id_topic]' WHERE `id_theme` = '$theme[id]'");

$theme_dir = new files(FILES.'/.forum/'.$theme['id']);
$theme_dir -> setGroupShowRecurse($topic['group_show']); // данный параметр необходимо применять рекурсивно


$doc->msg('Тема успешно перемещена');
}

}


if (isset($_POST['group_show']))
{// просмотр
$group_show=(int)$_POST['group_show'];
if (isset($groups[$group_show]) && $group_show!=$theme['group_show'])
{
$theme_dir = new files(FILES.'/.forum/'.$theme['id']);
$theme_dir -> setGroupShowRecurse($group_show); // данный параметр необходимо применять рекурсивно

$theme['group_show']=$group_show;
mysql_query("UPDATE `forum_themes` SET `group_show` = '$theme[group_show]' WHERE `id` = '$theme[id]' LIMIT 1");
$doc->msg('Читать тему теперь разрешено группе "'.groups::name($group_show).'" и выше');


}
}

if (isset($_POST['group_write']))
{ // запись
$group_write=(int)$_POST['group_write'];
if (isset($groups[$group_write]) && $group_write!=$theme['group_write'])
{

if ($theme['group_show']>$group_write)
$doc->err('Для того, чтобы оставлять сообщения группе "'.groups::name($group_write).'" сначала необходимо дать права на чтение темы');
else{
$theme['group_write']=$group_write;
mysql_query("UPDATE `forum_themes` SET `group_write` = '$theme[group_write]' WHERE `id` = '$theme[id]' LIMIT 1");
$doc->msg('Оставлять сообщения в теме теперь разрешено группе "'.groups::name($group_write).'" и выше');
}
}
}





if (isset($_POST['group_edit']))
{ // редактирование
$group_edit=(int)$_POST['group_edit'];
if (isset($groups[$group_edit]) && $group_edit!=$theme['group_edit'])
{
if ($theme['group_write']>$group_edit)
$doc->err('Для изменения параметров темы группе "'.groups::name($group_edit).'" сначала необходимо дать права на запись в тему');
else{
$theme['group_edit']=$group_edit;
mysql_query("UPDATE `forum_themes` SET `group_edit` = '$theme[group_edit]' WHERE `id` = '$theme[id]' LIMIT 1");
$doc->msg('Изменять параметры темы теперь разрешено группе "'.groups::name($group_edit).'" и выше');
}
}
}


}




$doc->title='Редактирование темы "'.$theme['name'].'"'; // шапка страницы



$smarty = new design();
$smarty->assign('method','post');
$smarty->assign('action',"?id=$theme[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','value'=>$theme['name']));



$options=array();
$q = mysql_query("SELECT `id`,`name` FROM `forum_categories` WHERE `group_show` <= '$user->group' ORDER BY `position` ASC");
while ($category = mysql_fetch_assoc($q))
{
$options[]=array($category['name'],'groupstart'=>1);
$q2 = mysql_query("SELECT `id`,`name` FROM `forum_topics` WHERE `id_category` = '$category[id]' AND `group_show` <= '$user->group' AND `group_write` <= '$user->group' ORDER BY `time_last` DESC");
while ($topic = mysql_fetch_assoc($q2))$options[]=array($topic['id'],$topic['name'],$topic['id']==$theme['id_topic']);
$options[]=array('groupend'=>1);
}
$elements[]=array('type'=>'select', 'br'=>1, 'title'=>'Раздел', 'info'=>array('name' => 'topic','options' => $options));





$options=array();
foreach ($groups as $type=>$value) {
$options[]=array($type,$value['name'],$type==$theme['group_show']);
}
$elements[]=array('type'=>'select', 'br'=>1, 'title'=>'Чтение темы', 'info'=>array('name' => 'group_show','options' => $options));

$options=array();
foreach ($groups as $type=>$value) {
$options[]=array($type,$value['name'],$type==$theme['group_write']);
}
$elements[]=array('type'=>'select', 'br'=>1, 'title'=>'Пишут в тему', 'info'=>array('name' => 'group_write','options' => $options));

$options=array();
foreach ($groups as $type=>$value) {
$options[]=array($type,$value['name'],$type==$theme['group_edit']);
}
$elements[]=array('type'=>'select', 'br'=>1, 'title'=>'Изменяют параметры', 'info'=>array('name' => 'group_edit','options' => $options));

$elements[]=array('type'=>'checkbox', 'br'=>1,'info'=>array('value'=>1,'checked'=>$theme['top'], 'name'=>'top', 'text'=>'Всегда наверху'));
$elements[]=array('type'=>'text','value'=>'* Будьте внимательнее при установке доступа выше своего.','br'=>1);
//$elements[]=array('type'=>'textarea', 'title'=>'Редактирование сообщения', 'br'=>1, 'info'=>array('name'=>'message','value'=>$message['message']));
$elements[]=array('type'=>'submit', 'br'=>0, 'info'=>array('name'=>'save', 'value'=>'Применить изменения')); // кнопка
$smarty->assign('el',$elements);
$smarty->display('input.form.tpl');









if (isset($_GET['return']))$doc->ret('В тему',for_value($_GET['return']));
else
$doc->ret('В тему','theme.php?id='.$theme['id']);


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

?>