prepare("INSERT INTO availability (date, status, notes) VALUES (?, ?, ?) ON DUPLICATE KEY UPDATE status=?, notes=?"); $stmt->bind_param("sssss", $date, $status, $notes, $status, $notes); $stmt->execute(); $msg = '
Availability updated!
'; } $month = isset($_GET['month']) ? intval($_GET['month']) : intval(date('m')); $year = isset($_GET['year']) ? intval($_GET['year']) : intval(date('Y')); $firstDay = mktime(0,0,0,$month,1,$year); $daysInMonth = date('t',$firstDay); $monthName = date('F Y', $firstDay); $dayOfWeek = date('w', $firstDay); $prev = $month==1?12:$month-1; $prevY = $month==1?$year-1:$year; $next = $month==12?1:$month+1; $nextY = $month==12?$year+1:$year; $availabilities = []; $result = $conn->query("SELECT * FROM availability WHERE YEAR(date)=$year AND MONTH(date)=$month"); while($r=$result->fetch_assoc()) $availabilities[$r['date']]=$r; $booked_dates = []; $br = $conn->query("SELECT DISTINCT event_date FROM bookings WHERE YEAR(event_date)=$year AND MONTH(event_date)=$month AND status NOT IN ('cancelled')"); while($b=$br->fetch_assoc()) $booked_dates[]=$b['event_date']; ?>

Availability Calendar

Available
Booked
Blocked
Today
Set Availability