Changed to using new Address Model, Implemented Setup, Some minor CSS changes
This commit is contained in:
@@ -40,7 +40,7 @@ If you have more than 1 BBS, then the Clearing House can receive all your mail f
|
||||
<ul>
|
||||
<li>Supports BINKP network transfers</li>
|
||||
<li>Supports EMSI network transfers</li>
|
||||
<li>Manages ECHO areas and FILE areas <sup>To be implemented</sup></li
|
||||
<li>Manages ECHO areas and FILE areas <sup>To be implemented</sup></li>
|
||||
<li>Supports PING and TRACE responses <sup>To be implemented</sup></li>
|
||||
<li>Nodelist Management <sup>To be implemented</sup></li>
|
||||
<li>Network Applications <sup>To be implemented</sup></li>
|
||||
|
@@ -4,5 +4,5 @@
|
||||
|
||||
@if(file_exists('js/custom-auth.js'))
|
||||
<!-- Any Custom JS -->
|
||||
<script src="{{ asset('js/custom-auth.js') }}"></script>
|
||||
<script type="text/javascript" src="{{ asset('js/custom-auth.js') }}"></script>
|
||||
@endif
|
@@ -111,10 +111,10 @@
|
||||
|
||||
@section('page-scripts')
|
||||
@can('admin',$o)
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/simplemde/latest/simplemde.min.css">
|
||||
<script src="https://cdn.jsdelivr.net/simplemde/latest/simplemde.min.js"></script>
|
||||
<link type="text/css" rel="stylesheet" href="https://cdn.jsdelivr.net/simplemde/latest/simplemde.min.css">
|
||||
<script type="text/javascript" src="https://cdn.jsdelivr.net/simplemde/latest/simplemde.min.js"></script>
|
||||
|
||||
<script>
|
||||
<script type="text/javascript">
|
||||
var simplemde = new SimpleMDE({ element: $("#homepage")[0] });
|
||||
</script>
|
||||
@endcan
|
||||
|
@@ -4,7 +4,9 @@
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<h1>{{ $o->name }} <small class="push-right">Last Update: {{ $o->updated_at }}</small></h1>
|
||||
<h1>{{ $o->name }} <small class="float-end pt-4">Last Update: {{ $o->updated_at->format('Y-m-d H:i') }}</small></h1>
|
||||
|
||||
<p class="float-end"><small>Expand each heading for information about this FTN network</small></p>
|
||||
|
||||
<div class="accordion" id="accordion_homepage">
|
||||
<!-- About -->
|
||||
|
@@ -9,10 +9,17 @@
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
|
||||
<!-- CSS only -->
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x" crossorigin="anonymous">
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css">
|
||||
<link type="text/css" rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x" crossorigin="anonymous">
|
||||
<link type="text/css" rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css">
|
||||
|
||||
<link href="{{ asset('oldschool/css/main.css') }}" rel="stylesheet" media="screen" type="text/css">
|
||||
<link type="text/css" rel="stylesheet" href="{{ asset('oldschool/css/main.css') }}" media="screen">
|
||||
|
||||
<link rel="icon" type="image/png" href="{{ asset('favicon.ico') }}">
|
||||
@yield('page-css')
|
||||
|
||||
@if(file_exists('css/fixes.css'))
|
||||
<!-- CSS Fixes -->
|
||||
<link rel="stylesheet" href="{{ asset('css/fixes.css') }}">
|
||||
@endif
|
||||
|
||||
<link type="image/png" rel="icon" href="{{ asset('favicon.ico') }}">
|
||||
</head>
|
||||
|
@@ -3,9 +3,9 @@
|
||||
<script type="text/javascript" src="{{ asset('//cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js') }}" integrity="sha512-WFN04846sdKMIP5LKNphMaWzU7YpMyCU245etK3g/2ARYbPK9Ub18eG+ljU96qKRCWh+quCY7yefSmlkQw1ANQ==" crossorigin="anonymous"></script>
|
||||
|
||||
<!-- JavaScript Bundle with Popper -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.bundle.min.js" integrity="sha384-gtEjrD/SeCtmISkJkNUaaKMoLD0//ElJ19smozuHV6z3Iehds+3Ulb9Bn9Plx0x4" crossorigin="anonymous"></script>
|
||||
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.bundle.min.js" integrity="sha384-gtEjrD/SeCtmISkJkNUaaKMoLD0//ElJ19smozuHV6z3Iehds+3Ulb9Bn9Plx0x4" crossorigin="anonymous"></script>
|
||||
|
||||
<script>
|
||||
<script type="text/javascript">
|
||||
// Example starter JavaScript for disabling form submissions if there are invalid fields
|
||||
(function () {
|
||||
'use strict'
|
||||
|
@@ -18,7 +18,7 @@
|
||||
@endauth
|
||||
<dl>
|
||||
<dt>Expore Networks</dt>
|
||||
@foreach (\App\Models\Domain::active()->public()->get() as $o)
|
||||
@foreach (\App\Models\Domain::active()->public()->orderBy('name')->get() as $o)
|
||||
<dd><a href="{{ url('network',['id'=>$o->id]) }}" title="{{ $o->description }}">{{ $o->name }}</a></dd>
|
||||
@endforeach
|
||||
</dl>
|
||||
|
@@ -1,8 +1,193 @@
|
||||
@php
|
||||
use App\Models\Setup;
|
||||
@endphp
|
||||
|
||||
@extends('layouts.app')
|
||||
@section('htmlheader_title')
|
||||
Setup
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<h2>Site Setup</h2>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<h2>Site Setup</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row pt-0">
|
||||
<div class="col-12">
|
||||
<div class="greyframe titledbox shadow0xb0">
|
||||
<h2 class="cap">@if($o->exists) Update @else Initial @endif Setup</h2>
|
||||
|
||||
<form class="row g-0 needs-validation" method="post" novalidate>
|
||||
@csrf
|
||||
|
||||
<div class="row">
|
||||
<div class="col-4">
|
||||
<label for="system_id" class="form-label">System</label>
|
||||
<div class="input-group has-validation">
|
||||
<span class="input-group-text"><i class="bi bi-tag-fill"></i></span>
|
||||
<select style="width: 80%;" class="form-select @error('system_id') is-invalid @enderror" id="system_id" name="system_id" required @cannot('admin',$o)disabled @endcannot>
|
||||
<option value=""> </option>
|
||||
@foreach (\App\Models\System::active()->orderBy('name')->cursor() as $oo)
|
||||
<option value="{{ $oo->id }}" @if(old('system_id',$o->system_id)==$oo->id)selected @endif>{{ $oo->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<span class="invalid-feedback" role="alert">
|
||||
@error('system_id')
|
||||
{{ $message }}
|
||||
@else
|
||||
A system is required.
|
||||
@enderror
|
||||
</span>
|
||||
<span class="input-helper">Add a <a href="{{ url('ftn/system/addedit') }}">NEW System</a></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-4 ms-auto">
|
||||
@if ($o->exists)
|
||||
<table class="table monotable">
|
||||
<thead>
|
||||
<tr><th colspan="2">System Addresses</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($o->system->addresses->groupBy('zone_id') as $zones)
|
||||
<tr>
|
||||
<th>{{ $zones->first()->zone->domain->name }}</th>
|
||||
<th class="text-end">{!! join('<br>',$zones->pluck('ftn')->toArray()) !!}</th>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>Site Permissions</h3>
|
||||
<!-- @todo
|
||||
* Inbound Working Dir
|
||||
-->
|
||||
<div class="form-check form-switch">
|
||||
<input class="form-check-input" type="checkbox" id="hideaka" name="options[hideaka]" value="{{ Setup::O_HIDEAKA }}" @if(old('options.hideaka',$o->binkpOptionGet(Setup::O_HIDEAKA))) checked @endif disabled>
|
||||
<label class="form-check-label" for="hideaka">Hide AKA to different Domains <sup>not implemented</sup></label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-6">
|
||||
<h3>ZeroTier API</h3>
|
||||
<!-- @todo
|
||||
* Host/Port/Key
|
||||
-->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<h4>Protocol Configuration</h4>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h3>BINKP Settings</h3>
|
||||
<p>Bink has been configured to listen on <strong>{{ Setup::BINKP_BIND }}</strong>:<strong>{{ Setup::BINKP_PORT }}</strong></p>
|
||||
|
||||
<div class="form-check form-switch">
|
||||
<input class="form-check-input" type="checkbox" id="startbinkd" name="options[binkd]" value="{{ Setup::O_BINKP }}" @if(old('options.binkd',$o->optionGet(Setup::O_BINKP))) checked @endif>
|
||||
<label class="form-check-label" for="startbinkd">Listen for BINKP connections</label>
|
||||
</div>
|
||||
|
||||
<div class="mt-1 form-check form-switch">
|
||||
<input class="form-check-input" type="checkbox" id="opt_cht" name="binkp[cht]" value="{{ Setup::BINKP_OPT_CHT }}" @if(old('binkp.cht',$o->binkpOptionGet(Setup::BINKP_OPT_CHT))) checked @endif disabled>
|
||||
<label class="form-check-label" for="opt_cht">Chat Mode <sup>not implemented</sup></label>
|
||||
</div>
|
||||
|
||||
<div class="mt-1 form-check form-switch">
|
||||
<input class="form-check-input" type="checkbox" id="opt_md" name="binkp[md]" value="{{ Setup::BINKP_OPT_MD }}" @if(old('binkp.md',$o->binkpOptionGet(Setup::BINKP_OPT_MD))) checked @endif>
|
||||
<label class="form-check-label" for="opt_md">CRAM-MD5 Mode</label>
|
||||
</div>
|
||||
|
||||
<div class="mt-1 form-check form-switch">
|
||||
<input class="form-check-input" type="checkbox" id="opt_cr" name="binkp[cr]" value="{{ Setup::BINKP_OPT_CR }}" @if(old('binkp.cr',$o->binkpOptionGet(Setup::BINKP_OPT_CR))) checked @endif disabled>
|
||||
<label class="form-check-label" for="opt_cr">Crypt mode <sup>not implemented</sup></label>
|
||||
</div>
|
||||
|
||||
<div class="mt-1 form-check form-switch">
|
||||
<input class="form-check-input" type="checkbox" id="opt_mb" name="binkp[mb]" value="{{ Setup::BINKP_OPT_MB }}" @if(old('binkp.mb',$o->binkpOptionGet(Setup::BINKP_OPT_MB))) checked @endif>
|
||||
<label class="form-check-label" for="opt_mb">Multi-Batch mode<sup>*</sup></label>
|
||||
</div>
|
||||
|
||||
<div class="mt-1 form-check form-switch">
|
||||
<input class="form-check-input" type="checkbox" id="opt_mpwd" name="binkp[mpwd]" value="{{ Setup::BINKP_OPT_MPWD }}" @if(old('binkp.mpwd',$o->binkpOptionGet(Setup::BINKP_OPT_MPWD))) checked @endif disabled>
|
||||
<label class="form-check-label" for="opt_mpwd">Multi-Password Mode <sup>not implemented</sup></label>
|
||||
</div>
|
||||
|
||||
<div class="mt-1 form-check form-switch">
|
||||
<input class="form-check-input" type="checkbox" id="opt_nd" name="binkp[nd]" value="{{ Setup::BINKP_OPT_ND }}" @if(old('binkp.nd',$o->binkpOptionGet(Setup::BINKP_OPT_ND))) checked @endif>
|
||||
<label class="form-check-label" for="opt_nd">No Dupes Mode</label>
|
||||
</div>
|
||||
|
||||
<div class="mt-1 form-check form-switch">
|
||||
<input class="form-check-input" type="checkbox" id="opt_nda" name="binkp[nda]" value="{{ Setup::BINKP_OPT_NDA }}" @if(old('binkp.nda',$o->binkpOptionGet(Setup::BINKP_OPT_NDA))) checked @endif>
|
||||
<label class="form-check-label" for="opt_nda">No Dupes Mode - Asymmetric<sup>*</sup></label>
|
||||
</div>
|
||||
|
||||
<div class="mt-1 form-check form-switch">
|
||||
<input class="form-check-input" type="checkbox" id="opt_nr" name="binkp[nr]" value="{{ Setup::BINKP_OPT_NR }}" @if(old('binkp.nr',$o->binkpOptionGet(Setup::BINKP_OPT_NR))) checked @endif>
|
||||
<label class="form-check-label" for="opt_nr">Non-Reliable Mode<sup>*</sup></label>
|
||||
</div>
|
||||
|
||||
<p class="pt-3"><sup>*</sup> Recommended Defaults</p>
|
||||
|
||||
<table class="table monotable">
|
||||
{{--
|
||||
$this->binkp_options = ['m','d','r','b'];
|
||||
--}}
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="col-6">
|
||||
<h3>EMSI Settings</h3>
|
||||
<p>Bink has been configured to listen on <strong>{{ Setup::EMSI_BIND }}</strong>:<strong>{{ Setup::EMSI_PORT }}</strong></p>
|
||||
|
||||
<div class="form-check form-switch">
|
||||
<input class="form-check-input" type="checkbox" id="startemsi" name="options[emsi]" value="{{ Setup::O_EMSI }}" @if(old('options.emsi',$o->optionGet(Setup::O_EMSI))) checked @endif>
|
||||
<label class="form-check-label" for="startemsi">Listen for EMSI connections</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<a href="{{ url('ftn/domain') }}" class="btn btn-danger">Cancel</a>
|
||||
@if($errors->count())
|
||||
<span class="pl-5 btn btn-sm btn-danger" role="alert">
|
||||
There were errors with the submission.
|
||||
@dump($errors)
|
||||
</span>
|
||||
@endif
|
||||
@can('admin',$o)
|
||||
<button type="submit" name="submit" class="btn btn-success mr-0 float-end">@if ($o->exists)Save @else Add @endif</button>
|
||||
@endcan
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@section('page-css')
|
||||
<link type="text/css" rel="stylesheet" href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css">
|
||||
@append
|
||||
@section('page-scripts')
|
||||
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$('#system_id').select2();
|
||||
});
|
||||
</script>
|
||||
@append
|
||||
|
@@ -1,3 +1,7 @@
|
||||
@php
|
||||
use App\Models\Setup;
|
||||
@endphp
|
||||
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('htmlheader_title')
|
||||
@@ -39,7 +43,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-4">
|
||||
<div class="col-2">
|
||||
<label for="active" class="form-label">Active</label>
|
||||
<div class="input-group">
|
||||
<div class="btn-group" role="group">
|
||||
@@ -51,6 +55,10 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-2">
|
||||
ZeroTier ID
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
@@ -86,33 +94,76 @@
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-4">
|
||||
<label for="method" class="form-label">Connection Method</label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-text"><i class="bi bi-wifi"></i></span>
|
||||
<select class="form-select @error('method') is-invalid @enderror" id="method" name="method" @cannot('admin',$o)disabled @endcannot>
|
||||
<option></option>
|
||||
<option value="23" @if(old('method',$o->method) == 23)selected @endif)}}>Telnet</option>
|
||||
<option value="22" @if(old('method',$o->method) == 22)selected @endif)}}>SSH</option>
|
||||
<option value="519" @if(old('method',$o->method) == 519)selected @endif)}}>Rlogin</option>
|
||||
</select>
|
||||
<div class="col-12">
|
||||
<h4>Mailer Details</h4>
|
||||
|
||||
<div class="pt-0 row">
|
||||
<div class="col-4">
|
||||
<label for="method" class="form-label">Connection Method</label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-text"><i class="bi bi-wifi"></i></span>
|
||||
<select class="form-select @error('method') is-invalid @enderror" id="mailer_type" name="mailer_type" @cannot('admin',$o)disabled @endcannot>
|
||||
<option></option>
|
||||
<option value="{{ Setup::O_BINKP }}" @if(old('mailer_type',$o->mailer_type) == Setup::O_BINKP)selected @endif)}}>BINKP</option>
|
||||
<option value="{{ Setup::O_EMSI }}" @if(old('mailer_type',$o->mailer_type) == Setup::O_EMSI)selected @endif)}}>EMSI</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-8">
|
||||
<label for="address" class="form-label">Address</label>
|
||||
<div class="input-group has-validation">
|
||||
<span class="input-group-text"><i class="bi bi-globe"></i></span>
|
||||
<input type="text" class="w-75 form-control @error('mailer_address') is-invalid @enderror" id="mailer_address" placeholder="FQDN" name="mailer_address" value="{{ old('mailer_address',$o->mailer_address) }}" @cannot('admin',$o)disabled @endcannot>
|
||||
<input type="text" class="form-control @error('mailer_port') is-invalid @enderror" id="mailer_port" placeholder="Port" name="mailer_port" value="{{ old('mailer_port',$o->mailer_port) }}" @cannot('admin',$o)disabled @endcannot>
|
||||
<span class="invalid-feedback" role="alert">
|
||||
@error('mailer_address')
|
||||
{{ $message }}
|
||||
@enderror
|
||||
@error('mailer_port')
|
||||
{{ $message }}
|
||||
@enderror
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-8">
|
||||
<label for="address" class="form-label">Address</label>
|
||||
<div class="input-group has-validation">
|
||||
<span class="input-group-text"><i class="bi bi-globe"></i></span>
|
||||
<input type="text" class="w-75 form-control @error('address') is-invalid @enderror" id="address" placeholder="FQDN" name="address" value="{{ old('address',$o->address) }}" @cannot('admin',$o)disabled @endcannot>
|
||||
<input type="text" class="form-control @error('port') is-invalid @enderror" id="port" placeholder="Port" name="port" value="{{ old('port',$o->port) }}" @cannot('admin',$o)disabled @endcannot>
|
||||
<span class="invalid-feedback" role="alert">
|
||||
@error('address')
|
||||
{{ $message }}
|
||||
@enderror
|
||||
@error('port')
|
||||
{{ $message }}
|
||||
@enderror
|
||||
</span>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<h4>BBS Details</h4>
|
||||
|
||||
<div class="pt-0 row">
|
||||
<div class="col-4">
|
||||
<label for="method" class="form-label">Connection Method</label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-text"><i class="bi bi-wifi"></i></span>
|
||||
<select class="form-select @error('method') is-invalid @enderror" id="method" name="method" @cannot('admin',$o)disabled @endcannot>
|
||||
<option></option>
|
||||
<option value="23" @if(old('method',$o->method) == 23)selected @endif)}}>Telnet</option>
|
||||
<option value="22" @if(old('method',$o->method) == 22)selected @endif)}}>SSH</option>
|
||||
<option value="519" @if(old('method',$o->method) == 519)selected @endif)}}>Rlogin</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-8">
|
||||
<label for="address" class="form-label">Address</label>
|
||||
<div class="input-group has-validation">
|
||||
<span class="input-group-text"><i class="bi bi-globe"></i></span>
|
||||
<input type="text" class="w-75 form-control @error('address') is-invalid @enderror" id="address" placeholder="FQDN" name="address" value="{{ old('address',$o->address) }}" @cannot('admin',$o)disabled @endcannot>
|
||||
<input type="text" class="form-control @error('port') is-invalid @enderror" id="port" placeholder="Port" name="port" value="{{ old('port',$o->port) }}" @cannot('admin',$o)disabled @endcannot>
|
||||
<span class="invalid-feedback" role="alert">
|
||||
@error('address')
|
||||
{{ $message }}
|
||||
@enderror
|
||||
@error('port')
|
||||
{{ $message }}
|
||||
@enderror
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -404,21 +455,19 @@
|
||||
<a href="{{ url('ftn/system') }}" class="btn btn-danger">Cancel</a>
|
||||
</div>
|
||||
|
||||
<span class="col-6 mt-auto mx-auto text-center align-bottom">
|
||||
<span class="col-6 mt-auto mx-auto text-center align-bottom">
|
||||
@if($errors->count())
|
||||
<span class="pl-5 btn btn-sm btn-danger" role="alert">
|
||||
There were errors with the submission.
|
||||
@dump($errors)
|
||||
</span>
|
||||
@endif
|
||||
</span>
|
||||
</span>
|
||||
|
||||
@can('admin',$o)
|
||||
<div class="col-2">
|
||||
<button type="submit" name="submit" class="btn btn-success mr-0 float-end">Add</button>
|
||||
</div>
|
||||
@endcan
|
||||
</div>
|
||||
@can('admin',$o)
|
||||
<div class="col-2">
|
||||
<button type="submit" name="submit" class="btn btn-success mr-0 float-end">Add</button>
|
||||
</div>
|
||||
@endcan
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -489,6 +538,26 @@
|
||||
|
||||
$('#region_id').on('change',function() {
|
||||
switch(this.value) {
|
||||
case '':
|
||||
if (! $('#region-address').hasClass('d-none'))
|
||||
$('#region-address').addClass('d-none');
|
||||
|
||||
if (! $('#host-select').hasClass('d-none'))
|
||||
$('#host-select').addClass('d-none');
|
||||
|
||||
if (! $('#host-address').hasClass('d-none'))
|
||||
$('#host-address').addClass('d-none');
|
||||
|
||||
if (! $('#hub-select').hasClass('d-none'))
|
||||
$('#hub-select').addClass('d-none');
|
||||
|
||||
if (! $('#hub-checkbox').hasClass('d-none'))
|
||||
$('#hub-checkbox').addClass('d-none');
|
||||
|
||||
if (! $('#node-address').hasClass('d-none'))
|
||||
$('#node-address').addClass('d-none');
|
||||
break;
|
||||
|
||||
case 'new':
|
||||
if (! $('#host-select').hasClass('d-none'))
|
||||
$('#host-select').addClass('d-none');
|
||||
@@ -500,7 +569,7 @@
|
||||
$('#region-address').removeClass('d-none');
|
||||
|
||||
if (! $('#hub-select').hasClass('d-none'))
|
||||
$('#hub-select').addClass('d-none')
|
||||
$('#hub-select').addClass('d-none');
|
||||
|
||||
if (! $('#hub-checkbox').hasClass('d-none'))
|
||||
$('#hub-checkbox').addClass('d-none');
|
||||
@@ -521,7 +590,7 @@
|
||||
$('#region-address').addClass('d-none');
|
||||
|
||||
if (! $('#hub-select').hasClass('d-none'))
|
||||
$('#hub-select').addClass('d-none')
|
||||
$('#hub-select').addClass('d-none');
|
||||
|
||||
if (! $('#hub-checkbox').hasClass('d-none'))
|
||||
$('#hub-checkbox').addClass('d-none');
|
||||
@@ -558,12 +627,26 @@
|
||||
|
||||
$('#host_id').on('change',function() {
|
||||
switch(this.value) {
|
||||
case '':
|
||||
if (! $('#host-address').hasClass('d-none'))
|
||||
$('#host-address').addClass('d-none');
|
||||
|
||||
if (! $('#hub-select').hasClass('d-none'))
|
||||
$('#hub-select').addClass('d-none');
|
||||
|
||||
if (! $('#hub-checkbox').hasClass('d-none'))
|
||||
$('#hub-checkbox').addClass('d-none');
|
||||
|
||||
if (! $('#node-address').hasClass('d-none'))
|
||||
$('#node-address').addClass('d-none');
|
||||
break;
|
||||
|
||||
case 'new':
|
||||
if ($('#host-address').hasClass('d-none'))
|
||||
$('#host-address').removeClass('d-none');
|
||||
|
||||
if (! $('#hub-select').hasClass('d-none'))
|
||||
$('#hub-select').addClass('d-none')
|
||||
$('#hub-select').addClass('d-none');
|
||||
|
||||
if (! $('#hub-checkbox').hasClass('d-none'))
|
||||
$('#hub-checkbox').addClass('d-none');
|
||||
|
@@ -12,7 +12,7 @@
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-9">
|
||||
<div class="col-10">
|
||||
<p>This system is aware of the following systems:</p>
|
||||
|
||||
@if (\App\Models\System::count() == 0)
|
||||
@@ -30,6 +30,7 @@
|
||||
<th>Sysop</th>
|
||||
<th>Location</th>
|
||||
<th>Active</th>
|
||||
<th>ZeroTier ID</th>
|
||||
<th>Connect</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -37,7 +38,7 @@
|
||||
<tbody>
|
||||
@can('admin',(new \App\Models\System))
|
||||
<tr>
|
||||
<td colspan="6"><a href="{{ url('ftn/system/addedit') }}">Add New System</a></td>
|
||||
<td colspan="7"><a href="{{ url('ftn/system/addedit') }}">Add New System</a></td>
|
||||
</tr>
|
||||
@endcan
|
||||
@foreach (\App\Models\System::orderBy('name')->cursor() as $oo)
|
||||
@@ -47,6 +48,7 @@
|
||||
<td>{{ $oo->sysop }}</td>
|
||||
<td>{{ $oo->location }}</td>
|
||||
<td>{{ $oo->active ? 'YES' : 'NO' }}</td>
|
||||
<td>-</td>
|
||||
<td>
|
||||
@switch($oo->method)
|
||||
@case(23)<a href="telnet://{{ $oo->address }}:{{ $oo->port }}">Telnet</a>@break
|
||||
|
@@ -87,7 +87,7 @@
|
||||
|
||||
<div class="row">
|
||||
<div class="col-2">
|
||||
<label for="ztid" class="form-label">ZeroTier ID</label>
|
||||
<label for="ztid" class="form-label">ZeroTier Network ID</label>
|
||||
<div class="input-group has-validation">
|
||||
<span class="input-group-text"><i class="bi bi-shield-lock-fill"></i></span>
|
||||
<input type="text" class="form-control @error('ztid') is-invalid @enderror" id="ztid" placeholder="ZeroTier" name="ztid" value="{{ old('ztid',$o->ztid) }}" @cannot('admin',$o)disabled @endcannot>
|
||||
|
@@ -55,15 +55,15 @@
|
||||
|
||||
@section('page-scripts')
|
||||
{{--
|
||||
<link href="https://cdn.datatables.net/1.10.25/css/jquery.dataTables.min.css" rel="stylesheet" media="screen" type="text/css">
|
||||
<link href="https://cdn.datatables.net/rowgroup/1.1.2/css/rowGroup.dataTables.min.css" rel="stylesheet" media="screen" type="text/css">
|
||||
<link type="text/css" rel="stylesheet" href="https://cdn.datatables.net/1.10.25/css/jquery.dataTables.min.css" media="screen">
|
||||
<link type="text/css" rel="stylesheet" href="https://cdn.datatables.net/rowgroup/1.1.2/css/rowGroup.dataTables.min.css" media="screen">
|
||||
--}}
|
||||
<link href="https://cdn.datatables.net/1.10.25/css/dataTables.bootstrap5.min.css" rel="stylesheet" media="screen" type="text/css">
|
||||
<link href="{{ asset('plugin/dataTables/dataTables.bootstrap5.css') }}" rel="stylesheet" media="screen" type="text/css">
|
||||
<link type="text/css" rel="stylesheet" href="https://cdn.datatables.net/1.10.25/css/dataTables.bootstrap5.min.css" media="screen" >
|
||||
<link type="text/css" rel="stylesheet" href="{{ asset('plugin/dataTables/dataTables.bootstrap5.css') }}" media="screen">
|
||||
|
||||
<script src="https://cdn.datatables.net/1.10.25/js/jquery.dataTables.min.js"></script>
|
||||
<script src="https://cdn.datatables.net/rowgroup/1.1.2/js/dataTables.rowGroup.min.js"></script>
|
||||
<script src="https://cdn.datatables.net/1.10.25/js/dataTables.bootstrap5.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.datatables.net/1.10.25/js/jquery.dataTables.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.datatables.net/rowgroup/1.1.2/js/dataTables.rowGroup.min.js"></script>
|
||||
<script type="text/javascript" src="https://cdn.datatables.net/1.10.25/js/dataTables.bootstrap5.min.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
|
Reference in New Issue
Block a user