diff --git a/includes/class/ApiHandler.php b/includes/class/ApiHandler.php index 80b5a9a..15efef8 100644 --- a/includes/class/ApiHandler.php +++ b/includes/class/ApiHandler.php @@ -1,6 +1,6 @@ <?php -include_once('../config.inc.php'); +include_once('includes/config.inc.php'); class ApiHandler { public function __construct() { @@ -89,11 +89,11 @@ class ApiHandler { curl_setopt($this->curlh, CURLOPT_URL, $this->baseurl().$this->url); - print "Here we go:\n"; - print "Request: ".$this->method.' '.$this->baseurl().$this->url."\n"; - if ($this->content != '') { - print "Content: ".$this->content."\n"; - } + //print "Here we go:\n"; + //print "Request: ".$this->method.' '.$this->baseurl().$this->url."\n"; + //if ($this->content != '') { + // print "Content: ".$this->content."\n"; + //} $return = curl_exec($this->curlh); $code = curl_getinfo($this->curlh, CURLINFO_HTTP_CODE); diff --git a/includes/class/PdnsApi.php b/includes/class/PdnsApi.php index 1dc7a44..5fe11a0 100644 --- a/includes/class/PdnsApi.php +++ b/includes/class/PdnsApi.php @@ -1,6 +1,6 @@ <?php -include_once('apihandler.php'); +include_once('ApiHandler.php'); class PdnsAPI { public function __construct() { @@ -84,7 +84,7 @@ class PdnsAPI { $ret = array(); $api = clone $this->http; $api->method = 'GET'; - $api->url = "/servers/localhost/zones/$zoneid/cryptokeys" + $api->url = "/servers/localhost/zones/$zoneid/cryptokeys"; $api->call(); diff --git a/includes/class/Zone.php b/includes/class/Zone.php index 0791902..9dfb0d8 100644 --- a/includes/class/Zone.php +++ b/includes/class/Zone.php @@ -25,23 +25,28 @@ class Zone { $this->setaccount($data['account']); $this->setserial($data['serial']); $this->url = $data['url']; - $this->setsoaedit($data['soa_edit']); - $this->setsoaeditapi($data['soa_edit_api']); + if (isset($data['soa_edit'])) + $this->setsoaedit($data['soa_edit']); + if (isset($data['soa_edit_api'])) + $this->setsoaeditapi($data['soa_edit_api']); foreach ($data['masters'] as $master) { $this->addmaster($master); } - foreach ($data['rrsets'] as $rrset) { - $toadd = new RRSet($rrset['name'], $rrset['type']); - foreach ($rrset['comments'] as $comment) { - $toadd->addComment($comment['content'], $comment['account'], $comment['modified_at']); + if (isset($data['rrsets'])) { + foreach ($data['rrsets'] as $rrset) { + $toadd = new RRSet($rrset['name'], $rrset['type']); + foreach ($rrset['comments'] as $comment) { + $toadd->addComment($comment['content'], $comment['account'], $comment['modified_at']); + } + foreach ($rrset['records'] as $record) { + $toadd->addRecord($record['content'], $record['disabled']); + } + $toadd->setttl($rrset['ttl']); + array_push($this->rrsets, $toadd); } - foreach ($rrset['records'] as $record) { - $toadd->addRecord($record['content'], $record['disabled']); - } - $toadd->setttl($rrset['ttl']); - array_push($this->rrsets, $toadd); } + } } public function setkeyinfo($info) { diff --git a/zones.php b/zones.php index e98922c..3b23639 100644 --- a/zones.php +++ b/zones.php @@ -3,8 +3,8 @@ include_once('includes/config.inc.php'); include_once('includes/session.inc.php'); include_once('includes/misc.inc.php'); -include_once('include/class/PdnsAPI.php'); -include_once('include/class/Zone.php'); +include_once('includes/class/PdnsApi.php'); +include_once('includes/class/Zone.php'); if (!is_csrf_safe()) { header('Status: 403'); @@ -283,15 +283,18 @@ switch ($action) { case "list": case "listslaves": + $return = Array(); $q = isset($_POST['domsearch']) ? $_POST['domsearch'] : false; - foreach ($api->listzones($q) as $zone) { - $zone->setaccount(get_zone_owner($zone['name'], 'admin')); + foreach ($api->listzones($q) as $sresult) { + $zone = new Zone(); + $zone->parse($sresult); + $zone->setaccount(get_zone_owner($zone->name, 'admin')); if (!check_owner($zone)) continue; if ($action == "listslaves" and $zone->kind == "Slave") { - array_push($return, $zone); + array_push($return, $zone->export()); } elseif ($action == "list" and $zone->kind != "Slave") { if ($zone->dnssec) { $zone->setkeyinfo($api->getzonekeys($zone->id));