Difference between revisions of "Calendar.php"
From Organic Design wiki
(Make main cal table into "calendar" class) |
(CSS class xwCalendar and xwToday, removed all hardwired styles!) |
||
Line 5: | Line 5: | ||
$thisDay = date('d'); | $thisDay = date('d'); | ||
$thisMonth = date('n'); | $thisMonth = date('n'); | ||
− | |||
if ( !$d = date( 'w', $ts = mktime( 0, 0, 0, $m, 1, $y) ) ) $d = 7; | if ( !$d = date( 'w', $ts = mktime( 0, 0, 0, $m, 1, $y) ) ) $d = 7; | ||
$month = date( 'F', $ts ); | $month = date( 'F', $ts ); | ||
− | $article = "<table | + | $article = "<table><tr><th colspan=7><h3>$month</h3>\n<tr>"; |
− | $article .= "<th | + | $article .= "<th>M<th>T<th>W<th>T<th>F<th>S<th>S\n"; |
if ( $d > 1 ) $article .= '<tr>'.str_repeat( '<td>', $d-1 ); | if ( $d > 1 ) $article .= '<tr>'.str_repeat( '<td>', $d-1 ); | ||
for ( $i = $day = $d; $day < 32; $i++ ) { | for ( $i = $day = $d; $day < 32; $i++ ) { | ||
Line 16: | Line 15: | ||
if ( $day < 29 or checkdate( $m, $day, $y ) ) { | if ( $day < 29 or checkdate( $m, $day, $y ) ) { | ||
if ( $i%7 == 1 ) $article .= "\n<tr>"; | if ( $i%7 == 1 ) $article .= "\n<tr>"; | ||
− | $t = ( $day == $thisDay and $m == $thisMonth ) ? ' | + | $t = ( $day == $thisDay and $m == $thisMonth ) ? ' class=xwToday' : ''; |
− | $article .= "<td$t | + | $article .= "<td$t> [[$prefix$day $month $y|$day]] "; |
} | } | ||
} | } | ||
Line 28: | Line 27: | ||
# Append the article content with a table of all the month-tables | # Append the article content with a table of all the month-tables | ||
− | $article .= "<table class= | + | $article .= "<table class=xwCalendar><tr><td>\n<tr>"; |
$m = 1; | $m = 1; | ||
$y = date( 'Y' ); | $y = date( 'Y' ); | ||
for ( $rows = 3; $rows--; $article .= "\n<tr>" ) | for ( $rows = 3; $rows--; $article .= "\n<tr>" ) | ||
for ( $cols = 0; $cols < 4; $cols++ ) | for ( $cols = 0; $cols < 4; $cols++ ) | ||
− | $article .= "\n<td | + | $article .= "\n<td>".month( $m++, $y, $p ); |
$article .= '</table>'; | $article .= '</table>'; | ||
?> | ?> |
Revision as of 23:09, 7 March 2006
<?
- Return a calendar table of the passed month and year
function month( $m, $y, $prefix = ) { $thisDay = date('d'); $thisMonth = date('n'); if ( !$d = date( 'w', $ts = mktime( 0, 0, 0, $m, 1, $y) ) ) $d = 7; $month = date( 'F', $ts );
$article = "
"; $article .= "'.str_repeat( '"; $t = ( $day == $thisDay and $m == $thisMonth ) ? ' class=xwToday' : ; $article .= "<td$t> $day "; } } $article .= "\n$month\n | ||||||
---|---|---|---|---|---|---|
M | T | W | T | F | S | S\n"; if ( $d > 1 ) $article .= ' |
', $d-1 );
for ( $i = $day = $d; $day < 32; $i++ ) { $day = $i - $d + 1; $day = $day < 10 ? "0$day" : $day; if ( $day < 29 or checkdate( $m, $day, $y ) ) { if ( $i%7 == 1 ) $article .= "\n | ||||||
";
return $article; }
- Use everything before "Calendar" in name as prefix
$p = preg_replace( '/calendar.*$/i', , $title );
- Append the article content with a table of all the month-tables
$article .= "
";$m = 1; $y = date( 'Y' );
for ( $rows = 3; $rows--; $article .= "\n" ) for ( $cols = 0; $cols < 4; $cols++ ) $article .= "\n\n |
".month( $m++, $y, $p ); $article .= ' |
';
?>