diff --git a/composer.json b/composer.json
index 328098d05..f0dbaa763 100644
--- a/composer.json
+++ b/composer.json
@@ -297,6 +297,7 @@
"vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php",
"vendor/rap2hpoutre/laravel-log-viewer/src/Rap2hpoutre/LaravelLogViewer/LaravelLogViewer.php",
+ "vendor/rap2hpoutre/laravel-log-viewer/src/controllers/LogViewerController.php",
"vendor/symfony/console/Descriptor/TextDescriptor.php",
"vendor/symfony/console/Helper/Helper.php",
"vendor/symfony/finder/Iterator/SortableIterator.php",
diff --git a/overrides/rap2hpoutre/laravel-log-viewer/src/Rap2hpoutre/LaravelLogViewer/LogViewerController.php b/overrides/rap2hpoutre/laravel-log-viewer/src/Rap2hpoutre/LaravelLogViewer/LogViewerController.php
new file mode 100644
index 000000000..a8b68a556
--- /dev/null
+++ b/overrides/rap2hpoutre/laravel-log-viewer/src/Rap2hpoutre/LaravelLogViewer/LogViewerController.php
@@ -0,0 +1,155 @@
+log_viewer = new LaravelLogViewer();
+ $this->request = app('request');
+ }
+
+ /**
+ * @return array|mixed
+ * @throws \Exception
+ */
+ public function index()
+ {
+ $folderFiles = [];
+ if ($this->request->input('f')) {
+ $this->log_viewer->setFolder(Crypt::decrypt($this->request->input('f')));
+ $folderFiles = $this->log_viewer->getFolderFiles(true);
+ }
+ if ($this->request->input('l')) {
+ $this->log_viewer->setFile(Crypt::decrypt($this->request->input('l')));
+ }
+
+ if ($early_return = $this->earlyReturn()) {
+ return $early_return;
+ }
+
+ $data = [
+ 'logs' => $this->log_viewer->all(),
+ 'folders' => $this->log_viewer->getFolders(),
+ 'current_folder' => $this->log_viewer->getFolderName(),
+ 'folder_files' => $folderFiles,
+ 'files' => $this->log_viewer->getFiles(true),
+ 'current_file' => $this->log_viewer->getFileName(),
+ 'standardFormat' => true,
+ 'structure' => $this->log_viewer->foldersAndFiles(),
+ 'storage_path' => $this->log_viewer->getStoragePath(),
+
+ ];
+
+ if ($this->request->wantsJson()) {
+ return $data;
+ }
+
+ if (is_array($data['logs']) && count($data['logs']) > 0) {
+ $firstLog = reset($data['logs']);
+ if (!$firstLog['context'] && !$firstLog['level']) {
+ $data['standardFormat'] = false;
+ }
+ }
+
+ return app('view')->make($this->view_log, $data);
+ }
+
+ /**
+ * @return bool|mixed
+ * @throws \Exception
+ */
+ private function earlyReturn()
+ {
+ if ($this->request->input('f')) {
+ $this->log_viewer->setFolder(Crypt::decrypt($this->request->input('f')));
+ }
+
+ if ($this->request->input('dl')) {
+ return $this->download($this->pathFromInput('dl'));
+ } elseif ($this->request->has('clean')) {
+ app('files')->put($this->pathFromInput('clean'), '');
+ return $this->redirect(url()->previous());
+ } elseif ($this->request->has('del')) {
+ app('files')->delete($this->pathFromInput('del'));
+ return $this->redirect($this->request->url());
+ } elseif ($this->request->has('delall') && \Session::token() == $this->request->get('_token')) {
+ $files = ($this->log_viewer->getFolderName())
+ ? $this->log_viewer->getFolderFiles(true)
+ : $this->log_viewer->getFiles(true);
+ foreach ($files as $file) {
+ app('files')->delete($this->log_viewer->pathToLogFile($file));
+ }
+ return $this->redirect($this->request->url());
+ }
+ return false;
+ }
+
+ /**
+ * @param string $input_string
+ * @return string
+ * @throws \Exception
+ */
+ private function pathFromInput($input_string)
+ {
+ return $this->log_viewer->pathToLogFile(Crypt::decrypt($this->request->input($input_string)));
+ }
+
+ /**
+ * @param $to
+ * @return mixed
+ */
+ private function redirect($to)
+ {
+ if (function_exists('redirect')) {
+ return redirect($to);
+ }
+
+ return app('redirect')->to($to);
+ }
+
+ /**
+ * @param string $data
+ * @return mixed
+ */
+ private function download($data)
+ {
+ if (function_exists('response')) {
+ return response()->download($data);
+ }
+
+ // For laravel 4.2
+ return app('\Illuminate\Support\Facades\Response')->download($data);
+ }
+}
diff --git a/resources/views/vendor/laravel-log-viewer/log.blade.php b/resources/views/vendor/laravel-log-viewer/log.blade.php
index 9a8b50110..7904127ba 100644
--- a/resources/views/vendor/laravel-log-viewer/log.blade.php
+++ b/resources/views/vendor/laravel-log-viewer/log.blade.php
@@ -181,7 +181,7 @@ class="float-right expand btn btn-outline-dark btn-sm mb-2 ml-2"
@if(count($files) > 1)
-
-
+
Delete all files
@endif