magicword.txt
Magic Words are some phrases used in the wikitext. They are defined in several arrays:
* $magicWords (includes/MagicWord.php) includes their internal names ('MAG_XXX').
* $wgVariableIDs (includes/MagicWord.php) includes their IDs (MAG_XXX, which are constants),
after their internal names are used for "define()".
* Localized arrays (languages/LanguageXX.php) include their different names to be used by the users.
The localized arrays keys are the internal IDs, and the values are an array, whose include their
case-sensitivity and their alias forms. The first form defined is used by the program, for example,
when moving a page and its old name should include #REDIRECT.
Adding magic words should be done using several hooks:
* "MagicWordMagicWords" should be used to add the internal name ('MAG_XXX') to $magicWords.
* "MagicWordwgVariableIDs" should be used to add the ID (MAG_XXX constant) to $wgVariableIDs.
* "LanguageGetMagic" should be used to add the different names of the magic word. Use both
the localized name and the English name. Get the language code by the parameter $langCode;
For example:
$wgHooks['MagicWordMagicWords'][] = 'wfAddCustomMagicWord';
$wgHooks['MagicWordwgVariableIDs'][] = 'wfAddCustomMagicWordID';
$wgHooks['LanguageGetMagic'][] = 'wfAddCustomMagicWordLang';
function wfAddCustomMagicWord( &$magicWords ) {
$magicWords[] = 'MAG_CUSTOM';
return true;
}
function wfAddCustomMagicWordID( &$magicWords ) {
$magicWords[] = MAG_CUSTOM;
return true;
}
function wfAddCustomMagicWordLang( &$magicWords, $langCode ) {
switch ( $langCode ) {
case 'es':
$magicWords[MAG_CUSTOM] = array( 0, "#aduanero", "#custom" );
break;
default:
$magicWords[MAG_CUSTOM] = array( 0, "#custom" );
}
return true;
}