1 _info?>underage; return " "href='$LJ::SITEROOT/changeemail.bml'"}) . " p?>" if $remote && $remote->is_identity && !$remote->email_raw; my $foruser = $GET{foruser}; my $foru; if ($foruser) { $foru = LJ::load_user($foruser); return "" unless $foru; return "" unless (LJ::check_priv($remote, "siteadmin", "users") || LJ::check_priv($remote, "siteadmin", "*")); return "" if $foru->is_validated; } my $show_validate = sub { my $user = shift; return " $user->email_raw}) . " p?>" . "
"; }; if ($POST{'action:send'} || $foru) { my $u = $foru ? $foru : LJ::get_authas_user($POST{'authas'}); return "" unless $u; my $aa = LJ::register_authaction($u->{'userid'}, "validateemail", $u->email_raw); LJ::send_mail({ 'to' => $u->email_raw, 'bcc' => $foru ? $remote->email_raw : undef, 'from' => $LJ::ADMIN_EMAIL, 'charset' => 'utf-8', 'subject' => $ML{'.email.subject'}, 'body' => BML::ml('.email.body', { 'sitename' => $LJ::SITENAME, 'siteroot' => $LJ::SITEROOT, 'conflink' => "$LJ::SITEROOT/confirm/$aa->{'aaid'}.$aa->{'authcode'}" }), }); $ret .= "$u->email_raw}) . " p?>"; } elsif ($qs =~ /^(\d+)[;\.](.+)$/) { my ($aaid, $auth) = ($1, $2); my $aa = LJ::is_valid_authaction($aaid, $auth); unless ($aa) { return " "href='$LJ::SITEROOT/register.bml'" }) . " p?>"; } my $u = LJ::load_userid($aa->{'userid'}); # verify their email hasn't subsequently changed unless ($u->email_raw eq $aa->{arg1}) { return " "href='$LJ::SITEROOT/register.bml'" }) . " p?>"; } ## if the user is OpenID, prove that he is human if ($u->{journaltype} eq 'I' && LJ::is_enabled("recaptcha")) { require Captcha::reCAPTCHA; my $c = Captcha::reCAPTCHA->new; if ($POST{recaptcha_response_field}) { my $result = $c->check_answer( LJ::conf_test($LJ::RECAPTCHA{private_key}), $ENV{'REMOTE_ADDR'}, $POST{'recaptcha_challenge_field'}, $POST{'recaptcha_response_field'} ); return "{error} p?>" unless $result->{is_valid}; } else { my $ret = ""; $ret .= ""; return $ret; } } LJ::update_user($u, { status => 'A' }); $u->update_email_alias; LJ::run_hook('email_verified', $u); if ($u->{'status'} eq "T") { $ret .= ""; } else { $title = BML::ml('.new.title', {'sitename' => $LJ::SITENAMESHORT}); $ret .= "$ML{'.new.101.journal.question'}
";
$ret .= "$ML{'.new.101.journal.answer'}
$ML{'.new.101.profile.question'}
";
$ret .= "$ML{'.new.101.profile.answer'}
$ML{'.new.101.friends.question'}
";
$ret .= "$ML{'.new.101.friends.answer'}
$ML{'.new.101.community.question'}
";
$ret .= "$ML{'.new.101.community.answer'}