fix home page display snd styling
This commit is contained in:
+45
@@ -0,0 +1,45 @@
|
||||
private function allowedAbsenceDates(): array
|
||||
{
|
||||
$todayStr = local_date(utc_now(), 'Y-m-d');
|
||||
try { $today = new \DateTimeImmutable($todayStr); } catch (\Throwable $e) { $today = new \DateTimeImmutable(); }
|
||||
|
||||
$sy = (string)($this->schoolYear ?? '');
|
||||
$startYear = null; $endYear = null;
|
||||
if (preg_match('/^(\d{4})\D+(\d{4})$/', $sy, $m)) {
|
||||
$startYear = (int)$m[1];
|
||||
$endYear = (int)$m[2];
|
||||
} else {
|
||||
$cy = (int)date('Y');
|
||||
$cm = (int)date('n');
|
||||
if ($cm >= 9) { // Sep-Dec
|
||||
$startYear = $cy;
|
||||
$endYear = $cy + 1;
|
||||
} else {
|
||||
$startYear = $cy - 1;
|
||||
$endYear = $cy;
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
$start = new \DateTimeImmutable(sprintf('%04d-09-01', $startYear));
|
||||
$end = new \DateTimeImmutable(sprintf('%04d-05-31', $endYear));
|
||||
} catch (\Throwable $e) {
|
||||
return [];
|
||||
}
|
||||
|
||||
if ($start < $today) {
|
||||
$start = $today;
|
||||
}
|
||||
|
||||
$dates = [];
|
||||
for ($cursor = $start; $cursor <= $end; $cursor = $cursor->modify('+1 day')) {
|
||||
if ((int)$cursor->format('w') === 0) { // Sunday
|
||||
$dates[] = $cursor->format('Y-m-d');
|
||||
}
|
||||
}
|
||||
return $dates;
|
||||
}
|
||||
|
||||
/**
|
||||
* Admin self-service absence/vacation page (same features as teacher page)
|
||||
*/
|
||||
Reference in New Issue
Block a user