Skip to content

Commit

Permalink
Merge pull request #154 from ARCANEDEV/develop
Browse files Browse the repository at this point in the history
[5.4] Merge lastest features to master
  • Loading branch information
arcanedev-maroc authored Aug 31, 2017
2 parents 9c2f359 + 247f7e9 commit a161d8b
Show file tree
Hide file tree
Showing 3 changed files with 60 additions and 10 deletions.
32 changes: 28 additions & 4 deletions resources/views/show.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
@include('log-viewer::_partials.menu')
</div>
<div class="col-md-10">
{{-- Log Details --}}
<div class="panel panel-default">
<div class="panel-heading">
Log info :
Expand Down Expand Up @@ -51,12 +52,29 @@
</tbody>
</table>
</div>
<div class="panel-footer">
{{-- Search --}}
<form action="{{ route('log-viewer::logs.search', [$log->date, $level]) }}" method="GET">
<div class=form-group">
<div class="input-group">
<input id="query" name="query" class="form-control" value="{!! request('query') !!}" placeholder="typing something to search">
<span class="input-group-btn">
@if (request()->has('query'))
<a href="{{ route('log-viewer::logs.show', [$log->date]) }}" class="btn btn-default"><span class="glyphicon glyphicon-remove"></span></a>
@endif
<button id="search-btn" class="btn btn-primary"><span class="glyphicon glyphicon-search"></span></button>
</span>
</div>
</div>
</form>
</div>
</div>
{{-- Log Entries --}}
<div class="panel panel-default">
@if ($entries->hasPages())
<div class="panel-heading">
{!! $entries->render() !!}
{!! $entries->appends(compact('query'))->render() !!}
<span class="label label-info pull-right">
Page {!! $entries->currentPage() !!} of {!! $entries->lastPage() !!}
Expand All @@ -76,7 +94,7 @@
</tr>
</thead>
<tbody>
@foreach($entries as $key => $entry)
@forelse($entries as $key => $entry)
<tr>
<td>
<span class="label label-env">{{ $entry->env }}</span>
Expand Down Expand Up @@ -111,14 +129,20 @@
</td>
</tr>
@endif
@endforeach
@empty
<tr>
<td colspan="5" class="text-center">
<span class="label label-default">{{ trans('log-viewer::general.empty-logs') }}</span>
</td>
</tr>
@endforelse
</tbody>
</table>
</div>

@if ($entries->hasPages())
<div class="panel-footer">
{!! $entries->render() !!}
{!! $entries->appends(compact('query'))->render() !!}

<span class="label label-info pull-right">
Page {!! $entries->currentPage() !!} of {!! $entries->lastPage() !!}
Expand Down
35 changes: 29 additions & 6 deletions src/Http/Controllers/LogViewerController.php
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
<?php namespace Arcanedev\LogViewer\Http\Controllers;

use Arcanedev\LogViewer\Contracts\LogViewer as LogViewerContract;
use Arcanedev\LogViewer\Entities\LogEntry;
use Arcanedev\LogViewer\Exceptions\LogNotFoundException;
use Arcanedev\LogViewer\Tables\StatsTable;
use Illuminate\Http\Request;
use Illuminate\Pagination\LengthAwarePaginator;
use Illuminate\Routing\Controller;
use Illuminate\Support\Arr;
use Illuminate\Support\Str;

/**
* Class LogViewerController
Expand Down Expand Up @@ -96,9 +98,9 @@ public function show($date)
{
$log = $this->getLogOrFail($date);
$levels = $this->logViewer->levelsNames();
$entries = $log->entries()->paginate($this->perPage);
$entries = $log->entries($level = 'all')->paginate($this->perPage);

return $this->view('show', compact('log', 'levels', 'entries'));
return $this->view('show', compact('log', 'levels', 'level', 'search', 'entries'));
}

/**
Expand All @@ -117,11 +119,32 @@ public function showByLevel($date, $level)
return redirect()->route($this->showRoute, [$date]);

$levels = $this->logViewer->levelsNames();
$entries = $this->logViewer
->entries($date, $level)
->paginate($this->perPage);
$entries = $this->logViewer->entries($date, $level)->paginate($this->perPage);

return $this->view('show', compact('log', 'levels', 'entries'));
return $this->view('show', compact('log', 'levels', 'level', 'search', 'entries'));
}

/**
* Show the log with the search query.
*
* @param string $date
* @param string $level
* @param \Illuminate\Http\Request $request
*
* @return \Illuminate\View\View
*/
public function search($date, $level = 'all', Request $request) {
$log = $this->getLogOrFail($date);

if (is_null($query = $request->get('query')))
return redirect()->route('log-viewer::logs.show', [$date]);

$levels = $this->logViewer->levelsNames();
$entries = $log->entries($level)->filter(function (LogEntry $value) use ($query) {
return Str::contains($value->header, $query);
})->paginate($this->perPage);

return $this->view('show', compact('log', 'levels', 'level', 'query', 'entries'));
}

/**
Expand Down
3 changes: 3 additions & 0 deletions src/Http/Routes/LogViewerRoute.php
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,9 @@ private function mapLogsRoutes()

$this->get('{level}', 'LogViewerController@showByLevel')
->name('filter'); // log-viewer::logs.filter

$this->get('{level}/search', 'LogViewerController@search')
->name('search'); // log-viewer::logs.search
});
});
}
Expand Down

0 comments on commit a161d8b

Please sign in to comment.