<?

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";

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

extract($_POST);

if (!$directory_num or trim($directory_num) == "") goprev();
if ($action == "makesub" and (!$directory_name or trim($directory_name) == "")) {
	goprev();
}

if ($action == "rename" and (!$directory_name or trim($directory_name) == "")) {
	goprev();
}

if (! ($action == "rename" or $action == "makesub" or $action == "remove") ) {
	goprev();
}

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

$Directory = new myDirectory($directory_num);

// system folder protection.
if ($action == "remove" and array_key_exists($directory_num, $Directory->system)) {
	goprev();
}

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

switch ($action) {
	case ("rename") :
		$retval = $Directory->rename($directory_name);
	break;
	case ("makesub") :
		$retval = $Directory->add($directory_name);
	break;
	case ("remove") :
		if ($_POST["dialog"] == "yes") {
			$Site->DB->retval = $Directory->remove();
			$retval = $Site->DB->retval;
		} else {
			if ($_POST["control"]) {
				$url = sprintf(
					"Location: %s/mail?type=1&mode=dialog&action=remove&control=1&no=%s",
						$_SESSION["user_www_url"], $directory_num);
			} else {
				$url = sprintf(
					"Location: %s/mail?type=1&mode=dialog&action=remove&no=%s",
						$_SESSION["user_www_url"], $directory_num);
			}

			$Site->end1();

			Header($url);
			exit;
		}
	break;
	default :
		$Site->end1();
		goprev();
}

$Site->DB->close();

if ($retval) {
	if ($_POST["control"]) {
		$url =
			sprintf("Location: %s/mail?mode=control&control=directory",
				$_SESSION["user_www_url"]);
	} else {
		$url =
			sprintf("Location: %s/mail?mode=drct", $_SESSION["user_www_url"]);
	}

	$Site->end1();

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

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

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

Changelog
---------

Usage
-----

*/

?>
