55 lines
1.9 KiB
PHP
55 lines
1.9 KiB
PHP
|
<?php
|
||
|
|
||
|
|
||
|
namespace Views\Account;
|
||
|
|
||
|
|
||
|
use Elements\Document;
|
||
|
use Elements\Script;
|
||
|
|
||
|
class ConfirmEmail extends AccountView {
|
||
|
|
||
|
public function __construct(Document $document, $loadView = true) {
|
||
|
parent::__construct($document, $loadView);
|
||
|
$this->title = "Confirm Email";
|
||
|
$this->description = "Request a password reset, once you got the e-mail address, you can choose a new password";
|
||
|
$this->icon = "user-check";
|
||
|
}
|
||
|
|
||
|
public function loadView() {
|
||
|
parent::loadView();
|
||
|
$this->getDocument()->getHead()->addScript(Script::MIME_TEXT_JAVASCRIPT, "", '
|
||
|
$(document).ready(function() {
|
||
|
var token = jsCore.getParameter("token");
|
||
|
if (token) {
|
||
|
jsCore.apiCall("/user/confirmEmail", { token: token }, (res) => {
|
||
|
$("#confirm-status").removeClass("alert-info");
|
||
|
if (!res.success) {
|
||
|
$("#confirm-status").addClass("alert-danger");
|
||
|
$("#confirm-status").text("Error confirming e-mail address: " + res.msg);
|
||
|
} else {
|
||
|
$("#confirm-status").addClass("alert-success");
|
||
|
$("#confirm-status").text("Your e-mail address was successfully confirmed, you may now log in.");
|
||
|
}
|
||
|
});
|
||
|
} else {
|
||
|
$("#confirm-status").removeClass("alert-info");
|
||
|
$("#confirm-status").addClass("alert-danger");
|
||
|
$("#confirm-status").text("The link you visited is no longer valid");
|
||
|
}
|
||
|
});'
|
||
|
);
|
||
|
}
|
||
|
|
||
|
protected function getAccountContent() {
|
||
|
|
||
|
$spinner = $this->createIcon("spinner");
|
||
|
$html = "<noscript><div class=\"alert alert-danger\">Javascript is required</div></noscript>
|
||
|
<div class=\"alert alert-info\" id=\"confirm-status\">
|
||
|
Confirming email… $spinner
|
||
|
</div>";
|
||
|
|
||
|
$html .= "<a href='/login'><button class='btn btn-primary' style='position: absolute; bottom: 10px' type='button'>Proceed to Login</button></a>";
|
||
|
return $html;
|
||
|
}
|
||
|
}
|