'time_report']; Export::export_table_pdf($rows, $params); exit; } $table = ''; if (!empty($rows)) { $headers = array_shift($rows); $colors = ['#cce5ff', '#ffe5b4']; $colorIndex = 0; // Group entries by starting date (column index 4) $grouped = []; foreach ($rows as $row) { $dateKey = substr($row[4], 0, 10); $grouped[$dateKey][] = $row; } $table = ''; $table .= ''; foreach ($headers as $header) { $table .= ''; } $table .= ''; foreach ($grouped as $day => $dayRows) { $totalSeconds = 0; foreach ($dayRows as $row) { $table .= ''; foreach ($row as $cell) { $table .= ''; } $table .= ''; $parts = explode(':', $row[6]); if (count($parts) === 3) { $totalSeconds += ($parts[0] * 3600) + ($parts[1] * 60) + $parts[2]; } } $table .= '' .'' .'' .''; $colorIndex = 1 - $colorIndex; } $table .= '
'.htmlspecialchars($header).'
'.htmlspecialchars($cell).'
'.get_lang('Total').''.gmdate('H:i:s', $totalSeconds).'
'; } $nameTools = get_lang('TimeReport'); Display::display_header($nameTools); $baseUrl = api_get_self().'?student='.$studentId.'&start='.$start.'&end='.$end; echo '
' .'' .Display::return_icon('pdf.png', get_lang('ExportPDF'), [], ICON_SIZE_MEDIUM) .' ' .'' .Display::return_icon('export_excel.png', get_lang('ExportAsXLS'), [], ICON_SIZE_MEDIUM) .'
'; echo $table; Display::display_footer();