Code

Fixed daemon data indexing
[gosa.git] / gosa-core / include / class_userinfo.inc
index 3c9d363cbdebae28f17b431951621357453ec415..9ce014935a932ba0eaad49a9ef035ed63deab054 100644 (file)
@@ -248,12 +248,12 @@ class userinfo
     }
     $r = $w = $c = TRUE;
     foreach($object as $category){
-      $w |= preg_match("/w/",$this->has_complete_category_acls($dn, $category));
-      $c |= preg_match("/c/",$this->has_complete_category_acls($dn, $category));
-      $r |= preg_match("/r/",$this->has_complete_category_acls($dn, $category));
-#      print_a(array($category => $w.$c.$r));
+      $w &= preg_match("/w/",$this->has_complete_category_acls($dn, $category));
+      $c &= preg_match("/c/",$this->has_complete_category_acls($dn, $category));
+      $r &= preg_match("/r/",$this->has_complete_category_acls($dn, $category));
+#     print_a(array($category => array($r.$w.$c)));
     }
-    return($r); 
+    return($r && $w ); 
   }  
 
 
@@ -264,11 +264,17 @@ class userinfo
   */
   function allow_snapshot_create($dn, $object)
   {
-    $w = preg_match("/w/",$this->has_complete_category_acls($dn, $object));
-    $c = preg_match("/c/",$this->has_complete_category_acls($dn, $object));
-    $r = preg_match("/r/",$this->has_complete_category_acls($dn, $object));
-#    print_a(array($object => $w.$c.$r));
-    return($r && $w && $c) ; 
+    if(!is_array($object)){
+      $object = array($object);
+    }
+    $r = $w = $c = TRUE;
+    foreach($object as $category){
+      $w &= preg_match("/w/",$this->has_complete_category_acls($dn, $category));
+      $c &= preg_match("/c/",$this->has_complete_category_acls($dn, $category));
+      $r &= preg_match("/r/",$this->has_complete_category_acls($dn, $category));
+#      print_a(array($category => array($r.$w.$c)));
+    }
+    return($r) ; 
   }