2022-11-01 11:24:36 +00:00
<!-- $o = System :: class -->
2021-06-18 13:01:41 +00:00
@ extends ( 'layouts.app' )
@ section ( 'htmlheader_title' )
2021-11-11 11:57:13 +00:00
@ can ( 'admin' , $o ) @ if ( $o -> exists ) Update @ else Add @ endif @ endcan System
2021-06-18 13:01:41 +00:00
@ endsection
@ section ( 'content' )
2021-08-15 01:42:38 +00:00
@ if ( $o -> exists )
2021-07-31 07:43:58 +00:00
< h1 > {{ $o -> name }} @ if ( $o -> setup ) < sup class = " success " style = " text-shadow: 0 0; font-size: 50%; top: -1em; " >*</ sup >@ endif </ h1 >
@ if ( $o -> setup ) < sup class = " success " style = " float:right;top:-2em; " >* This Host </ sup >@ endif
2021-06-25 11:31:57 +00:00
@ endif
2021-08-15 06:01:51 +00:00
@ if ( $o -> zcs -> count ())
2021-11-20 00:11:17 +00:00
< p > This system is the ZC for the following zones : < strong class = " highlight " > { !! $o -> zcs -> sortBy ( 'zone_id' ) -> map ( function ( $item ) { return sprintf ( '%d@%s' , $item -> zone_id , $item -> domain -> name ); }) -> join ( '</strong>, <strong class="highlight">' ) !! } </ strong ></ p >
2021-08-15 01:42:38 +00:00
@ endif
2021-06-20 13:03:20 +00:00
< div class = " accordion accordion-flush " id = " accordion_homepage " >
@ if ( $o -> exists )
<!-- System -->
< div class = " accordion-item " >
< h3 class = " accordion-header " id = " system " data - bs - toggle = " collapse " data - bs - target = " #collapse_system " aria - expanded = " true " aria - controls = " collapse_system " > System </ h3 >
2021-08-25 12:13:49 +00:00
< div id = " collapse_system " class = " accordion-collapse collapse { { (! $flash =session()->pull('accordion')) ? 'show' : '' }} " aria - labelledby = " system " data - bs - parent = " #accordion_homepage " >
2021-06-20 13:03:20 +00:00
< div class = " accordion-body " >
2021-07-04 11:47:23 +00:00
@ include ( 'system.form-system' )
2021-06-18 13:01:41 +00:00
</ div >
2021-06-20 13:03:20 +00:00
</ div >
</ div >
2021-06-18 13:01:41 +00:00
2021-08-25 12:13:49 +00:00
<!-- Addresses -->
< div class = " accordion-item " >
< h3 class = " accordion-header " id = " addresses " data - bs - toggle = " collapse " data - bs - target = " #collapse_addresses " aria - expanded = " false " aria - controls = " collapse_addresses " > System AKAs </ h3 >
< div id = " collapse_addresses " class = " accordion-collapse collapse { { ( $flash =='address') ? 'show' : '' }} " aria - labelledby = " addresses " data - bs - parent = " #accordion_homepage " >
< div class = " accordion-body " >
< p > FidoNet addresses are constructed in the format < strong class = " highlight " > zone </ strong >:< strong class = " highlight " > net </ strong >/< strong class = " highlight " > node </ strong >.< strong class = " highlight " > point </ strong >< span >@</ span >< strong class = " highlight " > domain </ strong >.</ p >
< div class = " accordion accordion-flush " id = " accordion_ftnaddress " >
< h4 class = " accordion-header " id = " ftnaddress " data - bs - toggle = " collapse " data - bs - target = " #collapse_ftnaddresses " aria - expanded = " false " aria - controls = " collapse_addresses " > Fidonet Addressing </ h4 >
< div id = " collapse_ftnaddresses " class = " accordion-collapse collapse " aria - labelledby = " ftnaddress " data - bs - parent = " #accordion_ftnaddress " >
< div class = " accordion-body " >
< p > FidoNet system are also assigned some roles , and in some cases , those roles have a particular address format :</ p >
< table class = " table monotable " >
< thead >
< tr >
< th > Role </ th >
< th > Address Format </ th >
</ tr >
</ thead >
< tbody >
< tr >
< td > Zone < small > ( optional ) </ small ></ td >
< td >
< strong class = " highlight " > ZONE </ strong >: 0 / 0.0 , where the net , node and point values are zero . Zones normally have 1 or more Regions and / or Hosts .< br >< br >
< small > ( 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 . ) </ small >
</ td >
</ tr >
< tr >
< td > Region < small > ( optional ) </ small ></ td >
< td >
zone :< strong class = " highlight " > REGION </ strong >/ 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 .< br >< br >
< small > 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 .</ small >
</ td >
</ tr >
< tr >
< td > Host < small > ( mandatory ) </ small ></ td >
< td >
zone :< strong class = " highlight " > HOST </ strong >/ 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 .< br >< br >
< small > The host number must be unique within a zone , which implies that it cannot be the same as a region , if regions are used .</ small >
</ td >
</ tr >
< tr >
< td > Hub < small > ( optional ) </ small ></ td >
< td >
zone : net /< strong class = " highlight " > NODE </ strong >. 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 .< br >< br >
< small > The node is unique within the net and point is zero .</ small >
</ td >
</ tr >
< tr >
< td > Node < small > ( required ) </ small ></ td >
< td >
zone : net /< strong class = " highlight " > NODE </ strong >. 0 , where the zone / net indicates which zone / net the node is in .< br >< br >
< small > The node is unique within the net and point is zero .</ small >
</ td >
</ tr >
</ tbody >
</ table >
</ div >
</ div >
</ div >
@ if ( $o -> addresses -> count ())
< p > This system has the following addresses assigned to it :</ p >
< table class = " table monotable " >
< thead >
< tr >
< th > Address </ th >
< th > Active </ th >
2023-07-29 03:17:36 +00:00
< th > Security </ th >
2021-08-25 12:13:49 +00:00
< th colspan = " 2 " > Role </ th >
</ tr >
</ thead >
< tbody >
@ 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 )
< tr >
2023-09-20 13:03:17 +00:00
< td @ if ( $oo -> trashed ()) class = " trashed " @ elseif ( ! $oo -> active ) class = " inactive " @ endif > {{ $oo -> ftn }} < span class = " float-end " >< i title = " @if( $oo->validated )Mail flowing @else Mail held @endif " class = " bi @if( $oo->validated )bi-activity @else bi-radioactive @endif " ></ i ></ span ></ td >
2021-08-25 12:13:49 +00:00
< td > {{ $oo -> active ? 'YES' : 'NO' }} </ td >
2023-07-29 03:17:36 +00:00
< td class = " text-end " > {{ $oo -> security }} </ td >
2021-08-25 12:13:49 +00:00
< td > {{ $oo -> role_name }} </ td >
< td class = " nowrap actions " >
@ can ( 'admin' , $oo )
2023-07-29 03:17:36 +00:00
@ if ( ! $oo -> active_domain )
2023-06-23 11:28:29 +00:00
<!-- No options -->
< a href = " javascript:; " title = " Net Disabled " >< i class = " bi bi-slash-square " ></ i ></ a >
2023-07-29 03:17:36 +00:00
@ elseif ( $oo -> trashed ())
2023-10-05 11:15:53 +00:00
< a href = " { { url('system/address/rec',[ $oo->id ]) }} " title = " Restore Address " >< i class = " bi bi-bandaid " ></ i ></ a >
< a href = " { { url('system/address/pur',[ $oo->id ]) }} " title = " Purge Address " class = " purge " >< i class = " bi bi-scissors " ></ i ></ a >
2022-11-19 01:02:13 +00:00
@ else
2023-10-05 11:15:53 +00:00
< a href = " { { url('system/address/mod',[ $oo->id ]) }} " data - id = " { { $oo->id }} " title = " Modify Address " class = " modaddress " aria - readonly = " true " >< i class = " bi bi-pencil-square " ></ i ></ a >
< a href = " { { url('system/address/sus',[ $oo->id ]) }} " title = " @if( $oo->active )Pause @else Activate @endif Address " >< i class = " bi @if( $oo->active )bi-pause-circle @else bi-play-circle @endif " ></ i ></ a >
< a href = " { { url('system/address/mov',[ $o->id , $oo->id ]) }} " title = " Move Address to another System " >< i class = " bi bi-arrow-right-square " ></ i ></ a >
< a href = " { { url('system/address/del',[ $oo->id ]) }} " title = " Delete Address " >< i class = " bi bi-trash " ></ i ></ a >
2023-07-06 08:43:32 +00:00
@ if (( \App\Models\Address :: NODE_HC | \App\Models\Address :: NODE_ACTIVE ) & $oo -> role )
2023-10-05 11:15:53 +00:00
< a href = " { { url('system/address/pro',[ $oo->id ]) }} " title = " Promote Address " >< i class = " bi bi-arrow-up-square " ></ i ></ a >
2023-07-06 08:43:32 +00:00
@ endif
@ if (( \App\Models\Address :: NODE_NC | \App\Models\Address :: NODE_HC ) & $oo -> role )
2023-10-05 11:15:53 +00:00
< a href = " { { url('system/address/dem',[ $oo->id ]) }} " title = " Demote Address " >< i class = " bi bi-arrow-down-square " ></ i ></ a >
2023-07-06 08:43:32 +00:00
@ endif
2022-11-19 01:02:13 +00:00
@ endif
2021-08-25 12:13:49 +00:00
@ endcan
</ td >
</ tr >
@ endforeach
</ tbody >
</ table >
2023-06-17 09:14:16 +00:00
@ error ( 'susaddress' )
< span class = " btn btn-sm btn-danger " role = " alert " style = " text-align: left; " >
{ !! $message !! }
</ span >
@ enderror
2023-07-06 08:43:32 +00:00
@ error ( 'demaddress' )
< span class = " btn btn-sm btn-danger " role = " alert " style = " text-align: left; " >
{ !! $message !! }
</ span >
@ enderror
@ error ( 'proaddress' )
< span class = " btn btn-sm btn-danger " role = " alert " style = " text-align: left; " >
{ !! $message !! }
</ span >
@ enderror
2021-08-25 12:13:49 +00:00
@ endif
@ can ( 'admin' , $o )
@ include ( 'system.form-address' )
@ else
You ' ll need to ask an admin to assign addresses .
@ endcan
</ div >
</ div >
</ div >
2021-07-04 11:47:23 +00:00
@ if ( ! $o -> setup )
<!-- Authentication -->
< div class = " accordion-item " >
< h3 class = " accordion-header " id = " authentication " data - bs - toggle = " collapse " data - bs - target = " #collapse_auth " aria - expanded = " false " aria - controls = " collapse_auth " > System Authentication </ h3 >
2021-06-18 13:01:41 +00:00
2021-08-25 12:13:49 +00:00
< div id = " collapse_auth " class = " accordion-collapse collapse { { ( $flash =='session') ? 'show' : '' }} " aria - labelledby = " authentication " data - bs - parent = " #accordion_homepage " >
2021-07-04 11:47:23 +00:00
< div class = " accordion-body " >
@ if ( $o -> sessions -> count ())
< table class = " table monotable " >
< thead >
< tr >
2021-08-09 13:35:22 +00:00
< th colspan = " 2 " >& nbsp ; </ th >
2021-07-04 11:47:23 +00:00
< th colspan = " 4 " class = " text-center " > Passwords </ th >
< th >& nbsp ; </ th >
</ tr >
< tr >
< th > Zone </ th >
2021-08-09 13:35:22 +00:00
< th style = " min-width: 1%; " > Default </ th >
2021-07-04 11:47:23 +00:00
< th > Session </ th >
< th > Packet </ th >
< th > TIC </ th >
< th > Areafix </ th >
< th >& nbsp ; </ th >
</ tr >
</ thead >
< tbody >
@ foreach ( $o -> sessions -> sortBy ( 'zone_id' ) as $oo )
< tr >
< td > {{ $oo -> zone_id }} < span >@</ span > {{ $oo -> domain -> name }} </ td >
2021-08-09 13:35:22 +00:00
< td style = " text-align: center; " >
@ if (( $x = $oo -> systems -> where ( 'pivot.default' , TRUE )) -> count () && ( $x -> first () -> id !== $o -> id ))
< i class = " bi bi-dash-square " ></ i >
@ else
2022-11-01 11:24:36 +00:00
< span class = " default " itemid = " { { $oo->id }} " >< i class = " bi bi- { { $x->count () ? 'check-square' : 'square' }} " ></ i ></ span >
2021-08-09 13:35:22 +00:00
@ endif
</ td >
2021-07-04 11:47:23 +00:00
< td > {{ $oo -> pivot -> sespass }} </ td >
< td > {{ $oo -> pivot -> pktpass }} </ td >
< td > {{ $oo -> pivot -> ticpass }} </ td >
< td > {{ $oo -> pivot -> fixpass }} </ td >
< td style = " width: 70px; " >
{{ --
2023-10-05 11:15:53 +00:00
< a href = " { { url('system/session/mod',[ $oo->id ]) }} " title = " Modify Details " class = " modify " >< i class = " bi bi-pen " ></ i ></ a >
2021-07-04 11:47:23 +00:00
-- }}
2023-10-05 11:15:53 +00:00
< a href = " { { url('system/session/del',[ $o->id , $oo->id ]) }} " title = " Delete Details " class = " purge " >< i class = " bi bi-trash " ></ i ></ a >
< a href = " { { url('system/areafix',[ $o->id , $oo->id ]) }} " title = " Areafix/Filefix " >< i class = " bi bi-envelope-paper " ></ i ></ a >
2021-07-04 11:47:23 +00:00
</ td >
</ tr >
@ endforeach
</ tbody >
</ table >
@ else
< p > No session details exist </ p >
@ endif
@ include ( 'system.form-session' )
</ div >
2021-06-18 13:01:41 +00:00
</ div >
2021-06-20 13:03:20 +00:00
</ div >
2021-08-25 12:13:49 +00:00
<!-- Echoareas -->
< div class = " accordion-item " >
< h3 class = " accordion-header " id = " echoarea " data - bs - toggle = " collapse " data - bs - target = " #collapse_echoarea " aria - expanded = " false " aria - controls = " collapse_echoarea " > Echo Area Subscription </ h3 >
2021-06-20 13:03:20 +00:00
2021-08-25 12:13:49 +00:00
< div id = " collapse_echoarea " class = " accordion-collapse collapse { { ( $flash =='echoarea') ? 'show' : '' }} " aria - labelledby = " echoarea " data - bs - parent = " #accordion_homepage " >
< div class = " accordion-body " >
< p > This system can subscribe to the following echoareas :</ p >
@ include ( 'system.form-echoarea' )
2021-06-18 13:01:41 +00:00
</ div >
</ div >
</ div >
2021-07-26 11:21:58 +00:00
2022-11-01 11:24:36 +00:00
<!-- Fileareas -->
< div class = " accordion-item " >
< h3 class = " accordion-header " id = " filearea " data - bs - toggle = " collapse " data - bs - target = " #collapse_filearea " aria - expanded = " false " aria - controls = " collapse_filearea " > File Area Subscription </ h3 >
< div id = " collapse_filearea " class = " accordion-collapse collapse { { ( $flash =='filearea') ? 'show' : '' }} " aria - labelledby = " filearea " data - bs - parent = " #accordion_homepage " >
< div class = " accordion-body " >
< p > This system can subscribe to the following fileareas :</ p >
@ include ( 'system.form-filearea' )
</ div >
</ div >
</ div >
2021-08-25 12:13:49 +00:00
<!-- Routing -->
< div class = " accordion-item " >
< h3 class = " accordion-header " id = " routing " data - bs - toggle = " collapse " data - bs - target = " #collapse_routing " aria - expanded = " false " aria - controls = " collapse_routing " > Mail Routing </ h3 >
2021-07-26 11:21:58 +00:00
2022-01-01 05:59:35 +00:00
< div id = " collapse_routing " class = " accordion-collapse collapse { { ( $flash =='routing') ? 'show' : '' }} " aria - labelledby = " routing " data - bs - parent = " #accordion_homepage " >
2021-08-25 12:13:49 +00:00
< div class = " accordion-body " >
< div class = " row " >
<!-- Zone mail sent to -->
< div class = " col-6 " >
@ if ( ! $o -> setup && ( $x = \App\Models\Zone :: active ()
-> whereIn ( 'id' , $o -> zones -> pluck ( 'id' ))
-> whereNotIn ( 'id' , $o -> sessions -> pluck ( 'id' ))
-> get ()) -> count ())
< h4 > This host ' s mail is sent to :</ h4 >
< table class = " table monotable " >
< thead >
< tr >
2023-07-26 09:44:07 +00:00
< th > AKA </ th >
< th > Uplink </ th >
2021-08-25 12:13:49 +00:00
</ tr >
</ thead >
< tbody >
@ foreach ( $x as $zo )
@ foreach ( $o -> match ( $zo ) as $oo )
< tr >
< td > {{ $oo -> ftn }} </ td >
< td >
@ if ( $x = $oo -> parent ())
{{ $x -> ftn4d }}
@ else
2023-07-26 09:44:07 +00:00
None
2021-08-25 12:13:49 +00:00
@ endif
</ td >
</ tr >
@ endforeach
2021-07-26 11:21:58 +00:00
@ endforeach
2021-08-25 12:13:49 +00:00
</ tbody >
</ table >
@ endif
</ div >
2021-07-26 11:21:58 +00:00
2021-08-25 12:13:49 +00:00
<!-- Systems this host collects for -->
< div class = " col-6 " >
< h4 > This host collects mail for the following systems :</ h4 >
@ if ( $o -> sessions -> count ())
< table class = " table monotable " >
< thead >
< tr >
2023-07-26 09:44:07 +00:00
< th > AKA </ th >
< th > Downlink </ th >
2021-08-25 12:13:49 +00:00
</ tr >
</ thead >
< tbody >
@ foreach ( $o -> sessions -> sortBy ( 'zone_id' ) as $zo )
@ foreach ( $o -> match ( $zo ) as $oo )
< tr >
< td > {{ $oo -> ftn }} </ td >
< td > { !! (( $x = $oo -> children ) && $x -> count ()) ? $x -> pluck ( 'ftn4d' ) -> join ( '<br>' ) : 'None' !! } </ td >
</ tr >
@ endforeach
2021-07-26 11:21:58 +00:00
@ endforeach
2021-08-25 12:13:49 +00:00
</ tbody >
</ table >
@ else
< p > This host doesnt collect mail .</ p >
@ endif
</ div >
2021-07-26 11:21:58 +00:00
</ div >
</ div >
</ div >
</ div >
2022-01-01 05:59:35 +00:00
2022-11-01 11:24:36 +00:00
<!-- Items Waiting -->
2022-01-01 05:59:35 +00:00
< div class = " accordion-item " >
2022-11-01 11:24:36 +00:00
< h3 class = " accordion-header " id = " mail " data - bs - toggle = " collapse " data - bs - target = " #collapse_mail " aria - expanded = " false " aria - controls = " collapse_mail " > Items Waiting </ h3 >
2022-01-01 05:59:35 +00:00
< div id = " collapse_mail " class = " accordion-collapse collapse { { ( $flash =='mail') ? 'show' : '' }} " aria - labelledby = " mail " data - bs - parent = " #accordion_homepage " >
< div class = " accordion-body " >
< div class = " row " >
<!-- Netmail -->
2022-11-01 11:24:36 +00:00
< div class = " col-4 " >
2022-01-01 05:59:35 +00:00
Netmails are waiting for these addresses :
< table class = " table monotable " >
< thead >
< tr >
< th > Address </ th >
< th > Netmail </ th >
</ tr >
</ thead >
< tbody >
@ foreach ( $o -> addresses -> sortBy ( 'zone.zone_id' ) as $ao )
< tr >
2023-04-15 10:30:11 +00:00
< td > {{ $ao -> ftn }} </ td >
2022-01-01 05:59:35 +00:00
< td > {{ $ao -> netmailWaiting () -> count () }} </ td >
</ tr >
@ endforeach
</ tbody >
</ table >
</ div >
<!-- Echomail -->
2022-11-01 11:24:36 +00:00
< div class = " col-4 " >
2022-01-01 05:59:35 +00:00
Echomail waiting for these addresses :
< table class = " table monotable " >
< thead >
< tr >
< th > Address </ th >
< th > Echomail </ th >
</ tr >
</ thead >
< tbody >
@ foreach ( $o -> addresses -> sortBy ( 'zone.zone_id' ) as $ao )
< tr >
2023-04-15 10:30:11 +00:00
< td > {{ $ao -> ftn }} </ td >
2022-01-01 05:59:35 +00:00
< td > {{ $ao -> echomailWaiting () -> count () }} </ td >
</ tr >
@ endforeach
</ tbody >
</ table >
</ div >
2022-11-01 11:24:36 +00:00
<!-- Files -->
< div class = " col-4 " >
Files waiting for these addresses :
< table class = " table monotable " >
< thead >
< tr >
< th > Address </ th >
< th > Files </ th >
</ tr >
</ thead >
< tbody >
@ foreach ( $o -> addresses -> sortBy ( 'zone.zone_id' ) as $ao )
< tr >
2023-04-15 10:30:11 +00:00
< td > {{ $ao -> ftn }} </ td >
2022-11-01 11:24:36 +00:00
< td > {{ $ao -> filesWaiting () -> count () }} </ td >
</ tr >
@ endforeach
</ tbody >
</ table >
</ div >
2022-01-01 05:59:35 +00:00
</ div >
</ div >
</ div >
</ div >
2023-07-02 13:40:08 +00:00
<!-- Last Packets and Files -->
< div class = " accordion-item " >
< h3 class = " accordion-header " id = " mail " data - bs - toggle = " collapse " data - bs - target = " #collapse_transfers " aria - expanded = " false " aria - controls = " collapse_mail " > Packets and Files Sent </ h3 >
< div id = " collapse_transfers " class = " accordion-collapse collapse { { ( $flash =='transfers') ? 'show' : '' }} " aria - labelledby = " mail " data - bs - parent = " #accordion_homepage " >
< div class = " accordion-body " >
< div class = " row " >
< div class = " col-4 " >
2023-07-15 12:10:05 +00:00
The last Netmails sent ( to you ) :
2023-07-02 13:40:08 +00:00
2023-07-19 05:16:25 +00:00
@ if (( $x = \App\Models\Netmail :: select ([ 'sent_pkt' , 'sent_at' , DB :: raw ( 'count(*) AS count' )])
-> whereIn ( 'sent_id' , $o -> addresses -> pluck ( 'id' ))
2023-07-15 12:10:05 +00:00
-> whereNotNull ( 'sent_at' )
2023-07-19 05:16:25 +00:00
-> groupBy ([ 'sent_pkt' , 'sent_at' ])
2023-07-15 12:10:05 +00:00
-> orderBy ( 'sent_at' , 'DESC' )
-> limit ( 10 )
-> get ()) -> count ())
< table class = " table monotable " >
< thead >
2023-07-02 13:40:08 +00:00
< tr >
2023-07-15 12:10:05 +00:00
< th > Packet </ th >
< th > Sent </ th >
2023-07-19 05:16:25 +00:00
< th class = " text-end " > Count </ th >
2023-07-02 13:40:08 +00:00
</ tr >
2023-07-15 12:10:05 +00:00
</ thead >
< tbody >
2023-07-19 05:16:25 +00:00
@ foreach ( $x as $oo )
2023-07-15 12:10:05 +00:00
< tr >
2023-07-19 05:16:25 +00:00
< td class = " packet " > {{ $oo -> sent_pkt }} </ td >
< td > {{ $oo -> sent_at }} </ td >
< td class = " text-end " > {{ $oo -> count }} </ td >
2023-07-15 12:10:05 +00:00
</ tr >
@ endforeach
</ tbody >
</ table >
@ else
< strong class = " highlight " > None </ strong >
@ endif
2023-07-02 13:40:08 +00:00
</ div >
< div class = " col-4 " >
2023-07-15 12:10:05 +00:00
The last Echomails sent ( to you ) :
2023-07-19 05:16:25 +00:00
@ if (( $x = \App\Models\Echomail :: select ([ 'sent_pkt' , 'sent_at' , DB :: raw ( 'count(*) AS count' )])
2023-07-15 12:10:05 +00:00
-> join ( 'echomail_seenby' ,[ 'echomail_seenby.echomail_id' => 'echomails.id' ])
2023-07-19 05:16:25 +00:00
-> whereNotNull ( 'sent_at' )
2023-07-15 12:10:05 +00:00
-> whereIn ( 'address_id' , $o -> addresses -> pluck ( 'id' ))
2023-07-19 05:16:25 +00:00
-> groupBy ([ 'sent_pkt' , 'sent_at' ])
2023-07-15 12:10:05 +00:00
-> orderBy ( 'sent_at' , 'DESC' )
-> limit ( 10 )
-> get ()) -> count ())
< table class = " table monotable " >
< thead >
< tr >
< th > Packet </ th >
< th > Sent </ th >
2023-07-19 05:16:25 +00:00
< th class = " text-end " > Count </ th >
2023-07-15 12:10:05 +00:00
</ tr >
</ thead >
2023-07-02 13:40:08 +00:00
2023-07-15 12:10:05 +00:00
< tbody >
2023-07-19 05:16:25 +00:00
@ foreach ( $x as $oo )
2023-07-15 12:10:05 +00:00
< tr >
2023-07-19 05:16:25 +00:00
< td class = " packet " > {{ $oo -> sent_pkt }} </ td >
< td > {{ $oo -> sent_at }} </ td >
< td class = " text-end " > {{ $oo -> count }} </ td >
</ tr >
@ endforeach
</ tbody >
</ table >
@ else
< strong class = " highlight " > None </ strong >
@ endif
</ div >
< div class = " col-4 " >
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 ())
< table class = " table monotable " >
< thead >
< tr >
< th > Session </ th >
< th class = " text-end " > Count </ th >
</ tr >
</ thead >
< tbody >
@ foreach ( $x as $oo )
< tr >
< td class = " files " > {{ $oo -> sent_at }} </ td >
< td class = " text-end " > {{ $oo -> count }} </ td >
2023-07-15 12:10:05 +00:00
</ tr >
@ endforeach
</ tbody >
</ table >
@ else
< strong class = " highlight " > None </ strong >
@ endif
</ div >
</ div >
< div class = " row pt-2 " >
< div class = " col-4 " >
The last Netmails received ( you sent ) :
2023-08-05 11:32:45 +00:00
@ if (( $x = \App\Models\Netmail :: select ([ 'recv_pkt' , 'recv_at' , DB :: raw ( 'count(*) AS count' )])
2023-07-15 12:10:05 +00:00
-> join ( 'netmail_path' ,[ 'netmail_path.netmail_id' => 'netmails.id' ])
-> whereIn ( 'address_id' , $o -> addresses -> pluck ( 'id' ))
2023-08-05 11:32:45 +00:00
-> groupBy ([ 'recv_pkt' , 'recv_at' ])
-> orderBy ( 'recv_at' , 'DESC' )
2023-07-15 12:10:05 +00:00
-> limit ( 10 )
-> get ()) -> count ())
< table class = " table monotable " >
< thead >
2023-07-02 13:40:08 +00:00
< tr >
2023-07-15 12:10:05 +00:00
< th > Packet </ th >
< th > Received </ th >
2023-07-19 05:16:25 +00:00
< th class = " text-end " > Count </ th >
2023-07-02 13:40:08 +00:00
</ tr >
2023-07-15 12:10:05 +00:00
</ thead >
< tbody >
2023-07-19 05:16:25 +00:00
@ foreach ( $x as $oo )
2023-07-15 12:10:05 +00:00
< tr >
2023-07-19 05:16:25 +00:00
< td class = " packet " > {{ $oo -> recv_pkt }} </ td >
2023-08-05 11:32:45 +00:00
< td > {{ $oo -> recv_at }} </ td >
2023-07-19 05:16:25 +00:00
< td class = " text-end " > {{ $oo -> count }} </ td >
2023-07-15 12:10:05 +00:00
</ tr >
@ endforeach
</ tbody >
</ table >
@ else
< strong class = " highlight " > None </ strong >
@ endif
</ div >
< div class = " col-4 " >
The last Echomails received ( you sent ) :
2023-08-05 11:32:45 +00:00
@ if (( $x = \App\Models\Echomail :: select ([ 'recv_pkt' , 'recv_at' , DB :: raw ( 'count(*) AS count' )])
2023-07-15 12:10:05 +00:00
-> join ( 'echomail_path' ,[ 'echomail_path.echomail_id' => 'echomails.id' ])
2023-07-19 05:16:25 +00:00
-> whereNotNull ( 'recv_pkt' )
2023-07-15 12:10:05 +00:00
-> whereIn ( 'address_id' , $o -> addresses -> pluck ( 'id' ))
2023-08-05 11:32:45 +00:00
-> groupBy ([ 'recv_pkt' , 'recv_at' ])
-> orderBy ( 'recv_at' , 'DESC' )
2023-07-15 12:10:05 +00:00
-> limit ( 10 )
-> get ()) -> count ())
< table class = " table monotable " >
< thead >
< tr >
< th > Packet </ th >
< th > Received </ th >
2023-07-19 05:16:25 +00:00
< th class = " text-end " > Count </ th >
</ tr >
</ thead >
< tbody >
@ foreach ( $x as $oo )
< tr >
< td class = " packet " > {{ $oo -> recv_pkt }} </ td >
2023-08-05 11:32:45 +00:00
< td > {{ $oo -> recv_at }} </ td >
2023-07-19 05:16:25 +00:00
< td class = " text-end " > {{ $oo -> count }} </ td >
</ tr >
@ endforeach
</ tbody >
</ table >
@ else
< strong class = " highlight " > None </ strong >
@ endif
</ div >
< div class = " col-4 " >
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 ())
< table class = " table monotable " >
< thead >
< tr >
< th > Session </ th >
< th class = " text-end " > Count </ th >
2023-07-15 12:10:05 +00:00
</ tr >
</ thead >
< tbody >
2023-07-19 05:16:25 +00:00
@ foreach ( $x as $oo )
2023-07-15 12:10:05 +00:00
< tr >
2023-07-19 05:16:25 +00:00
< td class = " files " > {{ $oo -> created_at }} </ td >
< td class = " text-end " > {{ $oo -> count }} </ td >
2023-07-15 12:10:05 +00:00
</ tr >
@ endforeach
</ tbody >
</ table >
@ else
< strong class = " highlight " > None </ strong >
@ endif
2023-07-02 13:40:08 +00:00
</ div >
</ div >
</ div >
</ div >
</ div >
2021-08-25 12:13:49 +00:00
@ endif
2021-07-04 11:47:23 +00:00
@ else
@ include ( 'system.form-system' )
2021-06-20 13:03:20 +00:00
@ endif
</ div >
2021-07-01 14:25:41 +00:00
2023-07-15 14:41:36 +00:00
@ include ( 'widgets.modal_packet' )
2023-07-19 05:16:25 +00:00
@ include ( 'widgets.modal_files' )
2022-11-19 01:02:13 +00:00
@ include ( 'widgets.modal_purge' )
2021-08-09 13:35:22 +00:00
@ endsection
2023-06-17 09:14:16 +00:00
@ section ( 'page-css' )
< style >
span . btn . btn - danger a {
color : white
}
</ style >
@ endsection
2021-08-09 13:35:22 +00:00
@ section ( 'page-scripts' )
< script type = " text/javascript " >
$ ( document ) . ready ( function () {
2021-08-15 07:26:01 +00:00
$ ( '.default' ) . click ( function () {
2021-08-09 13:35:22 +00:00
var item = this ;
icon = $ ( item ) . find ( 'i' );
$ . ajax ({
2021-08-25 12:13:49 +00:00
type : 'POST' ,
2021-08-09 13:35:22 +00:00
data : { sid : {{ $o -> id }}, _token : '{{csrf_token()}}' , set : ( icon . hasClass ( 'bi-square' ) ? 1 : 0 )},
beforeSend : function () {
$ ( item ) . find ( 'i' ) . addClass ( 'spinner-grow spinner-grow-sm' );
},
success : function () {
if ( icon . hasClass ( 'bi-square' )) {
icon . removeClass ( 'bi-square' );
icon . addClass ( 'bi-check-square' );
} else {
icon . removeClass ( 'bi-check-square' );
icon . addClass ( 'bi-square' );
}
$ ( item ) . find ( 'i' ) . removeClass ( 'spinner-grow spinner-grow-sm' );
},
2021-08-13 12:53:59 +00:00
error : function ( e ) {
2021-08-09 13:35:22 +00:00
$ ( item ) . find ( 'i' ) . removeClass ( 'spinner-grow spinner-grow-sm' );
2021-08-13 12:53:59 +00:00
if ( e . status != 412 )
alert ( 'That didnt work? Please try again....' );
2021-08-09 13:35:22 +00:00
},
2023-10-05 11:27:25 +00:00
url : '{{ url(' zone / api / default ') }}/' + item . attributes . itemid . nodeValue ,
2021-08-09 13:35:22 +00:00
cache : false
})
});
});
</ script >
@ append