diff options
Diffstat (limited to 'modules/calendar.module')
-rw-r--r-- | modules/calendar.module | 77 |
1 files changed, 9 insertions, 68 deletions
diff --git a/modules/calendar.module b/modules/calendar.module index d6c044389..fe79beea5 100644 --- a/modules/calendar.module +++ b/modules/calendar.module @@ -1,78 +1,19 @@ <? -$module = array(); +$module = array("block" => "calendar_block"); -class Calendar { - var $date; +function calendar_block() { + global $date; - function calendar($date) { - $this->date = $date; - } + include "modules/calendar.class"; - function display() { - global $PHP_SELF; + $calendar = new Calendar($date); - // 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<!-- calendar -->\n"; - $output .= "<TABLE WIDTH=\"100%\" BORDER=\"1\" CELLSPACING=\"0\" CELLPADDING=\"1\">\n"; - $output .= " <TR><TD ALIGN=\"center\" COLSPAN=\"7\"><SMALL><A HREF=\"$PHP_SELF?date=$prev\"><</A> ". date("F Y", $this->date) ." <A HREF=\"$PHP_SELF?date=$next\">></A></SMALL></TD></TR>\n"; - $output .= " <TR><TD ALIGN=\"center\"><SMALL>S</SMALL></TD><TD ALIGN=\"center\"><SMALL>M</SMALL></TD><TD ALIGN=\"center\"><SMALL>T</SMALL></TD><TD ALIGN=\"center\"><SMALL>W</SMALL></TD><TD ALIGN=\"center\"><SMALL>T</SMALL></TD><TD ALIGN=\"center\"><SMALL>F</SMALL></TD><TD ALIGN=\"center\"><SMALL>S</SMALL></TD></TR>\n"; + $block[0]["subject"] = "Browse archives"; + $block[0]["content"] = $calendar->display(); + $block[0]["info"] = "calendar"; - // 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 .= " <TR><TD COLSPAN=\"$first\"> </TD>\n"; - $first = 0; - } - - // Start every week on a new line: - if ($sday == 0) $output .= " <TR>\n"; - - // Print one cell: - $date = mktime(24, 0, 0, $month, $nday, $year); - if ($nday == $day) $output .= " <TD ALIGN=\"center\"><SMALL><B>$nday</B></SMALL></TD>\n"; - else if ($date > time()) $output .= " <TD ALIGN=\"center\"><SMALL>$nday</SMALL></TD>\n"; - else $output .= " <TD ALIGN=\"center\"><SMALL><A HREF=\"$PHP_SELF?date=$date\" STYLE=\"text-decoration: none;\">$nday</A></SMALL></TD>\n"; - - // Start every week on a new line: - if ($sday == 6) $output .= " </TR>\n"; - - // Update temporary variables: - $sday++; - $sday = $sday % 7; - $nday++; - } - - // Complete the calendar: - if ($sday) { - $end = 7 - $sday; - $output .= " <TD COLSPAN=\"$end\"> </TD>\n </TR>\n"; - } - $output .= "</TABLE>\n\n"; - - // Return calendar: - return $output; - } + return $block; } ?> |