Code

updated functions_FAI to reset the FAIstate attribute when storing new objects
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Mon, 10 Jul 2006 04:02:19 +0000 (04:02 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Mon, 10 Jul 2006 04:02:19 +0000 (04:02 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@4053 594d385d-05f5-0310-b6e9-bd551577e9d8

include/functions_FAI.inc

index 69fb3146476dc8f30158e64a00dd2e3c5d1a7498..5bb4da912b19fc5f37c89bf30e76c18e6854b3fd 100644 (file)
@@ -171,6 +171,10 @@ function array_diff_FAI($ar1,$ar2)
       $ar1[$key1] = $val1[0];
     }
 
+    if(!isset($ar2[$key1])){
+      return(true);
+    }
+
     if((is_array($ar2[$key1])) && (count($ar2[$key1])==1)){
       $val1 = $val1[0];
       $ar2[$key1] = $ar2[$key1][0];
@@ -238,7 +242,7 @@ function save_release_changes_now()
     }else{
       $is_new = false;
     }
-    
+   
     /* if parameter removed is true, we have to add FAIstate to the current attrs 
           FAIstate should end with ...|removed after this operation */  
     if($removed ){
@@ -435,9 +439,14 @@ function save_FAI_object($dn,$attrs)
   $ldap->cd($config->current['BASE']);
   $ldap->create_missing_trees(preg_replace('/^[^,]+,/', '', $dn));
   $ldap->cd($dn);
-  
   $ldap->cat($dn,array("dn"));
   if($ldap->count()){
+
+    if(!isset($attrs['FAIstate'])){
+      $attrs['FAIstate'] = array();
+    }
+
     $ldap->modify($attrs);
   }else{
     $ldap->add($attrs);