date = $date; } function display() { // Extract information from the given date: $month = date("n", $this->date); $year = date("Y", $this->date); $day = date("d", $this->date); // Extract first day of the month: $first = date("w", mktime(0, 0, 0, $month, 1, $year)); // Extract last day of the month: $last = date("t", mktime(0, 0, 0, $month, 1, $year)); // Calculate previous and next months dates: $prev = mktime(0, 0, 0, $month - 1, $day, $year); $next = mktime(0, 0, 0, $month + 1, $day, $year); // Generate calendar header: $output .= "\n\n"; $output .= "\n"; $output .= " \n"; $output .= " \n"; // Initialize temporary variables: $nday = 1; $sday = $first; // Loop through all the days of the month: while ($nday <= $last) { // Set up blank days for first week of the month: if ($first) { $output .= " \n"; $first = 0; } // Start every week on a new line: if ($sday == 0) $output .= " \n"; // Print one cell: $date = mktime(23, 59, 59, $month, $nday, $year); if ($nday == $day) $output .= " \n"; else if ($date > time()) $output .= " \n"; else $output .= " \n"; // Start every week on a new line: if ($sday == 6) $output .= " \n"; // Update temporary variables: $sday++; $sday = $sday % 7; $nday++; } // Complete the calendar: if ($sday) { $end = 7 - $sday; $output .= " \n \n"; } $output .= "
<   ". date("F Y", $this->date) ."   >
SMTWTFS
 
$nday$nday$nday
 
\n\n"; // Return calendar: return $output; } } ?>