From 31881d5e69a95940b6639671f0659cef77b22ddf Mon Sep 17 00:00:00 2001 From: Skylar Ittner Date: Mon, 3 Oct 2016 11:59:43 -0600 Subject: [PATCH] Move weather fetching and cache handling to weather_inc.php --- .gitignore | 3 ++- Dockerfile | 22 +++++++++++----------- database.mwb.bak | Bin 15755 -> 0 bytes getweather.php | 31 ++----------------------------- nbproject/project.properties | 14 +++++++------- nbproject/project.xml | 18 +++++++++--------- weather_inc.php | 35 +++++++++++++++++++++++++++++++++++ 7 files changed, 66 insertions(+), 57 deletions(-) delete mode 100644 database.mwb.bak create mode 100644 weather_inc.php diff --git a/.gitignore b/.gitignore index 7d18118..45b1e23 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ error/ stats/ vendor/ settings.php -*.log \ No newline at end of file +*.log +database.mwb.bak \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 03eb613..a5b2c80 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,12 @@ -FROM php:5-apache -MAINTAINER Skylar Ittner -RUN apt-get update && apt-get upgrade -y -RUN apt-get install git openssh-server -# nuke the webroot -WORKDIR /var/www -RUN rm -rf html && mkdir html -WORKDIR /var/www/html -# install the server crap (private repo for now, thx GitHub Student) -RUN git clone https://skylarmt-script-account:scriptb0t@github.com/skylarmt/TerranQuestServer.git . -# 0wn3d +FROM php:5-apache +MAINTAINER Skylar Ittner +RUN apt-get update && apt-get upgrade -y +RUN apt-get install git openssh-server +# nuke the webroot +WORKDIR /var/www +RUN rm -rf html && mkdir html +WORKDIR /var/www/html +# install the server crap (private repo for now, thx GitHub Student) +RUN git clone https://skylarmt-script-account:scriptb0t@github.com/skylarmt/TerranQuestServer.git . +# 0wn3d RUN cd .. && chown -R www-data:www-data html \ No newline at end of file diff --git a/database.mwb.bak b/database.mwb.bak deleted file mode 100644 index 5d07e5ff5c18e896069b027c7dce712b8cdee743..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15755 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 II=jIB57HRVb^rhX diff --git a/getweather.php b/getweather.php index 29069f5..a50ac8a 100644 --- a/getweather.php +++ b/getweather.php @@ -2,36 +2,9 @@ require 'required.php'; require 'onlyloggedin.php'; +require 'weather_inc.php'; -// Validate input -if (is_empty($VARS['lat']) || is_empty($VARS['long'])) { - sendError("Missing information.", true); -} -if (!preg_match('/-?[0-9]{1,3}\.[0-9]{2,}/', $VARS['lat'])) { - sendError("Latitude (lat) is in the wrong format.", true); -} -if (!preg_match('/-?[0-9]{1,3}\.[0-9]{2,}/', $VARS['long'])) { - sendError("Longitude (long) is in the wrong format.", true); -} - -// Round to 2 digits (approx. 1.1km) -$lat = number_format((float) $VARS['lat'], 2, '.', ''); -$long = number_format((float) $VARS['long'], 2, '.', ''); - -// Delete old records -$database->delete('weathercache', ["date[<]" => date('Y-m-d H:i:s', strtotime('-1 hour'))]); - -// If we don't get a cache hit, request from the API -if (!$database->has('weathercache', ["AND" => ["latitude" => $lat, "longitude" => $long]])) { - $weather = json_decode(file_get_contents("https://api.darksky.net/forecast/" . DARKSKY_APIKEY . "/$lat,$long"), TRUE); - $currentjson = json_encode($weather['currently']); - $database->insert('weathercache', ["latitude" => $lat, "longitude" => $long, "#date" => "NOW()", "currentjson" => $currentjson]); -} - -// Build output array -$output = ["status" => "OK", "currently" => []]; -// Get the cached record and put it in the output array -$output['currently'] = json_decode($database->select('weathercache', 'currentjson', ["AND" => ["latitude" => $lat, "longitude" => $long]])[0], TRUE); +$output['currently'] = $currently; // Re-encode the data to JSON and send to client echo json_encode($output); \ No newline at end of file diff --git a/nbproject/project.properties b/nbproject/project.properties index d37ef95..8b7302c 100644 --- a/nbproject/project.properties +++ b/nbproject/project.properties @@ -1,7 +1,7 @@ -include.path=${php.global.include.path} -php.version=PHP_54 -source.encoding=UTF-8 -src.dir=. -tags.asp=false -tags.short=false -web.root=. +include.path=${php.global.include.path} +php.version=PHP_54 +source.encoding=UTF-8 +src.dir=. +tags.asp=false +tags.short=false +web.root=. diff --git a/nbproject/project.xml b/nbproject/project.xml index 7951c6b..00ef7d0 100644 --- a/nbproject/project.xml +++ b/nbproject/project.xml @@ -1,9 +1,9 @@ - - - org.netbeans.modules.php.project - - - TerranQuest Server - - - + + + org.netbeans.modules.php.project + + + TerranQuest Server + + + diff --git a/weather_inc.php b/weather_inc.php new file mode 100644 index 0000000..8ff878c --- /dev/null +++ b/weather_inc.php @@ -0,0 +1,35 @@ +delete('weathercache', ["date[<]" => date('Y-m-d H:i:s', strtotime('-1 hour'))]); + +// If we don't get a cache hit, request from the API +if (!$database->has('weathercache', ["AND" => ["latitude" => $lat, "longitude" => $long]])) { + $weather = json_decode(file_get_contents("https://api.darksky.net/forecast/" . DARKSKY_APIKEY . "/$lat,$long"), TRUE); + $currentjson = json_encode($weather['currently']); + $database->insert('weathercache', ["latitude" => $lat, "longitude" => $long, "#date" => "NOW()", "currentjson" => $currentjson]); +} + +// Get the cached record and put it in a variable +$currently = json_decode($database->select('weathercache', 'currentjson', ["AND" => ["latitude" => $lat, "longitude" => $long]])[0], TRUE);