From 8c5db2a52d84a5d1ab532bf10b25995749d7dba3 Mon Sep 17 00:00:00 2001 From: Rotem Liss Date: Mon, 26 Jun 2006 16:05:38 +0000 Subject: [PATCH] Documentation file about the magic words. --- docs/magicword.txt | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 docs/magicword.txt diff --git a/docs/magicword.txt b/docs/magicword.txt new file mode 100644 index 0000000000..74e49cff0f --- /dev/null +++ b/docs/magicword.txt @@ -0,0 +1,44 @@ +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; +} -- 2.20.1