<?
// Wriiten by Spike^ekipS <spike@spikeekips.net>

include_once "./setting.php";

include_once $global["root"] . "/include/handle.php";
include_once $global["root"] . "/include/print_array.php";

include_once $global["root"] . "/lib/Site.php";

include_once $global["root"] . "/config/tables.php";

$Site = new Site;
$Site->init("domain", "_GET");

include_once $global["root"] . "/lang/" . $_SESSION["config_lang"] . ".php";

switch ($_POST["action"]) {
	// change forum setting
	case ("save") :
		// check first remove stuff..
		if (count($_POST["remove"]) < 1) { // not remove
			$removed = false;
		} else { // remove forums.
			$removed = true;

			while (list($i, $j) = each($_POST["remove"])) {
				$query[$i][] = sprintf($remove["table"], "forum_" . $j);
				$query[$i][] = sprintf($remove["table"], "forum_comment_" . $j);
				$query[$i][] =
					sprintf($remove["one_forum_priv_by_id"], $j);
			}

			// execute queries.
			$Site->DB->transaction_start(true);

			while (list($i, $j) = each($query)) {
				while (list($l, $m) = each($j)) {
					$Site->DB->query($m);

					if (! $Site->DB->retval) break;
				}
				if (! $Site->DB->retval) break;
			}

			$retval = $Site->DB->retval;

			$Site->DB->close();
		}

		// change forum setting.
		if (! $removed) {

			$Site->DB->transaction_start(true);

			while (list($i, $j) = each($_POST["type"])) { // check forum type.
				$query[] =
					sprintf("update forum_priv set forum_type = '%s' where id = '%s'",
						$j, $i);
			}

			while (list($i, $j) = each($query)) {
				$Site->DB->query($j);
				if (! $Site->DB->retval) break;
			}

			$retval = $Site->DB->retval;

			$Site->DB->close();
		}

	break;

	// make new forum
	case ("make") :

		if (! $_POST["name"] or trim($_POST["name"]) == "") {
			$_SESSION["user_msg"]["content"] = $string["admin46"];
			goprev();
		}

		/*
		-------------------------------------------------------
		sql statement :
		-------------------------------------------------------
			"insert into forum_priv
				(id,name,createdTime, message_size_limit,
					forum_type, domain_id)
			values('%s','%s','%s','%s','%s','%s')";
		-------------------------------------------------------
		*/

		$id = mktime();

		// execute queries.
		$Site->DB->transaction_start(true);

		$Site->DB->query(sprintf($insert["domain_value"]["forum"],
			$id,
			trim($_POST["name"]),
			$id,
			$_SESSION["config_message_size_limit"],
			$_POST["type"],
			$_SESSION["config_domain_id"]));

		$retval = $Site->DB->retval;

		// make forum tables.
		if ($retval) {
			$Site->DB->query(sprintf($table["forum"]["content"], $id));
			$Site->DB->query(sprintf($table["forum"]["comment"], $id));

			$retval = $Site->DB->retval;
		}

		$Site->DB->close();

	break;
}

if ($retval) {
	$_SESSION["user_msg"]["content"] = $string["msg"];
	$_SESSION["user_msg"]["type"] = 2;

	$url = sprintf("%s/domain?mode=forum", $_SESSION["user_www_url"]);

	$Site->end1();
	Header("Location: " . $url);
	exit;
} else {
	$_SESSION["user_msg"]["content"] = $string["msg1"];

	$Site->end1();
	goprev();
}

?>
