{{ __('Network accounting records · sorted by recency') }}
| {{ __('Started') }} | {{ __('Duration') }} | {{ __('Down · up') }} | {{ __('Device · IP') }} | {{ __('Router') }} | {{ __('Ended') }} | |
|---|---|---|---|---|---|---|
| {{ $c->started_at?->format('M j, Y, h:i A') ?: '—' }} {{ $c->started_at?->format('h:i A') }} | @if ($c->isLive()) {{ __('Live') }} · {{ $c->started_at?->diffForHumans(null, true, true) }} @else {{ $c->duration()?->forHumans(['short' => true, 'parts' => 2]) ?: '—' }} @endif | {{ bytes_human($c->bytes_out) }} · {{ bytes_human($c->bytes_in) }} {{ bytes_human($c->total()) }} {{ __('total') }} | {{ $c->mac_address ?: '—' }} {{ $c->ip_address }} | {{ $c->router?->router_name ?: '—' }} {{ $c->router?->managementAddress() }} | @if ($c->ended_at) {{ $c->ended_at->format('h:i A') }} {{-- Inferred, not reported: RouterOS does not say why somebody left. --}} {{ $c->terminate_cause ?: '—' }} @else — @endif |
@if ($c->isLive())
@php
// A row read live off the router has not been
// written by the poller yet, so it has no id.
// Passing null tells the action to act on
// whatever session is currently up.
$rowId = $c->exists ? $c->id : 'null';
@endphp
|
| @if ($search !== '') {{ __('Nothing matches that.') }} @else {{ __('No sessions recorded. Accounting starts collecting as soon as a device connects.') }} @endif | ||||||