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