From f61f52a14d8b07b3c1f8ff9a54148ae7d42a1bc6 Mon Sep 17 00:00:00 2001
From: Mark Schouten <mark@tuxis.nl>
Date: Wed, 3 Aug 2016 13:33:44 +0200
Subject: [PATCH] Add getzonekeys() to PdnsApi

---
 includes/class/PdnsApi.php | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/includes/class/PdnsApi.php b/includes/class/PdnsApi.php
index d9ed390..1dc7a44 100644
--- a/includes/class/PdnsApi.php
+++ b/includes/class/PdnsApi.php
@@ -79,6 +79,33 @@ class PdnsAPI {
 
         return $api->json;
     }
+
+    public function getzonekeys($zoneid) {
+        $ret = array();
+        $api = clone $this->http;
+        $api->method = 'GET';
+        $api->url = "/servers/localhost/zones/$zoneid/cryptokeys"
+
+        $api->call();
+
+        foreach ($api->json as $key) {
+            if (!isset($key['active']))
+                continue;
+
+            $key['dstxt'] = $zoneid . ' IN DNSKEY '.$key['dnskey']."\n\n";
+
+            if (isset($key['ds'])) {
+                foreach ($key['ds'] as $ds) {
+                    $key['dstxt'] .= $zoneid . ' IN DS '.$ds."\n";
+                }
+                unset($key['ds']);
+            }
+            array_push($ret, $key);
+        }
+
+        return $ret;
+    }
+
 }
 
 ?>