Code

Updated ACL checks for container objects.
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Fri, 20 Jun 2008 07:39:15 +0000 (07:39 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Fri, 20 Jun 2008 07:39:15 +0000 (07:39 +0000)
-ACL checks work for self ACL objects too.

git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@11386 594d385d-05f5-0310-b6e9-bd551577e9d8

gosa-core/include/class_userinfo.inc

index 2a459c88afe3bf8cac9502a501b87912bfe1dad2..6e039b43828dbd1891809928cf242ce5157b8349 100644 (file)
@@ -289,7 +289,7 @@ class userinfo
 
     /* Push cache answer? */
     $ACL_CACHE = &session::get('ACL_CACHE');
-    if (isset($ACL_CACHE["$dn+$object+$attribute"])){
+    if (0 & isset($ACL_CACHE["$dn+$object+$attribute"])){
 
       /* Remove write if needed */
       if ($skip_write){
@@ -392,6 +392,13 @@ class userinfo
       }
     }
 
+    /* If the requested ACL is for a container object, then alter 
+        ACLs by applying cleanACL a last time.
+     */
+    if(in_array($dn,$this->config->departments)){
+      $acl = $this->cleanACL($acl);
+    }
+
     /* Assemble string */
     $ret= "";
     foreach ($acl as $key => $value){