@extends('layouts.app') @section('htmlheader_title') @can('admin',$o) @if($o->exists) Update @else Add @endif @endcan System @endsection @section('content')
@if($o->exists)

{{ $o->name }}@if($o->setup)*@endif @if($o->setup)* This Host@endif

@endif @if($o->zcs->count())

This system is the ZC for the following zones: {!! $o->zcs->sortBy('zone_id')->map(function($item) { return sprintf('%d@%s',$item->zone_id,$item->domain->name); })->join(', ') !!}

@endif
@if ($o->exists)

System

@include('system.widget.form-system')

FidoNet addresses are constructed in the format zone:net/node.point@domain.

FidoNet system are also assigned some roles, and in some cases, those roles have a particular address format:

Role Address Format
Zone (optional) ZONE:0/0.0, where the net, node and point values are zero. Zones normally have 1 or more Regions and/or Hosts.

(Systems that do not configure other systems with a zone, assume that that other system is in the same zone as the system being configured.)
Region (optional) zone:REGION/0.0, where the zone indicates which zone the region is in. The node and point values are zero. Regions normally have 1 or more Hosts.

Fidonet software normally doesnt configure the region address per-se. It is used by the mailer to receive packets destined to it by routing, in transition to the final destination. The region number must be unique with a zone.
Host (mandatory) zone:HOST/0.0, where the zone indicates which zone the host is in. The node and point values are zero. The Host system is normally configured with an additional address, where the NET address is the same and the NODE number that is greater than zero. Hosts may may zero or more Hubs and 1 or more Nodes.

The host number must be unique within a zone, which implies that it cannot be the same as a region, if regions are used.
Hub (optional) zone:net/NODE.0, where the zone/net indicates which zone/net the hub is in. The system(s) in the nodelist below a Hub are fed from that hub from a routing perspective.

The node is unique within the net and point is zero.
Node (required) zone:net/NODE.0, where the zone/net indicates which zone/net the node is in.

The node is unique within the net and point is zero.
@if($o->addresses->count())

This system has the following addresses assigned to it:

@foreach ($o->addresses->sortBy(function($item) { return sprintf('%04x%04x%04x%04x%04x',$item->zone->zone_id,$item->region_id,$item->host_id,$item->node_id,$item->point_id); }) as $oo) @endforeach
Address Active Security Role
trashed()) class="trashed" @elseif (! $oo->active) class="inactive" @endif>{{ $oo->ftn }} {{ $oo->active ? 'YES' : 'NO' }} {{ $oo->security }} {{ $oo->role_name }} @can('admin',$oo) @if(! $oo->active_domain) @elseif($oo->trashed()) @else @if ((\App\Models\Address::NODE_HC|\App\Models\Address::NODE_ACTIVE) & $oo->role) @endif @if ((\App\Models\Address::NODE_NC|\App\Models\Address::NODE_HC) & $oo->role) @endif @endif @endcan
@endif
@error('address')
{!! $message !!}
@enderror @can('admin',$o)
@include('system.widget.form-address')
@else You'll need to ask an admin to assign addresses. @endcan
@if(! $o->setup)

@if ($o->sessions->count()) @foreach ($o->sessions->sortBy('zone_id') as $oo) @endforeach
  Passwords  
Zone Default Session Packet TIC Areafix  
{{ $oo->zone_id }}@{{ $oo->domain->name }} @if(($x=$oo->systems->where('pivot.default',TRUE))->count() && ($x->first()->id !== $o->id)) @else @endif {{ $oo->pivot->sespass }} {{ $oo->pivot->pktpass }} {{ $oo->pivot->ticpass }} {{ $oo->pivot->fixpass }} {{-- --}}
@else

No session details exist

@endif @include('system.widget.form-session')

This system can subscribe to the following echoareas:

@include('system.widget.form-echoarea')

This system can subscribe to the following fileareas:

@include('system.widget.form-filearea')

@if(! $o->setup && ($x=\App\Models\Zone::active() ->whereIn('id',$o->zones->pluck('id')) ->whereNotIn('id',$o->sessions->pluck('id')) ->get())->count())

This host's mail is sent to:

@foreach($x as $zo) @foreach ($o->match($zo,\App\Models\Address::NODE_ALL) as $oo) @endforeach @endforeach
AKA Uplink
{{ $oo->ftn }} @if ($x=$oo->parent()) {{ $x->ftn4d }} @else None @endif
@endif
@if($o->sessions->count())

This host collects mail for the following systems:

