diff --git a/admin.php b/admin.php index 65bb048..fa1714d 100644 --- a/admin.php +++ b/admin.php @@ -175,7 +175,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { // 3. Organisatie Werkdag Standaarden opslaan (Release v1.4) elseif ($action === 'save_workday_settings') { $workdayStart = trim($_POST['workday_start'] ?? '08:30'); - $workdayEnd = trim($_POST['workday_end'] ?? '17:30'); + $workdayEnd = trim($_POST['workday_end'] ?? '17:00'); $lunchStart = trim($_POST['lunch_start'] ?? '12:30'); $lunchEnd = trim($_POST['lunch_end'] ?? '13:00'); $pomoFocus = max(10, min(120, (int)($_POST['pomodoro_focus'] ?? 25))); diff --git a/api/planner.php b/api/planner.php index cc8ddd3..a88139b 100644 --- a/api/planner.php +++ b/api/planner.php @@ -651,10 +651,11 @@ try { $data = is_array($rawInput) ? $rawInput : $_GET; $duration = max(5, (int)($data['duration_minutes'] ?? 30)); $excludeTaskId = (int)($data['task_id'] ?? 0); + $startFromNextWorkday = !empty($data['start_from_next_workday']); $workdaySettings = get_workday_settings(); $workdayStartStr = $workdaySettings['workday_start'] ?? '08:30'; - $workdayEndStr = $workdaySettings['workday_end'] ?? '17:30'; + $workdayEndStr = $workdaySettings['workday_end'] ?? '17:00'; $lunchStartStr = $workdaySettings['lunch_start'] ?? '12:30'; $lunchEndStr = $workdaySettings['lunch_end'] ?? '13:00'; @@ -693,6 +694,12 @@ try { $dutchMonths = ['', 'jan', 'feb', 'mrt', 'apr', 'mei', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec']; $checkDate = clone $now; + if ($startFromNextWorkday) { + $checkDate->modify('+1 day'); + while ((int)$checkDate->format('N') >= 6) { + $checkDate->modify('+1 day'); + } + } $foundSlot = null; $maxDays = 14; $checkedDays = 0; @@ -707,7 +714,7 @@ try { } $dateStr = $checkDate->format('Y-m-d'); - $isToday = ($dateStr === $now->format('Y-m-d')); + $isToday = ($dateStr === $now->format('Y-m-d')) && !$startFromNextWorkday; // Bepaal vroegste startminuut voor deze dag (op hele kwartieren) if ($isToday) { @@ -805,13 +812,17 @@ try { if ($foundSlot) { echo json_encode([ - 'success' => true, - 'slot' => $foundSlot, + 'success' => true, + 'slot' => $foundSlot, + 'workday_start' => $workdayStartStr, + 'workday_end' => $workdayEndStr, ]); } else { echo json_encode([ - 'success' => false, - 'error' => "Geen vrij blok van {$duration} minuten gevonden binnen de gezette werktijden ({$workdayStartStr} - {$workdayEndStr}) voor de komende {$maxDays} werkdagen.", + 'success' => false, + 'workday_start' => $workdayStartStr, + 'workday_end' => $workdayEndStr, + 'error' => "Geen vrij blok van {$duration} minuten gevonden binnen de gezette werktijden ({$workdayStartStr} - {$workdayEndStr}) voor de komende {$maxDays} werkdagen.", ]); } exit; diff --git a/includes/ai.php b/includes/ai.php index b26d148..74d96f0 100644 --- a/includes/ai.php +++ b/includes/ai.php @@ -168,7 +168,7 @@ function fociz_ai_summarize_to_roadmap(string $content, string $sessionTitle = ' */ function fociz_ai_smart_schedule(array $tasks, array $events, array $workdaySettings): array { $startH = (int)explode(':', $workdaySettings['workday_start'] ?? '08:30')[0]; - $endH = (int)explode(':', $workdaySettings['workday_end'] ?? '17:30')[0]; + $endH = (int)explode(':', $workdaySettings['workday_end'] ?? '17:00')[0]; $lunchStart = $workdaySettings['lunch_start'] ?? '12:30'; $lunchEnd = $workdaySettings['lunch_end'] ?? '13:00'; diff --git a/includes/settings.php b/includes/settings.php index 86c415d..516ac61 100644 --- a/includes/settings.php +++ b/includes/settings.php @@ -95,7 +95,7 @@ function set_system_setting(string $key, $value): bool { function get_workday_settings(): array { return [ 'workday_start' => get_system_setting('workday_start', '08:30'), - 'workday_end' => get_system_setting('workday_end', '17:30'), + 'workday_end' => get_system_setting('workday_end', '17:00'), 'lunch_start' => get_system_setting('lunch_start', '12:30'), 'lunch_end' => get_system_setting('lunch_end', '13:00'), 'pomodoro_focus' => (int)get_system_setting('pomodoro_focus', 25), diff --git a/planner.php b/planner.php index 88c7e7e..b053cd5 100644 --- a/planner.php +++ b/planner.php @@ -378,7 +378,7 @@ $initialSyncHash = md5(json_encode([ // 6. Tijdlijn uren & Werkdag Standaarden (Release v1.4) $workdayStartStr = $workdaySettings['workday_start'] ?? '08:30'; -$workdayEndStr = $workdaySettings['workday_end'] ?? '17:30'; +$workdayEndStr = $workdaySettings['workday_end'] ?? '17:00'; $lunchStart = $workdaySettings['lunch_start'] ?? '12:30'; $lunchEnd = $workdaySettings['lunch_end'] ?? '13:00'; $lunchHour = (int)explode(':', $lunchStart)[0]; @@ -2084,6 +2084,52 @@ if ($isAjaxRequest) { + + +