summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
Diffstat (limited to 'includes')
-rw-r--r--includes/sys_menu.php2
-rw-r--r--includes/view/User_view.php25
2 files changed, 19 insertions, 8 deletions
diff --git a/includes/sys_menu.php b/includes/sys_menu.php
index 790ca3b2..56b25a78 100644
--- a/includes/sys_menu.php
+++ b/includes/sys_menu.php
@@ -19,7 +19,7 @@ function header_toolbar() {
$toolbar_items = array();
if (isset($user))
- $toolbar_items[] = toolbar_item_link('#', 'time', User_shift_state_render(User_shift_state($user)));
+ $toolbar_items[] = toolbar_item_link('#', 'time', User_shift_state_render($user));
$toolbar_items[] = make_langselect();
diff --git a/includes/view/User_view.php b/includes/view/User_view.php
index e5405835..734e266e 100644
--- a/includes/view/User_view.php
+++ b/includes/view/User_view.php
@@ -20,14 +20,25 @@ $tshirt_sizes = array(
);
function User_shift_state_render($user) {
- if ($shift_mode == 0)
+ $upcoming_shifts = ShiftEntries_upcoming_for_user($user);
+ if ($upcoming_shifts === false)
+ return false;
+
+ if (count($upcoming_shifts) == 0)
return '<span class="text-success">' . _("Free") . '</span>';
- if ($shift_mode > 8 * 3600)
- return '<span class="text-success moment-countdown" data-seconds="' . $shift_mode . '">' . _("Next shift in") . '</span>';
- if ($shift_mode > 0)
- return '<span class="text-warning moment-countdown" data-seconds="' . $shift_mode . '">' . _("Next shift in") . '</span>';
- if ($shift_mode < 0)
- return '<span class="text-danger moment-countdown" data-seconds="' . $shift_mode . '">' . _("Current shift ends in") . '</span>';
+
+ if ($upcoming_shifts[0]['start'] > time())
+ if ($upcoming_shifts[0]['start'] - time() > 3600)
+ return '<span class="text-success moment-countdown" data-timestamp="' . $upcoming_shifts[0]['start'] . '">' . _("Next shift in %c") . '</span>';
+ else
+ return '<span class="text-warning moment-countdown" data-timestamp="' . $upcoming_shifts[0]['start'] . '">' . _("Next shift in %c") . '</span>';
+
+ $halfway = ($upcoming_shifts[0]['start'] + $upcoming_shifts[0]['end']) / 2;
+
+ if (time() < $halfway)
+ return '<span class="text-danger moment-countdown" data-timestamp="' . $upcoming_shifts[0]['start'] . '">' . _("Shift startet %c ago") . '</span>';
+ else
+ return '<span class="text-danger moment-countdown" data-timestamp="' . $upcoming_shifts[0]['end'] . '">' . _("Shift ends in %c") . '</span>';
}
function User_view($user_source, $admin_user_privilege, $freeloader, $user_angeltypes, $user_groups, $shifts, $its_me) {