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).
function createNewUser()
{
function createNewUser()
{
+ if (!Event::handle('StartRegistrationTry', array($this))) {
+ return;
+ }
+
if (common_config('site', 'closed')) {
// TRANS: Client error trying to register with registrations not allowed.
$this->clientError(_m('Registration not allowed.'));
if (common_config('site', 'closed')) {
// TRANS: Client error trying to register with registrations not allowed.
$this->clientError(_m('Registration not allowed.'));
common_debug('Facebook Connect Plugin - ' .
"Registered new user $user->id from Facebook user $this->fbuid");
common_debug('Facebook Connect Plugin - ' .
"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)),
303);
}
common_redirect(common_local_url('showstream', array('nickname' => $user->nickname)),
303);
}
{
# 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')) {
// TRANS: OpenID plugin message. No new user registration is allowed on the site.
$this->clientError(_m('Registration not allowed.'));
if (common_config('site', 'closed')) {
// TRANS: OpenID plugin message. No new user registration is allowed on the site.
$this->clientError(_m('Registration not allowed.'));
common_rememberme($user);
}
unset($_SESSION['openid_rememberme']);
common_rememberme($user);
}
unset($_SESSION['openid_rememberme']);
+
+ Event::handle('EndRegistrationTry', array($this));
+
common_redirect(common_local_url('showstream', array('nickname' => $user->nickname)),
303);
}
common_redirect(common_local_url('showstream', array('nickname' => $user->nickname)),
303);
}
- * 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();
if (empty($ipaddress)) {
{
$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();
}
$reg = new Registration_ip();
function createNewUser()
{
function createNewUser()
{
+ if (!Event::handle('StartRegistrationTry', array($this))) {
+ return;
+ }
+
if (common_config('site', 'closed')) {
$this->clientError(_m('Registration not allowed.'));
return;
if (common_config('site', 'closed')) {
$this->clientError(_m('Registration not allowed.'));
return;
common_debug('TwitterBridge Plugin - ' .
"Registered new user $user->id from Twitter user $this->twuid");
common_debug('TwitterBridge Plugin - ' .
"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)),
303);
}
common_redirect(common_local_url('showstream', array('nickname' => $user->nickname)),
303);
}