<?php
$t = "Форум";
if ($VarIO->DefS("module_forum_enable", 1) == 0){
	twig("/forum.lm", ["block"	=>	"forum_disabled"]);
}
if ($user->auth() && !$acl->isForumRead){
	twig("/forum.lm", ["block"	=>	"no_access"]);
} elseif (!$user->auth() && $VarIO->DefS("module_forum_guest_view", 1) == 0){
	twig("/forum.lm", ["block"	=>	"no_access"]);
}
if ($id != 0 && !$act){
	include_once 'default/apps/forum/list.php';
	die();
} elseif ($act == "create_category"){
	include_once 'default/apps/forum/category_add.php';
	die();
} elseif ($act == "edit_category"){
	include_once 'default/apps/forum/category_edit.php';
	die();
} elseif ($id !=0 && $act == "read"){
	include_once 'default/apps/forum/read.php';
	die();
} elseif ($id !=0 && $act == "create"){
	include_once 'default/apps/forum/add.php';
	die();
} elseif ($id !=0 && $act == "move"){
	if ($db->Count("forum_topics","WHERE `sid` = '".$site->id."' AND `tid` = '".$id."'") == 0){
		$t = "Форум";
		include_once 'core/head.php';
		echo '<div class="error">Извините, но данная тема не существует.</div>';
		echo ($back?linkGen($back,"Вернуться назад",["data-id"=>"link-back"]):null);
		echo linkGen("/forum.lm","Вернуться на главную форума",["data-id"=>"link-forum"]);
		echo linkGen("/","На главную",["data-id"=>"link-home"]);
		include_once 'core/foot.php';
		die();
	}
	$theme = $db->getObject("SELECT * FROM `forum_topics` WHERE `sid` = '".$site->id."' AND `tid` = '".$id."'");
	if ($user->auth() && $site->forum_move_a == 1 && $user->checkAccess(4)){
		$_move = 1;
	} elseif ($user->auth() && $site->forum_move_m == 1 && $user->checkAccess(3)){
		$_move = 1;
	} elseif ($user->auth() && $site->forum_move_u == 1 && $theme->uid == $user->uid){
		$_move = 1;
	} else {
		$_move = 0;
	}
	if ($_move == 0){
		$t = "Форум - Перемещение темы";
		include_once 'core/head.php';
		echo '<div class="error">Извините, но у вас недостаточно прав для совершения данного действия.</div>';
		echo linkGen('/forum.lm?id='.$id.'&act=read',"Вернуться назад",["data-id"=>"link-back"]);
		echo linkGen("/forum.lm","Вернуться на главную форума",["data-id"=>"link-forum"]);
		echo linkGen("/","На главную",["data-id"=>"link-home"]);
		include_once 'core/foot.php';
		die();
	}
	if (isset($_POST["move"])){
		$_id = isset($_POST["cat"]) && !empty($_POST["cat"]) && is_numeric($_POST["cat"])?intval($_POST["cat"]):0;
		if ($db->Count("forum_cat","WHERE `sid` = '".$site->id."' AND `cid` = '".$_id."'") == 0){
			$core->regError("Категория не найдена","Категория не найдена",1,"Forum");
		} else {
			if ($theme->uid != $user->uid){
				$core->addAlert($theme->uid,"Пользователь ".$user->getData()->login." переместил вашу тему!",$site->id,"/forum.lm?id=".$id."&act=read","Перейти к теме на форуме");
			}
			$db->Query("UPDATE `forum_topics` SET `cid`='".$_id."',`lastUpdate`='".$time."' WHERE `sid` = '".$site->id."' AND `tid` = '".$theme->tid."'");
			header("Location: /forum.lm?act=read&id=".$id);
			die();
		}
	}
	$t = 'Перемещение темы - '.$theme->name;
	include_once 'core/head.php';
	echo '<div class="title">Перемешение темы - '.$theme->name.'</div>';
	if ($core->isBooleanError()){
		foreach ($core->showError() as $csE){
			echo '<div class="error">Произошла ошибка при обработке операции<br><b>КОД: '.$csE["code"].'</b><br>Подробнее: '.$csE["utxt"].'</div>';
		}
	}
	echo '<form method="POST"><select name="cat">';
	$data = $db->Query("SELECT * FROM `forum_cat` WHERE `sid` = '".$site->id."' ORDER BY `cid` ASC"); 
	while ($d = mysqli_fetch_assoc($data)){
		echo '<option value="'.$d["cid"].'" '.($d["cid"]== $theme->cid?'selected':null).'>'.$d["name"].'</option>';
	}
	echo '<input type="submit" name="move" value="Переместить тему">
	</form>';
	
	echo linkGen('/forum.lm?id='.$id.'&act=read',"Вернуться назад",["data-id"=>"link-back"]);
	echo linkGen("/forum.lm","Вернуться на главную форума",["data-id"=>"link-forum"]);
	echo linkGen("/","На главную",["data-id"=>"link-home"]);
	
	include_once 'core/foot.php';
	die();

} elseif ($id !=0 && $act == "close"){
	if ($db->Count("forum_topics","WHERE `sid` = '".$site->id."' AND `tid` = '".$id."'") == 0){
		$t = "Форум";
		include_once 'core/head.php';
		echo '<div class="error">Извините, но данная тема не существует.</div>';
		echo ($back?linkGen($back,"Вернуться назад",["data-id"=>"link-back"]):null);
		echo linkGen("/forum.lm","Вернуться на главную форума",["data-id"=>"link-forum"]);
		echo linkGen("/","На главную",["data-id"=>"link-home"]);
		include_once 'core/foot.php';
		die();
	}
	$theme = $db->getObject("SELECT * FROM `forum_topics` WHERE `sid` = '".$site->id."' AND `tid` = '".$id."'");
	if ($user->auth() && $site->forum_close_a == 1 && $user->checkAccess(4)){
		$_close = 1;
	} elseif ($user->auth() && $site->forum_close_m == 1 && $user->checkAccess(3)){
		$_close = 1;
	} elseif ($user->auth() && $site->forum_close_u == 1 && $theme->uid == $user->uid){
		$_close = 1;
	} else {
		$_close = 0;
	}
	if ($_close == 0){
		$t = "Форум - Закрытие темы";
		include_once 'core/head.php';
		echo '<div class="error">Извините, но у вас недостаточно прав для совершения данного действия.</div>';
		echo linkGen('/forum.lm?id='.$id.'&act=read',"Вернуться назад",["data-id"=>"link-back"]);
		echo linkGen("/forum.lm","Вернуться на главную форума",["data-id"=>"link-forum"]);
		echo linkGen("/","На главную",["data-id"=>"link-home"]);
		include_once 'core/foot.php';
		die();
	}
	if (isset($_POST["closed"])){
		if ($theme->uid != $user->uid){
			$core->addAlert($theme->uid,"Пользователь ".$user->getData()->login." закрыл вашу тему!",$site->id,"/forum.lm?id=".$id."&act=read","Перейти к теме на форуме");
		}
		$db->Query("UPDATE `forum_topics` SET `closed`='1',`close_txt`='".$core->FilterString($_POST["sms"])."',`close_who`='".$user->uid."',`close_time` = '".$time."' WHERE `tid` = '".$id."' AND `sid` = '".$site->id."'");
		header("Location: /forum.lm?act=read&id=".$id);
		die();
	}
	$t = 'Закрытие темы - '.$theme->name;
	include_once 'core/head.php';
	echo '<div class="title">Закрытие темы - '.$theme->name.'</div>';
	echo '<form method="POST">
	Причина закрытия темы: <br>
	<textarea name="sms"></textarea><br>
	<input type="submit" name="closed" value="Закрыть тему">
	</form>';
	echo linkGen('/forum.lm?id='.$id.'&act=read',"Вернуться назад",["data-id"=>"link-back"]);
	echo linkGen("/forum.lm","Вернуться на главную форума",["data-id"=>"link-forum"]);
	echo linkGen("/","На главную",["data-id"=>"link-home"]);
	include_once 'core/foot.php';
	die();
} elseif ($id !=0 && $act == "delete"){
	if ($db->Count("forum_topics","WHERE `sid` = '".$site->id."' AND `tid` = '".$id."'") == 0){
		$t = "Форум";
		include_once 'core/head.php';
		echo '<div class="error">Извините, но данная тема не существует.</div>';
		echo ($back?linkGen($back,"Вернуться назад",["data-id"=>"link-back"]):null);
		echo linkGen("/forum.lm","Вернуться на главную форума",["data-id"=>"link-forum"]);
		echo linkGen("/","На главную",["data-id"=>"link-home"]);
		include_once 'core/foot.php';
		die();
	}
	$theme = $db->getObject("SELECT * FROM `forum_topics` WHERE `sid` = '".$site->id."' AND `tid` = '".$id."'");
	if ($user->auth() && $site->forum_del_a == 1 && $user->checkAccess(4)){
		$_del = 1;
	} elseif ($user->auth() && $site->forum_del_m == 1 && $user->checkAccess(3)){
		$_del = 1;
	} elseif ($user->auth() && $site->forum_del_u == 1 && $theme->uid == $user->uid){
		$_del = 1;
	} else {
		$_del = 0;
	}
	if ($_del == 0){
		$t = "Форум - Удаление темы";
		include_once 'core/head.php';
		echo '<div class="error">Извините, но у вас недостаточно прав для совершения данного действия.</div>';
		echo linkGen('/forum.lm?id='.$id.'&act=read',"Вернуться назад",["data-id"=>"link-back"]);
		echo linkGen("/forum.lm","Вернуться на главную форума",["data-id"=>"link-forum"]);
		echo linkGen("/","На главную",["data-id"=>"link-home"]);
		include_once 'core/foot.php';
		die();
	}
	if (isset($_POST["deleted"])){
		if ($theme->uid != $user->uid){
			$core->addAlert($theme->uid,"Пользователь ".$user->getData()->login." удалил вашу тему \"".$theme->name."\"!",$site->id);
		}
		$db->Delete("forum_topics","WHERE `tid` = '".$id."' AND `sid` = '".$site->id."'");
		$db->Delete("forum_message","WHERE `tid` = '".$id."' AND `sid` = '".$site->id."'");
		header("Location: /forum.lm?");
		die();
	}
	$t = 'Удаление темы - '.$theme->name;
	include_once 'core/head.php';
	echo '<div class="title">Удаление темы - '.$theme->name.'</div>';
	echo '<form method="POST">
	Вы действительно хотите удалить тему?
	<input type="submit" name="deleted" value="Удалить тему">
	</form>';
	echo linkGen('/forum.lm?id='.$id.'&act=read',"Вернуться назад",["data-id"=>"link-back"]);
	echo linkGen("/forum.lm","Вернуться на главную форума",["data-id"=>"link-forum"]);
	echo linkGen("/","На главную",["data-id"=>"link-home"]);
	include_once 'core/foot.php';
	die();
} elseif ($id != 0 && $act == "open"){
	if ($db->Count("forum_topics","WHERE `sid` = '".$site->id."' AND `tid` = '".$id."'") == 0){
		$t = "Форум";
		include_once 'core/head.php';
		echo '<div class="error">Извините, но данная тема не существует.</div>';
		echo ($back?linkGen($back,"Вернуться назад",["data-id"=>"link-back"]):null);
		echo linkGen("/forum.lm","Вернуться на главную форума",["data-id"=>"link-forum"]);
		echo linkGen("/","На главную",["data-id"=>"link-home"]);
		include_once 'core/foot.php';
		die();
	}
	$theme = $db->getObject("SELECT * FROM `forum_topics` WHERE `sid` = '".$site->id."' AND `tid` = '".$id."'");
	if ($theme->closed == 1 && $user->auth() && $site->forum_close_a == 1 && $user->checkAccess(4)){
		$_open = 1;
	} elseif ($theme->closed == 1 && $user->auth() && $site->forum_close_m == 1 && $user->checkAccess(3)){
		$_open = 1;
	} elseif ($theme->closed == 1 && $user->auth() && $site->forum_close_u == 1 && $theme->uid == $user->uid && $theme->close_who == $user->uid){
		$_open = 1;
	} else {
		$_open = 0;
	}
	if ($_open == 0){
		$t = "Форум - Открытие темы";
		include_once 'core/head.php';
		echo '<div class="error">Извините, но у вас недостаточно прав для совершения данного действия.</div>';
		echo linkGen('/forum.lm?id='.$id.'&act=read',"Вернуться назад",["data-id"=>"link-back"]);
		echo linkGen("/forum.lm","Вернуться на главную форума",["data-id"=>"link-forum"]);
		echo linkGen("/","На главную",["data-id"=>"link-home"]);
		include_once 'core/foot.php';
		die();
	}
	if (isset($_POST["opened"])){
		if ($theme->uid != $user->uid){
			$core->addAlert($theme->uid,"Пользователь ".$user->getData()->login." открыл вашу тему!",$site->id,"/forum.lm?id=".$id."&act=read","Перейти к теме на форуме");
		}
		$db->Query("UPDATE `forum_topics` SET `closed`='0',`close_txt`='NULL',`close_who`='0',`close_time` = '0' WHERE `tid` = '".$id."' AND `sid` = '".$site->id."'");
		header("Location: /forum.lm?act=read&id=".$id);
		die();
	}
	$t = 'Открытие темы - '.$theme->name;
	include_once 'core/head.php';
	echo '<div class="title">Открытие темы - '.$theme->name.'</div>';
	echo '<form method="POST">
	Вы уверены что хотите открыть тему?<br>
	<input type="submit" name="opened" value="Открыть тему">
	</form>';
	echo linkGen('/forum.lm?id='.$id.'&act=read',"Вернуться назад",["data-id"=>"link-back"]);
	echo linkGen("/forum.lm","Вернуться на главную форума",["data-id"=>"link-forum"]);
	echo linkGen("/","На главную",["data-id"=>"link-home"]);
	include_once 'core/foot.php';
	die();
}
include_once 'default/apps/forum/category.php';
die();
?>