From e11f9313f0d1c865dac6d398b551cbe003ef199a Mon Sep 17 00:00:00 2001 From: snipe Date: Wed, 1 Nov 2017 14:12:18 -0700 Subject: [PATCH] Fixed #4360 - better output if backup fails --- app/Http/Controllers/SettingsController.php | 26 +++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/app/Http/Controllers/SettingsController.php b/app/Http/Controllers/SettingsController.php index 1d1296c4cf..4223ea02cf 100755 --- a/app/Http/Controllers/SettingsController.php +++ b/app/Http/Controllers/SettingsController.php @@ -888,12 +888,30 @@ class SettingsController extends Controller public function postBackups() { + if (!config('app.lock_passwords')) { Artisan::call('backup:run'); - return redirect()->route('settings.backups.index')->with('success', trans('admin/settings/message.backup.generated')); - } else { - return redirect()->to("settings.backups.index")->with('error', trans('general.feature_disabled')); - } + $output = Artisan::output(); + + // Backup completed + if (!preg_match('/failed/', $output)) { + return redirect()->route('settings.backups.index') + ->with('success', trans('admin/settings/message.backup.generated')); + } + + + $formatted_output = str_replace('Backup completed!', '', $output); + $output_split = explode('...', $formatted_output); + + if (array_key_exists(2, $output_split)) { + return redirect()->route("settings.backups.index")->with('error', $output_split[2]); + } + return redirect()->route("settings.backups.index")->with('error', $formatted_output); + + } + return redirect()->route("settings.backups.index")->with('error', trans('general.feature_disabled')); + + }