From 2d49c621abeff1909b7f4c90d5273157a4f70286 Mon Sep 17 00:00:00 2001 From: Christian Hofmaier Date: Thu, 3 Dec 2020 12:58:52 +0100 Subject: [locations] Add scheduler to openingtimes modal - only load/safe without further functionality - add backend to rebootcontrol --- .../rebootcontrol/inc/scheduler.inc.php | 58 ++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 modules-available/rebootcontrol/inc/scheduler.inc.php (limited to 'modules-available/rebootcontrol/inc/scheduler.inc.php') diff --git a/modules-available/rebootcontrol/inc/scheduler.inc.php b/modules-available/rebootcontrol/inc/scheduler.inc.php new file mode 100644 index 00000000..839d7d81 --- /dev/null +++ b/modules-available/rebootcontrol/inc/scheduler.inc.php @@ -0,0 +1,58 @@ + $locationid, + 'act' => $action + )); + } + + private static function calcNextwake($action, $openingTimes) { + //TODO: Calculate nextWake based on openingTimes. Needs action to know if openTimes or closingTimes are used. + return 0; + } + + private static function upsert($locationid, $action, $nextwake, $options) { + $schedule = Database::queryFirst("SELECT locationid, action + FROM `scheduler` + WHERE locationid = :lid AND action = :act", array( + 'lid' => $locationid, + 'act' => $action + )); + if ($schedule === false) { + Database::exec("INSERT INTO `scheduler` (locationid, action, nextwake, options) + VALUES (:lid, :act, :next, :opt)", array( + 'lid' => $locationid, + 'act' => $action, + 'next' => $nextwake, + 'opt' => $options + )); + } else { + Database::exec("UPDATE `scheduler` + SET nextwake = :next, options = :opt + WHERE locationid = :lid AND action = :act", array( + 'next' => $nextwake, + 'opt' => $options, + 'lid' => $locationid, + 'act' => $action + )); + } + return true; + } + +} \ No newline at end of file -- cgit v1.2.3-55-g7522