Hoo man has uploaded a new change for review.
https://gerrit.wikimedia.org/r/55828
Change subject: Make use of the user_timestamp index in ApiQueryAbuseLog
......................................................................
Make use of the user_timestamp index in ApiQueryAbuseLog
Furthermore sanitize IPs as ::01 == ::1
Change-Id: I91489d17c012004f607bbe571b9a2702afbf3d81
---
M api/ApiQueryAbuseLog.php
1 file changed, 20 insertions(+), 1 deletion(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/AbuseFilter
refs/changes/28/55828/1
diff --git a/api/ApiQueryAbuseLog.php b/api/ApiQueryAbuseLog.php
index 7bb12ee..ea0a3d9 100644
--- a/api/ApiQueryAbuseLog.php
+++ b/api/ApiQueryAbuseLog.php
@@ -105,7 +105,26 @@
$db = $this->getDB();
$notDeletedCond = SpecialAbuseLog::getNotDeletedCond($db);
- $this->addWhereIf( array( 'afl_user_text' => $params['user'] ),
isset( $params['user'] ) );
+ if ( isset( $params['user'] ) ) {
+ $u = User::newFromName( $params['user'] );
+ if ( $u ) {
+ // Username normalisation
+ $params['user'] = $u->getName();
+ $userId = $u->getId();
+ } elseif( IP::isIPAddress( $params['user'] ) ) {
+ // It's an IP, sanitize it
+ $params['user'] = IP::sanitizeIP(
$params['user'] );
+ $userId = 0;
+ }
+
+ $this->addWhere(
+ array(
+ 'afl_user' => $userId,
+ 'afl_user_text' => $params['user']
+ )
+ );
+ }
+
$this->addWhereIf( array( 'afl_filter' => $params['filter'] ),
isset( $params['filter'] ) );
$this->addWhereIf( $notDeletedCond,
!SpecialAbuseLog::canSeeHidden( $user ) );
--
To view, visit https://gerrit.wikimedia.org/r/55828
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I91489d17c012004f607bbe571b9a2702afbf3d81
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/AbuseFilter
Gerrit-Branch: master
Gerrit-Owner: Hoo man <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits