jenkins-bot has submitted this change and it was merged.
Change subject: Flag to disable Special:NewMessages
......................................................................
Flag to disable Special:NewMessages
In order to gradually sunset LiquidThreads,
this flag allows turning off the 'New mesages'
link and the associated NewMessages special
page.
The config variable is $wgLiquidThreadsEnableNewMessages.
It defaults to true.
Bug: T107897
Change-Id: Ic8b483e7b90f1cf8b75a00946b1d1d4e93fb88b5
---
M LiquidThreads.php
M classes/Hooks.php
2 files changed, 35 insertions(+), 14 deletions(-)
Approvals:
Catrope: Looks good to me, approved
jenkins-bot: Verified
diff --git a/LiquidThreads.php b/LiquidThreads.php
index 1061df1..80835e4 100644
--- a/LiquidThreads.php
+++ b/LiquidThreads.php
@@ -182,6 +182,9 @@
// Info
$wgHooks['InfoAction'][] = 'LqtHooks::onInfoAction';
+// Special pages registration
+$wgHooks['SpecialPage_initList'][] = 'LqtHooks::onSpecialPage_initList';
+
// Special pages
$wgSpecialPages['MoveThread'] = 'SpecialMoveThread';
$wgSpecialPages['NewMessages'] = 'SpecialNewMessages';
@@ -367,3 +370,6 @@
/** Enable/disable the bump checkbox. **/
$wgLiquidThreadsShowBumpCheckbox = false;
+
+/** Enable/Disable 'New messages' link and special page (Special:NewMessages)
*/
+$wgLiquidThreadsEnableNewMessages = true;
diff --git a/classes/Hooks.php b/classes/Hooks.php
index eebcf2b..acb68ed 100644
--- a/classes/Hooks.php
+++ b/classes/Hooks.php
@@ -515,23 +515,27 @@
return true;
}
- $newMessagesCount = NewMessages::newMessageCount( $wgUser );
+ global $wgLiquidThreadsEnableNewMessages;
- // Add new messages link.
- $url = SpecialPage::getTitleFor( 'NewMessages' )->getLocalURL();
- $msg = $newMessagesCount ? 'lqt-newmessages-n' :
'lqt_newmessages';
- $newMessagesLink = array(
- 'href' => $url,
- 'text' => wfMessage( $msg )->numParams(
$newMessagesCount )->text(),
- 'active' => $newMessagesCount > 0,
- );
+ if ( $wgLiquidThreadsEnableNewMessages ) {
+ $newMessagesCount = NewMessages::newMessageCount(
$wgUser );
- $insertUrls = array( 'newmessages' => $newMessagesLink );
+ // Add new messages link.
+ $url = SpecialPage::getTitleFor( 'NewMessages'
)->getLocalURL();
+ $msg = $newMessagesCount ? 'lqt-newmessages-n' :
'lqt_newmessages';
+ $newMessagesLink = array(
+ 'href' => $url,
+ 'text' => wfMessage( $msg )->numParams(
$newMessagesCount )->text(),
+ 'active' => $newMessagesCount > 0,
+ );
- if ( in_array( 'watchlist', array_keys( $personal_urls ) ) ) {
// User has viewmywatchlist permission
- $personal_urls = wfArrayInsertAfter( $personal_urls,
$insertUrls, 'watchlist' );
- } else {
- $personal_urls = wfArrayInsertAfter( $personal_urls,
$insertUrls, 'preferences' );
+ $insertUrls = array( 'newmessages' => $newMessagesLink
);
+
+ if ( in_array( 'watchlist', array_keys( $personal_urls
) ) ) { // User has viewmywatchlist permission
+ $personal_urls = wfArrayInsertAfter(
$personal_urls, $insertUrls, 'watchlist' );
+ } else {
+ $personal_urls = wfArrayInsertAfter(
$personal_urls, $insertUrls, 'preferences' );
+ }
}
return true;
@@ -962,4 +966,15 @@
return true;
}
+
+ public static function onSpecialPage_initList( &$aSpecialPages ) {
+ global $wgLiquidThreadsEnableNewMessages;
+
+ if ( !$wgLiquidThreadsEnableNewMessages ) {
+ if ( isset( $aSpecialPages['NewMessages'] ) ) {
+ unset( $aSpecialPages['NewMessages'] );
+ }
+ }
+ return true;
+ }
}
--
To view, visit https://gerrit.wikimedia.org/r/229447
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ic8b483e7b90f1cf8b75a00946b1d1d4e93fb88b5
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/LiquidThreads
Gerrit-Branch: master
Gerrit-Owner: Sbisson <[email protected]>
Gerrit-Reviewer: Catrope <[email protected]>
Gerrit-Reviewer: Mattflaschen <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits