. */ include_once __DIR__.'/../../core.php'; use Carbon\Carbon; ?> fetchArray($query); $sessioni = collect($sessioni)->groupBy('data'); // Intestazione tabella echo '

'.tr('Calendario _PERIOD_', [ '_PERIOD_' => $title, ], ['upper' => true]).'

'; // Elenco per la gestione $list = []; // Filler per i giorni non inclusi della settimana iniziale $current_day = $min_date; // Elenco del periodo indicato while ($current_day->lessThan($max_date)) { $list[] = [ 'date' => $current_day->copy(), 'contents' => $sessioni[$current_day->toDateString()] ?: [], ]; $current_day->addDay(); } // Stampa della tabella echo '
'; $count = count($list); for ($i = 0; $i < $count; $i = $i + 7) { echo '
'; for ($c = 0; $c < 7; ++$c) { $element = $list[$i + $c]; echo '
'.ucfirst($element['date']->isoFormat('MMMM YYYY')).'
'; } echo '
'; echo '
'; for ($c = 0; $c < 7; ++$c) { $element = $list[$i + $c]; $clienti = ''; foreach ($element['contents'] as $sessione) { $clienti .= '
'.$sessione['ora_inizio'].' - '.$sessione['ora_fine'].'
'.$sessione['anagrafica'].'
'.$sessione['richiesta'].''.$sessione['tecnico'].'
'; } $background = '#ffffff'; if (empty($clienti)) { $background = 'lightgray'; } echo '
'.(!empty($clienti) ? $clienti : ' ').'
'; } echo '
'; } echo '
';