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')