From ca3f516457d054e7a17e873e79570d57008f0f7a Mon Sep 17 00:00:00 2001 From: Joseph Cohen Date: Sat, 28 May 2016 10:37:45 -0500 Subject: [PATCH 1/5] Add mail driver to the wizard --- app/Http/Controllers/SetupController.php | 16 ++++++++++++++++ resources/lang/en/forms.php | 1 + resources/views/setup.blade.php | 12 ++++++++++++ 3 files changed, 29 insertions(+) diff --git a/app/Http/Controllers/SetupController.php b/app/Http/Controllers/SetupController.php index d142d98b..5957572c 100644 --- a/app/Http/Controllers/SetupController.php +++ b/app/Http/Controllers/SetupController.php @@ -41,6 +41,21 @@ class SetupController extends Controller 'memcached' => 'Memcached', 'redis' => 'Redis', ]; + /** + * Array of cache drivers. + * + * @var string[] + */ + protected $mailDrivers = [ + 'log' => 'Log (Testing)', + 'smtp' => 'SMTP', + 'mail' => 'Mail', + 'sendmail' => 'Sendmail', + 'mailgun' => 'Mailgun', + 'mandrill' => 'Mandrill', + 'ses' => 'Amazon SES', + 'sparkpost' => 'SparkPost', + ]; /** * Array of step1 rules. @@ -112,6 +127,7 @@ class SetupController extends Controller return View::make('setup') ->withPageTitle(trans('setup.setup')) ->withCacheDrivers($this->cacheDrivers) + ->withMailDrivers($this->mailDrivers) ->withUserLanguage($userLanguage) ->withAppUrl(Request::root()); } diff --git a/resources/lang/en/forms.php b/resources/lang/en/forms.php index e706de8a..51975abc 100755 --- a/resources/lang/en/forms.php +++ b/resources/lang/en/forms.php @@ -23,6 +23,7 @@ return [ 'enable_google2fa' => 'Enable Google Two Factor Authentication', 'cache_driver' => 'Cache Driver', 'session_driver' => 'Session Driver', + 'mail_driver' => 'Mail Driver', ], // Login form fields diff --git a/resources/views/setup.blade.php b/resources/views/setup.blade.php index 37fe7e21..57e698af 100644 --- a/resources/views/setup.blade.php +++ b/resources/views/setup.blade.php @@ -56,6 +56,18 @@ {{ $errors->first('env.session_driver') }} @endif +
+ + + @if($errors->has('env.mail_driver')) + {{ $errors->first('env.mail_driver') }} + @endif +

From 958c9eadc7101d76fa2e1e88b6f66d4c1f7fbde4 Mon Sep 17 00:00:00 2001 From: Joseph Cohen Date: Fri, 3 Jun 2016 01:26:28 -0500 Subject: [PATCH 2/5] Add mail data to wizard --- app/Http/Controllers/SetupController.php | 11 +++++++++- config/services.php | 12 +++++----- resources/lang/en/forms.php | 4 ++++ resources/views/setup.blade.php | 28 ++++++++++++++++++++++++ 4 files changed, 48 insertions(+), 7 deletions(-) diff --git a/app/Http/Controllers/SetupController.php b/app/Http/Controllers/SetupController.php index 5957572c..798f8927 100644 --- a/app/Http/Controllers/SetupController.php +++ b/app/Http/Controllers/SetupController.php @@ -53,7 +53,7 @@ class SetupController extends Controller 'sendmail' => 'Sendmail', 'mailgun' => 'Mailgun', 'mandrill' => 'Mandrill', - 'ses' => 'Amazon SES', + // 'ses' => 'Amazon SES', this will be available only if aws/aws-sdk-php is installed 'sparkpost' => 'SparkPost', ]; @@ -88,6 +88,7 @@ class SetupController extends Controller $this->rulesStep1 = [ 'env.cache_driver' => 'required|in:'.implode(',', array_keys($this->cacheDrivers)), 'env.session_driver' => 'required|in:'.implode(',', array_keys($this->cacheDrivers)), + 'env.mail_driver' => 'required|in:'.implode(',', array_keys($this->mailDrivers)), ]; $this->rulesStep2 = [ @@ -143,6 +144,14 @@ class SetupController extends Controller $v = Validator::make($postData, $this->rulesStep1); + $v->sometimes('env.mail_host', 'required', function ($input) { + return $input->mail_driver === 'smtp'; + }); + + $v->sometimes(['env.mail_from', 'env.mail_username', 'env.mail_password'], 'required', function ($input) { + return $input->mail_driver !== 'log'; + }); + if ($v->passes()) { return Response::json(['status' => 1]); } diff --git a/config/services.php b/config/services.php index 77ea1cba..f1a4e4c1 100644 --- a/config/services.php +++ b/config/services.php @@ -28,22 +28,22 @@ return [ ], 'mailgun' => [ - 'domain' => env('MAILGUN_DOMAIN'), - 'secret' => env('MAILGUN_SECRET'), + 'domain' => env('MAIL_USERNAME'), + 'secret' => env('MAIL_PASSWORD'), ], 'mandrill' => [ - 'secret' => env('MANDRILL_SECRET'), + 'secret' => env('MAIL_PASSWORD'), ], 'ses' => [ - 'key' => env('SES_KEY'), - 'secret' => env('SES_SECRET'), + 'key' => env('MAIL_USERNAME'), + 'secret' => env('MAIL_PASSWORD'), 'region' => 'us-east-1', ], 'sparkpost' => [ - 'secret' => env('SPARKPOST_SECRET'), + 'secret' => env('MAIL_PASSWORD'), ], ]; diff --git a/resources/lang/en/forms.php b/resources/lang/en/forms.php index 51975abc..867d79c5 100755 --- a/resources/lang/en/forms.php +++ b/resources/lang/en/forms.php @@ -24,6 +24,10 @@ return [ 'cache_driver' => 'Cache Driver', 'session_driver' => 'Session Driver', 'mail_driver' => 'Mail Driver', + 'mail_host' => 'Mail Host', + 'mail_from' => 'Mail From', + 'mail_username' => 'Mail Client User', + 'mail_password' => 'Mail Client Password', ], // Login form fields diff --git a/resources/views/setup.blade.php b/resources/views/setup.blade.php index 57e698af..d2f7efcf 100644 --- a/resources/views/setup.blade.php +++ b/resources/views/setup.blade.php @@ -68,6 +68,34 @@ {{ $errors->first('env.mail_driver') }} @endif
+
+ + + @if($errors->has('env.mail_host')) + {{ $errors->first('env.mail_host') }} + @endif +
+
+ + + @if($errors->has('env.mail_from')) + {{ $errors->first('env.mail_from') }} + @endif +
+
+ + + @if($errors->has('env.mail_username')) + {{ $errors->first('env.mail_username') }} + @endif +
+
+ + + @if($errors->has('env.mail_password')) + {{ $errors->first('env.mail_password') }} + @endif +

From 9c1e94c55041debca90ed592216f1917dca10563 Mon Sep 17 00:00:00 2001 From: James Brooks Date: Sat, 4 Jun 2016 14:54:32 +0100 Subject: [PATCH 3/5] Put mail log to bottom --- app/Http/Controllers/SetupController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Controllers/SetupController.php b/app/Http/Controllers/SetupController.php index 798f8927..c3e71849 100644 --- a/app/Http/Controllers/SetupController.php +++ b/app/Http/Controllers/SetupController.php @@ -47,7 +47,6 @@ class SetupController extends Controller * @var string[] */ protected $mailDrivers = [ - 'log' => 'Log (Testing)', 'smtp' => 'SMTP', 'mail' => 'Mail', 'sendmail' => 'Sendmail', @@ -55,6 +54,7 @@ class SetupController extends Controller 'mandrill' => 'Mandrill', // 'ses' => 'Amazon SES', this will be available only if aws/aws-sdk-php is installed 'sparkpost' => 'SparkPost', + 'log' => 'Log (Testing)', ]; /** From 1fe4789760b94dba5f2d11e8c9b8bad106ba3c23 Mon Sep 17 00:00:00 2001 From: James Brooks Date: Sun, 5 Jun 2016 10:22:09 +0100 Subject: [PATCH 4/5] Fix spacing --- app/Http/Controllers/SetupController.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/Http/Controllers/SetupController.php b/app/Http/Controllers/SetupController.php index c3e71849..c7c098f5 100644 --- a/app/Http/Controllers/SetupController.php +++ b/app/Http/Controllers/SetupController.php @@ -41,6 +41,7 @@ class SetupController extends Controller 'memcached' => 'Memcached', 'redis' => 'Redis', ]; + /** * Array of cache drivers. * From a5ed3c40a9d032e26877962efd5e80b779490896 Mon Sep 17 00:00:00 2001 From: Joseph Cohen Date: Sat, 11 Jun 2016 15:23:02 -0500 Subject: [PATCH 5/5] Fix write env to work with nulls and change from to address --- app/Http/Controllers/SetupController.php | 6 ++++-- resources/lang/en/forms.php | 2 +- resources/views/setup.blade.php | 8 ++++---- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/app/Http/Controllers/SetupController.php b/app/Http/Controllers/SetupController.php index c7c098f5..6e3d5f27 100644 --- a/app/Http/Controllers/SetupController.php +++ b/app/Http/Controllers/SetupController.php @@ -149,7 +149,7 @@ class SetupController extends Controller return $input->mail_driver === 'smtp'; }); - $v->sometimes(['env.mail_from', 'env.mail_username', 'env.mail_password'], 'required', function ($input) { + $v->sometimes(['env.mail_address', 'env.mail_username', 'env.mail_password'], 'required', function ($input) { return $input->mail_driver !== 'log'; }); @@ -250,8 +250,10 @@ class SetupController extends Controller try { (new Dotenv($dir, $file))->load(); + $envValue = env(strtoupper($key)) ?: 'null'; + file_put_contents($path, str_replace( - env(strtoupper($key)), $value, file_get_contents($path) + $envValue, $value, file_get_contents($path) )); } catch (InvalidPathException $e) { // diff --git a/resources/lang/en/forms.php b/resources/lang/en/forms.php index 867d79c5..fa09b231 100755 --- a/resources/lang/en/forms.php +++ b/resources/lang/en/forms.php @@ -25,7 +25,7 @@ return [ 'session_driver' => 'Session Driver', 'mail_driver' => 'Mail Driver', 'mail_host' => 'Mail Host', - 'mail_from' => 'Mail From', + 'mail_address' => 'Mail From', 'mail_username' => 'Mail Client User', 'mail_password' => 'Mail Client Password', ], diff --git a/resources/views/setup.blade.php b/resources/views/setup.blade.php index d2f7efcf..f5ff6ad8 100644 --- a/resources/views/setup.blade.php +++ b/resources/views/setup.blade.php @@ -76,10 +76,10 @@ @endif
- - - @if($errors->has('env.mail_from')) - {{ $errors->first('env.mail_from') }} + + + @if($errors->has('env.mail_address')) + {{ $errors->first('env.mail_address') }} @endif