remove unused cache system
[GitHub/Stricted/Domain-Control-Panel.git] / lib / page / ApiPage.class.php
1 <?php
2 namespace dns\page;
3 use dns\system\DNS;
4
5 /**
6 * @author Jan Altensen (Stricted)
7 * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
8 * @copyright 2014-2015 Jan Altensen (Stricted)
9 */
10 class ApiPage extends AbstractPage {
11 const AVAILABLE_DURING_OFFLINE_MODE = true;
12
13 public function prepare() {
14 // todo: user/server seletion
15 $key = "";
16 if (isset($_REQUEST['key'])) {
17 $key = $_REQUEST['key'];
18 }
19
20 if (!defined('DNS_API_KEY') || $key != DNS_API_KEY || empty($key)) {
21 header('Content-Type: application/json');
22 echo json_encode(array("error" => "wrong access key"), JSON_PRETTY_PRINT);
23 exit;
24 }
25 else {
26 $data = array();
27
28 $sql = "SELECT * FROM dns_soa where active = ?";
29 $statement = DNS::getDB()->query($sql, array(1));
30
31 while ($zone = DNS::getDB()->fetch_array($statement)) {
32 $data[$zone['origin']] = array();
33 $data[$zone['origin']]['soa'] = $zone;
34 $data[$zone['origin']]['rr'] = array();
35 $data[$zone['origin']]['sec'] = array();
36
37 /* resource records */
38 $sql2 = "SELECT * FROM dns_rr where zone = ? and active = ?";
39 $statement2 = DNS::getDB()->query($sql2, array($zone['id'], 1));
40 while ($rr = DNS::getDB()->fetch_array($statement2)) {
41 $data[$zone['origin']]['rr'][] = $rr;
42 }
43
44 if (ENABLE_DNSSEC) {
45 /* dnssec keys */
46 $sql3 = "SELECT * FROM dns_sec where zone = ? and active = ?";
47 $statement3 = DNS::getDB()->query($sql3, array($zone['id'], 1));
48 while ($sec = DNS::getDB()->fetch_array($statement3)) {
49 $data[$zone['origin']]['sec'][] = $sec;
50 }
51 }
52 }
53
54 header('Content-Type: application/json');
55 echo json_encode($data, JSON_PRETTY_PRINT);
56 exit;
57 }
58 }
59 }