93 $pattern =
false, $conds = [], $year =
false, $month =
false, $day =
false,
94 $tagFilter =
'',
$action =
'', $logId = 0,
99 $services = MediaWikiServices::getInstance();
101 $this->mDb = ( $loadBalancer ?? $services->getDBLoadBalancer() )
102 ->getConnectionRef( ILoadBalancer::DB_REPLICA,
'logpager' );
103 parent::__construct( $list->getContext() );
104 $this->mConds = $conds;
106 $this->mLogEventsList = $list;
119 $this->mTagFilter = (string)$tagFilter;
258 $titleFormatter = MediaWikiServices::getInstance()->getTitleFormatter();
259 $this->page = $titleFormatter->getPrefixedDBkey(
$page );
260 $ns =
$page->getNamespace();
263 $interwikiDelimiter = $this->
getConfig()->get(
'UserrightsInterwikiDelimiter' );
265 $doUserRightsLogLike =
false;
266 if ( $this->types == [
'rights' ] ) {
267 $parts = explode( $interwikiDelimiter,
$page->getDBkey() );
268 if ( count( $parts ) == 2 ) {
269 list( $name, $database ) = array_map(
'trim', $parts );
270 if ( strstr( $database,
'*' ) ) {
271 $doUserRightsLogLike =
true;
289 $this->mConds[
'log_namespace'] = $ns;
290 if ( $doUserRightsLogLike ) {
291 $params = [ $name . $interwikiDelimiter ];
292 foreach ( explode(
'*', $database ) as $databasepart ) {
293 $params[] = $databasepart;
294 $params[] = $db->anyString();
296 array_pop( $params );
297 $this->mConds[] =
'log_title' . $db->buildLike( ...$params );
299 $this->mConds[] =
'log_title' . $db->buildLike(
$page->getDBkey(), $db->anyString() );
302 $this->mConds[
'log_title'] =
$page->getDBkey();