From 57bc8d86cc065c43535c80a7ea3725f6e483d985 Mon Sep 17 00:00:00 2001 From: Andy Heathershaw Date: Tue, 6 Sep 2016 13:48:52 +0100 Subject: [PATCH] New user registrations now get an activation e-mail --- .../Controllers/Auth/RegisterController.php | 7 ++++++- app/Mail/UserActivationRequired.php | 5 ++++- resources/lang/en/email.php | 5 +++++ .../email/user_activation_required.blade.php | 19 ++++++++++++++----- routes/web.php | 1 + 5 files changed, 30 insertions(+), 7 deletions(-) diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index b285db3..0229727 100644 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -75,7 +75,7 @@ class RegisterController extends Controller if (UserConfig::get('require_email_verification')) { $activationData['is_activated'] = false; - $activationData['activation_code'] = MiscHelper::randomString(); + $activationData['activation_token'] = MiscHelper::randomString(); } return User::create(array_merge( @@ -89,6 +89,11 @@ class RegisterController extends Controller )); } + public function activate($token) + { + return Theme::render('auth.activate'); + } + public function register(Request $request) { if (!UserConfig::get('allow_self_registration')) diff --git a/app/Mail/UserActivationRequired.php b/app/Mail/UserActivationRequired.php index abf6565..2bb6eba 100644 --- a/app/Mail/UserActivationRequired.php +++ b/app/Mail/UserActivationRequired.php @@ -33,11 +33,14 @@ class UserActivationRequired extends Mailable */ public function build() { + $subject = trans('email.activation_required_subject', ['app_name' => UserConfig::get('app_name')]); + return $this ->from(UserConfig::get('sender_address'), UserConfig::get('sender_name')) - ->subject(trans('email.activation_required_subject', ['app_name' => UserConfig::get('app_name')])) + ->subject($subject) ->view(Theme::viewName('email.user_activation_required')) ->with([ + 'subject' => $subject, 'user' => $this->user ]); } diff --git a/resources/lang/en/email.php b/resources/lang/en/email.php index ada4b43..698bc6a 100644 --- a/resources/lang/en/email.php +++ b/resources/lang/en/email.php @@ -1,5 +1,10 @@ 'Thank you for registering an account on :app_name.', + 'activation_required_p2' => 'To confirm your e-mail address and activate your account, please click the link below. ' . + 'You may also need to copy + paste this into your browser\'s address bar if your e-mail reader has split this line.', 'activation_required_subject' => 'Activate your :app_name account', + 'generic_intro' => 'Hi :user_name,', + 'generic_regards' => 'Regards,', 'test_email_subject' => 'Test e-mail from :app_name' ]; \ No newline at end of file diff --git a/resources/views/themes/base/email/user_activation_required.blade.php b/resources/views/themes/base/email/user_activation_required.blade.php index a41158c..9ae4383 100644 --- a/resources/views/themes/base/email/user_activation_required.blade.php +++ b/resources/views/themes/base/email/user_activation_required.blade.php @@ -1,6 +1,15 @@ -Hi {{ $user->name }}, +@extends('themes.base.email_layout') -Thanks for registering. - -Regards, -{{ UserConfig::get('app_name') }} \ No newline at end of file +@section('title', $subject) +@section('content') +

@lang('email.generic_intro', ['user_name' => $user->name])

+

@lang('email.activation_required_p1', ['app_name' => UserConfig::get('app_name')])

+

@lang('email.activation_required_p2')

+

{{ route('auth.activate', ['token' => $user->activation_token]) }}

+

+ --
+ @lang('email.generic_regards')
+ {{ UserConfig::get('app_name') }}
+ {{ route('home') }} +

+@endsection \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index 87899ef..67ca082 100644 --- a/routes/web.php +++ b/routes/web.php @@ -33,6 +33,7 @@ Route::group(['prefix' => 'admin'], function () { // Gallery Route::get('/', 'Gallery\DefaultController@index')->name('home'); +Route::get('/activate/{token}', 'Auth\RegisterController@activate')->name('auth.activate'); Route::get('{albumUrlAlias}', 'Gallery\AlbumController@index')->name('viewAlbum'); Route::get('{albumUrlAlias}/{photoFilename}', 'Gallery\PhotoController@show')->name('viewPhoto'); Route::get('photo/{albumUrlAlias}/{photoFilename}', 'Gallery\PhotoController@download')->name('downloadPhoto'); \ No newline at end of file