Merge branch 'master' into 0.9.x

This commit is contained in:
Brion Vibber 2011-01-20 15:08:31 -08:00
commit 6455461c19
5 changed files with 32 additions and 12 deletions

View File

@ -63,8 +63,13 @@ if (!function_exists('dl')) {
// Fortunately trying to call the disabled one will only trigger // Fortunately trying to call the disabled one will only trigger
// a warning, not a fatal, so it's safe to leave it for our case. // a warning, not a fatal, so it's safe to leave it for our case.
// Callers will be suppressing warnings anyway. // Callers will be suppressing warnings anyway.
$disabled = array_filter(array_map('trim', explode(',', ini_get('disable_functions')))); try {
if (!in_array('dl', $disabled)) { // Reading the ini setting is hard as we don't know PHP's parsing,
// but we can check if it is disabled through reflection.
$dl = new ReflectionFunction('dl');
// $disabled = $dl->isDisabled(); // don't need to check this now
} catch (ReflectionException $e) {
// Ok, it *really* doesn't exist!
function dl($library) { function dl($library) {
return false; return false;
} }

View File

@ -232,6 +232,10 @@ class FBConnectauthAction extends Action
function createNewUser() function createNewUser()
{ {
if (!Event::handle('StartRegistrationTry', array($this))) {
return;
}
if (common_config('site', 'closed')) { if (common_config('site', 'closed')) {
// TRANS: Client error trying to register with registrations not allowed. // TRANS: Client error trying to register with registrations not allowed.
$this->clientError(_m('Registration not allowed.')); $this->clientError(_m('Registration not allowed.'));
@ -297,6 +301,8 @@ class FBConnectauthAction extends Action
common_debug('Facebook Connect Plugin - ' . common_debug('Facebook Connect Plugin - ' .
"Registered new user $user->id from Facebook user $this->fbuid"); "Registered new user $user->id from Facebook user $this->fbuid");
Event::handle('EndRegistrationTry', array($this));
common_redirect(common_local_url('showstream', array('nickname' => $user->nickname)), common_redirect(common_local_url('showstream', array('nickname' => $user->nickname)),
303); 303);
} }

View File

@ -262,6 +262,10 @@ class FinishopenidloginAction extends Action
{ {
# FIXME: save invite code before redirect, and check here # FIXME: save invite code before redirect, and check here
if (!Event::handle('StartRegistrationTry', array($this))) {
return;
}
if (common_config('site', 'closed')) { if (common_config('site', 'closed')) {
// TRANS: OpenID plugin message. No new user registration is allowed on the site. // TRANS: OpenID plugin message. No new user registration is allowed on the site.
$this->clientError(_m('Registration not allowed.')); $this->clientError(_m('Registration not allowed.'));
@ -374,6 +378,9 @@ class FinishopenidloginAction extends Action
common_rememberme($user); common_rememberme($user);
} }
unset($_SESSION['openid_rememberme']); unset($_SESSION['openid_rememberme']);
Event::handle('EndRegistrationTry', array($this));
common_redirect(common_local_url('showstream', array('nickname' => $user->nickname)), common_redirect(common_local_url('showstream', array('nickname' => $user->nickname)),
303); 303);
} }

View File

@ -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. * 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 * @return boolean hook value
* *
*/ */
function onEndRegistrationTry($action) function onEndUserRegister($profile, $user)
{ {
$ipaddress = $this->_getIpAddress(); $ipaddress = $this->_getIpAddress();
if (empty($ipaddress)) { if (empty($ipaddress)) {
throw new ServerException(_m('Cannot find IP address.')); // User registration can happen from command-line scripts etc.
} return true;
$user = common_current_user();
if (empty($user)) {
throw new ServerException(_m('Cannot find user after successful registration.'));
} }
$reg = new Registration_ip(); $reg = new Registration_ip();

View File

@ -419,6 +419,10 @@ class TwitterauthorizationAction extends Action
function createNewUser() function createNewUser()
{ {
if (!Event::handle('StartRegistrationTry', array($this))) {
return;
}
if (common_config('site', 'closed')) { if (common_config('site', 'closed')) {
$this->clientError(_m('Registration not allowed.')); $this->clientError(_m('Registration not allowed.'));
return; return;
@ -490,6 +494,8 @@ class TwitterauthorizationAction extends Action
common_debug('TwitterBridge Plugin - ' . common_debug('TwitterBridge Plugin - ' .
"Registered new user $user->id from Twitter user $this->twuid"); "Registered new user $user->id from Twitter user $this->twuid");
Event::handle('EndRegistrationTry', array($this));
common_redirect(common_local_url('showstream', array('nickname' => $user->nickname)), common_redirect(common_local_url('showstream', array('nickname' => $user->nickname)),
303); 303);
} }