diff --git a/interface/lib/classes/tform_actions.inc.php b/interface/lib/classes/tform_actions.inc.php
index 89d974abd7ef00d6f2c301fec8fe5085c578e5c8..711fa5f9042cd2fa2e55e9ec929dbc5732a16633 100644
--- a/interface/lib/classes/tform_actions.inc.php
+++ b/interface/lib/classes/tform_actions.inc.php
@@ -276,16 +276,16 @@ class tform_actions {
                                 if($app->tform->checkPerm($this->id,'d') == false) $app->error($app->lng('error_no_delete_permission'));
                         }
 
-                        $record_old = $app->db->queryOneRecord("SELECT * FROM ".$liste["table"]." WHERE ".$liste["table_idx"]." = ".$this->id);
+                        //$this->dataRecord = $app->db->queryOneRecord("SELECT * FROM ".$liste["table"]." WHERE ".$liste["table_idx"]." = ".$this->id);
+						$this->dataRecord = $app->tform->getDataRecord($this->id);
 
                         // Saving record to datalog when db_history enabled
                         if($app->tform->formDef["db_history"] == 'yes') {
-							$old_data_record = $app->tform->getDataRecord($this->id);
-							$app->tform->datalogSave('DELETE',$this->id,$old_data_record,array());
-							unset($old_data_record);
+							//$old_data_record = $app->tform->getDataRecord($this->id);
+							$app->tform->datalogSave('DELETE',$this->id,$this->dataRecord,array());
                         }
 
-                        $app->db->query("DELETE FROM ".$liste["table"]." WHERE ".$liste["table_idx"]." = ".$this->id);
+                        $app->db->query("DELETE FROM ".$liste["table"]." WHERE ".$liste["table_idx"]." = ".$this->id." LIMIT 0,1");
 						
 						// loading plugins
 						$next_tab = $app->tform->getCurrentTab();
@@ -296,6 +296,8 @@ class tform_actions {
                         foreach($this->plugins as $plugin) {
                                 $plugin->onDelete();
                         }
+						
+						$this->onAfterDelete();
                 }
 
                 		//header("Location: ".$liste["file"]."?PHPSESSID=".$_SESSION["s"]["id"]);
@@ -310,6 +312,10 @@ class tform_actions {
                 }
                 exit;
 
