Commit 06d895ee authored by Brion Vibber's avatar Brion Vibber

Add email field on openid registration; needed to register if...

Add email field on openid registration; needed to register if RequireValidatedEmail plugin is also present.
parent ddde99cd
......@@ -127,6 +127,11 @@ class FinishopenidloginAction extends Action
($this->username) ? $this->username : '',
_m('1-64 lowercase letters or numbers, no punctuation or spaces'));
$this->elementEnd('li');
$this->elementStart('li');
$this->input('email', _('Email'), $this->getEmail(),
_('Used only for updates, announcements, '.
'and password recovery'));
$this->elementEnd('li');
// Hook point for captcha etc
Event::handle('EndRegistrationFormData', array($this));
......@@ -188,6 +193,39 @@ class FinishopenidloginAction extends Action
$this->elementEnd('form');
}
/**
* Get specified e-mail from the form, or the OpenID sreg info, or the
* invite code.
*
* @return string
*/
function getEmail()
{
$email = $this->trimmed('email');
if (!empty($email)) {
return $email;
}
// Pull from openid thingy
list($display, $canonical, $sreg) = $this->getSavedValues();
if (!empty($sreg['email'])) {
return $sreg['email'];
}
// Terrible hack for invites...
if (common_config('site', 'inviteonly')) {
$code = $_SESSION['invitecode'];
if ($code) {
$invite = Invitation::staticGet($code);
if ($invite && $invite->address_type == 'email') {
return $invite->address;
}
}
}
return '';
}
function tryLogin()
{
$consumer = oid_consumer();
......@@ -355,11 +393,7 @@ class FinishopenidloginAction extends Action
$fullname = '';
}
if (!empty($sreg['email']) && Validate::email($sreg['email'], common_config('email', 'check_domain'))) {
$email = $sreg['email'];
} else {
$email = '';
}
$email = $this->getEmail();
# XXX: add language
# XXX: add timezone
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment