Difference between revisions of "Extension:SimpleCalendar"

From Organic Design wiki
(New page: <? $wgExtensionFunctions[] = 'wfSetupSimpleCalendar'; $wgHooks['LanguageGetMagic'][] = 'wfCalendarLanguageGetMagic'; function wfCalendarLanguageGetMagic(&$magicWords,$langCode = 0) ...)
 
m
Line 1: Line 1:
 
<?
 
<?
 +
# MediaWiki Simple Calendar Extension {{#Security:*|dev}}{{#Security:view|*}}{{php}}
 +
# - Version 1.00 (2007-04-24)
 +
# - See http://www.mediawiki.org/wiki/Extension:Simple_Calendar for installation and usage details
 +
# - Licenced under LGPL (http://www.gnu.org/copyleft/lesser.html)
 +
# - Author: http://www.organicdesign.co.nz/nad
 +
 
$wgExtensionFunctions[]        = 'wfSetupSimpleCalendar';
 
$wgExtensionFunctions[]        = 'wfSetupSimpleCalendar';
 
$wgHooks['LanguageGetMagic'][] = 'wfCalendarLanguageGetMagic';
 
$wgHooks['LanguageGetMagic'][] = 'wfCalendarLanguageGetMagic';

Revision as of 03:12, 24 April 2007

<?

  1. MediaWiki Simple Calendar Extension {{#Security:*|dev}}{{#Security:view|*}}Template:Php
  2. - Version 1.00 (2007-04-24)
  3. - See http://www.mediawiki.org/wiki/Extension:Simple_Calendar for installation and usage details
  4. - Licenced under LGPL (http://www.gnu.org/copyleft/lesser.html)
  5. - Author: http://www.organicdesign.co.nz/nad

$wgExtensionFunctions[] = 'wfSetupSimpleCalendar'; $wgHooks['LanguageGetMagic'][] = 'wfCalendarLanguageGetMagic'; function wfCalendarLanguageGetMagic(&$magicWords,$langCode = 0) {

       $magicWords['calendar'] = array(0,'calendar');
       return true;
       }

function wfSetupSimpleCalendar() {

       global $wgParser;
       $wgParser->setFunctionHook('calendar','wfRenderCalendar');
       return true;
       }
  1. Renders a table of all the individual month tables

function wfRenderCalendar(&$parser,$p = ,$y = false) {

       if ($p) $p .= '/';
       if ($y == false) $y = date('Y');
       $m = 1;
       $table = "{| border class=\"calendar\">\n";
       for ($rows = 3; $rows--; $table .= "|-\n")
               for ($cols = 0; $cols < 4; $cols++)
                       $table .= '|'.wfRenderMonth($m++,$y,$p)."\n";
       return "$table\n|}\n";
       }
  1. Return a calendar table of the passed month and year

function wfRenderMonth($m,$y,$prefix = ) {

       $thisDay   = date('d');
       $thisMonth = date('n');
       $thisYear  = date('Y');
       if (!$d = date('w',$ts = mktime(0,0,0,$m,1,$y))) $d = 7;
       $month = date('F',$ts);

$table = "

\n"; $table .= ""; if ($d > 1) $table .= "\n".str_repeat( '',$d-1);
       for ($i = $day = $d; $day < 32; $i++) {
               $day = $i - $d + 1;
               $dd = $day < 10 ? "0$day" : $day;
               if ($day < 29 or checkdate($m,$day,$y)) {
if ($i%7 == 1) $table .= "\n"; $t = ($day == $thisDay and $m == $thisMonth and $y == $thisYear) ? ' class="today"' : ; $table .= "<td$t>$day"; } } return "$table\n
$month
MTWTFSS
 

";

       }

?>