* @ingroup SpecialPage
*/
+use MediaWiki\MediaWikiServices;
+
/**
* A special page that lists last changes made to the wiki,
* limited to user-defined list of titles.
if ( $this->getConfig()->get( 'RCShowWatchingUsers' )
&& $user->getOption( 'shownumberswatching' )
) {
- $watchedItemStore = WatchedItemStore::getDefaultInstance();
+ $watchedItemStore = MediaWikiServices::getInstance()->getWatchedItemStore();
}
$s = $list->beginRecentChangesList();
+ $userShowHiddenCats = $this->getUser()->getBoolOption( 'showhiddencats' );
$counter = 1;
foreach ( $rows as $obj ) {
# Make RC entry
$rc = RecentChange::newFromRow( $obj );
+
+ # Skip CatWatch entries for hidden cats based on user preference
+ if (
+ $rc->getAttribute( 'rc_type' ) == RC_CATEGORIZE &&
+ !$userShowHiddenCats &&
+ $rc->getParam( 'hidden-cat' )
+ ) {
+ continue;
+ }
+
$rc->counter = $counter++;
if ( $this->getConfig()->get( 'ShowUpdatedMarker' ) ) {
* @return int
*/
protected function countItems() {
- $count = WatchedItemStore::getDefaultInstance()->countWatchedItems( $this->getUser() );
+ $store = MediaWikiServices::getInstance()->getWatchedItemStore();
+ $count = $store->countWatchedItems( $this->getUser() );
return floor( $count / 2 );
}
}