diff --git a/app/Http/Controllers/Reports/LogFileController.php b/app/Http/Controllers/Reports/LogFileController.php new file mode 100644 index 0000000..000e053 --- /dev/null +++ b/app/Http/Controllers/Reports/LogFileController.php @@ -0,0 +1,42 @@ +getMTime(), $b->getMTime()); + }); + + return view('reports.log-files', compact('logFiles')); + } + + public function show($fileName) + { + if (file_exists(storage_path('logs/'.$fileName))) { + return response()->file(storage_path('logs/'.$fileName), ['content-type' => 'text/plain']); + } + + return 'Invalid file name.'; + } + + public function download($fileName) + { + if (file_exists(storage_path('logs/'.$fileName))) { + return response()->download(storage_path('logs/'.$fileName), env('APP_ENV').'.'.$fileName); + } + + return 'Invalid file name.'; + } +} diff --git a/routes/web/reports.php b/routes/web/reports.php index 2d4d867..5748042 100644 --- a/routes/web/reports.php +++ b/routes/web/reports.php @@ -4,40 +4,16 @@ Route::group(['middleware' => ['web', 'role:admin'], 'prefix' => 'reports'], fun /* * Reports Routes */ - Route::get('payments', ['as' => 'reports.payments.index', 'uses' => 'ReportsController@monthly']); - Route::get('payments/daily', ['as' => 'reports.payments.daily', 'uses' => 'ReportsController@daily']); - Route::get('payments/monthly', ['as' => 'reports.payments.monthly', 'uses' => 'ReportsController@monthly']); - Route::get('payments/yearly', ['as' => 'reports.payments.yearly', 'uses' => 'ReportsController@yearly']); - Route::get('current-credits', ['as' => 'reports.current-credits', 'uses' => 'ReportsController@currentCredits']); + Route::get('payments', 'ReportsController@monthly')->name('reports.payments.index'); + Route::get('payments/daily', 'ReportsController@daily')->name('reports.payments.daily'); + Route::get('payments/monthly', 'ReportsController@monthly')->name('reports.payments.monthly'); + Route::get('payments/yearly', 'ReportsController@yearly')->name('reports.payments.yearly'); + Route::get('current-credits', 'ReportsController@currentCredits')->name('reports.current-credits'); - Route::get('log-files', ['as' => 'log-files.index', 'uses' => function () { - if (!file_exists(storage_path('logs'))) { - return []; - } - - $logFiles = \File::allFiles(storage_path('logs')); - - // Sort files by modified time DESC - usort($logFiles, function ($a, $b) { - return -1 * strcmp($a->getMTime(), $b->getMTime()); - }); - - return view('reports.log-files', compact('logFiles')); - }]); - - Route::get('log-files/{filename}', ['as' => 'log-files.show', 'uses' => function ($fileName) { - if (file_exists(storage_path('logs/'.$fileName))) { - return response()->file(storage_path('logs/'.$fileName), ['content-type' => 'text/plain']); - } - - return 'Invalid file name.'; - }]); - - Route::get('log-files/{filename}/download', ['as' => 'log-files.download', 'uses' => function ($fileName) { - if (file_exists(storage_path('logs/'.$fileName))) { - return response()->download(storage_path('logs/'.$fileName), env('APP_ENV').'.'.$fileName); - } - - return 'Invalid file name.'; - }]); + /* + * Log Files Routes + */ + Route::get('log-files', 'Reports\LogFileController@index')->name('log-files.index'); + Route::get('log-files/{fileName}', 'Reports\LogFileController@show')->name('log-files.show'); + Route::get('log-files/{fileName}/download', 'Reports\LogFileController@download')->name('log-files.download'); });