From 05d4825e5850d2a67a3d4e2eefc971d257d5112d Mon Sep 17 00:00:00 2001
From: vogelor <vogelor@ispconfig3>
Date: Mon, 10 May 2010 14:37:53 -0400
Subject: [PATCH] The new version is only displayed for the admin (aargh)
---
interface/web/mail/mail_user_edit.php | 39 ++++++++++++++++++++++++++++++++++++++-
1 files changed, 38 insertions(+), 1 deletions(-)
diff --git a/interface/web/mail/mail_user_edit.php b/interface/web/mail/mail_user_edit.php
index 374c777..1057786 100644
--- a/interface/web/mail/mail_user_edit.php
+++ b/interface/web/mail/mail_user_edit.php
@@ -150,7 +150,7 @@
// Check the quota and adjust
if(isset($_POST["quota"]) && $client["limit_mailquota"] >= 0) {
- $tmp = $app->db->queryOneRecord("SELECT sum(quota) as mailquota FROM mail_user WHERE mailuser_id != ".intval($this->id)." AND sys_groupid = $client_group_id");
+ $tmp = $app->db->queryOneRecord("SELECT sum(quota) as mailquota FROM mail_user WHERE mailuser_id != ".intval($this->id)." AND ".$app->tform->getAuthSQL('u'));
$mailquota = $tmp["mailquota"] / 1024 / 1024;
$new_mailbox_quota = intval($this->dataRecord["quota"]);
if(($mailquota + $new_mailbox_quota > $client["limit_mailquota"]) || ($new_mailbox_quota == 0 && $client["limit_mailquota"] != -1)) {
@@ -250,6 +250,17 @@
}
} // endif spamfilter policy
+
+ // Set the fields for dovecot
+ if(isset($this->dataRecord["email"])) {
+ $disableimap = ($this->dataRecord["disableimap"])?'y':'n';
+ $disablepop3 = ($this->dataRecord["disablepop3"])?'y':'n';
+ $disabledeliver = ($this->dataRecord["postfix"] == 'y')?'n':'y';
+ $disablesmtp = ($this->dataRecord["postfix"] == 'y')?'n':'y';
+
+ $sql = "UPDATE mail_user SET disableimap = '$disableimap', disablepop3 = '$disablepop3', disablesmtp = '$disablesmtp', disabledeliver = '$disabledeliver' WHERE mailuser_id = ".$this->id;
+ $app->db->query($sql);
+ }
}
function onAfterUpdate() {
@@ -281,6 +292,32 @@
} // endif spamfilter policy
}
+ // Set the fields for dovecot
+ if(isset($this->dataRecord["email"])) {
+ $disableimap = ($this->dataRecord["disableimap"])?'y':'n';
+ $disablepop3 = ($this->dataRecord["disablepop3"])?'y':'n';
+ $disabledeliver = ($this->dataRecord["postfix"] == 'y')?'n':'y';
+ $disablesmtp = ($this->dataRecord["postfix"] == 'y')?'n':'y';
+
+ $sql = "UPDATE mail_user SET disableimap = '$disableimap', disablepop3 = '$disablepop3', disablesmtp = '$disablesmtp', disabledeliver = '$disabledeliver' WHERE mailuser_id = ".$this->id;
+ $app->db->query($sql);
+ }
+
+ //** If the email address has been changed, change it in all aliases too
+ if(isset($this->dataRecord['email']) && $this->oldDataRecord['email'] != $this->dataRecord['email']) {
+ //if($this->oldDataRecord['email'] != $this->dataRecord['email']) {
+
+ //* Update the aliases
+ $forwardings = $app->db->queryAllRecords("SELECT * FROM mail_forwarding WHERE destination = '".$app->db->quote($this->oldDataRecord['email'])."'");
+ if(is_array($forwardings)) {
+ foreach($forwardings as $rec) {
+ $destination = $app->db->quote($this->dataRecord['email']);
+ $app->db->datalogUpdate('mail_forwarding', "destination = '$destination'", 'forwarding_id', $rec['forwarding_id']);
+ }
+ }
+
+ } // end if email addess changed
+
}
}
--
Gitblit v1.9.1