-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.php
More file actions
95 lines (66 loc) · 4.06 KB
/
index.php
File metadata and controls
95 lines (66 loc) · 4.06 KB
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<?php
//include the API Builder mini lib from https://github.com/brannondorsey/apibuilder
require_once("api_builder_includes/class.API.inc.php");
header("Content-Type: application/json; charset=utf-8");
if(isset($_GET) && !empty($_GET)){
$columns = "PR_NO,
PARK_NAME,
NODE_ID,
NODE_USE,
NODES_NAME,
ITEM_ID,
ITEM_TYPE,
ITEMS_NAME,
DESCRIPTION,
EASTING,
NORTHING,
ORIG_FID,
LONGITUDE,
LATITUDE";
$api = new API("localhost", "parks", "ParkData", "root", "govhack");
$api->setup($columns);
$api->set_default_order("PR_NO");
$api->set_searchable("PR_NO, PARK_NAME, ITEM_TYPE, ITEMS_NAME, DESCRIPTION");
$api->set_default_search_order("PR_NO");
$api->set_pretty_print(true);
if (isset($_GET['useAPI'])){
$get_array = Database::clean($_GET);
echo $api->get_json_from_assoc($get_array);
} else if (isset($_GET['fromTable']) && $_GET['fromTable']=="BookLocation") {
// Fix this query to only get the last update
if ($_GET['minLat'] != "")
$mysql_query_string = "SELECT * FROM ".$_GET['fromTable']." INNER JOIN Books ON Books.bookID = BookLocation.BookID LEFT JOIN BookReview ON BookReview.bookCode = Books.bookCode WHERE entryID IN (SELECT MAX(entryID) FROM ".$_GET['fromTable']." GROUP BY bookID) AND (LATITUDE < ".$_GET['minLat']." AND LATITUDE > ".$_GET['maxLat'].") AND (LONGITUDE > ".$_GET['minLong']." AND LONGITUDE < ".$_GET['maxLong'].") ORDER BY lastUpdate DESC LIMIT 1000";
else if ($_GET['bookID'] != "")
$mysql_query_string = "SELECT * FROM ".$_GET['fromTable']." as A INNER JOIN ParkData ON A.Latitude = ParkData.LATITUDE AND A.Longitude = ParkData.LONGITUDE WHERE A.bookID = ".$_GET['bookID'];
//print_r($mysql_query_string);
$get_array = Database::get_all_results($mysql_query_string);
$json_obj = new StdClass();
$json_obj->data = $get_array;
echo json_encode($json_obj, JSON_PRETTY_PRINT);
} else if (isset($_GET['fromTable']) && $_GET['fromTable']=="Books") {
// Fix this query to only get the last update
$mysql_query_string = "SELECT * FROM ".$_GET['fromTable']." WHERE bookCode = '".$_GET['bookCode']."'";
//print_r($mysql_query_string);
$get_array = Database::get_all_results($mysql_query_string);
$json_obj = new StdClass();
$json_obj->data = $get_array;
echo json_encode($json_obj, JSON_PRETTY_PRINT);
} else if (isset($_GET['mostPopular']) && $_GET['mostPopular']=="true") {
$mysql_query_string = "SELECT Books.*, COUNT(BookReview.bookCode) as A FROM BookReview INNER JOIN Books ON Books.bookCode = BookReview.bookCode GROUP BY BookReview.bookCode ORDER BY A DESC ";
$get_array = Database::get_all_results($mysql_query_string);
$json_obj = new StdClass();
$json_obj->books = $get_array;
//$mysql_query_string = "SELECT ParkData.*, COUNT(BookLocation.Latitude) as A FROM BookLocation INNER JOIN Books ON ParkData.Latitude = BookLocation.Latitude AND ParkData.Longitude = BookLocation.Longitude GROUP BY BookLocation.Latitude,BookLocation.Longitude ORDER BY A DESC ";
$mysql_query_string = "SELECT * FROM ParkData WHERE (Latitude, Longitude) IN (SELECT Latitude, Longitude FROM bestparks) GROUP BY PARK_NAME";
$get_array = Database::get_all_results($mysql_query_string);
$json_obj->parks = $get_array;
echo json_encode($json_obj, JSON_PRETTY_PRINT);
} else {
$mysql_query_string = "SELECT * FROM ParkData WHERE (LATITUDE < ".$_GET['minLat']." AND LATITUDE > ".$_GET['maxLat'].") AND (LONGITUDE > ".$_GET['minLong']." AND LONGITUDE < ".$_GET['maxLong'].") LIMIT 1000";
$get_array = Database::get_all_results($mysql_query_string);
$json_obj = new StdClass();
$json_obj->data = $get_array;
echo json_encode($json_obj, JSON_PRETTY_PRINT);
}
}
?>