getData('sessions'); $sessionCount = \count($sessions); /** @var Session $lastOpenSession */ $lastOpenSession = $this->getData('lastSession'); $type = $lastOpenSession !== null ? $lastOpenSession->getType() : ClockingType::OFFICE; $status = $lastOpenSession !== null ? $lastOpenSession->getStatus() : ClockingStatus::END; // @todo: users may have a different definition of week start! /** @var \phpOMS\Stdlib\Base\SmartDateTime $startWeek */ $startWeek = new SmartDateTime('now'); $startWeek = $startWeek->getStartOfWeek(); $endWeek = $startWeek->createModify(0, 0, 6); $startMonth = new SmartDateTime('now'); $startMonth = $startMonth->getStartOfMonth(); $endMonth = $startMonth->createModify(0, 1, -1); $busy = [ 'total' => 0, 'month' => 0, 'week' => 0, ]; echo $this->getData('nav')->render(); ?> on response successfull reload!!! or! on response successfull change ui/change ui and on response not successfull undo changed ui both result in the same list for month show total of total list contains segments for week show total of total every week contains every day show total of total if you click on a day you get detailed information of that day show additional section with vacation days

Work

This month
Last month
This year

Vaction

Used Vacation
Last Vacation
Next Vacation
getId()); ?>
getHtml('Recordings') ?>
getHtml('Date'); ?> getHtml('Type'); ?> getHtml('Status'); ?> getHtml('Start'); ?> getHtml('Break'); ?> getHtml('End'); ?> getHtml('Total'); ?>
getStart()->format('Y-m-d') === $lastOpenSession->getStart()->format('Y-m-d')) : ?> Today getStart()->format('Y-m-d'); ?> - getHtml('D' . $session->getStart()->format('w')); ?> getHtml('CT' . $session->getType()) ?> getHtml('CS' . $session->getStatus()) ?> getStart()->format('H:i'); ?> getBreak() / 3600); ?>h getBreak() / 60) % 60); ?>m getEnd() !== null ? $session->getEnd()->format('H:i') : ''; ?> getBusy() / 3600); ?>h getBusy() / 60) % 60); ?>m getBusy(); if ($session->getStart()->getTimestamp() < $startWeek->getTimestamp() || $count === $sessionCount) : ?>
format('Y/m/d'); ?> - format('Y/m/d'); ?> h m createModify(0, 0, -7); $busy['week'] = 0; endif; ?> getBusy(); if ($session->getStart()->getTimestamp() < $startMonth->getTimestamp() || $count === $sessionCount) : ?>
format('Y/m/d'); ?> - format('Y/m/d'); ?> h m createModify(0, -1, 0); $busy['month'] = 0; endif; ?>