<?
// 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/Domain.php";
include_once $global["root"] . "/lib/Payload.php";
include_once $global["root"] . "/lib/Site.php";
include_once $global["root"] . "/lib/Image.php";

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

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

extract($_POST);

if (! $_SESSION["config_id"] and trim($_POST["user_name"]) == "") {
	$_SESSION["user_msg"]["content"] = $string["error19"];
	goprev();
}

if (trim($_POST["user_content"]) == "") {
	$_SESSION["user_msg"]["content"] = $string["error17"];
	goprev();
}

if (! $_SESSION["user_authenticated"] and
		(! $_POST["user_password"] or
		trim($_POST["user_password"]) == "")) {

	$_SESSION["user_msg"]["content"] = $string["forum22"];
	goprev();
}

$retval = true;

// payload handleing
if ($_FILES["user_payload"]["size"] > 0) {
	$Payload = new Payload_Forum($_POST["id"]);
	$retval = $Payload->insert();

	/////////////////////////////////// make thumbnail
	if ($retval) {
		if (eregi("^image", $Payload->header)) {

			$org_filename = sprintf("%s/forum/%s/%s",
				$global["data"], $_POST["id"], $Payload->storedFilename);

			$thumb_filename = $org_filename . "_s";
			$Image = new Image($org_filename);
			$type = $Image->info["mime"];

			$Image->thumbnail(350,"", $thumb_filename);
		}
	}
	///////////////////////////////////////////////////
}

if ($retval) {

	// data handling
	if ($_SESSION["user_authenticated"]) {
		$field = "ip_address, date, subject,
			content, payload, payload_header, id";

		$user_values = sprintf("'%s', '%s', '%s', '%s', '%s', '%s', '%s'",
			$_SERVER["REMOTE_ADDR"], mktime(),
			addslashes(trim($_POST["user_subject"])),
			addslashes(trim($_POST["user_content"])),
			$Payload->storedFilename,
			$Payload->header,
			$_SESSION["config_id"]
			);
	} else {
		$field = "username, address, ip_address, date, subject,
			content, payload, payload_header, password";

		$user_values =
			sprintf("'%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s'",
				addslashes(trim($_POST["user_name"])),
				addslashes(trim($_POST["user_address"])),
				$_SERVER["REMOTE_ADDR"], mktime(),
				addslashes(trim($_POST["user_subject"])),
				addslashes(trim($_POST["user_content"])),

				$Payload->storedFilename,
				$Payload->header,
				sha1($_POST["user_password"])
			);
	}

	$Site->DB->transaction_start(true);
	$Site->DB->query(sprintf("insert into forum_%s (%s) values(%s)",
		$_POST["id"], $field, $user_values));

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

if ($retval) {

	$url = "Location: " . $_SESSION["user_forum_url"] .
		"/forum?mode=forum_list&pg=0&id=". $_POST["id"];
	$Site->end1();

	Header($url);
	exit;
} else {
	$Site->end1();

	goprev();
}

?>
