From 7ea8ca96e9ff59d8f1ecebc5fd369de73f050b80 Mon Sep 17 00:00:00 2001 From: hickert Date: Fri, 4 Apr 2008 11:56:08 +0000 Subject: [PATCH] Keep manually set group mail acls. git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@10211 594d385d-05f5-0310-b6e9-bd551577e9d8 --- .../mail/admin/groups/mail/class_groupMail.inc | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/gosa-plugins/mail/admin/groups/mail/class_groupMail.inc b/gosa-plugins/mail/admin/groups/mail/class_groupMail.inc index 921ad96ea..81965ab94 100644 --- a/gosa-plugins/mail/admin/groups/mail/class_groupMail.inc +++ b/gosa-plugins/mail/admin/groups/mail/class_groupMail.inc @@ -908,6 +908,7 @@ I: Only insider delivery */ because the kolab deamon will set the acls for us. */ + $acls_set_for = array(); foreach ($this->imapacl as $user => $acl){ /* Skip empty entries */ @@ -932,7 +933,14 @@ I: Only insider delivery */ if(isset($attrs['mail'][0])){ $name = $attrs[$uattrib][0]; - $this->attrs['acl'][]= $name." ".$acl; + + /* Do not overwrite manually set ACLs with group member acls + */ + if(!in_array($name,$acls_set_for)){ + $this->attrs['acl'][]= $name." ".$acl; + } + $acls_set_for[] = $name; + /* Do not write imap acl directly i nkolab mode, let the kolab deamon do this. */ unset($this->imapacl[$user]); @@ -950,7 +958,13 @@ I: Only insider delivery */ /* Seems to be a manually a added acl * Write this acl. */ - $this->attrs['acl'][]= $user." ".$acl; + + /* Do not overwrite manually set ACLs with group member acls + */ + if(!in_array($user,$acls_set_for)){ + $this->attrs['acl'][]= $user." ".$acl; + $acls_set_for[] = $user; + } /* In case of kolab methods, let the deamon add the imap acls */ if(preg_match("/olab/i",$this->mmethod)){ -- 2.30.2