From ed1268fb740a7ab035d6896b5dd8655355572582 Mon Sep 17 00:00:00 2001 From: Stricted Date: Thu, 11 Jun 2015 17:03:46 +0200 Subject: [PATCH] fix last commit --- lib/api/page/ServerPage.class.php | 60 +++++++++++++++++++++++++++ lib/page/SecAddPage.class.php | 29 +++++++++++++ templates/default/secAdd.tpl | 68 +++++++++++++++---------------- 3 files changed, 122 insertions(+), 35 deletions(-) create mode 100644 lib/api/page/ServerPage.class.php create mode 100644 lib/page/SecAddPage.class.php diff --git a/lib/api/page/ServerPage.class.php b/lib/api/page/ServerPage.class.php new file mode 100644 index 0000000..e0386ba --- /dev/null +++ b/lib/api/page/ServerPage.class.php @@ -0,0 +1,60 @@ + + * @copyright 2014-2015 Jan Altensen (Stricted) + */ +class ServerPage extends AbstractPage { + const AVAILABLE_DURING_OFFLINE_MODE = true; + + public function prepare() { + // todo: user/server seletion + $key = ""; + if (isset($_REQUEST['key'])) { + $key = strtoupper(trim($_REQUEST['key'])); + } + + if (!defined('DNS_API_KEY') || $key != DNS_API_KEY || empty($key) || !preg_match('/[a-f0-9]{8}\-[a-f0-9]{4}\-4[a-f0-9]{3}\-[89ab][a-f0-9]{3}\-[a-f0-9]{12}/i', $key)) { + header('Content-Type: application/json'); + echo json_encode(array("error" => "wrong access key"), JSON_PRETTY_PRINT); + exit; + } + else { + $data = array(); + + $sql = "SELECT * FROM dns_soa where active = ?"; + $statement = DNS::getDB()->query($sql, array(1)); + + while ($zone = DNS::getDB()->fetch_array($statement)) { + $data[$zone['origin']] = array(); + $data[$zone['origin']]['soa'] = $zone; + $data[$zone['origin']]['rr'] = array(); + $data[$zone['origin']]['sec'] = array(); + + /* resource records */ + $sql2 = "SELECT * FROM dns_rr where zone = ? and active = ?"; + $statement2 = DNS::getDB()->query($sql2, array($zone['id'], 1)); + while ($rr = DNS::getDB()->fetch_array($statement2)) { + $data[$zone['origin']]['rr'][] = $rr; + } + + if (ENABLE_DNSSEC) { + /* dnssec keys */ + $sql3 = "SELECT * FROM dns_sec where zone = ? and active = ?"; + $statement3 = DNS::getDB()->query($sql3, array($zone['id'], 1)); + while ($sec = DNS::getDB()->fetch_array($statement3)) { + $data[$zone['origin']]['sec'][] = $sec; + } + } + } + + header('Content-Type: application/json'); + echo json_encode($data, JSON_PRETTY_PRINT); + exit; + } + } +} diff --git a/lib/page/SecAddPage.class.php b/lib/page/SecAddPage.class.php new file mode 100644 index 0000000..a5d18a6 --- /dev/null +++ b/lib/page/SecAddPage.class.php @@ -0,0 +1,29 @@ + + * @copyright 2014-2015 Jan Altensen (Stricted) + */ +class SecAddPage extends AbstractPage { + + public function prepare() { + if (!isset($_GET['id']) || empty($_GET['id']) || !ENABLE_DNSSEC) { + throw new \Exception('The link you are trying to reach is no longer available or invalid.', 404); + } + print_r($_REQUEST); + $soaIDs = User::getAccessibleDomains(); + if (!in_array($_GET['id'], $soaIDs)) { + throw new \Exception('Access denied. You\'re not authorized to view this page.', 403); + } + + $sql = "SELECT * FROM dns_soa WHERE id = ?"; + $res = DNS::getDB()->query($sql, array($_GET['id'])); + $soa = DNS::getDB()->fetch_array($res); + + DNS::getTPL()->assign(array("soa" => $soa)); + } +} diff --git a/templates/default/secAdd.tpl b/templates/default/secAdd.tpl index 72bdf86..ec434bd 100644 --- a/templates/default/secAdd.tpl +++ b/templates/default/secAdd.tpl @@ -24,41 +24,39 @@
Add Record
-
-
-
Algorithmus
-
- -
-
-
-
ZSK Public Key
-
- -
-
-
-
ZSK Private Key
-
- -
-
-
-
KSK Public Key
-
- -
-
-
-
KSK Private Key
-
- -
-
-
+
+
+
Algorithmus
+
+ +
+
+
+
Type
+
+ +
+
+
+
DNSSEC Public Key
+
+ +
+
+
+
DNSSEC Private Key
+
+ +
+
+
+
-- 2.20.1