summaryrefslogtreecommitdiffstats
path: root/modules-available/locationinfo/api.inc.php
diff options
context:
space:
mode:
authorJannik Schönartz2016-12-09 13:13:00 +0100
committerJannik Schönartz2016-12-09 13:13:00 +0100
commitc4bc0fdd0d9ea72feb2ca2c74a19d9d37588813b (patch)
treee29e0dc8c38eea66b91d1ab17d3ef09ba3273e70 /modules-available/locationinfo/api.inc.php
parentfrontend: einmode svg & config updaterate fix (diff)
downloadslx-admin-c4bc0fdd0d9ea72feb2ca2c74a19d9d37588813b.tar.gz
slx-admin-c4bc0fdd0d9ea72feb2ca2c74a19d9d37588813b.tar.xz
slx-admin-c4bc0fdd0d9ea72feb2ca2c74a19d9d37588813b.zip
LocationInfo: Calendar informations get updated every 15 mins if there is a request. Added the settinglocationinfo column servername
Diffstat (limited to 'modules-available/locationinfo/api.inc.php')
-rw-r--r--modules-available/locationinfo/api.inc.php36
1 files changed, 34 insertions, 2 deletions
diff --git a/modules-available/locationinfo/api.inc.php b/modules-available/locationinfo/api.inc.php
index c0b5c2fc..d156f7ab 100644
--- a/modules-available/locationinfo/api.inc.php
+++ b/modules-available/locationinfo/api.inc.php
@@ -44,7 +44,7 @@ function randomCalendarGenerator() {
$result[] = $c;
}
- echo json_encode($result);
+ return json_encode($result);
}
function getRandomWord($len = 10) {
@@ -55,7 +55,39 @@ function getRandomWord($len = 10) {
function getCalendar($getRoomID) {
// TODO GET AND RETURN THE ACTUAL calendar
- randomCalendarGenerator();
+ //echo randomCalendarGenerator();
+
+ $dbquery = Database::simpleQuery("SELECT calendar, lastcalendarupdate, serverid, serverroomid FROM `location_info` WHERE locationid=:locationID", array('locationID' => $getRoomID));
+
+ $calendar;
+ $lastupdate;
+ $serverid;
+ $serverroomid;
+ while($dbresult=$dbquery->fetch(PDO::FETCH_ASSOC)) {
+ $lastupdate = (int) $dbresult['lastcalendarupdate'];
+ $calendar = $dbresult['calendar'];
+ $serverid = $dbresult['serverid'];
+ $serverroomid = $dbresult['serverroomid'];
+ }
+
+ $NOW = time();
+ if ($lastupdate == 0 || $NOW - $lastupdate > 900) {
+ echo updateCalendar($getRoomID, $serverid, $serverroomid);
+ } else {
+ echo $calendar;
+ }
+}
+
+function updateCalendar($locationid, $serverid, $serverroomid) {
+ // TODO CALL UpdateCalendar($serverid, $serverroomid);
+ $result = randomCalendarGenerator();
+ // ^ replace with the actual call
+
+ // Save in db and update timestamp
+ $NOW = time();
+ Database::exec("UPDATE `location_info` Set calendar=:calendar, lastcalendarupdate=:now WHERE locationid=:id", array('id' => $locationid, 'calendar' => $result, 'now' => $NOW));
+
+ return $result;
}
function getConfig($locationID) {