MediaWiki variable extension (LocalSettings code).php

From Organic Design wiki

<?

  1. Extend [[MediaWiki variables]]
  1. Add new variables to MediaWiki environment

$wgHooks['MagicWordMagicWords'][] = 'wfAddCustomMagicWord'; $wgHooks['MagicWordwgVariableIDs'][] = 'wfAddCustomMagicWordID'; $wgHooks['LanguageGetMagic'][] = 'wfAddCustomMagicWordLang';

function wfAddCustomMagicWord(&$magicWords) { $magicWords[] = 'MAG_CURRENTUSER'; $magicWords[] = 'MAG_LOGO'; return true; }

function wfAddCustomMagicWordID(&$magicWords) { $magicWords[] = MAG_CURRENTUSER; $magicWords[] = MAG_LOGO; return true; }

function wfAddCustomMagicWordLang(&$magicWords, $langCode = 0) { $magicWords[MAG_CURRENTUSER] = array(0,'CURRENTUSER'); $magicWords[MAG_LOGO] = array(0,'LOGO'); return true; }

  1. Define functionality of new vars

$wgHooks['ParserGetVariableValueSwitch'][] = 'GetVariable'; function GetVariable(&$this,&$cache,&$index,&$ret) { switch ($index) {

case MAG_CURRENTUSER: $ret = $GLOBALS['wgUser']->mName; break;

case MAG_LOGO: $ret = $GLOBALS['wgLogo']; break;

} return true; } ?>