protected $rclistOpen;
protected $rcMoveIndex;
- /** @var MapCacheLRU */
- protected $watchingCache;
+ /** @var BagOStuff */
+ protected $watchMsgCache;
/**
* Changeslist constructor
$this->skin = $obj;
}
$this->preCacheMessages();
- $this->watchingCache = new MapCacheLRU( 50 );
+ $this->watchMsgCache = new HashBagOStuff( array( 'maxKeys' => 50 ) );
}
/**
}
/**
- * @param string $s HTML to update
+ * @param string $s Article link will be appended to this string, in place.
* @param RecentChange $rc
* @param bool $unpatrolled
* @param bool $watched
+ * @deprecated since 1.27, use getArticleLink instead.
+ */
+ public function insertArticleLink( &$s, RecentChange $rc, $unpatrolled, $watched ) {
+ $s .= $this->getArticleLink( $rc, $unpatrolled, $watched );
+ }
+
+ /**
+ * @param RecentChange $rc
+ * @param bool $unpatrolled
+ * @param bool $watched
+ * @return string HTML
+ * @since 1.26
*/
- public function insertArticleLink( &$s, &$rc, $unpatrolled, $watched ) {
+ public function getArticleLink( &$rc, $unpatrolled, $watched ) {
$params = array();
if ( $rc->getTitle()->isRedirect() ) {
$params = array( 'redirect' => 'no' );
# RTL/LTR marker
$articlelink .= $this->getLanguage()->getDirMark();
+ # TODO: Deprecate the $s argument, it seems happily unused.
+ $s = '';
Hooks::run( 'ChangesListInsertArticleLink',
array( &$this, &$articlelink, &$s, &$rc, $unpatrolled, $watched ) );
- $s .= " $articlelink";
- }
-
- /**
- * @param RecentChange $rc
- * @param bool $unpatrolled
- * @param bool $watched
- * @return string
- * @since 1.26
- */
- public function getArticleLink( RecentChange $rc, $unpatrolled, $watched ) {
- $s = '';
- $this->insertArticleLink( $s, $rc, $unpatrolled, $watched );
- return $s;
+ return "{$s} {$articlelink}";
}
/**
}
}
- /**
- * Check whether to enable recent changes patrol features
- *
- * @deprecated since 1.22
- * @return bool
- */
- public static function usePatrol() {
- global $wgUser;
-
- wfDeprecated( __METHOD__, '1.22' );
-
- return $wgUser->useRCPatrol();
- }
-
/**
* Returns the string which indicates the number of watching users
* @param int $count Number of user watching a page
* @return string
*/
protected function numberofWatchingusers( $count ) {
- $cache = $this->watchingCache;
- if ( $count > 0 ) {
- if ( !$cache->has( $count ) ) {
- $cache->set( $count, $this->msg( 'number_of_watching_users_RCview' )
- ->numParams( $count )->escaped() );
- }
-
- return $cache->get( $count );
- } else {
+ if ( $count <= 0 ) {
return '';
}
+ $cache = $this->watchMsgCache;
+ $that = $this;
+ return $cache->getWithSetCallback( $count, $cache::TTL_INDEFINITE,
+ function () use ( $that, $count ) {
+ return $that->msg( 'number_of_watching_users_RCview' )
+ ->numParams( $count )->escaped();
+ }
+ );
}
/**
if ( $rc instanceof RecentChange ) {
$isPatrolled = $rc->mAttribs['rc_patrolled'];
$rcType = $rc->mAttribs['rc_type'];
+ $rcLogType = $rc->mAttribs['rc_log_type'];
} else {
$isPatrolled = $rc->rc_patrolled;
$rcType = $rc->rc_type;
+ $rcLogType = $rc->rc_log_type;
}
if ( !$isPatrolled ) {
if ( $user->useNPPatrol() && $rcType == RC_NEW ) {
return true;
}
+ if ( $user->useFilePatrol() && $rcLogType == 'upload' ) {
+ return true;
+ }
}
return false;