[feladat @ 261]
Changed suggested configuration code to not use the PGP shorttags for better compatibility.
<?php/* Poweradmin, a friendly web-based admin tool for PowerDNS. * See <https://rejo.zenger.nl/poweradmin> for more details. * * Copyright 2007, 2008 Rejo Zenger <rejo@zenger.nl> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */session_start();include_once("config-me.inc.php");if(!@include_once("config.inc.php")){error(_('You have to create a config.inc.php!'));}/************* * Constants * *************/if(isset($_GET["start"])){define('ROWSTART',(($_GET["start"]-1)*$iface_rowamount));}else{define('ROWSTART',0);}if(isset($_GET["letter"])){define('LETTERSTART',$_GET["letter"]);$_SESSION["letter"]=$_GET["letter"];}elseif(isset($_SESSION["letter"])){define('LETTERSTART',$_SESSION["letter"]);}else{define('LETTERSTART',"a");}$valid_tlds=array("ac","ad","ae","aero","af","ag","ai","al","am","an","ao","aq","ar","arpa","as","asia","at","au","aw","ax","az","ba","bb","bd","be","bf","bg","bh","bi","biz","bj","bm","bn","bo","br","bs","bt","bv","bw","by","bz","ca","cat","cc","cd","cf","cg","ch","ci","ck","cl","cm","cn","co","com","coop","cr","cu","cv","cx","cy","cz","de","dj","dk","dm","do","dz","ec","edu","ee","eg","er","es","et","eu","fi","fj","fk","fm","fo","fr","ga","gb","gd","ge","gf","gg","gh","gi","gl","gm","gn","gov","gp","gq","gr","gs","gt","gu","gw","gy","hk","hm","hn","hr","ht","hu","id","ie","il","im","in","info","int","io","iq","ir","is","it","je","jm","jo","jobs","jp","ke","kg","kh","ki","km","kn","kp","kr","kw","ky","kz","la","lb","lc","li","lk","lr","ls","lt","lu","lv","ly","ma","mc","md","me","mg","mh","mil","mk","ml","mm","mn","mo","mobi","mp","mq","mr","ms","mt","mu","museum","mv","mw","mx","my","mz","na","name","nc","ne","net","nf","ng","ni","nl","no","np","nr","nu","nz","om","org","pa","pe","pf","pg","ph","pk","pl","pm","pn","pr","pro","ps","pt","pw","py","qa","re","ro","rs","ru","rw","sa","sb","sc","sd","se","sg","sh","si","sj","sk","sl","sm","sn","so","sr","st","su","sv","sy","sz","tc","td","tel","tf","tg","th","tj","tk","tl","tm","tn","to","tp","tr","travel","tt","tv","tw","tz","ua","ug","uk","um","us","uy","uz","va","vc","ve","vg","vi","vn","vu","wf","ws","xn--0zwm56d","xn--11b5bs3a9aj6g","xn--80akhbyknj4f","xn--9t4b11yi5a","xn--deba0ad","xn--g6w251d","xn--hgbk6aj7f53bba","xn--hlcj6aya9esc7a","xn--jxalpdlp","xn--kgbechtv","xn--zckzah","ye","yt","yu","za","zm","zw");/* Database connection */require_once("database.inc.php");// Generates $db variable to access database.// Array of the available zone types$server_types=array("MASTER","SLAVE","NATIVE");// $rtypes - array of possible record types$rtypes=array('A','AAAA','CNAME','HINFO','MX','NAPTR','NS','PTR','SOA','SRV','TXT');// If fancy records is enabled, extend this field.if($dns_fancy){$rtypes[10]='URL';$rtypes[11]='MBOXFW';}// $template - array of records that will be applied when adding a new zone file$template=array(array("name"=>"##DOMAIN##","type"=>"SOA","content"=>"$dns_ns1$dns_hostmaster 0","ttl"=>"$dns_ttl","prio"=>""),array("name"=>"##DOMAIN##","type"=>"NS","content"=>"$dns_ns1","ttl"=>"$dns_ttl","prio"=>""),array("name"=>"##DOMAIN##","type"=>"NS","content"=>"$dns_ns2","ttl"=>"$dns_ttl","prio"=>""),array("name"=>"www.##DOMAIN##","type"=>"A","content"=>"##WEBIP##","ttl"=>"$dns_ttl","prio"=>""),array("name"=>"##DOMAIN##","type"=>"A","content"=>"##WEBIP##","ttl"=>"$dns_ttl","prio"=>""),array("name"=>"mail.##DOMAIN##","type"=>"A","content"=>"##MAILIP##","ttl"=>"$dns_ttl","prio"=>""),array("name"=>"localhost.##DOMAIN##","type"=>"A","content"=>"127.0.0.1","ttl"=>"$dns_ttl","prio"=>""),array("name"=>"##DOMAIN##","type"=>"MX","content"=>"mail.##DOMAIN##","ttl"=>"$dns_ttl","prio"=>"10"));/************* * Includes * *************/require_once("error.inc.php");require_once("auth.inc.php");require_once("i18n.inc.php");require_once("users.inc.php");require_once("dns.inc.php");require_once("record.inc.php");$db=dbConnect();doAuthenticate();/************* * Functions * *************//* * Display the page option: [1] [2] .. [n] */functionshow_pages($amount,$rowamount,$id=''){if($amount>$rowamount){if(!isset($_GET["start"]))$_GET["start"]=1;echo_('Show page').":<br>";for($i=1;$i<=ceil($amount/$rowamount);$i++){if($_GET["start"]==$i){echo"[ <b>".$i."</b> ] ";}else{echo"[ <a href=\"".$_SERVER["PHP_SELF"]."?start=".$i;if($id!='')echo"&id=".$id;echo"\">".$i."</a> ] ";}}}}/* * Display the alphabetic option: [0-9] [a] [b] .. [z] */functionshow_letters($letterstart,$userid=true){echo_('Show zones beginning with').":<br>";$letter="[[:digit:]]";if($letterstart=="1"){echo"[ <span class=\"lettertaken\">0-9</span> ] ";}elseif(zone_letter_start($letter,$userid)){echo"[ <a href=\"".$_SERVER["PHP_SELF"]."?letter=1\">0-9</a> ] ";}else{echo"[ <span class=\"letternotavailble\">0-9</span> ] ";}foreach(range('a','z')as$letter){if($letter==$letterstart){echo"[ <span class=\"lettertaken\">".$letter."</span> ] ";}elseif(zone_letter_start($letter,$userid)){echo"[ <a href=\"".$_SERVER["PHP_SELF"]."?letter=".$letter."\">".$letter."</a> ] ";}else{echo"[ <span class=\"letternotavailble\">".$letter."</span> ] ";}}}functionzone_letter_start($letter,$userid=true){global$db;global$sql_regexp;$query="SELECT domains.id AS domain_id, zones.owner, domains.name AS domainname FROM domains LEFT JOIN zones ON domains.id=zones.domain_id WHERE substring(domains.name,1,1) ".$sql_regexp." ".$db->quote("^".$letter);$db->setLimit(1);$result=$db->query($query);$numrows=$result->numRows();if($numrows=="1"){return1;}else{return0;}}functionerror($msg){if($msg){echo" <div class=\"error\">Error: ".$msg."</div>\n";}else{echo" <div class=\"error\">"._('An unknown error has occurred.')."</div>\n";}}functionsuccess($msg){if($msg){echo" <div class=\"success\">".$msg."</div>\n";}else{echo" <div class=\"success\">"._('Something has been successfully performed. What exactly, however, will remain a mystery.')."</div>\n";}}/* * Something has been done nicely, display a message and a back button. */functionmessage($msg){include_once("header.inc.php");?> <P><TABLE CLASS="messagetable"><TR><TD CLASS="message"><H2><?phpecho_('Success!');?></H2> <BR> <FONT STYLE="font-weight: Bold"> <P><?phpif($msg){echonl2br($msg);}else{echo_('Successful!');}?> </P> <BR> <P> <a href="javascript:history.go(-1)"><< <?phpecho_('back');?></a></FONT> </P> </TD></TR></TABLE></P><?phpinclude_once("footer.inc.php");}/* * Reroute a user to a cleanpage of (if passed) arg */functionclean_page($arg=''){if(!$arg){header("Location: ".$_SERVER["PHP_SELF"]."?time=".time());exit;}else{if(preg_match('!\?!si',$arg)){$add="&time=";}else{$add="?time=";}header("Location: $arg$add".time());exit;}}functionget_status($res){if($res=='0'){return"<FONT CLASS=\"inactive\">"._('Inactive')."</FONT>";}elseif($res=='1'){return"<FONT CLASS=\"active\">"._('Active')."</FONT>";}}functionparse_template_value($val,$domain,$webip,$mailip){$val=str_replace('##DOMAIN##',$domain,$val);$val=str_replace('##WEBIP##',$webip,$val);$val=str_replace('##MAILIP##',$mailip,$val);return$val;}/* * Validates an email address. * Checks if there is something before the at '@' sign and its followed by a domain and a tld of minimum 2 * and maximum of 4 characters. */functionis_valid_email($email){if(!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.([a-z]{2,6}$)",$email)){returnfalse;}returntrue;}functionv_num($string){if(!eregi("^[0-9]+$",$string)){returnfalse;}else{returntrue;}}// Debug printfunctiondebug_print($var){echo"<pre style=\"border: 2px solid blue;\">\n";if(is_array($var)){print_r($var);}else{echo$var;}echo"</pre>\n";}?>