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

//-------------------------------------------------- global include
include_once "./setting.php";

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

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

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

extract($_POST);

while (list($i, $j) = each($_POST)) {

	if ($_POST[$i]["remove"] == "1") continue;

	if ( $_POST[$i]["From"]["string"] or $_POST[$i]["Subject"]["string"] or
			$_POST[$i]["payload_name"]["string"] or $_POST[$i]["message_size"]["string"]) {

		$query[] = sprintf(
			"insert into mail_filter_%s
				(f, s, payload_name, message_size, directory_num,
					sequence, expression, s_o, p_o, m_o, s_c, p_c)
				values('%s', '%s', '%s', '%s', '%s', '%s', '%s',
					'%s', '%s', '%s', '%s', '%s')",
				$_SESSION["config_domain_id"],
					$_POST[$i]["From"]["string"],
					$_POST[$i]["Subject"]["string"],
					$_POST[$i]["payload_name"]["string"],
					$_POST[$i]["message_size"]["string"],

					$_POST[$i]["directory"],
					$i,
					$_POST[$i]["expression"],
					$_POST[$i]["Subject"]["condition"],
					$_POST[$i]["payload_name"]["condition"],
					$_POST[$i]["message_size"]["condition"],
					$case[$_POST[$i]["Subject"]["case"]],
					$case[$_POST[$i]["payload_name"]["case"]]
			);
	}
}

// remove current filtering rule.
$Site->DB->transaction_start(true);
$Site->DB->query("delete from mail_filter_". $_SESSION["config_domain_id"]);

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

// insert filtering rules.
if ($retval) {
	if (count($query) > 0) {
		while (list($i, $j) = each($query)) {
			$Site->DB->query($j);

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

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

if ($retval) {
	$url = "Location: " . $_SESSION["user_www_url"] .
		"/admin_domain?mode=filter";

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




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

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

Changelog
---------

Usage
-----

*/

?>
