From faaf05e15b1f7648803b56f074339b5d641c7ec6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Germain=20Carr=C3=A9?= Date: Fri, 6 Dec 2024 19:31:10 +0100 Subject: [PATCH] Display menu with same date logic everywhere --- app/Http/Controllers/AdminController.php | 12 +++++++----- app/Http/Controllers/MenuController.php | 11 +++++------ 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/app/Http/Controllers/AdminController.php b/app/Http/Controllers/AdminController.php index 239326d..c5142c1 100644 --- a/app/Http/Controllers/AdminController.php +++ b/app/Http/Controllers/AdminController.php @@ -22,15 +22,17 @@ public function index() } public function menu($dateString = null) { - if(!$dateString) { - $dateString = date('Y-m-d'); + $dateToday = strtotime('today 10 am'); + $date = $dateToday; + if(date('H') >= 15) { + $date = strtotime('+1 day', $date); } - $date = strtotime('today 10 am'); if(preg_match('/^\d{4}-\d{2}-\d{2}$/', $dateString)) { $date = strtotime($dateString.' 10 am'); } - if(date('N', $date) >= 6) { - $date = strtotime('+1 week', $date); + $menu = Menu::where('date', '>=', date('Y-m-d', $date))->orderBy('date', 'asc')->first(); + if($menu) { + $date = strtotime($menu->date.' 10 am'); } $mondayTime = strtotime('monday this week 10 am', $date); $sundayTime = strtotime('sunday this week 10 am', $date); diff --git a/app/Http/Controllers/MenuController.php b/app/Http/Controllers/MenuController.php index 9f7c339..a09534e 100644 --- a/app/Http/Controllers/MenuController.php +++ b/app/Http/Controllers/MenuController.php @@ -15,18 +15,17 @@ class MenuController extends Controller { public function menu($dateString = null) { - if(!$dateString) { - $dateString = date('Y-m-d'); - } - $date = strtotime('today 10 am'); + $dateToday = strtotime('today 10 am'); + $date = $dateToday; if(date('H') >= 15) { $date = strtotime('+1 day', $date); } if(preg_match('/^\d{4}-\d{2}-\d{2}$/', $dateString)) { $date = strtotime($dateString.' 10 am'); } - if(date('N', $date) >= 6) { - $date = strtotime('+1 week', $date); + $menu = Menu::where('date', '>=', date('Y-m-d', $date))->orderBy('date', 'asc')->first(); + if($menu) { + $date = strtotime($menu->date.' 10 am'); } $mondayTime = strtotime('monday this week 10 am', $date); $sundayTime = strtotime('sunday this week 10 am', $date);