summaryrefslogtreecommitdiff
path: root/modules/calendar.module
diff options
context:
space:
mode:
Diffstat (limited to 'modules/calendar.module')
-rw-r--r--modules/calendar.module77
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\">&lt;</A> &nbsp; ". date("F Y", $this->date) ." &nbsp; <A HREF=\"$PHP_SELF?date=$next\">&gt;</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\">&nbsp</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\">&nbsp;</TD>\n </TR>\n";
- }
- $output .= "</TABLE>\n\n";
-
- // Return calendar:
- return $output;
- }
+ return $block;
}
?>