forked from GNUsocial/gnu-social
Fixes for RegisterThrottle plugin: alt registration methods (OpenID, FBConnect, Twitter) weren't triggering the throttle check or recording of IPs.
Added StartRegistrationTry/EndRegistrationTry calls into those three, and moved the actual recording hook to EndUserRegister which is guaranteed to be called from User::register (so we don't need to worry about other auth methods forgetting to call the other UI-code hooks).
This commit is contained in:
@@ -167,28 +167,24 @@ class RegisterThrottlePlugin extends Plugin
|
||||
}
|
||||
|
||||
/**
|
||||
* Called after someone registers.
|
||||
* Called after someone registers, by any means.
|
||||
*
|
||||
* We record the successful registration and IP address.
|
||||
*
|
||||
* @param Action $action Action that is being executed
|
||||
* @param Profile $profile new user's profile
|
||||
* @param User $user new user
|
||||
*
|
||||
* @return boolean hook value
|
||||
*
|
||||
*/
|
||||
|
||||
function onEndRegistrationTry($action)
|
||||
function onEndUserRegister($profile, $user)
|
||||
{
|
||||
$ipaddress = $this->_getIpAddress();
|
||||
|
||||
if (empty($ipaddress)) {
|
||||
throw new ServerException(_m('Cannot find IP address.'));
|
||||
}
|
||||
|
||||
$user = common_current_user();
|
||||
|
||||
if (empty($user)) {
|
||||
throw new ServerException(_m('Cannot find user after successful registration.'));
|
||||
// User registration can happen from command-line scripts etc.
|
||||
return true;
|
||||
}
|
||||
|
||||
$reg = new Registration_ip();
|
||||
|
Reference in New Issue
Block a user