diff --git a/contrib/generate-dns.php b/contrib/generate-dns.php new file mode 100755 index 0000000000..96b8106531 --- /dev/null +++ b/contrib/generate-dns.php @@ -0,0 +1,164 @@ +#!/usr/bin/php + '1') { $rows_exist = 1; echo("DELETE FROM `records` WHERE `host` = '$reverse' LIMIT $rows_exist;\n"); } + + if($address == $hostip) { + if($rows_exist < '1') { + $reverse_query = "INSERT INTO `records` (`host`, `ttl`, `type`, `val`, `domain_id`) "; + $reverse_query .= "VALUES ('$reverse','38400','P','$real_hostname','$rev_domain_id')"; + } else { + $reverse_query = "UPDATE `records` SET `val` = '$real_hostname' WHERE `host` = '".$reverse.".'"; + } + } else { + if($rows_exist < '1') { + $reverse_query = "INSERT INTO `records` (`host`, `ttl`, `type`, `val`, `domain_id`) "; + $reverse_query .= "VALUES ('$reverse','38400','P','$dnsname','$rev_domain_id')"; + } else { + $reverse_query = "UPDATE `records` SET `val` = '".$dnsname.".' WHERE `host` = '".$reverse."'"; + } + } + + if($rev_domain_id) { + echo("$reverse_query; \n"); + #mysql_query($reverse_query, $dnsdblink); + } else { + #echo("$hostname - $interface - $reverse FAILED\n"); + } + + $i = 1; + unset($exist); + while ($i <= count($zoneupdated)) { + $thiszone = "$revzone"; + if ($zoneupdated[$i] == $thiszone) { $exist = "yes"; } + $i++; + } + if(!$exist) { $zoneupdated[] = "$revzone"; } + + unset ($forward_query); + + if($address != $hostip) { + + $rows_exist = mysql_result(mysql_query("SELECT COUNT(record_id) FROM `records` WHERE `host` = '$dnsname'", $dnsdblink),0); + if($rows_exist > '1') { $rows_exist--; echo("DELETE FROM `records` WHERE `host` = '$hostname' LIMIT $rows_exist;\n"); } + + if($rows_exist < '1') { + $forward_query = "INSERT INTO `records` (`host`, `ttl`, `type`, `val`, `domain_id`) "; + $forward_query .= "VALUES ('$dnsname','38400','A','$address','381')"; + } elseif ($address != $hostip) { + $forward_query = "UPDATE `records` SET `val` = '$address' WHERE `host` = '$dnsname'"; + } + + } + + if($forward_query && $rev_domain_id) { + echo("$forward_query; \n"); + } + + + mysql_query($forward_query, $dnsdblink); +# $i = 1; +# unset($exist) +# while ($i <= count($linkdone)) { +# $thiszone = "$"; +# if ($zoneupdated[$i] == $thiszone) { $exist = "yes"; } +# $i++; +# } + + } +} + +$i = 0; +while ($i < count($zoneupdated)) { + +# $sSQL = "update zones set name = '" . $name . "', ttl = " . $ttl . ", rdtype = +# '" . $rdtype1 . "', rdata = '" . $rdata . "' where zoneid = " . $id; +# $result = mysql_query($sSQL, $dnsdblink); + + $domain = $zoneupdated[$i]; + + $sSQL = "select rdata, zoneid from zones where domain_name = '" . $domain . "' and rdtype = 'SOA'"; + # $result = mysql_query($sSQL, $dnsdblink); +# $row = mysql_fetch_array($result); + $soa = explode(" ", $row[0]); + $year = substr($soa[2],0,4); + $month = substr($soa[2],4,2); + $day = substr($soa[2],6,2); + $serial = substr($soa[2],8,2); + $thisday = date("d",time()); + $thismonth = date("m",time()); + $thisyear = date("Y", time()); + if($day == $thisday && $month == $thismonth && $year = $thisyear) { + $serial++; + } + else { + $serial = "01"; + } + $date = $thisyear . $thismonth . $thisday . sprintf("%02s",$serial); + $rdata = $soa[0] . " " . $soa[1] . " " . $date . " " . $soa[3] . " " . $soa[4] . " " . $soa[5] . " " . $soa[6]; + $sSQL = "update zones set rdata = '" . $rdata . "' where zoneid = " . $row[1]; + # echo("$sSQL\n"); +# $result = mysql_query($sSQL, $dnsdblink); + + + + + + $i++; +} + + + + +?>