diff options
author | msquare <msquare@notrademark.de> | 2017-12-12 21:57:57 +0100 |
---|---|---|
committer | msquare <msquare@notrademark.de> | 2017-12-12 21:57:57 +0100 |
commit | ff94df53d69234ae2625462a76926e131ade05b7 (patch) | |
tree | b5ee27bd8461a06a2b7e082faa48c6fa66fc560f /includes/controller/public_dashboard_controller.php | |
parent | d5631297dc42c06b1695fdb6f65d2b6a4b04c633 (diff) |
finish basic public dashboard
Diffstat (limited to 'includes/controller/public_dashboard_controller.php')
-rw-r--r-- | includes/controller/public_dashboard_controller.php | 66 |
1 files changed, 9 insertions, 57 deletions
diff --git a/includes/controller/public_dashboard_controller.php b/includes/controller/public_dashboard_controller.php index dc81ba2c..bf909bed 100644 --- a/includes/controller/public_dashboard_controller.php +++ b/includes/controller/public_dashboard_controller.php @@ -1,70 +1,22 @@ <?php -use Engelsystem\Database\Db; /** * Loads all data for the public dashboard */ function public_dashboard_controller() { - $stats = []; - - $now = time(); - $in3hours = $now + 3 * 60 * 60; - $result = Db::selectOne(" - SELECT SUM( - (SELECT SUM(`count`) FROM `NeededAngelTypes` WHERE `NeededAngelTypes`.`shift_id`=`Shifts`.`SID`) - - (SELECT COUNT(*) FROM `ShiftEntry` WHERE `ShiftEntry`.`SID`=`Shifts`.`SID` AND `freeloaded`=0) - ) as `count` - FROM `Shifts` - WHERE ((`end` > ? AND `end` < ?) OR (`start` > ? AND `start` < ?))", [ - $now, - $in3hours, - $now, - $in3hours - ]); - $stats['needed-3-hours'] = $result['count']; - - $night_start = parse_date('Y-m-d H:i', date('Y-m-d', time() + 12 * 60 * 60) . ' 02:00'); - $night_end = $night_start + 6 * 60 * 60; - $result = Db::selectOne(" - SELECT SUM( - (SELECT SUM(`count`) FROM `NeededAngelTypes` WHERE `NeededAngelTypes`.`shift_id`=`Shifts`.`SID`) - - (SELECT COUNT(*) FROM `ShiftEntry` WHERE `ShiftEntry`.`SID`=`Shifts`.`SID` AND `freeloaded`=0) - ) as `count` - FROM `Shifts` - WHERE ((`end` > ? AND `end` < ?) OR (`start` > ? AND `start` < ?))", [ - $night_start, - $night_end, - $night_start, - $night_end - ]); - $stats['needed-night'] = $result['count']; - - $result = Db::selectOne(" - SELECT SUM( - (SELECT COUNT(*) FROM `ShiftEntry` WHERE `ShiftEntry`.`SID`=`Shifts`.`SID` AND `freeloaded`=0) - ) as `count` - FROM `Shifts` - WHERE (`end` >= ? AND `start` <= ?)", [ - time(), - time() - ]); - $stats['angels-working'] = $result['count']; + $stats = [ + 'needed-3-hours' => stats_angels_needed_three_hours(), + 'needed-night' => stats_angels_needed_for_nightshifts(), + 'angels-working' => stats_currently_working(), + 'hours-to-work' => stats_hours_to_work() + ]; - $result = Db::selectOne(" - SELECT ROUND(SUM( - (SELECT COUNT(*) FROM `ShiftEntry` WHERE `ShiftEntry`.`SID`=`Shifts`.`SID` AND `freeloaded`=0) - * (`Shifts`.`end` - `Shifts`.`start`)/3600 - )) as `count` - FROM `Shifts` - WHERE `end` >= ?", [ - time() - ]); - $stats['hours-to-work'] = $result['count']; + $free_shifts = Shifts_free(time(), time() + 12 * 60 * 60); return [ - 'Engelsystem Public Dashboard', - public_dashboard_view($stats) + _('Engelsystem Public Dashboard'), + public_dashboard_view($stats, $free_shifts) ]; } ?>
\ No newline at end of file |