['web', 'role:admin'], 'prefix' => 'reports'], function () { /** * 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('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.'; }]); });