Code

Allow to use category acls with :self flag in gosa.conf
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Mon, 8 Mar 2010 10:59:32 +0000 (10:59 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Mon, 8 Mar 2010 10:59:32 +0000 (10:59 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/branches/2.6@16350 594d385d-05f5-0310-b6e9-bd551577e9d8

gosa-core/include/class_pluglist.inc

index a4440087e4d2ca0987c6471442cb2e461f569f1f..c7350cf608a53623f7ebab6e3c3635b980ab28fc 100644 (file)
@@ -109,13 +109,18 @@ class pluglist {
                        /* Check if the given acl tag is only valid for self acl entries  
                  <plugin acl="users/user:self" class="user"...  */     
                        if(preg_match("/:self$/",$acl_to_check)){
-                               $acl_to_check = preg_replace("/:self$/","",$acl_to_check);      
-                               if($this->ui->get_permissions($this->ui->dn,$acl_to_check,"") != ""){
-                                       $this->silly_cache[$aclname]= TRUE;
-                                       return(TRUE);
-                               }
-                               $this->silly_cache[$aclname]= FALSE;
-                               return(FALSE);
+        $acl_to_check = preg_replace("/:self$/","",$acl_to_check);     
+        if(strpos($acl_to_check, '/')){
+          if($this->ui->get_permissions($this->ui->dn,$acl_to_check,"") != ""){
+            $this->silly_cache[$aclname]= TRUE;
+            return(TRUE);
+          }
+        }else{
+          if($this->ui->get_category_permissions($this->ui->dn,$acl_to_check,"") != ""){
+            $this->silly_cache[$aclname]= TRUE;
+            return(TRUE);
+          }
+        }
                        }else{
                
                                /* No self acls. Check if we have any acls for the given ACL type */