diff --git a/app/Http/Controllers/Users/UserFilesController.php b/app/Http/Controllers/Users/UserFilesController.php index 87213f2498..ded44f35f6 100644 --- a/app/Http/Controllers/Users/UserFilesController.php +++ b/app/Http/Controllers/Users/UserFilesController.php @@ -78,24 +78,28 @@ class UserFilesController extends Controller */ public function destroy($userId = null, $fileId = null) { - $user = User::find($userId); - $destinationPath = config('app.private_uploads').'/users'; + if ($user = User::find($userId)) { + + $this->authorize('delete', $user); + $rel_path = 'private_uploads/users'; + + + if ($log = Actionlog::find($fileId)) { + $filename = $log->filename; + $log->delete(); + + if (Storage::exists($rel_path.'/'.$filename)) { + Storage::delete($rel_path.'/'.$filename); + return redirect()->back()->with('success', trans('admin/users/message.deletefile.success')); + } - if (isset($user->id)) { - $this->authorize('update', $user); - $log = Actionlog::find($fileId); - $full_filename = $destinationPath.'/'.$log->filename; - if (file_exists($full_filename)) { - unlink($destinationPath.'/'.$log->filename); } - $log->delete(); + // The log record doesn't exist somehow return redirect()->back()->with('success', trans('admin/users/message.deletefile.success')); } - // Prepare the error message - $error = trans('admin/users/message.user_not_found', ['id' => $userId]); - // Redirect to the licence management page - return redirect()->route('users.index')->with('error', $error); + + return redirect()->route('users.index')->with('error', trans('admin/users/message.user_not_found', ['id' => $userId])); }