@php use App\Classes\FTN\Message; use App\Models\{Echomail,Netmail}; @endphp <div class="row"> <div class="col-4"> TO: <strong class="highlight">{!! Message::tr($msg->to) !!}</strong> @if ($msg instanceof Netmail)(<strong class="highlight">{{ $msg->tftn->ftn }}</strong>)@endif </div> <div class="col-4"> DATE: <strong class="highlight">{{ $msg->datetime->format('Y-m-d H:i:s') }}</strong> </div> </div> <div class="row pt-1"> <div class="col-4"> FROM: <strong class="highlight">{!! Message::tr($msg->from) !!}</strong> (<strong class="highlight">{{ $msg->fftn->ftn }}</strong>) </div> <div class="col-4"> MSGID: <strong class="highlight">{{ $msg->msgid }}</strong>@if($x=Echomail::where('replyid',$msg->msgid)->count()) (<strong class="highlight">{{$x}}</strong> replies)@endif @if($msg->replyid)<br>REPLY: <strong class="highlight">{{ $msg->replyid }}</strong>@endif </div> </div> @if($msg->flags()->count()) <div class="row pt-1"> <div class="offset-4 col-8"> FLAGS: <strong class="highlight">{!! $msg->flags()->keys()->map(fn($item)=>strtoupper($item))->join('</strong>, <strong class="highlight">') !!}</strong> </div> </div> @endif @if ($msg instanceof Echomail) <div class="row pt-1 pb-2"> <div class="offset-4 col-4"> ECHOAREA: <strong class="highlight">{{ $msg->echoarea->name }}</strong> (<strong class="highlight">{{ $msg->echoarea->domain->name }}</strong>) </div> </div> @endif <div class="row pt-1 pb-2"> <div class="col-8"> SUBJECT: <strong class="highlight">{!! Message::tr($msg->subject) !!}</strong> </div> </div> <div class="row pb-2"> <div class="col-8"> <div class="p-2"> <div id="canvas"></div> </div> </div> </div> <div class="row pb-2"> <div class="col-8"> KLUDGES: <br> @foreach($msg->kludges as $k=>$v) <strong class="highlight">{{ $k }}</strong> {{ $v }}<br> @endforeach </div> </div> @if ($msg instanceof Echomail) <div class="row pb-2"> <div class="col-8"> SEENBY: <br><strong class="highlight">{!! $msg ->seenby ->map(function($item) { if ($item->pivot->export_at) { if ($item->pivot->sent_at) return sprintf('<strong class="success" title="Sent: %s Packet: %s">%s</strong>',$item->pivot->sent_at,$item->pivot->sent_pkt,$item->ftn2d); else return sprintf('<strong class="danger">%s</strong>',$item->ftn2d); } else { return sprintf('<strong class="highlight">%s</strong>',$item->ftn2d); } })->join(', ') !!} </strong> </div> @if($msg->rogue_seenby->count()) <br><small>[<strong>NOTE</strong>: Some seen-by values couldnt be identified - ({{ $msg->rogue_seenby->transform(fn($item)=>str_replace('0:','',$item))->join(',') }})]</small> @endif </div> @endif <div class="row pb-2"> <div class="col-8"> PATH: @if($msg->path->count()) <br><strong class="highlight">{!! $msg->pathorder()->join('</strong> -> <strong class="highlight">') !!}</strong> @else <br><small>[<strong>No details</strong>]</small> @endif @if(($msg instanceof Echomail) && $msg->rogue_path->count()) <br><small>[<strong>NOTE</strong>: Some path values couldnt be identified - ({{ $msg->rogue_path->join(',') }})]</small> @endif </div> </div> @if($msg->path->count()) <div class="row pb-2"> <div class="col-8"> RECEIVED:<br> @if($msg instanceof Netmail) @foreach ($msg->path as $path) <strong class="highlight">{{ $path->pivot->recv_pkt }}</strong> from <strong class="highlight">{{ $path->ftn }}</strong> {{ $msg->created_at }}<br> @endforeach @elseif ($msg instanceof Echomail) <strong class="highlight">{{ ($x=$msg->path->sortBy('pivot.parent_id')->last())->pivot->recv_pkt }}</strong> from <strong class="highlight">{{ $x->ftn }}</strong> {{ $x->pivot->recv_at }}<br> @endif </div> </div> @endif @if($msg instanceof Netmail) <div class="col-8"> SENT: @if($msg->sent_pkt && $msg->sent_at) <strong class="highlight">{{ $msg->sent_at }}</strong> (<strong class="highlight">{{ $msg->sent_pkt }}.pkt</strong>) @else <strong class="highlight">NOT SENT</strong> @endif </div> @endif @section('page-scripts') <script type="text/javascript" src="{{ asset('ansilove/ansilove.js') }}"></script> <script type="text/javascript"> $(document).ready(function() { var msg = new Uint8Array({!! json_encode(array_values(unpack('C*',str_replace("\r","\n",$msg->content)))) !!}); retina = window.devicePixelRatio > 1; AnsiLove.renderBytes( msg, function (canvas, sauce) { document.getElementById("canvas").appendChild(canvas); }, {'font': '80x25', 'bits': 8, 'icecolors': 0, 'columns': 80} ); }); </script> @append