refactor shift state

This commit is contained in:
Philip Häusler 2014-08-24 16:08:12 +02:00
parent 0e2b257342
commit da6eaae215
2 changed files with 19 additions and 8 deletions

View File

@ -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();

View File

@ -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) {