if($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"])){
if($rrs = $app->db->queryAllRecords("SELECT * FROM rr WHERE zone = ".$soa['id'])){
foreach($rrs as $rr){
if(substr($rr['name'], -(strlen($this->dataRecord['origin']))) != $this->dataRecord['origin']) $app->db->query("UPDATE rr SET name = '".substr($rr['name'], 0, -(strlen($this->dataRecord['origin']))).$this->dataRecord['origin']."' WHERE id = ".$rr['id']);
if(substr($rr['data'], -(strlen($this->dataRecord['origin']))) != $this->dataRecord['origin']) $app->db->query("UPDATE rr SET data = '".substr($rr['data'], 0, -(strlen($this->dataRecord['origin']))).$this->dataRecord['origin']."' WHERE id = ".$rr['id']);
}
}
*/
if($rrs=$app->db->queryAllRecords("SELECT * FROM rr")){
//$update_soas[] = $app->db->queryAllRecords("SELECT DISTINCT zone FROM rr WHERE name LIKE '%".$soa['origin']."' OR data LIKE '%".$soa['origin']."'");
$app->db->query("UPDATE rr SET name = '".substr($rr['name'],0,-(strlen($this->dataRecord['origin']))).$this->dataRecord['origin']."' WHERE name LIKE '%".$soa['origin']."' AND type != 'PTR'");
$app->db->query("UPDATE rr SET data = '".substr($rr['data'],0,-(strlen($this->dataRecord['origin']))).$this->dataRecord['origin']."' WHERE data LIKE '%".$soa['origin']."' AND type != 'PTR'");
$app->db->query("UPDATE rr SET name = '".substr($rr['name'],0,-(strlen($this->dataRecord['origin']))).$this->dataRecord['origin']."' WHERE name LIKE '%".$soa['origin']."' AND type = 'PTR'");
$app->db->query("UPDATE rr SET data = '".substr($rr['data'],0,-(strlen($this->dataRecord['origin']))).$this->dataRecord['origin']."' WHERE data LIKE '%".$soa['origin']."' AND type = 'PTR'");
}
}
if($soa){
// update rr if origin has changed
if($soa['origin']!=$this->dataRecord['origin']){
if($rrs=$app->db->queryAllRecords("SELECT * FROM rr")){
//$update_soas[] = $app->db->queryAllRecords("SELECT DISTINCT zone FROM rr WHERE name LIKE '%".$soa['origin']."' OR data LIKE '%".$soa['origin']."'");
$app->db->query("UPDATE rr SET name = '".substr($rr['name'],0,-(strlen($this->dataRecord['origin']))).$this->dataRecord['origin']."' WHERE name LIKE '%".$soa['origin']."' AND type != 'PTR'");
$app->db->query("UPDATE rr SET data = '".substr($rr['data'],0,-(strlen($this->dataRecord['origin']))).$this->dataRecord['origin']."' WHERE data LIKE '%".$soa['origin']."' AND type != 'PTR'");
// increase serial
if(!empty($update_soas)){
//print_r($update_soas);
//die();
$update_soas=array_unique($update_soas);
foreach($update_soasas$update_soa){
$u_soa=$app->db->queryOneRecord("SELECT * FROM soa WHERE id = ".$update_soa);
$app->db->query("UPDATE soa SET serial = '".$new_serial."' WHERE id = ".$update_soa);
}else{
$app->db->query("UPDATE soa SET serial = '".$new_serial."' WHERE id = ".$update_soa." AND origin NOT LIKE '%.in-addr.arpa.'");
$app->db->query("UPDATE rr SET name = '".substr($rr['name'],0,-(strlen($this->dataRecord['origin']))).$this->dataRecord['origin']."' WHERE name LIKE '%".$soa['origin']."' AND type = 'PTR'");
$app->db->query("UPDATE rr SET data = '".substr($rr['data'],0,-(strlen($this->dataRecord['origin']))).$this->dataRecord['origin']."' WHERE data LIKE '%".$soa['origin']."' AND type = 'PTR'");
}
}
// increase serial
if(!empty($update_soas)){
$update_soas=array_unique($update_soas);
foreach($update_soasas$update_soa){
$u_soa=$app->db->queryOneRecord("SELECT * FROM soa WHERE id = ".$update_soa);