From 0614b51e1bf71ac4db7ef02857a2286468e2b42b Mon Sep 17 00:00:00 2001 From: Carsten Schoene <ispconfig-dev@j0ke.net> Date: Sun, 29 Dec 2013 19:51:02 -0500 Subject: [PATCH] fix duplicate entry caused in rr_insert --- server/plugins-available/powerdns_plugin.inc.php | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/server/plugins-available/powerdns_plugin.inc.php b/server/plugins-available/powerdns_plugin.inc.php index a1e5bf0..14c2447 100644 --- a/server/plugins-available/powerdns_plugin.inc.php +++ b/server/plugins-available/powerdns_plugin.inc.php @@ -165,7 +165,7 @@ $this->soa_delete($event_name, $data); } else { $exists = $app->db->queryOneRecord("SELECT * FROM powerdns.domains WHERE ispconfig_id = ".$data["new"]["id"]); - if($data["old"]["active"] == 'Y' && $exists){ + if($data["old"]["active"] == 'Y' && is_array($exists)){ $origin = substr($data["new"]["origin"], 0, -1); $ispconfig_id = $data["new"]["id"]; @@ -273,6 +273,8 @@ function rr_insert($event_name, $data) { global $app, $conf; if($data["new"]["active"] != 'Y') return; + $exists = $app->db->queryOneRecord("SELECT * FROM powerdns.records WHERE ispconfig_id = ".$data["new"]["id"]); + if ( is_array($exists) ) return; $zone = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE id = ".$data["new"]["zone"]); $origin = substr($zone["origin"], 0, -1); @@ -339,7 +341,7 @@ $this->rr_delete($event_name, $data); } else { $exists = $app->db->queryOneRecord("SELECT * FROM powerdns.records WHERE ispconfig_id = ".$data["new"]["id"]); - if($data["old"]["active"] == 'Y' && $exists){ + if($data["old"]["active"] == 'Y' && is_array($exists)){ $zone = $app->db->queryOneRecord("SELECT * FROM dns_soa WHERE id = ".$data["new"]["zone"]); $origin = substr($zone["origin"], 0, -1); $powerdns_zone = $app->db->queryOneRecord("SELECT * FROM powerdns.domains WHERE ispconfig_id = ".$data["new"]["zone"]." AND type = 'MASTER'"); -- Gitblit v1.9.1