NotifUser: Simplify function signatures for getNotificationCount() and friends

The $cached and $dbSource parameters are now unused, so remove them.
This affects get{Notification,Alert,Message}Count and
getLastUnread{Notification,Alert,Message}Time.

There are some callers in other extensions and in skins, but none of
them pass any parameters (except one, which I fixed in Ice42930280da).

Change-Id: If6f10c4f163ecb1def5a150656a60d1ab5f44d52
This commit is contained in:
Roan Kattouw 2018-05-31 16:11:57 -07:00 committed by Krinkle
parent aa984f1b9b
commit d0714b2928
4 changed files with 25 additions and 30 deletions

View file

@ -177,27 +177,30 @@ class MWEchoNotifUser {
/** /**
* Get message count for this user. * Get message count for this user.
* *
* @param bool $cached Set to false to bypass the cache. (Optional. Defaults to true)
* @param int $dbSource Use master or slave database to pull count (Optional. Defaults to DB_REPLICA)
* @return int * @return int
*/ */
public function getMessageCount( $cached = true, $dbSource = DB_REPLICA ) { public function getMessageCount() {
return $this->getNotificationCount( $cached, $dbSource, EchoAttributeManager::MESSAGE ); return $this->getNotificationCount( EchoAttributeManager::MESSAGE );
} }
/** /**
* Get alert count for this user. * Get alert count for this user.
* *
* @param bool $cached Set to false to bypass the cache. (Optional. Defaults to true)
* @param int $dbSource Use master or slave database to pull count (Optional. Defaults to DB_REPLICA)
* @return int * @return int
*/ */
public function getAlertCount( $cached = true, $dbSource = DB_REPLICA ) { public function getAlertCount() {
return $this->getNotificationCount( $cached, $dbSource, EchoAttributeManager::ALERT ); return $this->getNotificationCount( EchoAttributeManager::ALERT );
} }
public function getLocalNotificationCount( $cached = true, $dbSource = DB_REPLICA, $section = EchoAttributeManager::ALL ) { /**
return $this->getNotificationCount( $cached, $dbSource, $section, false ); * Get the number of unread local notifications in a given section. This does not include
* foreign notifications, even if the user has cross-wiki notifications enabled.
*
* @param string $section Notification section
* @return int
*/
public function getLocalNotificationCount( $section = EchoAttributeManager::ALL ) {
return $this->getNotificationCount( $section, false );
} }
/** /**
@ -206,13 +209,11 @@ class MWEchoNotifUser {
* *
* If $wgEchoCrossWikiNotifications is disabled, the $global parameter is ignored. * If $wgEchoCrossWikiNotifications is disabled, the $global parameter is ignored.
* *
* @param bool $cached Set to false to bypass the cache. (Optional. Defaults to true)
* @param int $dbSource Use master or slave database to pull count (Optional. Defaults to DB_REPLICA)
* @param string $section Notification section * @param string $section Notification section
* @param bool|string $global Whether to include foreign notifications. If set to 'preference', uses the user's preference. * @param bool|string $global Whether to include foreign notifications. If set to 'preference', uses the user's preference.
* @return int * @return int
*/ */
public function getNotificationCount( $cached = true, $dbSource = DB_REPLICA, $section = EchoAttributeManager::ALL, $global = 'preference' ) { public function getNotificationCount( $section = EchoAttributeManager::ALL, $global = 'preference' ) {
if ( $this->mUser->isAnon() ) { if ( $this->mUser->isAnon() ) {
return 0; return 0;
} }
@ -235,23 +236,19 @@ class MWEchoNotifUser {
/** /**
* Get the timestamp of the latest unread alert * Get the timestamp of the latest unread alert
* *
* @param bool $cached Set to false to bypass the cache. (Optional. Defaults to true)
* @param int $dbSource Use master or slave database to pull count (Optional. Defaults to DB_REPLICA)
* @return bool|MWTimestamp Timestamp of latest unread alert, or false if there are no unread alerts. * @return bool|MWTimestamp Timestamp of latest unread alert, or false if there are no unread alerts.
*/ */
public function getLastUnreadAlertTime( $cached = true, $dbSource = DB_REPLICA ) { public function getLastUnreadAlertTime() {
return $this->getLastUnreadNotificationTime( $cached, $dbSource, EchoAttributeManager::ALERT ); return $this->getLastUnreadNotificationTime( EchoAttributeManager::ALERT );
} }
/** /**
* Get the timestamp of the latest unread message * Get the timestamp of the latest unread message
* *
* @param bool $cached Set to false to bypass the cache. (Optional. Defaults to true)
* @param int $dbSource Use master or slave database to pull count (Optional. Defaults to DB_REPLICA)
* @return bool|MWTimestamp * @return bool|MWTimestamp
*/ */
public function getLastUnreadMessageTime( $cached = true, $dbSource = DB_REPLICA ) { public function getLastUnreadMessageTime() {
return $this->getLastUnreadNotificationTime( $cached, $dbSource, EchoAttributeManager::MESSAGE ); return $this->getLastUnreadNotificationTime( EchoAttributeManager::MESSAGE );
} }
/** /**
@ -259,13 +256,11 @@ class MWEchoNotifUser {
* *
* If $wgEchoCrossWikiNotifications is disabled, the $global parameter is ignored. * If $wgEchoCrossWikiNotifications is disabled, the $global parameter is ignored.
* *
* @param bool $cached Set to false to bypass the cache. (Optional. Defaults to true)
* @param int $dbSource Use master or slave database to pull count (Optional. Defaults to DB_REPLICA)
* @param string $section Notification section * @param string $section Notification section
* @param bool|string $global Whether to include foreign notifications. If set to 'preference', uses the user's preference. * @param bool|string $global Whether to include foreign notifications. If set to 'preference', uses the user's preference.
* @return bool|MWTimestamp Timestamp of latest unread message, or false if there are no unread messages. * @return bool|MWTimestamp Timestamp of latest unread message, or false if there are no unread messages.
*/ */
public function getLastUnreadNotificationTime( $cached = true, $dbSource = DB_REPLICA, $section = EchoAttributeManager::ALL, $global = 'preference' ) { public function getLastUnreadNotificationTime( $section = EchoAttributeManager::ALL, $global = 'preference' ) {
if ( $this->mUser->isAnon() ) { if ( $this->mUser->isAnon() ) {
return false; return false;
} }

View file

@ -42,7 +42,7 @@ class ApiEchoMarkRead extends ApiBase {
]; ];
$rawCount = 0; $rawCount = 0;
foreach ( EchoAttributeManager::$sections as $section ) { foreach ( EchoAttributeManager::$sections as $section ) {
$rawSectionCount = $notifUser->getNotificationCount( /* $tryCache = */true, DB_REPLICA, $section ); $rawSectionCount = $notifUser->getNotificationCount( $section );
$result[$section]['rawcount'] = $rawSectionCount; $result[$section]['rawcount'] = $rawSectionCount;
$result[$section]['count'] = EchoNotificationController::formatNotificationCount( $rawSectionCount ); $result[$section]['count'] = EchoNotificationController::formatNotificationCount( $rawSectionCount );
$rawCount += $rawSectionCount; $rawCount += $rawSectionCount;

View file

@ -297,7 +297,7 @@ class ApiEchoNotifications extends ApiCrossWikiBase {
$totalRawCount = 0; $totalRawCount = 0;
foreach ( $sections as $section ) { foreach ( $sections as $section ) {
$rawCount = $notifUser->getNotificationCount( /* $tryCache = */true, DB_REPLICA, $section, $global ); $rawCount = $notifUser->getNotificationCount( $section, $global );
if ( $groupBySection ) { if ( $groupBySection ) {
$result[$section]['rawcount'] = $rawCount; $result[$section]['rawcount'] = $rawCount;
$result[$section]['count'] = EchoNotificationController::formatNotificationCount( $rawCount ); $result[$section]['count'] = EchoNotificationController::formatNotificationCount( $rawCount );

View file

@ -48,11 +48,11 @@ class BackfillUnreadWikis extends Maintenance {
$notifUser = MWEchoNotifUser::newFromUser( $user ); $notifUser = MWEchoNotifUser::newFromUser( $user );
$uw = EchoUnreadWikis::newFromUser( $user ); $uw = EchoUnreadWikis::newFromUser( $user );
if ( $uw ) { if ( $uw ) {
$alertCount = $notifUser->getNotificationCount( true, DB_REPLICA, EchoAttributeManager::ALERT, false ); $alertCount = $notifUser->getNotificationCount( EchoAttributeManager::ALERT, false );
$alertUnread = $notifUser->getLastUnreadNotificationTime( true, DB_REPLICA, EchoAttributeManager::ALERT, false ); $alertUnread = $notifUser->getLastUnreadNotificationTime( EchoAttributeManager::ALERT, false );
$msgCount = $notifUser->getNotificationCount( true, DB_REPLICA, EchoAttributeManager::MESSAGE, false ); $msgCount = $notifUser->getNotificationCount( EchoAttributeManager::MESSAGE, false );
$msgUnread = $notifUser->getLastUnreadNotificationTime( true, DB_REPLICA, EchoAttributeManager::MESSAGE, false ); $msgUnread = $notifUser->getLastUnreadNotificationTime( EchoAttributeManager::MESSAGE, false );
if ( ( $alertCount !== 0 && $alertUnread === false ) || ( $msgCount !== 0 && $msgUnread === false ) ) { if ( ( $alertCount !== 0 && $alertUnread === false ) || ( $msgCount !== 0 && $msgUnread === false ) ) {
// If there are alerts, there should be an alert timestamp (same for messages). // If there are alerts, there should be an alert timestamp (same for messages).