From fdd6fee6b96279edc1758fb7d8990153632069a4 Mon Sep 17 00:00:00 2001 From: ftimme <ft@falkotimme.com> Date: Fri, 30 Dec 2005 11:22:11 -0500 Subject: [PATCH] --- interface/web/dns/rr_edit.php | 17 +++++++++++++++-- 1 files changed, 15 insertions(+), 2 deletions(-) diff --git a/interface/web/dns/rr_edit.php b/interface/web/dns/rr_edit.php index 7a5ea61..8d0f9f3 100644 --- a/interface/web/dns/rr_edit.php +++ b/interface/web/dns/rr_edit.php @@ -118,7 +118,22 @@ // if IP address changes, delete/change old PTR record if(!empty($old_record)){ + + + + list($oa, $ob, $oc, $od) = explode('.', $old_record['data']); + $old_ptr_soa = $oc.'.'.$ob.'.'.$oa.'.in-addr.arpa.'; + $old_ptr_soa_exist = $app->db->queryOneRecord("SELECT * FROM soa WHERE origin = '".$old_ptr_soa."'"); + if(substr($old_record['name'], -1) == '.'){ + $old_ptr_soa_rr_data = $old_record['name']; + } else { + $old_ptr_soa_rr_data = $old_record['name'].(trim($old_record['name']) == '' ? '' : '.').$soa['origin']; + } + if(!$app->db->queryOneRecord("SELECT * FROM rr WHERE zone = '".$old_ptr_soa_exist['id']."' AND name = '".$od."' AND type = 'PTR' AND data = '".$old_ptr_soa_rr_data."'")){ + parent::onSubmit(); + return true; + } if($old_record['data'] == $this->dataRecord['data']){ $a_rr_with_same_ip = $this->dataRecord; @@ -126,8 +141,6 @@ } else { $a_rr_with_same_ip = $app->db->queryOneRecord("SELECT rr.*, soa.origin FROM rr, soa WHERE rr.type = 'A' AND rr.data = '".$old_record['data']."' AND rr.zone = soa.id AND soa.active = 'Y' AND rr.id != ".$this->dataRecord["id"]); } - $old_ptr_soa = $oc.'.'.$ob.'.'.$oa.'.in-addr.arpa.'; - $old_ptr_soa_exist = $app->db->queryOneRecord("SELECT * FROM soa WHERE origin = '".$old_ptr_soa."'"); if($a_rr_with_same_ip){ if(substr($a_rr_with_same_ip['name'], -1) == '.'){ -- Gitblit v1.9.1