X-Git-Url: http://git.cyclocoop.org/%22%20%20.%20generer_url_ecrire%28%22mots_tous%22%29%20.%20%22?a=blobdiff_plain;f=includes%2Flogging%2FLogPager.php;h=24fdfb0195021852da75aaf90a09758411d86dcd;hb=fff578a12dc4bd75225c67ce82c3cedc2a50f24c;hp=5404f35fced74064f932da7c8d031de558a3f5d9;hpb=b4f25a914749200e74ea370c226e9b367d6d6970;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/logging/LogPager.php b/includes/logging/LogPager.php index 5404f35fce..24fdfb0195 100644 --- a/includes/logging/LogPager.php +++ b/includes/logging/LogPager.php @@ -176,13 +176,12 @@ class LogPager extends ReverseChronologicalPager { // Normalize username first so that non-existent users used // in maintenance scripts work $name = $usertitle->getText(); - /* Fetch userid at first, if known, provides awesome query plan afterwards */ - $userid = User::idFromName( $name ); - if ( !$userid ) { - $this->mConds['log_user_text'] = IP::sanitizeIP( $name ); - } else { - $this->mConds['log_user'] = $userid; - } + + // Assume no joins required for log_user + $this->mConds[] = ActorMigration::newMigration()->getWhere( + wfGetDB( DB_REPLICA ), 'log_user', User::newFromName( $name, false ) + )['conds']; + $this->enforcePerformerRestrictions(); $this->performer = $name; @@ -423,9 +422,9 @@ class LogPager extends ReverseChronologicalPager { $this->actionRestrictionsEnforced = true; $user = $this->getUser(); if ( !$user->isAllowed( 'deletedhistory' ) ) { - $this->mConds[] = $this->mDb->bitAnd( 'log_deleted', LogPage::DELETED_USER ) . ' = 0'; + $this->mConds[] = $this->mDb->bitAnd( 'log_deleted', LogPage::DELETED_ACTION ) . ' = 0'; } elseif ( !$user->isAllowedAny( 'suppressrevision', 'viewsuppressed' ) ) { - $this->mConds[] = $this->mDb->bitAnd( 'log_deleted', LogPage::SUPPRESSED_USER ) . + $this->mConds[] = $this->mDb->bitAnd( 'log_deleted', LogPage::SUPPRESSED_ACTION ) . ' != ' . LogPage::SUPPRESSED_USER; } } @@ -441,9 +440,9 @@ class LogPager extends ReverseChronologicalPager { $this->performerRestrictionsEnforced = true; $user = $this->getUser(); if ( !$user->isAllowed( 'deletedhistory' ) ) { - $this->mConds[] = $this->mDb->bitAnd( 'log_deleted', LogPage::DELETED_ACTION ) . ' = 0'; + $this->mConds[] = $this->mDb->bitAnd( 'log_deleted', LogPage::DELETED_USER ) . ' = 0'; } elseif ( !$user->isAllowedAny( 'suppressrevision', 'viewsuppressed' ) ) { - $this->mConds[] = $this->mDb->bitAnd( 'log_deleted', LogPage::SUPPRESSED_ACTION ) . + $this->mConds[] = $this->mDb->bitAnd( 'log_deleted', LogPage::SUPPRESSED_USER ) . ' != ' . LogPage::SUPPRESSED_ACTION; } }