public static function getOpenStatus($opening_hours) { // Returnerer om ikke åpningstider er lagret if ($opening_hours == null) { return null; } // Konverterer dagen i dag til minutter $dateAndTime = new dateAndTime(); $hour_now = $dateAndTime->getHour(); $min_now = $dateAndTime->getMinute(); $time_now = 1 * 1440 + 60 * $hour_now + $min_now; // Finner åpningstider for i dag $weekday_today = strtolower(date("l")); if (!isset($opening_hours[$weekday_today])) { return null; } $open_times_today = $opening_hours[$weekday_today]; $openTodayArray = explode(':', $open_times_today["open"]); $closeTodayArray = explode(':', $open_times_today["close"]); $openTodayArrayMin = array("open" => "", "close" => ""); // 1 er i dag, 2 er i morgen. Dette er for at åpningstider skal beregnes riktig // også for bedrifter som stenger etter 00:00. if ($open_times_today["close"] < $open_times_today["open"]) { $openTodayArrayMin["open"] = 1 * 1440 + 60 * $openTodayArray[0] + $openTodayArray[1]; $openTodayArrayMin["close"] = 2 * 1440 + 60 * $closeTodayArray[0] + $closeTodayArray[1]; } else { $openTodayArrayMin["open"] = 1 * 1440 + 60 * $openTodayArray[0] + $openTodayArray[1]; $openTodayArrayMin["close"] = 1 * 1440 + 60 * $closeTodayArray[0] + $closeTodayArray[1]; } // Returnerer true/false avhengig av om bedriften er åpen eller ikke if ($time_now >= $openTodayArrayMin["open"] && $time_now < $openTodayArrayMin["close"]) { return true; } else { return false; } }