From bcde7e93df7abe7339ab53fa73f0ada669207338 Mon Sep 17 00:00:00 2001 From: Michael Kaufmann Date: Thu, 21 Oct 2021 12:00:36 +0200 Subject: [PATCH] check whether the domain to clean from pdns actually still exists there; fixes #992 Signed-off-by: Michael Kaufmann --- lib/Froxlor/Cron/Dns/PowerDNS.php | 38 ++++++++++++++++--------------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/lib/Froxlor/Cron/Dns/PowerDNS.php b/lib/Froxlor/Cron/Dns/PowerDNS.php index 39556b2e..e992e721 100644 --- a/lib/Froxlor/Cron/Dns/PowerDNS.php +++ b/lib/Froxlor/Cron/Dns/PowerDNS.php @@ -15,7 +15,7 @@ use Froxlor\Settings; * @author Froxlor team (2016-) * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt * @package Cron - * + * */ class PowerDNS extends DnsBase { @@ -99,30 +99,32 @@ class PowerDNS extends DnsBase )); $pdns_domain = $pdns_domains_stmt->fetch(\PDO::FETCH_ASSOC); - $del_rec_stmt->execute(array( - 'did' => $pdns_domain['id'] - )); - $del_meta_stmt->execute(array( - 'did' => $pdns_domain['id'] - )); - $del_dom_stmt->execute(array( - 'did' => $pdns_domain['id'] - )); + if ($pdns_domain && ! empty($pdns_domain['id'])) { + $del_rec_stmt->execute(array( + 'did' => $pdns_domain['id'] + )); + $del_meta_stmt->execute(array( + 'did' => $pdns_domain['id'] + )); + $del_dom_stmt->execute(array( + 'did' => $pdns_domain['id'] + )); + } } } private function insertZone($domainname, $serial = 0) { - $ins_stmt = \Froxlor\Dns\PowerDNS::getDB()->prepare(" + $ins_stmt = \Froxlor\Dns\PowerDNS::getDB()->prepare(" INSERT INTO domains set `name` = :domainname, `notified_serial` = :serial, `type` = :type "); - $ins_stmt->execute(array( - 'domainname' => $domainname, - 'serial' => $serial, - 'type' => strtoupper(Settings::Get('system.powerdns_mode')) - )); - $lastid = \Froxlor\Dns\PowerDNS::getDB()->lastInsertId(); - return $lastid;; + $ins_stmt->execute(array( + 'domainname' => $domainname, + 'serial' => $serial, + 'type' => strtoupper(Settings::Get('system.powerdns_mode')) + )); + $lastid = \Froxlor\Dns\PowerDNS::getDB()->lastInsertId(); + return $lastid; } private function insertRecords($domainid = 0, $records = array(), $origin = "")