I've downloaded PHP store hours to show the weekday's opening hours, but now I would like to add some specific dates with different opening hours ( soon christmas you know! :-D ) but I really don't know how to do that so I was hoping for your help. E.g; I would like to change the opening hours for 25/12 and 1/1 ONLY, not all sundays.
Lots of thanks in advance!
// -------- PHP STORE HOURS ---------
// ---------- Version 1.1 -----------
// -------- BY CORY ETZKORN ---------
// -------- coryetzkorn.com ---------
// -------- EDIT FOLLOWING SECTION ONLY ---------
// Set your timezone (codes listed at http://php.net/manual/en/timezones.php)
// Delete the following line if you've already defined a timezone elsewhere.
date_default_timezone_set('Europe/Stockholm');
// Define daily open hours. Must be in 24-hour format, separated by dash.
$time_range_mon = '11:00-20:30';
$time_range_tue = '11:00-20:30';
$time_range_wed = '11:00-20:30';
$time_range_thu = '11:00-20:30';
$time_range_fri = '11:00-21:30';
$time_range_sat = '11:00-21:30';
$time_range_sun = '12:00-19:30';
// OPTIONAL: Output current day's open hours
$echo_daily_hours = false; // Switch to FALSE to hide numerical display of current hours
$time_output = 'g a'; // Enter custom time output format (options listed here: http://php.net/manual/en/function.date.php)
$time_separator = ' - '; // Choose how to indicate range (i.e XX - XX, XX to XX, XX until XX)
// -------- END EDITING --------
// Gets current day of week
$status_today = date("D");
// Gets current time of day in 00:00 format
$current_time = date("G:i");
// Makes current time of day computer-readable
$current_time_x = strtotime($current_time);
// Builds an array, assigning user-defined time ranges to each day of week
$all_days = array("Mon" => $time_range_mon, "Tue" => $time_range_tue, "Wed" => $time_range_wed, "Thu" => $time_range_thu, "Fri" => $time_range_fri, "Sat" => $time_range_sat, "Sun" => $time_range_sun);
foreach ($all_days as &$each_day) {
$each_day = explode("-", $each_day);
$each_day[0] = strtotime($each_day[0]);
$each_day[1] = strtotime($each_day[1]);
}
// Defines array of possible days of week
$week_days = array("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun");
// Compares current day of week to possible days of week and determines open vs closed output based on current day and time.
foreach ($week_days as &$each_week_day) {
if ($status_today == $each_week_day) {
echo '';
if (($all_days[$each_week_day][0] <= $current_time_x) && ($all_days[$each_week_day][1] >= $current_time_x)) {
} else {
header( 'Location: http://www.bristolhotel.com/pizzeria/offlinepizza.php' ) ;
}
}
}
This should work. Adjust
$time_range_christmas
and$time_range_newyears
with your appropriate hours.Another approach here. Notice the rewriting of the script to use an array for time_range and then merging the array with differing times. Cleaner configuration in my opinion.