-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathjson.php
43 lines (39 loc) · 1.32 KB
/
json.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
// This file handles requests for JSON data
# @todo: if query is required, don't exit. Pass exception / display error
require_once "config.php";
if (isset($_GET['request'])) {
$request = $_GET['request'];
$query = ($_GET['query'] === '*' ? '%' : $_GET['query']);
switch ($request) {
case 'type':
if (!$query || $query == '%') { exit(); }
echo (new Query_Types($query))->json();
break;
case 'offer':
if (!$query || $query == '%') { exit(); }
// @todo: add options for region/market modes
$offerID = filter_input(INPUT_GET, 'query', FILTER_VALIDATE_INT);
echo json_encode((new LpOffer($offerID))->calc());
break;
case 'corps':
echo (new Query_Corps($query))->json();
break;
case 'system':
if (!$query || $query == '%') { exit(); }
echo (new Query_Systems($query))->json();
break;
case 'stations':
$e = explode(',', $query);
if (count($e) !== 2) { exit(); }
echo (new Query_CorpStations($e[0], $e[1]))->json();
break;
case 'store':
// @todo: include corp json file
break;
default:
break;
}
exit();
}
$tpl->display('json.html');