diff --git a/app/Http/Controllers/Auth/ActivateController.php b/app/Http/Controllers/Auth/ActivateController.php new file mode 100644 index 0000000..fbb4f23 --- /dev/null +++ b/app/Http/Controllers/Auth/ActivateController.php @@ -0,0 +1,48 @@ +middleware('guest'); + } + + public function activate($token) + { + /** @var User $user */ + $user = User::where(['is_activated' => false, 'activation_token' => $token])->first(); + + if (is_null($user)) + { + App::abort(404); + return null; + } + + $user->is_activated = true; + $user->activation_token = null; + $user->save(); + + return redirect($this->redirectPath()); + } +} \ No newline at end of file diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index 0229727..dd4146b 100644 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -89,11 +89,6 @@ 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/Http/Controllers/Auth/ResetPasswordController.php b/app/Http/Controllers/Auth/ResetPasswordController.php index 7417509..03d9fae 100644 --- a/app/Http/Controllers/Auth/ResetPasswordController.php +++ b/app/Http/Controllers/Auth/ResetPasswordController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers\Auth; use App\Facade\Theme; use App\Http\Controllers\Controller; use Illuminate\Foundation\Auth\ResetsPasswords; +use Illuminate\Http\Request; class ResetPasswordController extends Controller { @@ -21,6 +22,13 @@ class ResetPasswordController extends Controller use ResetsPasswords; + /** + * Where to redirect users after a password reset. + * + * @var string + */ + protected $redirectTo = '/'; + /** * Create a new controller instance. * diff --git a/app/Mail/TestMailConfig.php b/app/Mail/TestMailConfig.php index dc0695d..4f33c16 100644 --- a/app/Mail/TestMailConfig.php +++ b/app/Mail/TestMailConfig.php @@ -35,9 +35,9 @@ class TestMailConfig extends Mailable { $subject = trans('email.test_email_subject', ['app_name' => UserConfig::get('app_name')]); - return $this->from($this->senderAddress, $this->senderName) - ->subject($subject) - ->view(Theme::viewName('email.test_email')) - ->with(['subject' => $subject]); + return $this + ->subject($subject) + ->view(Theme::viewName('email.test_email')) + ->with(['subject' => $subject]); } } diff --git a/app/Mail/UserActivationRequired.php b/app/Mail/UserActivationRequired.php index 2bb6eba..7aa3fe0 100644 --- a/app/Mail/UserActivationRequired.php +++ b/app/Mail/UserActivationRequired.php @@ -36,7 +36,6 @@ class UserActivationRequired extends Mailable $subject = trans('email.activation_required_subject', ['app_name' => UserConfig::get('app_name')]); return $this - ->from(UserConfig::get('sender_address'), UserConfig::get('sender_name')) ->subject($subject) ->view(Theme::viewName('email.user_activation_required')) ->with([ diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 1f30ae8..cc1d8e2 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -9,6 +9,7 @@ use App\Helpers\ConfigHelper; use App\Helpers\ImageHelper; use App\Helpers\ThemeHelper; use Illuminate\Database\QueryException; +use Illuminate\Mail\Mailer; use Illuminate\Support\Facades\View; use Illuminate\Support\ServiceProvider; @@ -78,8 +79,9 @@ class AppServiceProvider extends ServiceProvider private function updateMailConfig() { - /** @var \Swift_Mailer $swiftMailer */ - $swiftMailer = $this->app->mailer->getSwiftMailer(); + /** @var Mailer $mailer */ + $mailer = $this->app->mailer; + $swiftMailer = $mailer->getSwiftMailer(); /** @var \Swift_SmtpTransport $transport */ $transport = $swiftMailer->getTransport(); @@ -92,5 +94,7 @@ class AppServiceProvider extends ServiceProvider { $transport->setEncryption('tls'); } + + $mailer->alwaysFrom(UserConfig::get('sender_address'), UserConfig::get('sender_name')); } } diff --git a/resources/lang/en/auth.php b/resources/lang/en/auth.php index e5506df..02738a0 100644 --- a/resources/lang/en/auth.php +++ b/resources/lang/en/auth.php @@ -12,8 +12,11 @@ return [ | these language lines according to your application's requirements. | */ - 'failed' => 'These credentials do not match our records.', 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.', + 'forgot_password_link' => 'Forgotten your password?', + 'forgot_password_title' => 'Send password reset link', + 'login_page_title' => 'Login', + 'register_page_title' => 'Create an account' ]; diff --git a/resources/lang/en/forms.php b/resources/lang/en/forms.php index c0c1154..ce83e4e 100644 --- a/resources/lang/en/forms.php +++ b/resources/lang/en/forms.php @@ -5,7 +5,14 @@ return [ 'delete_action' => 'Delete', 'description_label' => 'Description:', 'edit_action' => 'Edit', + 'email_label' => 'E-mail address:', + 'login_action' => 'Login', 'name_label' => 'Name:', + 'password_label' => 'Password:', + 'password_confirm_label' => 'Confirm password:', + 'realname_label' => 'Your name:', + 'register_action' => 'Create account', + 'remember_me_label' => 'Remember me', 'upload_action' => 'Upload', 'save_action' => 'Save Changes' ]; \ No newline at end of file diff --git a/resources/views/themes/base/auth/login.blade.php b/resources/views/themes/base/auth/login.blade.php index 0f8f301..2b7122c 100644 --- a/resources/views/themes/base/auth/login.blade.php +++ b/resources/views/themes/base/auth/login.blade.php @@ -1,17 +1,18 @@ @extends('themes.base.layout') +@section('title', trans('auth.login_page_title')) @section('content')
-
Login
+
@yield('title')
{{ csrf_field() }}
- +
@@ -25,7 +26,7 @@
- +
@@ -42,21 +43,17 @@
-
- +
diff --git a/resources/views/themes/base/auth/passwords/email.blade.php b/resources/views/themes/base/auth/passwords/email.blade.php index d796ea4..a7c8c5b 100644 --- a/resources/views/themes/base/auth/passwords/email.blade.php +++ b/resources/views/themes/base/auth/passwords/email.blade.php @@ -1,47 +1,47 @@ @extends('themes.base.layout') - +@section('title', trans('auth.forgot_password_title')) @section('content') -
-
-
-
-
Reset Password
-
- @if (session('status')) -
- {{ session('status') }} -
- @endif - -
- {{ csrf_field() }} - -
- - -
- - - @if ($errors->has('email')) - - {{ $errors->first('email') }} - - @endif +
+
+
+
+
@yield('title')
+
+ @if (session('status')) +
+ {{ session('status') }}
-
+ @endif -
-
- + + {{ csrf_field() }} + +
+ + +
+ + + @if ($errors->has('email')) + + {{ $errors->first('email') }} + + @endif +
-
- + +
+
+ +
+
+ +
-
@endsection diff --git a/resources/views/themes/base/auth/passwords/reset.blade.php b/resources/views/themes/base/auth/passwords/reset.blade.php index ffaa0f5..7a7952b 100644 --- a/resources/views/themes/base/auth/passwords/reset.blade.php +++ b/resources/views/themes/base/auth/passwords/reset.blade.php @@ -1,11 +1,12 @@ @extends('themes.base.layout') +@section('title', trans('auth.reset_password_title')) @section('content')
-
Reset Password
+
@yield('title')
@@ -14,7 +15,7 @@
- +
diff --git a/resources/views/themes/base/auth/register.blade.php b/resources/views/themes/base/auth/register.blade.php index ed6b7fd..cbf68e0 100644 --- a/resources/views/themes/base/auth/register.blade.php +++ b/resources/views/themes/base/auth/register.blade.php @@ -1,17 +1,18 @@ @extends('themes.base.layout') +@section('title', trans('auth.register_page_title')) @section('content')
-
Register
+
@yield('title')
{{ csrf_field() }}
- +
@@ -25,7 +26,7 @@
- +
@@ -39,7 +40,7 @@
- +
@@ -53,7 +54,7 @@
- +
@@ -67,10 +68,8 @@
-
- +
+
diff --git a/routes/web.php b/routes/web.php index 67ca082..589364b 100644 --- a/routes/web.php +++ b/routes/web.php @@ -33,7 +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('/activate/{token}', 'Auth\ActivateController@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