https://www.mediawiki.org/wiki/Special:Code/MediaWiki/114124
Revision: 114124
Author: tstarling
Date: 2012-03-19 09:50:48 +0000 (Mon, 19 Mar 2012)
Log Message:
-----------
During update, defer creation of the AbuseFilter user until after the core
updates have run, so that you don't get "Table 'user_properties' doesn't exist"
etc.
Modified Paths:
--------------
trunk/extensions/AbuseFilter/AbuseFilter.hooks.php
Modified: trunk/extensions/AbuseFilter/AbuseFilter.hooks.php
===================================================================
--- trunk/extensions/AbuseFilter/AbuseFilter.hooks.php 2012-03-19 07:59:14 UTC
(rev 114123)
+++ trunk/extensions/AbuseFilter/AbuseFilter.hooks.php 2012-03-19 09:50:48 UTC
(rev 114124)
@@ -321,11 +321,17 @@
$updater->addExtensionUpdate( array( 'addPgField',
'abuse_filter_log', 'afl_deleted', 'SMALLINT' ) );
$updater->addExtensionUpdate( array( 'changeField',
'abuse_filter_log', 'afl_filter', 'TEXT' ) );
$updater->addExtensionUpdate( array( 'addPgExtIndex',
'abuse_filter_log', 'abuse_filter_log_ip', "(afl_ip)" ) );
- } else {
- throw new MWException("No known Schema updates.");
}
- // Create the Abuse Filter user.
+ $updater->addExtensionUpdate( array( array( __CLASS__,
'createAbuseFilterUser' ) ) );
+
+ return true;
+ }
+
+ /**
+ * Updater callback to create the AbuseFilter user after the user
tables have been updated.
+ */
+ public static function createAbuseFilterUser( $updater ) {
$user = User::newFromName( wfMsgForContent(
'abusefilter-blocker' ) );
if ( $user && !$updater->updateRowExists( 'create
abusefilter-blocker-user' ) ) {
@@ -345,8 +351,6 @@
# Promote user so it doesn't look too crazy.
$user->addGroup( 'sysop' );
}
-
- return true;
}
/**
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs