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