Code

Updated post handling for dns
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Tue, 4 Sep 2007 13:02:25 +0000 (13:02 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Tue, 4 Sep 2007 13:02:25 +0000 (13:02 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@7214 594d385d-05f5-0310-b6e9-bd551577e9d8

include/class_plugin.inc
plugins/admin/systems/class_servDNS.inc
plugins/admin/systems/class_servDNSeditZone.inc
plugins/admin/systems/class_servDNSeditZoneEntries.inc

index 53c27b8ed7ef2aba9083f0cef816e4ee4955df63..c4057ea67b5229127cc0e62dcdace0702dc7250b 100644 (file)
@@ -586,6 +586,12 @@ class plugin
     }
 
     if ($command != ""){
+
+      /* Additional attributes */
+      foreach ($add_attrs as $name => $value){
+        $command= preg_replace("/%$name/", $value, $command);
+      }
+
       /* Walk through attribute list */
       foreach ($this->attributes as $attr){
         if (!is_array($this->$attr)){
@@ -594,11 +600,6 @@ class plugin
       }
       $command= preg_replace("/%dn/", $this->dn, $command);
 
-      /* Additional attributes */
-      foreach ($add_attrs as $name => $value){
-        $command= preg_replace("/%$name/", $value, $command);
-      }
-
       if (check_command($command)){
         @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__,
             $command, "Execute");
@@ -620,6 +621,12 @@ class plugin
     }
 
     if ($command != ""){
+
+      /* Additional attributes */
+      foreach ($add_attrs as $name => $value){
+        $command= preg_replace("/%$name/", $value, $command);
+      }
+
       /* Walk through attribute list */
       foreach ($this->attributes as $attr){
         if (!is_array($this->$attr)){
@@ -628,11 +635,6 @@ class plugin
       }
       $command= preg_replace("/%dn/", $this->dn, $command);
 
-      /* Additional attributes */
-      foreach ($add_attrs as $name => $value){
-        $command= preg_replace("/%$name/", $value, $command);
-      }
-
       if (check_command($command)){
         @DEBUG (DEBUG_SHELL, __LINE__, __FUNCTION__, __FILE__,
             $command, "Execute");
@@ -654,6 +656,12 @@ class plugin
     }
 
     if ($command != ""){
+
+      /* Additional attributes */
+      foreach ($add_attrs as $name => $value){
+        $command= preg_replace("/%$name/", $value, $command);
+      }
+
       /* Walk through attribute list */
       foreach ($this->attributes as $attr){
         if (!is_array($this->$attr)){
index 92d0b2a78a470ed4da0cb3ee7fad25745f2d157f..93343090ceb7de6024dd220f86d4d6c2bd26b55f 100644 (file)
@@ -330,6 +330,7 @@ class servdns extends goService
       foreach($tmp['zoneUpdates'] as $dn => $attrs){
         $ldap->cd($dn);
         $ldap->modify($attrs);
+        $this->handle_post_events("modify",array("dn" => $dn));
         new log("modfiy","unknown/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
         show_ldap_error($ldap->get_error(), sprintf(_("Updating of system server/dns with dn '%s' failed."),$this->dn));
       }
@@ -340,6 +341,7 @@ class servdns extends goService
     foreach($tmp['del'] as $dn => $del){
       $ldap->cd($dn);
       $ldap->rmdir_recursive($dn);
+      $this->handle_post_events("remove",array("dn" => $dn));
       new log("remove","unknown/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
       show_ldap_error($ldap->get_error(), sprintf(_("Removing of system server/dns with dn '%s' failed."),$this->dn));
     }
@@ -358,10 +360,12 @@ class servdns extends goService
       if($ldap->fetch()){
         $ldap->cd($dn);
         $ldap->modify ($attrs);
+        $this->handle_post_events("modify",array("dn" => $dn));
         show_ldap_error($ldap->get_error(), sprintf(_("Saving of system server/dns with dn '%s' failed."),$this->dn));
       }else{
         $ldap->cd($dn);
         $ldap->add($attrs);
+        $this->handle_post_events("create",array("dn" => $dn));
         show_ldap_error($ldap->get_error(), sprintf(_("Saving of system server/dns with dn '%s' failed."),$this->dn));
       }
     }
index 1605df4b399a5a05f077c1bdaae8d9f58e8738ed..c71fdf67b3bab1c0eabb4f96499a585d677e851e 100644 (file)
@@ -217,6 +217,7 @@ class servdnseditZone extends plugin
       $smarty->assign("AllowZoneEdit" , true);
       if(isset($_POST['EditZoneEntries'])){
         $this->dialog= new servDNSeditZoneEntries($this->config,$this->dn,$this->ZoneObject);
+        $this->dialog->parent = $this;
       }
     }
 
index a485f8b11f906c4f7ee510a569d8cf05fa3f3832..7eace297ac85e493bc416f8a1f77a09e80a08f13 100644 (file)
@@ -299,6 +299,7 @@ class servDNSeditZoneEntries extends plugin
 
     $todo = array(); 
 
+
     /* Create todolist
      */
     foreach($this->Devices as $name => $dev){