API: Support key-params arrays in 'descriptionmsg' in meta=siteinfo&siprop=extensions
authorRoan Kattouw <catrope@users.mediawiki.org>
Sun, 24 Jan 2010 12:11:18 +0000 (12:11 +0000)
committerRoan Kattouw <catrope@users.mediawiki.org>
Sun, 24 Jan 2010 12:11:18 +0000 (12:11 +0000)
RELEASE-NOTES
includes/api/ApiQuerySiteinfo.php

index 03b34ee..b091c52 100644 (file)
@@ -803,6 +803,7 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
 * (bug 22241) Quick edit is still using the deprecated watch parameter (API: Setting default for watch/unwatch wrongly set)
 * (bug 22245) blfilterredirect=nonredirects in blredirect mode wrongly filtering
 * (bug 22248) Output extension URLs in meta=siteinfo&siprop=extensions
+* Support key-params arrays in 'descriptionmsg' in meta=siteinfo&siprop=extensions
 
 === Languages updated in 1.16 ===
 
index 1f0fbab..415739e 100644 (file)
@@ -359,14 +359,22 @@ class ApiQuerySiteinfo extends ApiQueryBase {
                                        $ret['name'] = $ext['name'];
                                if ( isset( $ext['description'] ) )
                                        $ret['description'] = $ext['description'];
-                               if ( isset( $ext['descriptionmsg'] ) )
-                                       $ret['descriptionmsg'] = $ext['descriptionmsg'];
+                               if ( isset( $ext['descriptionmsg'] ) ) {
+                                       // Can be a string or array( key, param1, param2, ... )
+                                       if ( is_array( $ext['descriptionmsg'] ) ) {
+                                               $ret['descriptionmsg'] = $ext['descriptionmsg'][0];
+                                               $ret['descriptionmsgparams'] = array_slice( $ext['descriptionmsg'], 1 );
+                                               $this->getResult()->setIndexedTagName( $ret['descriptionmsgparams'], 'param' );
+                                       } else {
+                                               $ret['descriptionmsg'] = $ext['descriptionmsg'];
+                                       }
+                               }
                                if ( isset( $ext['author'] ) ) {
                                        $ret['author'] = is_array( $ext['author'] ) ?
                                                implode( ', ', $ext['author' ] ) : $ext['author'];
                                }
                                if ( isset( $ext['url'] ) ) {
-                                   $ret['url'] = $ext['url'];
+                                       $ret['url'] = $ext['url'];
                                }
                                if ( isset( $ext['version'] ) ) {
                                                $ret['version'] = $ext['version'];