Samwilson has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/376479 )

Change subject: Add breadcrumb as subpage subtitle, to go back to Preferences
......................................................................

Add breadcrumb as subpage subtitle, to go back to Preferences

Add a breadcrumb link for navigating back to local Preferences
page to the subpage subtitle area of Special:GlobalPreferences.

Bug: T173873
Change-Id: I1f43643d42e739c190951ef55dc6d596d1a3b31c
---
M extension.json
M includes/Hooks.php
2 files changed, 22 insertions(+), 0 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/GlobalPreferences 
refs/changes/79/376479/1

diff --git a/extension.json b/extension.json
index 8245339..3d7526c 100644
--- a/extension.json
+++ b/extension.json
@@ -37,6 +37,9 @@
                "PreferencesFormPreSave": [
                        "GlobalPreferences\\Hooks::onPreferencesFormPreSave"
                ],
+               "SkinSubPageSubtitle": [
+                       "GlobalPreferences\\Hooks::onSkinSubPageSubtitle"
+               ],
                "LoadExtensionSchemaUpdates": [
                        "GlobalPreferences\\Hooks::onLoadExtensionSchemaUpdates"
                ]
diff --git a/includes/Hooks.php b/includes/Hooks.php
index 9ab9ffd..bc61019 100644
--- a/includes/Hooks.php
+++ b/includes/Hooks.php
@@ -4,7 +4,9 @@
 
 use DatabaseUpdater;
 use Linker;
+use MediaWiki\MediaWikiServices;
 use PreferencesForm;
+use Skin;
 use SpecialPage;
 use User;
 
@@ -199,6 +201,23 @@
        }
 
        /**
+        * @link https://www.mediawiki.org/wiki/Manual:Hooks/SkinSubPageSubtitle
+        * @param string &$subpages The HTML of the subpage subtitle.
+        * @param Skin $skin The skin.
+        */
+       public static function onSkinSubPageSubtitle( &$subpages, Skin $skin ) {
+               if ( $skin->getContext()->getTitle()->isSpecial( 
'GlobalPreferences' ) ) {
+                       $linkRenderer = 
MediaWikiServices::getInstance()->getLinkRenderer();
+                       $link = $linkRenderer->makeKnownLink(
+                               SpecialPage::getSafeTitleFor( 'Preferences' ),
+                               wfMessage( 'mypreferences' )->escaped()
+                       );
+                       // Same left-arrow as used in Skin::subPageSubtitle() 
where this hook is called.
+                       $subpages = "< $link";
+               }
+       }
+
+       /**
         * @link https://www.mediawiki.org/wiki/Manual:Hooks/GetPreferences
         * @param User $user User whose preferences are being modified.
         * @param array &$prefs Preferences description array, to be fed to an 
HTMLForm object.

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1f43643d42e739c190951ef55dc6d596d1a3b31c
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/GlobalPreferences
Gerrit-Branch: master
Gerrit-Owner: Samwilson <s...@samwilson.id.au>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to