add current dev version (WIP)
[GitHub/Stricted/Domain-Control-Panel.git] / lib / api / page / ServerPage.class.php
CommitLineData
ed1268fb 1<?php
ff49a0be 2namespace dns\api\page;
ed1268fb 3use dns\page\AbstractPage;
ff49a0be 4use dns\system\cache\builder\DNSApiCacheBuilder;
ed1268fb
S
5use dns\system\DNS;
6
7/**
8 * @author Jan Altensen (Stricted)
9 * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
10 * @copyright 2014-2015 Jan Altensen (Stricted)
11 */
12class ServerPage extends AbstractPage {
13 const AVAILABLE_DURING_OFFLINE_MODE = true;
14
15 public function prepare() {
16 // todo: user/server seletion
17 $key = "";
18 if (isset($_REQUEST['key'])) {
19 $key = strtoupper(trim($_REQUEST['key']));
20 }
21
22 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)) {
23 header('Content-Type: application/json');
24 echo json_encode(array("error" => "wrong access key"), JSON_PRETTY_PRINT);
25 exit;
26 }
27 else {
ff49a0be 28 $data = DNSApiCacheBuilder::getInstance()->getData();
ed1268fb
S
29
30 header('Content-Type: application/json');
31 echo json_encode($data, JSON_PRETTY_PRINT);
32 exit;
33 }
34 }
35}