X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fspecials%2FSpecialWatchlist.php;h=58cde7e55ab8ed562bc004520a3a96939615c35f;hb=4e618302d9e7b96c008d3dfa3c0554cff52d5222;hp=2dda093b13edc649c84079a2f6ca1c6b176a54ab;hpb=b8fce54279c4bc169247697642d87a1c8426e6d3;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/specials/SpecialWatchlist.php b/includes/specials/SpecialWatchlist.php index 2dda093b13..58cde7e55a 100644 --- a/includes/specials/SpecialWatchlist.php +++ b/includes/specials/SpecialWatchlist.php @@ -21,6 +21,8 @@ * @ingroup SpecialPage */ +use MediaWiki\MediaWikiServices; + /** * A special page that lists last changes made to the wiki, * limited to user-defined list of titles. @@ -365,14 +367,25 @@ class SpecialWatchlist extends ChangesListSpecialPage { 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' ) ) { @@ -382,7 +395,7 @@ class SpecialWatchlist extends ChangesListSpecialPage { } if ( isset( $watchedItemStore ) ) { - $rcTitleValue = new TitleValue( $obj->rc_namespace, $obj->rc_title ); + $rcTitleValue = new TitleValue( (int)$obj->rc_namespace, $obj->rc_title ); $rc->numberofWatchingusers = $watchedItemStore->countWatchers( $rcTitleValue ); } else { $rc->numberofWatchingusers = 0; @@ -635,7 +648,8 @@ class SpecialWatchlist extends ChangesListSpecialPage { * @return int */ protected function countItems() { - $count = WatchedItemStore::getDefaultInstance()->countWatchedItems( $this->getUser() ); + $store = MediaWikiServices::getInstance()->getWatchedItemStore(); + $count = $store->countWatchedItems( $this->getUser() ); return floor( $count / 2 ); } }