@foreach ($o->sessions->sortBy('zone_id') as $zo) @foreach ($o->match($zo,\App\Models\Address::NODE_ALL) as $oo) @endforeach @endforeach
AKA Downlink(s)
{{ $oo->ftn }} {!! (($x=$oo->children()) && $x->count()) ? $x->pluck('ftn4d')->join('
') : 'None' !!}
@endif

Netmails are waiting for these addresses: @foreach ($o->addresses->sortBy('zone.zone_id') as $ao) @endforeach
Address Netmail
{{ $ao->ftn }} {{ $ao->netmailWaiting()->count() }}
Echomail waiting for these addresses: @foreach ($o->addresses->sortBy('zone.zone_id') as $ao) @endforeach
Address Echomail
{{ $ao->ftn }} {{ $ao->echomailWaiting()->count() }}
Files waiting for these addresses: @foreach ($o->addresses->sortBy('zone.zone_id') as $ao) @endforeach
Address Files
{{ $ao->ftn }} {{ $ao->filesWaiting()->count() }}

The last Netmails sent (to you): @if(($x=\App\Models\Netmail::select(['sent_pkt','sent_at',DB::raw('count(*) AS count')]) ->whereIn('sent_id',$o->addresses->pluck('id')) ->whereNotNull('sent_at') ->groupBy(['sent_pkt','sent_at']) ->orderBy('sent_at','DESC') ->limit(10) ->get())->count()) @foreach ($x as $oo) @endforeach
Packet Sent Count
{{ $oo->sent_pkt }} {{ $oo->sent_at }} {{ $oo->count }}
@else None @endif
The last Echomails sent (to you): @if(($x=\App\Models\Echomail::select(['sent_pkt','sent_at',DB::raw('count(*) AS count')]) ->join('echomail_seenby',['echomail_seenby.echomail_id'=>'echomails.id']) ->whereNotNull('sent_at') ->whereIn('address_id',$o->addresses->pluck('id')) ->groupBy(['sent_pkt','sent_at']) ->orderBy('sent_at','DESC') ->limit(10) ->get())->count()) @foreach ($x as $oo) @endforeach
Packet Sent Count
{{ $oo->sent_pkt }} {{ $oo->sent_at }} {{ $oo->count }}
@else None @endif
The last Files sent (to you): @if(($x=\App\Models\File::select(['sent_at',DB::raw('count(*) AS count')]) ->join('file_seenby',['file_seenby.file_id'=>'files.id']) ->whereNotNull('sent_at') ->whereIn('address_id',$o->addresses->pluck('id')) ->groupBy(['sent_at']) ->orderBy('sent_at','DESC') ->limit(10) ->get())->count()) @foreach ($x as $oo) @endforeach
Session Count
{{ $oo->sent_at }} {{ $oo->count }}
@else None @endif
The last Netmails received (you sent): @if(($x=\App\Models\Netmail::select(['recv_pkt','recv_at',DB::raw('count(*) AS count')]) ->join('netmail_path',['netmail_path.netmail_id'=>'netmails.id']) ->whereIn('address_id',$o->addresses->pluck('id')) ->groupBy(['recv_pkt','recv_at']) ->orderBy('recv_at','DESC') ->limit(10) ->get())->count()) @foreach ($x as $oo) @endforeach
Packet Received Count
{{ $oo->recv_pkt }} {{ $oo->recv_at }} {{ $oo->count }}
@else None @endif
The last Echomails received (you sent): @if(($x=\App\Models\Echomail::select(['recv_pkt','recv_at',DB::raw('count(*) AS count')]) ->join('echomail_path',['echomail_path.echomail_id'=>'echomails.id']) ->whereNotNull('recv_pkt') ->whereIn('address_id',$o->addresses->pluck('id')) ->groupBy(['recv_pkt','recv_at']) ->orderBy('recv_at','DESC') ->limit(10) ->get())->count()) @foreach ($x as $oo) @endforeach
Packet Received Count
{{ $oo->recv_pkt }} {{ $oo->recv_at }} {{ $oo->count }}
@else None @endif
The last Files received (from you): @if(($x=\App\Models\File::select(['created_at',DB::raw('count(*) AS count')]) ->whereIn('fftn_id',$o->addresses->pluck('id')) ->groupBy(['created_at']) ->orderBy('created_at','DESC') ->limit(10) ->get())->count()) @foreach ($x as $oo) @endforeach
Session Count
{{ $oo->created_at }} {{ $oo->count }}
@else None @endif
@endif @else @include('system.widget.form-system') @endif
@include('widgets.modal_packet') @include('widgets.modal_files') @include('widgets.modal_purge')
@endsection @section('page-css') @endsection @section('page-scripts') @append