Mediawiki/customization/variables

Добавить собственную переменную вида

Надо скопировать код из сниплета wp:Extension:Variables и поместить в конфигурационный файл. И еще надо добавить саму переменную в конфиг.

case MAG_PRODUCTION: $ret = $GLOBALS['wgProductionURL']; break;
 * 1) $wgProductionURL="http://site.ru/";
 * 2) в соответствущее место фрагмента кода приведенного ниже добавить
 * 1) в нем же строку $wgCustomVariables добавить название своей переменной, как она будет вызываться на страницах вики

 $wgCustomVariables = array('CURRENTUSER','CURRENTUSERREALNAME','LOGO','PRODUCTION'); $wgHooks['MagicWordMagicWords'][]         = 'wfAddCustomVariable'; $wgHooks['MagicWordwgVariableIDs'][]      = 'wfAddCustomVariableID'; $wgHooks['LanguageGetMagic'][]            = 'wfAddCustomVariableLang'; $wgHooks['ParserGetVariableValueSwitch'][] = 'wfGetCustomVariable'; function wfAddCustomVariable(&$magicWords) { foreach($GLOBALS['wgCustomVariables'] as $var) $magicWords[] = "MAG_$var"; return true; } function wfAddCustomVariableID(&$variables) { foreach($GLOBALS['wgCustomVariables'] as $var) $variables[] = constant("MAG_$var"); return true; } function wfAddCustomVariableLang(&$langMagic, $langCode = 0) { foreach($GLOBALS['wgCustomVariables'] as $var) { $magic = "MAG_$var"; $langMagic[defined($magic) ? constant($magic) : $magic] = array(0,$var); }       return true; } function wfGetCustomVariable(&$parser,&$cache,&$index,&$ret) { switch ($index) { case MAG_CURRENTUSER: $parser->disableCache; # Mark this content as uncacheable $ret = $GLOBALS['wgUser']->mName; break; case MAG_LOGO: $ret = $GLOBALS['wgLogo']; break; case MAG_CURRENTUSERREALNAME: $parser->disableCache; # Mark this content as uncacheable $ret = $GLOBALS['wgUser']->mRealName; break; case MAG_PRODUCTION: $ret = $GLOBALS['wgProductionURL']; break; }       return true; } 