From d4c760c19560c720d0df2297f573441de4660140 Mon Sep 17 00:00:00 2001 From: mcramer <m.cramer@pixcept.de> Date: Wed, 27 Apr 2011 13:41:32 -0400 Subject: [PATCH] Implemented optional custom login name for mailboxes. --- interface/web/mail/mail_user_edit.php | 22 +++++++++++++++++++--- 1 files changed, 19 insertions(+), 3 deletions(-) diff --git a/interface/web/mail/mail_user_edit.php b/interface/web/mail/mail_user_edit.php index e9a3767..1da1b03 100644 --- a/interface/web/mail/mail_user_edit.php +++ b/interface/web/mail/mail_user_edit.php @@ -75,7 +75,7 @@ $app->tpl->setVar("email_local_part",$email_parts[0]); // Getting Domains of the user - $sql = "SELECT domain FROM mail_domain WHERE ".$app->tform->getAuthSQL('r').' ORDER BY domain'; + $sql = "SELECT domain, server_id FROM mail_domain WHERE ".$app->tform->getAuthSQL('r').' ORDER BY domain'; $domains = $app->db->queryAllRecords($sql); $domain_select = ''; if(is_array($domains)) { @@ -112,6 +112,14 @@ $app->tpl->setVar("ar_active", 'checked="checked"'); } else { $app->tpl->setVar("ar_active", ''); + } + + $app->uses('getconf'); + $mail_config = $app->getconf->get_global_config('mail'); + if($mail_config["enable_custom_login"] == "y") { + $app->tpl->setVar("enable_custom_login", 1); + } else { + $app->tpl->setVar("enable_custom_login", 0); } parent::onShowEnd(); @@ -165,6 +173,9 @@ } // end if user is not admin + $app->uses('getconf'); + $mail_config = $app->getconf->get_server_config($domain["server_id"],'mail'); + //* compose the email field if(isset($_POST["email_local_part"]) && isset($_POST["email_domain"])) { $this->dataRecord["email"] = strtolower($_POST["email_local_part"]."@".$_POST["email_domain"]); @@ -179,8 +190,6 @@ if($this->dataRecord["quota"] != -1) $this->dataRecord["quota"] = $this->dataRecord["quota"] * 1024 * 1024; // setting Maildir, Homedir, UID and GID - $app->uses('getconf'); - $mail_config = $app->getconf->get_server_config($domain["server_id"],'mail'); $maildir = str_replace("[domain]",$domain["domain"],$mail_config["maildir_path"]); $maildir = str_replace("[localpart]",strtolower($_POST["email_local_part"]),$maildir); $this->dataRecord["maildir"] = $maildir; @@ -195,6 +204,13 @@ } + $sys_config = $app->getconf->get_global_config('mail'); + if($sys_config["enable_custom_login"] == "y") { + if(!isset($_POST["login"])) $this->dataRecord["login"] = $this->dataRecord["email"]; + elseif(strpos($_POST["login"], '@') !== false && $_POST["login"] != $this->dataRecord["email"]) $app->tform->errorMessage .= $app->tform->lng("error_login_email_txt")."<br>"; + } else { + $this->dataRecord["login"] = $this->dataRecord["email"]; + } //* if autoresponder checkbox not selected, do not save dates if (!isset($_POST['autoresponder']) && array_key_exists('autoresponder_start_date', $_POST)) { $this->dataRecord['autoresponder_start_date'] = array_map(create_function('$item','return 0;'), $this->dataRecord['autoresponder_start_date']); -- Gitblit v1.9.1