Browse Source

Merge branch 'log-file-viewer'

pull/33/head
Nafies Luthfi 7 years ago
parent
commit
76a61f7b0c
  1. 42
      app/Http/Controllers/Reports/LogFileController.php
  2. 46
      routes/web/reports.php

42
app/Http/Controllers/Reports/LogFileController.php

@ -0,0 +1,42 @@
<?php
namespace App\Http\Controllers\Reports;
use App\Http\Controllers\Controller;
class LogFileController extends Controller
{
public function index()
{
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'));
}
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.';
}
}

46
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');
});
Loading…
Cancel
Save