http://www.mediawiki.org/wiki/Special:Code/MediaWiki/95152
Revision: 95152
Author: raymond
Date: 2011-08-21 16:38:02 +0000 (Sun, 21 Aug 2011)
Log Message:
-----------
New hook point to exempt an IP address from the account creation throttle. Redo
of r95041 per Niklas CR
Needed for a new extension to make (mass) account creation easier for
schools/colleges etc
Modified Paths:
--------------
trunk/phase3/RELEASE-NOTES-1.19
trunk/phase3/docs/hooks.txt
trunk/phase3/includes/specials/SpecialUserlogin.php
Modified: trunk/phase3/RELEASE-NOTES-1.19
===================================================================
--- trunk/phase3/RELEASE-NOTES-1.19 2011-08-21 15:46:53 UTC (rev 95151)
+++ trunk/phase3/RELEASE-NOTES-1.19 2011-08-21 16:38:02 UTC (rev 95152)
@@ -45,6 +45,7 @@
although they are not used there.
* (bug 30451) Add page_props to RefreshLinks::deleteLinksFromNonexistent
* (bug 30450) Clear page_props table on page deletion
+* Hook added to check for exempt from account creation throttle
=== Bug fixes in 1.19 ===
* $wgUploadNavigationUrl should be used for file redlinks if
Modified: trunk/phase3/docs/hooks.txt
===================================================================
--- trunk/phase3/docs/hooks.txt 2011-08-21 15:46:53 UTC (rev 95151)
+++ trunk/phase3/docs/hooks.txt 2011-08-21 16:38:02 UTC (rev 95152)
@@ -849,6 +849,9 @@
$editToken: The user's edit token.
&$hookErr: Out-param for the error. Passed as the parameters to
OutputPage::showErrorPage.
+'exemptFromAccountCreationThrottle': Exemption from the account creation
throttle
+$ip: The ip address of the user
+
'ExtensionTypes': called when generating the extensions credits, use this to
change the tables headers
&$extTypes: associative array of extensions types
Modified: trunk/phase3/includes/specials/SpecialUserlogin.php
===================================================================
--- trunk/phase3/includes/specials/SpecialUserlogin.php 2011-08-21 15:46:53 UTC
(rev 95151)
+++ trunk/phase3/includes/specials/SpecialUserlogin.php 2011-08-21 16:38:02 UTC
(rev 95152)
@@ -377,17 +377,23 @@
return false;
}
- if ( $wgAccountCreationThrottle && $wgUser->isPingLimitable() )
{
- $key = wfMemcKey( 'acctcreate', 'ip', $ip );
- $value = $wgMemc->get( $key );
- if ( !$value ) {
- $wgMemc->set( $key, 0, 86400 );
+ // Hook point to check for exempt from account creation
throttle
+ if ( !wfRunHooks( 'exemptFromAccountCreationThrottle', array(
$ip ) ) ) {
+ wfDebug( "LoginForm::exemptFromAccountCreationThrottle:
a hook allowed account creation w/o throttle\n" );
+ } else {
+ if ( ( $wgAccountCreationThrottle &&
$wgUser->isPingLimitable() ) ) {
+ wfDebugLog( 'CACT', "IN der core Throttle
Abfrage\n" );
+ $key = wfMemcKey( 'acctcreate', 'ip', $ip );
+ $value = $wgMemc->get( $key );
+ if ( !$value ) {
+ $wgMemc->set( $key, 0, 86400 );
+ }
+ if ( $value >= $wgAccountCreationThrottle ) {
+ $this->throttleHit(
$wgAccountCreationThrottle );
+ return false;
+ }
+ $wgMemc->incr( $key );
}
- if ( $value >= $wgAccountCreationThrottle ) {
- $this->throttleHit( $wgAccountCreationThrottle
);
- return false;
- }
- $wgMemc->incr( $key );
}
if( !$wgAuth->addUser( $u, $this->mPassword, $this->mEmail,
$this->mRealName ) ) {
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs