Allows to add subsections to special pages groups on special page "Specialpages"
authorKarsten Hoffmeyer <karsten@hoffmeyer.info>
Sat, 2 Mar 2019 11:03:49 +0000 (12:03 +0100)
committerMarkAHershberger <mah@nichework.com>
Mon, 4 Mar 2019 15:53:04 +0000 (15:53 +0000)
Adding all pages into one section creates some inconsistencies where users
cannot clearly distinguish pages. Thus extensions and extension suites like,
e.g. semantic extensions, translation extensions or social profile extensions
can improve the situation.

Bug: T216467
Change-Id: Iddc28e040fe975f8f823c84919fa476d2a13af0a

includes/specials/SpecialSpecialpages.php

index 9de31da..ee174ac 100644 (file)
@@ -99,10 +99,18 @@ class SpecialSpecialpages extends UnlistedSpecialPage {
                $includesCachedPages = false;
 
                foreach ( $groups as $group => $sortedPages ) {
-                       $out->wrapWikiMsg(
-                               "<h2 class=\"mw-specialpagesgroup\" id=\"mw-specialpagesgroup-$group\">$1</h2>\n",
-                               "specialpages-group-$group"
-                       );
+                       if ( strpos( $group, '/' ) !== false ) {
+                               list( $group, $subGroup ) = explode( '/', $group, 2 );
+                               $out->wrapWikiMsg(
+                                       "<h3 class=\"mw-specialpagessubgroup\">$1</h3>\n",
+                                       "specialpages-group-$group-$subGroup"
+                               );
+                       } else {
+                               $out->wrapWikiMsg(
+                                       "<h2 class=\"mw-specialpagesgroup\" id=\"mw-specialpagesgroup-$group\">$1</h2>\n",
+                                       "specialpages-group-$group"
+                               );
+                       }
                        $out->addHTML(
                                Html::openElement( 'div', [ 'class' => 'mw-specialpages-list' ] )
                                . '<ul>'