Code

Updated FAI template entry.
[gosa.git] / gosa-plugins / fai / admin / fai / class_faiScript.inc
index 67eed4dcebee304349f66afbbb2541055a117e2e..db8e38e68da18b904c6dcee6e003bacc3a2fb982 100644 (file)
@@ -55,7 +55,7 @@ class faiScript extends plugin
       foreach($res as $obj){
 
         /* Skip not relevant objects */
-        if(!preg_match("/".normalizePreg($this->dn)."$/i",$obj['dn'])) continue;
+        if(!preg_match("/".preg_quote($this->dn, '/')."$/i",$obj['dn'])) continue;
 
         $objects = array();
         $objects['status']      = "FreshLoaded";
@@ -108,9 +108,9 @@ class faiScript extends plugin
   /* Return a valid dn to fetch acls. Because 'new' will not work. */
   function acl_base_for_current_object($dn)
   {
-    if($dn == "new"){
+    if($dn == "new" || $dn == ""){
       if($this->dn == "new"){
-        $dn= "cn=dummy,".session::get('CurrentMainBase');
+        $dn= $this->parent->parent->acl_base;
       }else{
         $dn = $this->dn;
       }
@@ -432,12 +432,12 @@ class faiScript extends plugin
       $ldap = $this->config->get_ldap_link();
       $ldap->cd ($this->dn);
       $release = $this->parent->parent->fai_release;
-      $use_dn = preg_replace("/".normalizePreg(FAI::get_release_dn($this->dn))."/i", $release, $this->dn);
+      $use_dn = preg_replace("/".preg_quote(FAI::get_release_dn($this->dn), '/')."/i", $release, $this->dn);
       new log("remove","fai/".get_class($this),$use_dn,$this->attributes);
       FAI::prepare_to_save_FAI_object($use_dn,array(),true);
  
       foreach($this->SubObjects as $name => $obj){
-        $use_dn = preg_replace("/".normalizePreg(FAI::get_release_dn($this->dn))."/i", $release, $obj['dn']);
+        $use_dn = preg_replace("/".preg_quote(FAI::get_release_dn($this->dn), '/')."/i", $release, $obj['dn']);
         FAI::prepare_to_save_FAI_object($use_dn,array(),true);
       }
       $this->handle_post_events("remove");
@@ -451,11 +451,6 @@ class faiScript extends plugin
   {
     if((isset($_POST['FAIscript_posted'])) && !preg_match("/freeze/", $this->FAIstate)){
       plugin::save_object();
-      foreach($this->attributes as $attrs){
-        if(isset($_POST[$attrs])){
-          $this->$attrs = $_POST[$attrs];
-        }
-      }
     }
     
     /* Get sort order */
@@ -542,7 +537,7 @@ class faiScript extends plugin
       $tmp = array();
       $attributes = array_merge($this->sub_Load_Later,$this->subAttributes);
       foreach($attributes as $attrs){
-
+        if(!isset($obj[$attrs])) continue; 
         if($obj[$attrs] == ""){
           $obj[$attrs] = array();
         }
@@ -595,7 +590,7 @@ class faiScript extends plugin
     foreach($res as $obj){
 
       /* Skip not relevant objects */
-      if(!preg_match("/".normalizePreg($source['dn'])."$/i",$obj['dn'])) continue;
+      if(!preg_match("/".preg_quote($source['dn'], '/')."$/i",$obj['dn'])) continue;
 
       $objects = array();
       $objects['status']      = "edited";