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

include_once "./setting.php";

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

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

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

extract($_GET); // argument

//-------------------------------------------------- sql
$SQL_GET_CONTENT_PAYLOAD = "select SQL_CACHE payload, payload_header
	 from forum_%s where no = '%s'";

$retval = true;

//-------------------------------------------------- sql
switch ($_GET["method"]) {

	case ("image") :
		$a = $Site->DB->fetch_one(
			sprintf($SQL_GET_CONTENT_PAYLOAD, $_GET["id"], $no));

		if (trim($a["payload_header"]) == "") exit;

		$b = explode(";", $a["payload_header"]);

		$org_filename = sprintf("%s/forum/%s/%s",
			$global["data"], $_GET["id"], $a["payload"]);

		$fd = fopen($org_filename, "rb");
		$filename = $b[1];

	break;
	case ("thumb") :
		$a = $Site->DB->fetch_one(
			sprintf($SQL_GET_CONTENT_PAYLOAD, $_GET["id"], $no));

		if (trim($a["payload_header"]) == "") exit;

		$b = explode(";", $a["payload_header"]);

		$org_filename = sprintf("%s/forum/%s/%s",
			$global["data"], $_GET["id"], $a["payload"]);

		$thumb_filename = $org_filename . "_s";
		$type = $b[0];

		if (! file_exists($thumb_filename)) $thumb_filename = $org_filename;

		$fd = fopen($thumb_filename, "rb");
		$filename = $b[1];

	break;
	case ("payload") :
		$a = $Site->DB->fetch_one(
			sprintf($SQL_GET_CONTENT_PAYLOAD, $_GET["id"], $no));

		if (! $a["payload_header"]) $retval = false;

		$b = explode(";", $a["payload_header"]);

		$__payload_fliename = sprintf("%s/forum/%s/%s",
			$global["data"], $_GET["id"], $a["payload"]);

		$fd = fopen($__payload_fliename, "rb");

		$type = $b[0];
		$filename = $b[1];

	break;
}

if ($retval) {
	Header("Content-type: " . $type);

	if ($filename) {
		Header("Content-Disposition: inline; filename=\"" . $filename . "\"");
	}

	//echo $data;
	fpassthru($fd);
}

?>
