From 3c34650f28e0575966e0b0889e8f43f0fae5e7a1 Mon Sep 17 00:00:00 2001 From: Carl Bennett Date: Fri, 23 Aug 2019 02:20:07 +0000 Subject: [PATCH] Add initial user activation page --- src/controllers/User/Activate.php | 32 +++++++++++++++++ src/main.php | 3 ++ src/models/User/Activate.php | 12 +++++++ src/templates/User/Activate.phtml | 60 +++++++++++++++++++++++++++++++ src/views/User/ActivateHtml.php | 25 +++++++++++++ 5 files changed, 132 insertions(+) create mode 100644 src/controllers/User/Activate.php create mode 100644 src/models/User/Activate.php create mode 100644 src/templates/User/Activate.phtml create mode 100644 src/views/User/ActivateHtml.php diff --git a/src/controllers/User/Activate.php b/src/controllers/User/Activate.php new file mode 100644 index 00000000..aedb1b04 --- /dev/null +++ b/src/controllers/User/Activate.php @@ -0,0 +1,32 @@ +getRequestQueryArray(); + + $model->token = isset( $data[ 't' ] ) ? $data[ 't' ] : null; + $model->error = 'INVALID_TOKEN'; + + $view->render( $model ); + + $model->_responseCode = 200; + $model->_responseHeaders[ 'Content-Type' ] = $view->getMimeType(); + $model->_responseTTL = 0; + + return $model; + + } + +} diff --git a/src/main.php b/src/main.php index d8398a75..50b9ab0c 100644 --- a/src/main.php +++ b/src/main.php @@ -234,6 +234,9 @@ function main() { $router->addRoute( // URL: /user/:id "#^/user/(\d+)/?#", "User\\View", "User\\ViewHtml" ); + $router->addRoute( // URL: /user/activate + "#^/user/activate/?$#", "User\\Activate", "User\\ActivateHtml" + ); $router->addRoute( // URL: /user/changepassword "#^/user/changepassword/?$#", "User\\ChangePassword", "User\\ChangePasswordHtml" diff --git a/src/models/User/Activate.php b/src/models/User/Activate.php new file mode 100644 index 00000000..d10a0f53 --- /dev/null +++ b/src/models/User/Activate.php @@ -0,0 +1,12 @@ +opengraph->attach( new Pair( 'url', '/user/activate' )); + +switch ( $this->getContext()->error ) { + case 'INVALID_TOKEN': + $message = 'The token is expired or invalid and therefore cannot be used.'; + break; + default: + $message = $this->getContext()->error; +} + +$this->additional_css[] = '/a/forms.css'; +require('./header.inc.phtml'); +?> +
+getContext()->error !== false) { ?> +
Activate Account
+ +
+

+
+ +
+
+
+ +
+
+ +
+
+ +
Account Activated
+
+

Your account has been activated successfully!

+

Use the navigation to the left to move to another page.

+
+ +
+ diff --git a/src/views/User/ActivateHtml.php b/src/views/User/ActivateHtml.php new file mode 100644 index 00000000..ee7035fc --- /dev/null +++ b/src/views/User/ActivateHtml.php @@ -0,0 +1,25 @@ +render(); + } + +}