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 MediaWiki-CVS@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs