jenkins-bot has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/393881 )
Change subject: Set tagline on Special:MobileOptions page
......................................................................
Set tagline on Special:MobileOptions page
Restrict the existing setting of wikidata descriptions to pages
in the main namespace. This will allow us to make the Minerva skin
dumber about when it should render and when it should not.
Also set a tagline for the special page MobileOptions
Given, we anticipate other special pages to also have taglines,
a configuration variable MFSpecialPageTaglines is added.
Bug: T180095
Change-Id: I3f5886715f0632e67e46e077d362a988a648a123
---
M README.md
M extension.json
M i18n/en.json
M i18n/qqq.json
M includes/MobileFrontend.hooks.php
5 files changed, 46 insertions(+), 4 deletions(-)
Approvals:
Pmiazga: Looks good to me, approved
jenkins-bot: Verified
diff --git a/README.md b/README.md
index eab92f1..4522da1 100644
--- a/README.md
+++ b/README.md
@@ -581,6 +581,23 @@
'tagline' => false,
]
```
+#### $wgMFSpecialPageTaglines
+Set taglines for special pages
+
+```php
+$wgMFSpecialPageTaglines = [
+ "SpecialPageName" => "valid-message-key",
+];
+```
+
+* Type: `Array`
+* Default:
+```php
+ [
+ "MobileOptions" => "mobile-frontend-settings-tagline"
+ ]
+```
+
#### $wgMFStripResponsiveImages
diff --git a/extension.json b/extension.json
index 4a57570..8828a4a 100644
--- a/extension.json
+++ b/extension.json
@@ -1265,6 +1265,9 @@
},
"MFNoMobileCategory": false,
"MFNoMobilePages": [],
+ "MFSpecialPageTaglines": {
+ "MobileOptions": "mobile-frontend-settings-tagline"
+ },
"MFNearbyRange": 10000,
"MFNearby": false,
"MFNearbyEndpoint": "",
diff --git a/i18n/en.json b/i18n/en.json
index 2798c97..d946136 100644
--- a/i18n/en.json
+++ b/i18n/en.json
@@ -198,6 +198,7 @@
"mobile-frontend-search-content": "Search within pages",
"mobile-frontend-search-content-no-results":
"'''{{int:mobile-frontend-search-content}}''' to see if this phrase appears
anywhere.",
"mobile-frontend-search-no-results": "No page with this title.",
+ "mobile-frontend-settings-tagline": "Reading preferences",
"mobile-frontend-settings-beta": "Beta",
"mobile-frontend-settings-site-description": "{{SITENAME}} is available
in $1 {{PLURAL:$1|language|languages}}. All available versions are listed
below",
"mobile-frontend-settings-site-header": "{{SITENAME}} Languages",
diff --git a/i18n/qqq.json b/i18n/qqq.json
index 68226a2..ab92dfc 100644
--- a/i18n/qqq.json
+++ b/i18n/qqq.json
@@ -199,6 +199,7 @@
"mobile-frontend-search-content": "Caption for a button performing full
text search of a given search query.\n\nUsed in
{{msg-mw|Mobile-frontend-search-content-no-results}}.",
"mobile-frontend-search-content-no-results": "Used when no pages with
matching titles were found.\n\nRefers to
{{msg-mw|Mobile-frontend-search-content}}.",
"mobile-frontend-search-no-results": "Message informing user that no
pages were found for a given query.",
+ "mobile-frontend-settings-tagline": "Tagline for Special:MobileOptions
- will show under heading",
"mobile-frontend-settings-beta": "Text for beta on settings
page.\n{{Identical|Beta}}",
"mobile-frontend-settings-site-description": "Shown on
[[Special:MobileOptions]]. Parameters:\n* $1 - the number of other language
versions for this wiki",
"mobile-frontend-settings-site-header": "Heading for the
Special:MobileOptions/Language page - only visible to non JavaScript users",
diff --git a/includes/MobileFrontend.hooks.php
b/includes/MobileFrontend.hooks.php
index caa2491..ea88c97 100644
--- a/includes/MobileFrontend.hooks.php
+++ b/includes/MobileFrontend.hooks.php
@@ -571,7 +571,9 @@
* @return bool
*/
public static function onSpecialPageBeforeExecute( SpecialPage
$special, $subpage ) {
- $isMobileView =
MobileContext::singleton()->shouldDisplayMobileView();
+ $context = MobileContext::singleton();
+ $isMobileView = $context->shouldDisplayMobileView();
+ $taglines = $context->getConfig()->get(
'MFSpecialPageTaglines', [] );
$name = $special->getName();
if ( $isMobileView ) {
@@ -580,6 +582,10 @@
);
if ( $name === 'Userlogin' || $name === 'CreateAccount'
) {
$special->getOutput()->addModules(
'mobile.special.userlogin.scripts' );
+ }
+ if ( array_key_exists( $name, $taglines ) ) {
+ self::setTagline( $special->getOutput(),
+ wfMessage( $taglines[$name] ) );
}
}
@@ -1061,6 +1067,16 @@
}
/**
+ * Sets a tagline for a given page that can be displayed by the skin.
+ *
+ * @param OutputPage $outputPage
+ * @param string $desc
+ */
+ private static function setTagline( OutputPage $outputPage, $desc ) {
+ $outputPage->setProperty( 'wgMFDescription', $desc );
+ }
+
+ /**
* OutputPageParserOutput hook handler
* Disables TOC in output before it grabs HTML
* @see
https://www.mediawiki.org/wiki/Manual:Hooks/OutputPageParserOutput
@@ -1075,13 +1091,17 @@
if ( $context->shouldDisplayMobileView() ) {
$po->setTOCEnabled( false );
$outputPage->setProperty( 'MFTOC', $po->getTOCHTML()
!== '' );
-
- if ( $context->shouldShowWikibaseDescriptions(
'tagline' ) ) {
+ $title = $outputPage->getTitle();
+ // Only set the tagline if the feature has been enabled
and the article is in the main namespace
+ if ( $context->shouldShowWikibaseDescriptions(
'tagline' ) &&
+ !$title->isMainPage() &&
+ $title->getNamespace() === NS_MAIN
+ ) {
$item = $po->getProperty( 'wikibase_item' );
if ( $item ) {
$desc =
ExtMobileFrontend::getWikibaseDescription( $item );
if ( $desc ) {
- $outputPage->setProperty(
'wgMFDescription', $desc );
+ self::setTagline( $outputPage,
$desc );
}
}
}
--
To view, visit https://gerrit.wikimedia.org/r/393881
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I3f5886715f0632e67e46e077d362a988a648a123
Gerrit-PatchSet: 8
Gerrit-Project: mediawiki/extensions/MobileFrontend
Gerrit-Branch: specialpages
Gerrit-Owner: Jdlrobson <[email protected]>
Gerrit-Reviewer: Bmansurov <[email protected]>
Gerrit-Reviewer: Jdlrobson <[email protected]>
Gerrit-Reviewer: Pmiazga <[email protected]>
Gerrit-Reviewer: Siebrand <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits