<?
include('./cfg.php');
error_reporting(0);
if($var[0] == "")
{
include('./header.php');
echo '<div class="money">Форум</div><div class="money">';
switch($_GET['a'])
{
default:
if (isset($_GET['del']))
	{
	if ($user['rank'] == 'Админ' OR $user['rank'] == 'Модер')
		{
		echo '<b>Вы уверены что хотите удалить раздел? Все темы раздела также удалятся!<br /><a class="razd" href="?del='.$_GET['del'].'&amp;answ=yes">Да</a> / <a class="razd" href="./forum.php">Нет</a><br /></b>';
		if ($_GET['answ'] == 'yes')
			{
			mysql_query("DELETE FROM `forum_razdel` WHERE `id`='$_GET[del]'");
			echo 'Раздел удален!<br /><a class="razd" href="./forum.php">Назад</a>';
			}
		}
	}

if (isset($_GET['edit']))
	{
	if ($user['rank'] == 'Админ' OR $user['rank'] == 'Модер')
		{
		if (isset($_POST['title']))
		{
		mysql_query("UPDATE `forum_razdel` SET `title`='$_POST[title]' WHERE `id`='$_GET[edit]'");
		header('Location: forum.php');
		} else {
		$title = mysql_fetch_array(mysql_query("SELECT * FROM `forum_razdel` WHERE `id`='$_GET[edit]'"));
		echo '
	<form method="post" action="?edit='.$_GET[edit].'">
	<input type="text" name="title" size="10" maxlength="35" value='.$title[title].'><br />
	<input type="submit" value="изменить">
	</form>
	';
			}
		}
	}

$query = mysql_query("SELECT * FROM `forum_razdel` ORDER BY `id` DESC ");
while($res = mysql_fetch_assoc($query))
	{
	echo '<img src="./images/blog.gif" alt=*> <a href="?a=view_razdel&amp;id='.$res['id'].'">'.$res['title'].'</a> ';
	if ($user[rank] == 'Админ' OR $user['rank'] == 'Модер') echo '<a href="?del='.$res['id'].'">[х]</a> <a  href="?edit='.$res[id].'">[e]</a>';
	echo '<br />';
	}
echo '</div>';
if ($user[rank] == 'Админ' OR $user['rank'] == 'Модер') echo '</div><a class="razd" href="?a=create_razdel_by_admin">Создать раздел</a>';

break;

case 'create_razdel_by_admin':
if ($user[rank] == 'Админ' OR $user['rank'] == 'Модер')
	{
	if (isset($_POST['title']))
		{
		mysql_query("INSERT INTO `forum_razdel` SET `title`='$_POST[title]';");
		echo 'Раздел '.$_POST['title'].' успешно создан</div><a class="razd" href="./forum.php">Вернуться</a>';
		} else {
	echo '
	<form method="post" action="?a=create_razdel_by_admin">
	<input type="text" name="title" size="10" maxlength="35"><br />
	<input type="submit" value="создать">
	</form></div>
	';
				}
	} else header('Location: forum.php');
break;



case 'view_razdel':
$id = abs(intval($_GET[id]));
$count = mysql_result(mysql_query("SELECT count(*) FROM `forum_themes` WHERE `razdel`='$id'"),0);
if ($count > 0)
	{


	$per_page=15;
// получаем номер страницы
if (isset($_GET['page'])) $page=($_GET['page']-1); else $page=0;
// вычисляем первый оператор для LIMIT
$start=abs($page*$per_page);
// составляем запрос и выводим записи
// переменную $start используем, как нумератор записей.
if (isset($_GET['del']) AND abs(round($_GET['del'])) !== '0' AND ($user[rank] == 'Админ' OR $user[rank] == 'Модер'))
	{
	$isset_theme = mysql_result(mysql_query("SELECT count(`id`) FROM `forum_themes` WHERE `id`='".abs(round($_GET['del']))."';"),0);
	if ($isset_theme !== '0')
		{
		mysql_query("DELETE FROM `forum_themes` WHERE `id`='".abs(round($_GET['del']))."';");
		echo 'Тема удалена!';
		} else echo 'Нет такой темы';
	echo '';
	}

if (isset($_GET['cls']) AND abs(round($_GET['cls'])) !== '0' AND ($user[rank] == 'Админ' OR $user[rank] == 'Модер' OR $user[id] == $res[user]))
	{
	$isset_theme = mysql_result(mysql_query("SELECT count(`id`) FROM `forum_themes` WHERE `id`='".abs(round($_GET['cls']))."';"),0);
	if ($isset_theme !== '0')
		{
		mysql_query("UPDATE `forum_themes` SET `closed`='1' WHERE `id`='".abs(round($_GET['cls']))."';");
		echo 'Тема закрыта!';
		} else echo 'Нет такой темы';
	echo '';
	}

if (isset($_GET['open']) AND abs(round($_GET['open'])) !== '0' AND ($user[rank] == 'Админ' OR $user[rank] == 'Модер' OR $user[id] == $res[user]))
	{
	$isset_theme = mysql_result(mysql_query("SELECT count(`id`) FROM `forum_themes` WHERE `id`='".abs(round($_GET['open']))."';"),0);
	if ($isset_theme !== '0')
		{
		mysql_query("UPDATE `forum_themes` SET `closed`='0' WHERE `id`='".abs(round($_GET['open']))."';");
		echo 'Тема открыта!';
		} else echo 'Нет такой темы';
	echo '';
	}


if (isset($_GET['fix_o']) AND abs(round($_GET['fix_o'])) !== '0' AND ($user[rank] == 'Админ' OR $user[rank] == 'Модер'))
	{
	$isset_theme = mysql_result(mysql_query("SELECT count(`id`) FROM `forum_themes` WHERE `id`='".abs(round($_GET['fix_o']))."';"),0);
	if ($isset_theme !== '0')
		{
		mysql_query("UPDATE `forum_themes` SET `fix`='0' WHERE `id`='".abs(round($_GET['fix_o']))."';");
		echo 'Тема откреплена!';
		} else echo 'Нет такой темы';
	echo '';
	}

if (isset($_GET['fix_1']) AND abs(round($_GET['fix_1'])) !== '0' AND ($user[rank] == 'Админ' OR $user[rank] == 'Модер'))
	{
	$isset_theme = mysql_result(mysql_query("SELECT count(`id`) FROM `forum_themes` WHERE `id`='".abs(round($_GET['fix_1']))."';"),0);
	if ($isset_theme !== '0')
		{
		mysql_query("UPDATE `forum_themes` SET `fix`='1' WHERE `id`='".abs(round($_GET['fix_1']))."';");
		echo 'Тема закреплена!';
		} else echo 'Нет такой темы';
	echo '';
	}
$q="SELECT * FROM `forum_themes` WHERE `razdel`='$id' ORDER BY `id`,`fix` DESC LIMIT $start,$per_page";
$res=mysql_query($q);
while($row=mysql_fetch_array($res)) {
  echo '<img src="./images/blog.gif" alt=*>';
  if ($row[fix] == '1') echo ' <b>!</b> ';
  echo ' <a href="?a=view_topic&amp;id='.$row[id].'">'.$row[title].'</a>';
  if ($row[closed] == '1') echo ' (закрыта)';
  if ($user[rank] == 'Админ' OR $user[rank] == 'Модер') echo ' [<a  href="?a=view_razdel&amp;id='.$id.'&amp;del='.$row[id].'">Del</a>]';
  if ($user[id] == $res[user] OR ($user[rank] == 'Админ' OR $user[rank] == 'Модер') AND $row[closed] == '0') echo ' [<a  href="?a=view_razdel&amp;id='.$id.'&amp;cls='.$row[id].'">З</a>]';
  if ($user[id] == $res[user] OR ($user[rank] == 'Админ' OR $user[rank] == 'Модер') AND $row[closed] == '1') echo ' [<a  href="?a=view_razdel&amp;id='.$id.'&amp;open='.$row[id].'">O</a>]';
  if (($user[rank] == 'Админ' OR $user[rank] == 'Модер') AND $row[fix] == '1') echo ' [<a  href="?a=view_razdel&amp;id='.$id.'&amp;fix_o='.$row[id].'">F-0</a>]';
  if (($user[rank] == 'Админ' OR $user[rank] == 'Модер') AND $row[fix] == '0') echo ' [<a  href="?a=view_razdel&amp;id='.$id.'&amp;fix_1='.$row[id].'">F-1</a>]';
  echo '<br />';
}
// дальше выводим ссылки на страницы:
$q="SELECT count(*) FROM `forum_themes` WHERE `razdel`='$id'";
$res=mysql_query($q);
$row=mysql_fetch_row($res);
$total_rows=$row[0];
$num_pages=ceil($total_rows/$per_page);
for($i=1;$i<=$num_pages;$i++) {
  if ($i-1 == $page) {
    echo '['.$i."] ";
  } else {
    echo '<a class="razd" href="'.$_SERVER['PHP_SELF'].'?page='.$i.'">'.$i."</a> ";
  }
}
	echo '<br />';


	} else echo 'В этом разделе нет тем! <br />';
echo '</div><a class="razd" href="?a=create_theme&amp;razdel='.$id.'">Новая тема</a>';
echo '<a class="razd" href="./forum.php">К разделам</a>';
break;


case 'create_theme':
$id = abs(intval($_GET[razdel]));
$count = mysql_result(mysql_query("SELECT count(*) FROM `forum_razdel` WHERE `id`='$id'"),0);
if ($count == '0') header('Location: forum.php');
	if (isset($_POST['title']))
		{
		$error = '';
		if (strlen($_POST['title']) < '4' OR strlen($_POST['title']) > '64') $error .= 'Неверная длина названия темы (4-32)<br />';
		if (strlen($_POST['text']) < '4' OR strlen($_POST['text']) > '510') $error .= 'Неверная длина названия темы (4-255)<br />';
		$last_theme = mysql_fetch_array(mysql_query("SELECT * FROM `forum_themes` WHERE `user`='".$user['id']."' order by `time` DESC"));
		if ($last_theme['time'] > time()) $error .= 'Нельзя так часто создавать темы. <br>';
		if (($user['time_reg']+3600) > $time) $error .= 'Вам пока нельзя создавать темы на форуме<br/>';
		if (empty($error))
			{
		mysql_query("INSERT INTO `forum_themes` SET `title`='".htmlspecialchars($_POST[title])."',
								 `razdel`='$id',
								 `user`='".$user[id]."',
								 `time`='".intval(time()+300)."';");
		$id_theme = mysql_insert_id();
		mysql_query("INSERT INTO `forum_massages` SET `user`='".$user[id]."',
													  `last_m`='".time()."',
													  `time`='".date("d.m | H:i")."',
													  `text`='".htmlspecialchars($_POST[text])."',
													  `theme`='".$id_theme."';");
		echo 'Тема '.$_POST['title'].' успешно создана</div><a class="razd" href="./forum.php">Вернуться</a>';
			} else echo '<b>Ошибка!</b><br />'.$error.'<a class="razd" href="?a=create_theme&razdel='.$id.'">Повторить ввод</a>';

		} else {
echo '
	<form method="post" action="?a=create_theme&amp;razdel='.$id.'">
	Название темы: <br /><input type="text" name="title" size="10" maxlength="35"><br />
	Текст темы: <br /><textarea rows="5" cols="20" name="text"></textarea><br />
	<input type="submit" value="создать">
	</form></div>
	';
	}
break;


case 'view_topic':
$topic = abs(intval($_GET[id]));
$count = mysql_result(mysql_query("SELECT count(*) FROM `forum_themes` WHERE `id`='$topic'"),0);
if ($count == '0') header('Location: forum.php');


if (isset($_GET['del']) AND abs(round($_GET['del'])) !== '0' AND ($user[rank] == 'Админ' OR $user[rank] == 'Модер'))
	{
	$isset_theme = mysql_result(mysql_query("SELECT count(`id`) FROM `forum_massages` WHERE `id`='".abs(round($_GET['del']))."';"),0);
	if ($isset_theme !== '0')
		{
		mysql_query("DELETE FROM `forum_massages` WHERE `id`='".abs(round($_GET['del']))."';");
		echo 'Сообщение удалено!';
		} else echo 'Нет такого сообщения';
	echo '';
	}

	$per_page=15;
// получаем номер страницы
if (isset($_GET['page'])) $page=intval($_GET['page']-1); else $page=0;
// вычисляем первый оператор для LIMIT
$start=abs($page*$per_page);
// составляем запрос и выводим записи
// переменную $start используем, как нумератор записей.
$first_massage = mysql_fetch_array(mysql_query("SELECT * FROM `forum_massages` WHERE `theme`='$topic' ORDER BY `id` ASC"));
$nick_first = mysql_fetch_array(mysql_query("SELECT `login`,`id`,`country` FROM `users` WHERE `id`='".htmlspecialchars($first_massage[user])."'"));
$q="SELECT * FROM `forum_massages` WHERE `theme`='$topic' AND `id` != '$first_massage[id]' ORDER BY `id` ASC LIMIT $start,$per_page";


echo '<b><a href="profile.php?a=view&amp;uid='.$nick_first[id].'">'.htmlspecialchars($nick_first[country]).'</a> '.$first_massage[time].'</b>';
echo '<br />'.$first_massage[text].'</b></div><div class="money">';
$back = mysql_fetch_array(mysql_query($q));
$res=mysql_query($q);
while($row=mysql_fetch_array($res))
{
  $nick = mysql_fetch_array(mysql_query("SELECT `login`,`id`,`rank`,`country` FROM `users` WHERE `id`='".htmlspecialchars($row[user])."'"));
  echo '<a href="profile.php?a=view&amp;uid='.$nick[id].'">'.htmlspecialchars($nick[country]).'</a></b> '.$row['time'];
  if ($user[rank] == 'Админ' OR $user[rank] == 'Модер')
		{
		echo ' [<a  href="?a=view_topic&amp;id='.$topic.'&amp;del='.$row[id].'">del</a>]';
		}
		if($nick[rank] == "Модер")
		{        echo '<br /><font color="green">'.$row[text].'</font>';
		}
		elseif($nick[rank] == "Админ")
		{        echo '<br /><font color="#F20000">'.$row[text].'</font>';
		}
		else
		{
  		echo '<br />'.$row[text].'';
  		}
		echo '</div><div class="money">';
}
echo '</div><a class="razd" href="?a=write&amp;theme='.$topic.'">Ответить в тему</a><div class="money">';
// дальше выводим ссылки на страницы:
$q="SELECT count(*) FROM `forum_massages` WHERE `theme`='$topic'";
$res=mysql_query($q);
$row=mysql_fetch_row($res);
$total_rows=$row[0];
$num_pages=ceil($total_rows/$per_page);
for($i=1;$i<=$num_pages;$i++) {
  if ($i-1 == $page) {
    echo '['.$i."] ";
  } else {
    echo '<a href="'.$_SERVER['PHP_SELF'].'?a=view_topic&id='.$topic.'&amp;page='.$i.'">'.$i."</a> ";
  }
}


?>
</div><a class="razd" href="#" onclick="history.back();return false;">Вернуться</a>
<?
break;


case 'write':
$id = abs(intval($_GET[theme]));
$count = mysql_result(mysql_query("SELECT count(*) FROM `forum_themes` WHERE `id`='$id'"),0);
if ($count == '0') header('Location: forum.php');
$if_closed = mysql_fetch_array(mysql_query("SELECT `closed` FROM `forum_themes` WHERE`id`='$id'"));
if ($if_closed[closed] == '0')
			{
$t = mysql_fetch_array(mysql_query("SELECT `last_m` FROM `forum_massages` WHERE `user`='".$user[id]."' ORDER by `id` DESC"));
if ($t[last_m] < time())
		{
if (isset($_POST['text']))
		{
		$error = '';
		if (strlen($_POST['text']) < '4' OR strlen($_POST['text']) > '350') $error .= 'Неверная длина сообщения (4-350)<br />';
		if (($user['time_reg']+3600) > $time) $error .= 'Вам пока нельзя писать на форуме<br/>';
		if (empty($error))
			{
		mysql_query("INSERT INTO  `forum_massages` SET `user`='".$user[id]."',
													  `last_m`='".intval(time()+60)."',
													  `time`='".date("d.m | H:i")."',
													  `text`='".htmlspecialchars($_POST[text])."',
													  `theme`='".$id."';");
		echo 'Ваше сообщение добавлено!</div><a class="razd" href="?a=view_topic&amp;id='.$id.'">В тему</a>';
			} else echo $error.' <a class="razd" href="?a=view_topic&amp;id='.$id.'">Назад в тему</a>';
		} else {
		$title = mysql_fetch_array(mysql_query("SELECT * FROM `forum_razdel` WHERE `id`='$_GET[edit]'"));
		echo '
	<form method="post" action="?a=write&amp;theme='.$id.'">
	Текст:<br /><textarea rows="5" cols="20" name="text"></textarea><br />
	<input type="submit" value="Написать">
	</form></div>
	<a class="razd" href="?a=view_topic&amp;id='.$id.'">Назад в тему</a>
	
	';
			}
		} else echo '<b>Ошибка!</b> Нельзя писать чаще, чем раз в минуту.</div>';
		    } else echo 'Тема закрыта, вы не можете писать сообщения! </div><a class="razd" href="?a=view_topic&amp;id='.$id.'">Назад в тему</a>';
break;
}

include('./footer.php');
}
?>