Usability improvements to registration/verification workflow. This requires additional testing.
This commit is contained in:
parent
4eead1c688
commit
bd0f63980b
48
Zotlabs/Module/Email_resend.php
Normal file
48
Zotlabs/Module/Email_resend.php
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Zotlabs\Module;
|
||||||
|
|
||||||
|
|
||||||
|
class Email_resend extends \Zotlabs\Web\Controller {
|
||||||
|
|
||||||
|
function post() {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if($_POST['token']) {
|
||||||
|
if(! account_approve(trim($_POST['token']))) {
|
||||||
|
notice('Token verification failed.')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function get() {
|
||||||
|
|
||||||
|
if(argc() > 1) {
|
||||||
|
$result = false;
|
||||||
|
$email = hex2bin(argv(1));
|
||||||
|
|
||||||
|
if($email) {
|
||||||
|
$result = verify_email_address( [ 'resend' => true, 'email' => $email ] );
|
||||||
|
}
|
||||||
|
|
||||||
|
if($result) {
|
||||||
|
notice(t('Email verification resent'));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
notice(t('Unable to resend email verification message.'));
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// @todo - one can provide a form here to resend the mail
|
||||||
|
// after directing to here if a succesful login was attempted from an unverified address.
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
38
Zotlabs/Module/Email_validation.php
Normal file
38
Zotlabs/Module/Email_validation.php
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Zotlabs\Module;
|
||||||
|
|
||||||
|
|
||||||
|
class Email_validation extends \Zotlabs\Web\Controller {
|
||||||
|
|
||||||
|
function post() {
|
||||||
|
|
||||||
|
if($_POST['token']) {
|
||||||
|
if(! account_approve(trim($_POST['token']))) {
|
||||||
|
notice('Token verification failed.');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function get() {
|
||||||
|
|
||||||
|
if(argc() > 1) {
|
||||||
|
$email = hex2bin(argv(1));
|
||||||
|
}
|
||||||
|
|
||||||
|
$o = replace_macros(get_markup_template('email_validation.tpl'), [
|
||||||
|
'$title' => t('Email Verification Required'),
|
||||||
|
'$desc' => sprintf( t('A verification token was sent to your email address [%s]. Enter that token here to complete the account verification step. Please allow a few minutes for delivery, and check your spam folder if you do not see the message.'),$email),
|
||||||
|
'$resend' => t('Resend Email'),
|
||||||
|
'$email' => bin2hex($email),
|
||||||
|
'$submit' => t('Submit'),
|
||||||
|
'$token' => [ 'token', t('Validation token'),'','' ],
|
||||||
|
]);
|
||||||
|
|
||||||
|
return $o;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -150,9 +150,11 @@ class Register extends \Zotlabs\Web\Controller {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if($email_verify) {
|
if($email_verify) {
|
||||||
goaway(z_root());
|
goaway(z_root() . '/email_validation/' . bin2hex($result['email']));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// fall through and authenticate if no approvals or verifications were required.
|
||||||
|
|
||||||
authenticate_success($result['account'],null,true,false,true);
|
authenticate_success($result['account'],null,true,false,true);
|
||||||
|
|
||||||
$new_channel = false;
|
$new_channel = false;
|
||||||
|
16
view/tpl/email_validation.tpl
Normal file
16
view/tpl/email_validation.tpl
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<h2>{{$title}}</h2>
|
||||||
|
|
||||||
|
<div class="descriptive-paragraph" style="font-size: 1.2em;"><p>{{$desc}}</p></div>
|
||||||
|
|
||||||
|
<form action="email_validation" method="post">
|
||||||
|
{{include file="field_input.tpl" field=$token}}
|
||||||
|
|
||||||
|
<div class="pull-right">
|
||||||
|
<a href="email_resend/{{$email}}" class="btn btn-warning">{{$resend}}</a>
|
||||||
|
</div>
|
||||||
|
<div class="submit-wrapper" >
|
||||||
|
<button type="submit" name="submit" class="btn btn-primary">{{$submit}}</button>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
<div class="clear"></div>
|
||||||
|
|
Reference in New Issue
Block a user