<?

include_once "./setting.php";

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

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

$Site = new Site;
$Site->init("mail");

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

extract($_POST);

// escape error.
if (!is_array($_FILES["userfile"])) goprev();
if (trim($title) == "") goprev();
if (trim($directory_num) == "") goprev();
if ($_FILES["userfile"]["size"] < 1) {
	$_SESSION["user_msg"]["content"] = $string["error7"];
	goprev();
}

if ($_FILES["userfile"]["size"] > $_SESSION["config_document_size_limit"]) {
	$_SESSION["user_msg"]["content"] = sprintf($string["error12"],
		print_byte(intval($_SESSION["config_document_size_limit"])));
	goprev();
}

// upload files
$uploadDir = $global["data"] . "/doc/" . $_SESSION["config_id"];
if (! is_dir($uploadDir)) {
	mkdir($uploadDir);
}

$storedFilename = mktime().mt_rand(0,20);

if (! move_uploaded_file($_FILES["userfile"]["tmp_name"],
	$uploadDir . "/" . $storedFilename)) {
	goprev();
}

$Site->DB->transaction_start(true); // transaction start

$SQL_INSERT_DOC =
	"insert into doc_%s
			(realname, storedname, size, mime_type, author, date, comment, title)
		values('%s','%s','%s','%s','%s','%s','%s','%s')";

$Site->DB->query(sprintf($SQL_INSERT_DOC,
		$_SESSION["config_id"], addslashes($_FILES["userfile"]["name"]),
		$storedFilename, $_FILES["userfile"]["size"],
		addslashes($_FILES["userfile"]["type"]), addslashes($author),
		mktime(), addslashes($comment), addslashes($title)));

$Item = new Item;

if ($Site->DB->retval) {
	$Site->DB->retval = $Item->insert($Site->DB->get_last_insert_id(),
		$_SESSION["user_item_type_rv"]["doc"], $directory_num, false);
}

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

if ($retval) {
	$url = sprintf("Location: %s/mail?no=%s&pg=%s",
		$_SESSION["user_www_url"], $_SESSION["user_directory"],
		$_SESSION["user_page_number"]);

	$Site->end1();

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

	goprev();
}

/*
Description
-----------

	$directory_num
	$title
	$comment

	$_FILES["userfile"]["size"]
	$_FILES["userfile"]["type"]
	$_FILES["userfile"]["tmp_name"]
	$_FILES["userfile"]["error"]
	$_FILES["userfile"]["name"]

Author
------
 Spike^ekipS <spike@spikeekips.net>

Changelog
---------

Usage
-----

*/

?>