+        }
+		
+		function onAfterDelete() {
+            global $app, $conf;
         }
 		
 		/**
diff --git a/interface/web/dns/form/rr.tform.php b/interface/web/dns_old/form/rr.tform.php
similarity index 100%
rename from interface/web/dns/form/rr.tform.php
rename to interface/web/dns_old/form/rr.tform.php
diff --git a/interface/web/dns/form/soa.tform.php b/interface/web/dns_old/form/soa.tform.php
similarity index 100%
rename from interface/web/dns/form/soa.tform.php
rename to interface/web/dns_old/form/soa.tform.php
diff --git a/interface/web/dns/lib/admin.conf.php b/interface/web/dns_old/lib/admin.conf.php
similarity index 100%
rename from interface/web/dns/lib/admin.conf.php
rename to interface/web/dns_old/lib/admin.conf.php
diff --git a/interface/web/dns/lib/lang/de.lng b/interface/web/dns_old/lib/lang/de.lng
similarity index 100%
rename from interface/web/dns/lib/lang/de.lng
rename to interface/web/dns_old/lib/lang/de.lng
diff --git a/interface/web/dns/lib/lang/de_rr.lng b/interface/web/dns_old/lib/lang/de_rr.lng
similarity index 100%
rename from interface/web/dns/lib/lang/de_rr.lng
rename to interface/web/dns_old/lib/lang/de_rr.lng
diff --git a/interface/web/dns/lib/lang/de_rr_list.lng b/interface/web/dns_old/lib/lang/de_rr_list.lng
similarity index 100%
rename from interface/web/dns/lib/lang/de_rr_list.lng
rename to interface/web/dns_old/lib/lang/de_rr_list.lng
diff --git a/interface/web/dns/lib/lang/de_soa.lng b/interface/web/dns_old/lib/lang/de_soa.lng
similarity index 100%
rename from interface/web/dns/lib/lang/de_soa.lng
rename to interface/web/dns_old/lib/lang/de_soa.lng
diff --git a/interface/web/dns/lib/lang/de_soa_list.lng b/interface/web/dns_old/lib/lang/de_soa_list.lng
similarity index 100%
rename from interface/web/dns/lib/lang/de_soa_list.lng
rename to interface/web/dns_old/lib/lang/de_soa_list.lng
diff --git a/interface/web/dns/lib/lang/en.lng b/interface/web/dns_old/lib/lang/en.lng
similarity index 100%
rename from interface/web/dns/lib/lang/en.lng
rename to interface/web/dns_old/lib/lang/en.lng
diff --git a/interface/web/dns/lib/lang/en_rr.lng b/interface/web/dns_old/lib/lang/en_rr.lng
similarity index 100%
rename from interface/web/dns/lib/lang/en_rr.lng
rename to interface/web/dns_old/lib/lang/en_rr.lng
diff --git a/interface/web/dns/lib/lang/en_rr_list.lng b/interface/web/dns_old/lib/lang/en_rr_list.lng
similarity index 100%
rename from interface/web/dns/lib/lang/en_rr_list.lng
rename to interface/web/dns_old/lib/lang/en_rr_list.lng
diff --git a/interface/web/dns/lib/lang/en_soa.lng b/interface/web/dns_old/lib/lang/en_soa.lng
similarity index 100%
rename from interface/web/dns/lib/lang/en_soa.lng
rename to interface/web/dns_old/lib/lang/en_soa.lng
diff --git a/interface/web/dns/lib/lang/en_soa_list.lng b/interface/web/dns_old/lib/lang/en_soa_list.lng
similarity index 100%
rename from interface/web/dns/lib/lang/en_soa_list.lng
rename to interface/web/dns_old/lib/lang/en_soa_list.lng
diff --git a/interface/web/dns/lib/lang/fr.lng b/interface/web/dns_old/lib/lang/fr.lng
similarity index 100%
rename from interface/web/dns/lib/lang/fr.lng
rename to interface/web/dns_old/lib/lang/fr.lng
diff --git a/interface/web/dns/lib/lang/fr_rr.lng b/interface/web/dns_old/lib/lang/fr_rr.lng
similarity index 100%
rename from interface/web/dns/lib/lang/fr_rr.lng
rename to interface/web/dns_old/lib/lang/fr_rr.lng
diff --git a/interface/web/dns/lib/lang/fr_rr_list.lng b/interface/web/dns_old/lib/lang/fr_rr_list.lng
similarity index 100%
rename from interface/web/dns/lib/lang/fr_rr_list.lng
rename to interface/web/dns_old/lib/lang/fr_rr_list.lng
diff --git a/interface/web/dns/lib/lang/fr_soa.lng b/interface/web/dns_old/lib/lang/fr_soa.lng
similarity index 100%
rename from interface/web/dns/lib/lang/fr_soa.lng
rename to interface/web/dns_old/lib/lang/fr_soa.lng
diff --git a/interface/web/dns/lib/lang/fr_soa_list.lng b/interface/web/dns_old/lib/lang/fr_soa_list.lng
similarity index 100%
rename from interface/web/dns/lib/lang/fr_soa_list.lng
rename to interface/web/dns_old/lib/lang/fr_soa_list.lng
diff --git a/interface/web/dns/lib/lang/se.lng b/interface/web/dns_old/lib/lang/se.lng
similarity index 100%
rename from interface/web/dns/lib/lang/se.lng
rename to interface/web/dns_old/lib/lang/se.lng
diff --git a/interface/web/dns/lib/lang/se_rr.lng b/interface/web/dns_old/lib/lang/se_rr.lng
similarity index 100%
rename from interface/web/dns/lib/lang/se_rr.lng
rename to interface/web/dns_old/lib/lang/se_rr.lng
diff --git a/interface/web/dns/lib/lang/se_rr_list.lng b/interface/web/dns_old/lib/lang/se_rr_list.lng
similarity index 100%
rename from interface/web/dns/lib/lang/se_rr_list.lng
rename to interface/web/dns_old/lib/lang/se_rr_list.lng
diff --git a/interface/web/dns/lib/lang/se_soa.lng b/interface/web/dns_old/lib/lang/se_soa.lng
similarity index 100%
rename from interface/web/dns/lib/lang/se_soa.lng
rename to interface/web/dns_old/lib/lang/se_soa.lng
diff --git a/interface/web/dns/lib/lang/se_soa_list.lng b/interface/web/dns_old/lib/lang/se_soa_list.lng
similarity index 100%
rename from interface/web/dns/lib/lang/se_soa_list.lng
rename to interface/web/dns_old/lib/lang/se_soa_list.lng
diff --git a/interface/web/dns/lib/module.conf.php b/interface/web/dns_old/lib/module.conf.php
similarity index 100%
rename from interface/web/dns/lib/module.conf.php
rename to interface/web/dns_old/lib/module.conf.php
diff --git a/interface/web/dns/list/rr.list.php b/interface/web/dns_old/list/rr.list.php
similarity index 100%
rename from interface/web/dns/list/rr.list.php
rename to interface/web/dns_old/list/rr.list.php
diff --git a/interface/web/dns/list/soa.list.php b/interface/web/dns_old/list/soa.list.php
similarity index 100%
rename from interface/web/dns/list/soa.list.php
rename to interface/web/dns_old/list/soa.list.php
diff --git a/interface/web/dns/rr_del.php b/interface/web/dns_old/rr_del.php
similarity index 100%
rename from interface/web/dns/rr_del.php
rename to interface/web/dns_old/rr_del.php
diff --git a/interface/web/dns/rr_edit.php b/interface/web/dns_old/rr_edit.php
similarity index 100%
rename from interface/web/dns/rr_edit.php
rename to interface/web/dns_old/rr_edit.php
diff --git a/interface/web/dns/rr_list.php b/interface/web/dns_old/rr_list.php
similarity index 100%
rename from interface/web/dns/rr_list.php
rename to interface/web/dns_old/rr_list.php
diff --git a/interface/web/dns/soa_del.php b/interface/web/dns_old/soa_del.php
similarity index 100%
rename from interface/web/dns/soa_del.php
rename to interface/web/dns_old/soa_del.php
diff --git a/interface/web/dns/soa_edit.php b/interface/web/dns_old/soa_edit.php
similarity index 100%
rename from interface/web/dns/soa_edit.php
rename to interface/web/dns_old/soa_edit.php
diff --git a/interface/web/dns/soa_list.php b/interface/web/dns_old/soa_list.php
similarity index 100%
rename from interface/web/dns/soa_list.php
rename to interface/web/dns_old/soa_list.php
diff --git a/interface/web/dns/templates/rr_edit.htm b/interface/web/dns_old/templates/rr_edit.htm
similarity index 100%
rename from interface/web/dns/templates/rr_edit.htm
rename to interface/web/dns_old/templates/rr_edit.htm
diff --git a/interface/web/dns/templates/rr_list.htm b/interface/web/dns_old/templates/rr_list.htm
similarity index 100%
rename from interface/web/dns/templates/rr_list.htm
rename to interface/web/dns_old/templates/rr_list.htm
diff --git a/interface/web/dns/templates/soa_edit.htm b/interface/web/dns_old/templates/soa_edit.htm
similarity index 100%
rename from interface/web/dns/templates/soa_edit.htm
rename to interface/web/dns_old/templates/soa_edit.htm
diff --git a/interface/web/dns/templates/soa_edit_rr.htm b/interface/web/dns_old/templates/soa_edit_rr.htm
similarity index 100%
rename from interface/web/dns/templates/soa_edit_rr.htm
rename to interface/web/dns_old/templates/soa_edit_rr.htm
diff --git a/interface/web/dns/templates/soa_list.htm b/interface/web/dns_old/templates/soa_list.htm
similarity index 100%
rename from interface/web/dns/templates/soa_list.htm
rename to interface/web/dns_old/templates/soa_list.htm
diff --git a/interface/web/sites/web_domain_edit.php b/interface/web/sites/web_domain_edit.php
index f925bd2a2604397813dfd688296ca85e77c18e99..cb3d57e4445757ded10768f0d9ab27ba7afaf5c5 100644
--- a/interface/web/sites/web_domain_edit.php
+++ b/interface/web/sites/web_domain_edit.php
@@ -250,6 +250,24 @@ class page_action extends tform_actions {
 		
 	}
 	
+	function onAfterDelete() {
+		global $app, $conf;
+		
+		// Delete the sub and alias domains
+		$child_domains = $app->db->queryAllRecords("SELECT * FROM web_domain WHERE parent_domain_id = ".$this->id);
+		foreach($child_domains as $d) {
+			// Saving record to datalog when db_history enabled
+            if($app->tform->formDef["db_history"] == 'yes') {
+				$app->tform->datalogSave('DELETE',$d["domain_id"],$d,array());
+            }
+
+            $app->db->query("DELETE FROM web_domain WHERE domain_id = ".$d["domain_id"]." LIMIT 0,1");
+		}
+		unset($child_domains);
+		unset($d);
+		
+	}
+	
 }
 
 $page = new page_action;