http://www.mediawiki.org/wiki/Special:Code/MediaWiki/68534

Revision: 68534
Author:   werdna
Date:     2010-06-25 00:06:07 +0000 (Fri, 25 Jun 2010)

Log Message:
-----------
AbuseFilter: Fix mSearchUser on abuse log.

Modified Paths:
--------------
    trunk/extensions/AbuseFilter/SpecialAbuseLog.php
    trunk/extensions/AbuseFilter/abusefilter.tables.sql

Added Paths:
-----------
    trunk/extensions/AbuseFilter/db_patches/patch-fix-indexes.sql

Modified: trunk/extensions/AbuseFilter/SpecialAbuseLog.php
===================================================================
--- trunk/extensions/AbuseFilter/SpecialAbuseLog.php    2010-06-24 22:14:35 UTC 
(rev 68533)
+++ trunk/extensions/AbuseFilter/SpecialAbuseLog.php    2010-06-25 00:06:07 UTC 
(rev 68534)
@@ -100,7 +100,16 @@
                $conds = array();
 
                if ( $this->mSearchUser ) {
-                       $conds['afl_user_text'] = $this->mSearchUser;
+                       $user = User::newFromName( $this->mSearchUser );
+                       
+                       if ( !$user ) {
+                               $conds[] = 'afl_ip=afl_user_text';
+                               $conds['afl_user'] = 0;
+                               $conds['afl_user_text'] = $this->mSearchUser;
+                       } else {                        
+                               $conds['afl_user'] = $user->getId();
+                               $conds['afl_user_text'] = $user->getName();
+                       }
                }
 
                if ( $this->mSearchFilter ) {

Modified: trunk/extensions/AbuseFilter/abusefilter.tables.sql
===================================================================
--- trunk/extensions/AbuseFilter/abusefilter.tables.sql 2010-06-24 22:14:35 UTC 
(rev 68533)
+++ trunk/extensions/AbuseFilter/abusefilter.tables.sql 2010-06-25 00:06:07 UTC 
(rev 68534)
@@ -46,11 +46,11 @@
        afl_patrolled_by int unsigned NULL,
        
        PRIMARY KEY (afl_id),
-       KEY (afl_filter),
-       KEY (afl_user),
+       KEY filter_timestamp (afl_filter,afl_timestamp),
+       KEY user_timestamp (afl_user,afl_user_text,afl_timestamp),
        KEY (afl_timestamp),
-       KEY (afl_namespace, afl_title),
-       KEY (afl_ip)
+       KEY page_timestamp (afl_namespace, afl_title, afl_timestamp),
+       KEY ip_timestamp (afl_ip, afl_timestamp)
 ) /*$wgDBTableOptions*/;
 
 CREATE TABLE /*$wgDBprefix*/abuse_filter_history (

Added: trunk/extensions/AbuseFilter/db_patches/patch-fix-indexes.sql
===================================================================
--- trunk/extensions/AbuseFilter/db_patches/patch-fix-indexes.sql               
                (rev 0)
+++ trunk/extensions/AbuseFilter/db_patches/patch-fix-indexes.sql       
2010-06-25 00:06:07 UTC (rev 68534)
@@ -0,0 +1,18 @@
+-- Fixes abuse_filter_log indices.
+
+--#    PRIMARY KEY (afl_id),
+--#    KEY (afl_filter,afl_timestamp),
+--#    KEY (afl_user,afl_user_text,afl_timestamp),
+--#    KEY (afl_timestamp),
+--#    KEY (afl_namespace, afl_title, afl_timestamp),
+--#    KEY (afl_ip, afl_timestamp)
+
+ALTER TABLE /*_*/abuse_filter_log ADD KEY filter_timestamp 
(afl_filter,afl_timestamp);
+ALTER TABLE /*_*/abuse_filter_log ADD KEY user_timestamp 
(afl_user,afl_user_text,afl_timestamp);
+ALTER TABLE /*_*/abuse_filter_log ADD KEY page_timestamp (afl_namespace, 
afl_title, afl_timestamp);
+ALTER TABLE /*_*/abuse_filter_log ADD KEY ip_timestamp (afl_ip, afl_timestamp);
+
+ALTER TABLE /*_*/abuse_filter_log DROP KEY afl_filter;
+ALTER TABLE /*_*/abuse_filter_log DROP KEY afl_user;
+ALTER TABLE /*_*/abuse_filter_log DROP KEY afl_namespace;
+ALTER TABLE /*_*/abuse_filter_log DROP KEY afl_ip;



_______________________________________________
MediaWiki-CVS mailing list
MediaWiki-CVS@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to