Alex Monk has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/278429

Change subject: [WIP] Add MagicWord::getDocs and i18n messages for 
documentation of magic words
......................................................................

[WIP] Add MagicWord::getDocs and i18n messages for documentation of magic words

Missing basically all docs.

Depended on by Icb54d93b

Bug: T51996
Change-Id: Iebd02eb6f8e35131f59464a2165ef9e6e5c3227b
---
M includes/MagicWord.php
M languages/i18n/en.json
2 files changed, 44 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/29/278429/1

diff --git a/includes/MagicWord.php b/includes/MagicWord.php
index 13f706d..b782b50 100644
--- a/includes/MagicWord.php
+++ b/includes/MagicWord.php
@@ -699,4 +699,42 @@
        public function getId() {
                return $this->mId;
        }
+
+       public static function getDocs( $word ) {
+               global $wgContLang;
+               $magicWordAliases = [];
+               foreach ( $wgContLang->getMagicWords() as $magicWord => 
$aliases ) {
+                       $magicWordAliases[$magicWord] = $magicWord;
+                       foreach ( $aliases as $alias ) {
+                               $magicWordAliases[$alias] = $magicWord;
+                       }
+               }
+
+               if ( isset( $magicWordAliases[$word] ) ) {
+                       $word = $magicWordAliases[$word];
+                       $doc = [
+                               'code' => $word,
+                               'params' => []
+                       ];
+                       if ( wfMessage( "magicwords-$word-description" 
)->exists() ) {
+                               $doc['description'] = wfMessage( 
"magicwords-$word-description" )->plain();
+                       } else {
+                               $doc['description'] = null;
+                       }
+
+                       $i = 0;
+                       while (
+                               wfMessage( "magicwords-$word-params-$i-label" 
)->exists() ||
+                               wfMessage( 
"magicwords-$word-params-$i-description" )->exists()
+                       ) {
+                               $doc['params'][$i] = [
+                                       'label' => wfMessage( 
"magicwords-$word-params-$i-label" )->plain(),
+                                       'description' => wfMessage( 
"magicwords-$word-params-$i-description" )->plain()
+                               ];
+                               $i++;
+                       }
+
+                       return $doc;
+               }
+       }
 }
diff --git a/languages/i18n/en.json b/languages/i18n/en.json
index 5b32b97..23fae0e 100644
--- a/languages/i18n/en.json
+++ b/languages/i18n/en.json
@@ -4029,5 +4029,10 @@
        "sessionprovider-generic": "$1 sessions",
        "sessionprovider-mediawiki-session-cookiesessionprovider": 
"cookie-based sessions",
        "sessionprovider-nocookies": "Cookies may be disabled. Ensure you have 
cookies enabled and start again.",
-       "randomrootpage": "Random root page"
+       "randomrootpage": "Random root page",
+       "magicwords-pagesincategory-description": "Counts the number of pages 
in a category",
+       "magicwords-pagesincategory-params-0-label": "Category name",
+       "magicwords-pagesincategory-params-0-description": "Category name",
+       "magicwords-pagesincategory-params-1-label": "Types",
+       "magicwords-pagesincategory-params-1-description": "One of: 'all' 
(default), 'pages' (ordinary pages), 'subcats' (subcategories), 'files' (files)"
 }

-- 
To view, visit https://gerrit.wikimedia.org/r/278429
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iebd02eb6f8e35131f59464a2165ef9e6e5c3227b
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Alex Monk <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to