mirror of
https://codeberg.org/streams/streams.git
synced 2024-09-20 06:15:11 +00:00
Usability improvements to registration/verification workflow. This requires additional testing.
This commit is contained in:
parent
4eead1c688
commit
bd0f63980b
4 changed files with 106 additions and 2 deletions
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) {
|
||||
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);
|
||||
|
||||
$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>
|
||||
|
Loading…
Reference in a new issue