Code

Keep manually set group mail acls.
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Fri, 4 Apr 2008 11:56:08 +0000 (11:56 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Fri, 4 Apr 2008 11:56:08 +0000 (11:56 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@10211 594d385d-05f5-0310-b6e9-bd551577e9d8

gosa-plugins/mail/admin/groups/mail/class_groupMail.inc

index 921ad96ea4956cdc2d2f3bbdf34a3ec924c03c75..81965ab944dca71968ca8f1ca10dc3df7a6fb8df 100644 (file)
@@ -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)){