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(); ?>