uses('tpl,tform,tform_actions');
$app->load('tform_actions');
class page_action extends tform_actions {
function onShowEnd() {
global $app, $conf;
// Getting recipient from data record
$recipient = $this->dataRecord["recipient"];
$email_parts = explode("@",$recipient);
$app->tpl->setVar("recipient_local_part",$email_parts[0]);
// Getting Domains of the user
$sql = "SELECT domain FROM mail_domain WHERE type = 'local' AND ".$app->tform->getAuthSQL('r');
$domains = $app->db->queryAllRecords($sql);
$domain_select = '';
if($_SESSION["s"]["user"]["typ"] == 'admin') $domain_select .= '';
foreach( $domains as $domain) {
$selected = ($domain["domain"] == $email_parts[1])?'SELECTED':'';
$domain_select .= "\r\n";
}
$app->tpl->setVar("recipient_domain",$domain_select);
parent::onShowEnd();
}
function onSubmit() {
global $app, $conf;
// Check if Domain belongs to user
$domain = $app->db->queryOneRecord("SELECT server_id, domain FROM mail_domain WHERE domain = '".$app->db->quote($_POST["recipient_domain"])."' AND ".$app->tform->getAuthSQL('r'));
if($domain["domain"] != $_POST["recipient_domain"]) $app->tform->errorMessage .= $app->tform->wordbook["no_domain_perm"];
// compose the email field
if($_POST["recipient_local_part"] != '') {
$this->dataRecord["recipient"] = $_POST["recipient_local_part"]."@".$_POST["recipient_domain"];
} else {
$this->dataRecord["recipient"] = $_POST["recipient_domain"];
}
// Set the server id of the mailbox = server ID of mail domain.
// $this->dataRecord["server_id"] = $domain["server_id"];
unset($this->dataRecord["recipient_local_part"]);
unset($this->dataRecord["recipient_domain"]);
parent::onSubmit();
}
}
$app->tform_actions = new page_action;
$app->tform_actions->onLoad();
?>