Difference between revisions of "Template:When"

From Organic Design wiki
(#when code)
m
Line 6: Line 6:
 
:<tt><nowiki>{{#dpl:category=2006|category=April}}</nowiki></tt>
 
:<tt><nowiki>{{#dpl:category=2006|category=April}}</nowiki></tt>
 
The parser function which adds this is very simple consisting of the following code in the ''LocalSettings.php'' file.
 
The parser function which adds this is very simple consisting of the following code in the ''LocalSettings.php'' file.
<php>
+
<php><?
 
$wgExtensionFunctions[]        = 'wfSetupWhen';
 
$wgExtensionFunctions[]        = 'wfSetupWhen';
 
$wgHooks['LanguageGetMagic'][] = 'wfWhenLanguageGetMagic';
 
$wgHooks['LanguageGetMagic'][] = 'wfWhenLanguageGetMagic';
Line 27: Line 27:
 
         return true;
 
         return true;
 
         }
 
         }
</php>
+
?></php>

Revision as of 11:50, 25 April 2007

This template is not actually used, the #when parser-function is used to add time information to articles. Just add a single parameter which can be arbitrarily formatted time information, for example:

{{#when:2009/4/24}} - best to do dates backwards like this otherwise it tries to use some weird American format
{{#when:24 apr 2009}}
{{#when:24 apr, 4:30pm}} - current year is used here since not specified

The function expands to a set of category links to categorise the article into year, month, day-of-month, full-weekday-name and time (24 hour HH:MM:SS format). Articles exhibiting time can then be matched with a DPL query, for example:

{{#dpl:category=2006|category=April}}

The parser function which adds this is very simple consisting of the following code in the LocalSettings.php file. <php><? $wgExtensionFunctions[] = 'wfSetupWhen'; $wgHooks['LanguageGetMagic'][] = 'wfWhenLanguageGetMagic';

function wfSetupWhen() {

       global $wgParser;
       $wgParser->setFunctionHook('when','wfExpandWhen');
       return true;
       }

function wfExpandWhen(&$parser,$when) {

       $time = strtotime($when);
       $cats = ;
       foreach(array('T','A','d','B','Y') as $f) $cats .= ;
       return $cats;
       }

function wfWhenLanguageGetMagic(&$magicWords,$langCode = 0) {

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

?></php>