/** * Display table body */ protected function displayTableBody() { $maxIndex = ceil(($this->TimeEnd - $this->TimeStart) / $this->Timerange) - 1; $CompleteData = array(); $CompleteResult = $this->Dataset->getGroupOfTrainingsForTimerange($this->Sportid, $this->Timerange, $this->TimeStart, $this->TimeEnd); foreach ($CompleteResult as $Data) { $CompleteData[$Data['timerange']] = $Data; } for ($index = 0; $index <= $maxIndex; ++$index) { echo '<tr><td class="l"><span class="b">' . $this->rowHead($index) . '</span></td>'; if (isset($CompleteData[$index]) && !empty($CompleteData[$index])) { echo '<td class="small">' . $CompleteData[$index]['num'] . 'x</td>'; $this->displayAdditionalColumns($CompleteData[$index]); $this->Dataset->setGroupOfTrainings($CompleteData[$index]); if (isset($CompleteData[$index + 1])) { $this->Dataset->setKilometerToCompareTo($CompleteData[$index + 1]['distance']); } $this->Dataset->displayTableColumns(); } else { echo HTML::emptyTD($this->Dataset->cols() + 1 + $this->AdditionalColumns, '<em>' . __('No activities') . '</em>', 'c small'); } echo '</tr>'; } }
/** * Display table with last week-statistics * @param bool $showAllWeeks */ private function displayWeekTable($showAllWeeks = false) { if (($this->showsAllYears() || $this->showsSpecificYear() && $this->year != date('Y')) && !$showAllWeeks) { return; } $Dataset = new Dataset(); if ($this->Configuration()->value('compare_weeks')) { $Dataset->activateKilometerComparison(); } $title = $showAllWeeks ? __('All training weeks') : __('Last 10 training weeks'); echo '<table class="r fullwidth zebra-style">'; echo '<thead><tr><th colspan="' . ($Dataset->cols() + 1) . '">' . $title . '</th></tr></thead>'; echo '<tbody>'; if (!$showAllWeeks) { $starttime = time(); $maxW = 9; } else { $starttime = $this->year == date("Y") ? time() : mktime(1, 0, 0, 12, 31, $this->year); $maxW = ($starttime - mktime(1, 0, 0, 12, 31, $this->year - 1)) / (7 * DAY_IN_S); } $CompleteData = array(); $CurrentWeekEnd = Time::Weekend($starttime); $CompleteResult = $Dataset->getGroupOfTrainingsForTimerange($this->sportid, 7 * DAY_IN_S, $CurrentWeekEnd - ($maxW + 2) * 7 * DAY_IN_S, $CurrentWeekEnd); foreach ($CompleteResult as $Data) { $CompleteData[$Data['timerange']] = $Data; } for ($w = 0; $w <= $maxW; $w++) { $time = $starttime - $w * 7 * DAY_IN_S; $start = Time::Weekstart($time); $end = Time::Weekend($time); $week = Icon::$CALENDAR . ' ' . __('Week') . ' ' . date('W', $time); //echo '<tr><td class="b l"">'.DataBrowserLinker::link($week, $start, $end).'</td>'; echo '<tr><td class="l"><span class="b">' . DataBrowserLinker::link($week, $start, $end, '') . '</span> <span class="small">' . date('d.m', $start) . " - " . date('d.m', $end) . '</span></td>'; if (isset($CompleteData[$w]) && !empty($CompleteData[$w])) { $Dataset->setGroupOfTrainings($CompleteData[$w]); if (isset($CompleteData[$w + 1])) { $Dataset->setKilometerToCompareTo($CompleteData[$w + 1]['distance']); } $Dataset->displayTableColumns(); } else { echo HTML::emptyTD($Dataset->cols(), '<em>' . __('No activities') . '</em>', 'c small'); } echo '</tr>'; } echo '</tbody>'; echo '</table>'; }