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