ffb31ac0ad
Fix upgrade button & Fix Blacklist Check & Change how users search on the blacklist
325 lines
17 KiB
PHP
325 lines
17 KiB
PHP
@extends('layouts.main')
|
|
|
|
@section('content')
|
|
<!-- CONTENT HEADER -->
|
|
<section class="content-header">
|
|
<div class="container-fluid">
|
|
<div class="row mb-2">
|
|
<div class="col-sm-6">
|
|
<h1>{{__('Server Settings')}}</h1>
|
|
</div>
|
|
<div class="col-sm-6">
|
|
<ol class="breadcrumb float-sm-right">
|
|
<li class="breadcrumb-item"><a href="{{ route('home') }}">{{__('Dashboard')}}</a></li>
|
|
<li class="breadcrumb-item"><a href="{{ route('servers.index') }}">{{__('Server')}}</a></li>
|
|
<li class="breadcrumb-item"><a class="text-muted"
|
|
href="{{ route('servers.show', $server->id) }}">{{__('Settings')}}</a>
|
|
</li>
|
|
</ol>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</section>
|
|
<!-- END CONTENT HEADER -->
|
|
|
|
<!-- MAIN CONTENT -->
|
|
<section class="content">
|
|
<div class="container-fluid">
|
|
<div class="row pt-3">
|
|
<div class="col-xl-3 col-sm-6 mb-xl-0 mb-4">
|
|
<div class="card">
|
|
<div class="card-body p-3">
|
|
<div class="row">
|
|
<div class="col-8">
|
|
<div class="numbers">
|
|
<p class="text-sm mb-0 text-uppercase font-weight-bold">SERVER NAME</p>
|
|
<h5 class="font-weight-bolder" id="domain_text">
|
|
<span class="text-success text-sm font-weight-bolder">{{ $server->name }}</span>
|
|
</h5>
|
|
</div>
|
|
</div>
|
|
<div class="col-4 text-end">
|
|
<div class="icon icon-shape bg-gradient-primary shadow-primary text-center rounded-circle">
|
|
<i class='bx bx-fingerprint' style="color: white;"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xl-3 col-sm-6 mb-xl-0 mb-4">
|
|
<div class="card">
|
|
<div class="card-body p-3">
|
|
<div class="row">
|
|
<div class="col-8">
|
|
<div class="numbers">
|
|
<p class="text-sm mb-0 text-uppercase font-weight-bold">CPU</p>
|
|
<h5 class="font-weight-bolder">
|
|
<span class="text-success text-sm font-weight-bolder">@if($server->product->cpu == 0)Unlimited @else {{$server->product->cpu}} % @endif</span>
|
|
</h5>
|
|
</div>
|
|
</div>
|
|
<div class="col-4 text-end">
|
|
<div class="icon icon-shape bg-gradient-danger shadow-danger text-center rounded-circle">
|
|
<i class='bx bxs-chip' style="color: white;"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xl-3 col-sm-6 mb-xl-0 mb-4">
|
|
<div class="card">
|
|
<div class="card-body p-3">
|
|
<div class="row">
|
|
<div class="col-8">
|
|
<div class="numbers">
|
|
<p class="text-sm mb-0 text-uppercase font-weight-bold">Memory</p>
|
|
<h5 class="font-weight-bolder">
|
|
<span class="text-success text-sm font-weight-bolder">@if($server->product->memory == 0)Unlimited @else {{$server->product->memory}}MB @endif</span>
|
|
</h5>
|
|
</div>
|
|
</div>
|
|
<div class="col-4 text-end">
|
|
<div class="icon icon-shape bg-gradient-success shadow-success text-center rounded-circle">
|
|
<i class='bx bxs-memory-card' style="color: white;"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xl-3 col-sm-6">
|
|
<div class="card">
|
|
<div class="card-body p-3">
|
|
<div class="row">
|
|
<div class="col-8">
|
|
<div class="numbers">
|
|
<p class="text-sm mb-0 text-uppercase font-weight-bold">STORAGE</p>
|
|
<h5 class="font-weight-bolder">
|
|
<span class="text-success text-sm font-weight-bolder">@if($server->product->disk == 0)Unlimited @else {{$server->product->disk}}MB @endif</span>
|
|
</h5>
|
|
</div>
|
|
</div>
|
|
<div class="col-4 text-end">
|
|
<div class="icon icon-shape bg-gradient-warning shadow-warning text-center rounded-circle">
|
|
<i class='bx bxs-hdd' style="color: white;"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card">
|
|
<div class="card-header d-flex justify-content-between">
|
|
<h5 class="card-title"><i class="fas fa-sliders-h mr-2"></i>{{__('Server Information')}}</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="row">
|
|
|
|
<div class="col-lg-6">
|
|
<div class="row">
|
|
<div class="col-lg-4">
|
|
<label>{{__('Server ID')}}</label>
|
|
</div>
|
|
<div class="col-lg-8">
|
|
<span style="max-width: 250px;" class="d-inline-block text-truncate">
|
|
{{ $server->id }}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="row">
|
|
<div class="col-lg-4">
|
|
<label>{{__('Pterodactyl ID')}}</label>
|
|
</div>
|
|
<div class="col-lg-8">
|
|
<span style="max-width: 250px;" class="d-inline-block text-truncate">
|
|
{{ $server->identifier }}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="row">
|
|
<div class="col-lg-4">
|
|
<label>{{__('Hourly Price')}}</label>
|
|
</div>
|
|
<div class="col-lg-8">
|
|
<span style="max-width: 250px;" class="d-inline-block text-truncate">
|
|
{{ number_format($server->product->getHourlyPrice(), 2, '.', '') }}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="row">
|
|
<div class="col-lg-4">
|
|
<label>{{__('Monthly Price')}}</label>
|
|
</div>
|
|
<div class="col-lg-8">
|
|
<span style="max-width: 250px;" class="d-inline-block text-truncate">
|
|
{{ $server->product->getHourlyPrice() * 24 * 30 }}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="row">
|
|
<div class="col-lg-4">
|
|
<label>{{__('Location')}}</label>
|
|
</div>
|
|
<div class="col-lg-8">
|
|
<span style="max-width: 250px;" class="d-inline-block text-truncate">
|
|
{{ $server->location }}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="row">
|
|
<div class="col-lg-4">
|
|
<label>{{__('Node')}}</label>
|
|
</div>
|
|
<div class="col-lg-8">
|
|
<span style="max-width: 250px;" class="d-inline-block text-truncate">
|
|
{{ $server->node }}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="row">
|
|
<div class="col-lg-4">
|
|
<label>{{__('Backups')}}</label>
|
|
</div>
|
|
<div class="col-lg-8">
|
|
<span style="max-width: 250px;" class="d-inline-block text-truncate">
|
|
{{ $server->product->backups }}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="row">
|
|
<div class="col-lg-4">
|
|
<label>{{__('MySQL Database')}}</label>
|
|
</div>
|
|
<div class="col-lg-8">
|
|
<span style="max-width: 250px;" class="d-inline-block text-truncate">
|
|
{{ $server->product->databases }}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="card-footer">
|
|
<div class="col-md-12 text-center">
|
|
<!-- Upgrade Button trigger modal -->
|
|
@if(!config("SETTINGS::SYSTEM:PTERODACTYL:ADMIN_USER_TOKEN") and Auth::user()->role=="admin")
|
|
<i data-toggle="popover" data-trigger="hover"
|
|
data-content="{{ __('To enable the upgrade/downgrade system, please set your Ptero Admin-User API Key in the Settings!') }}"
|
|
class="fas fa-info-circle"></i>
|
|
@endif
|
|
<button type="button" data-toggle="modal" @if(!config("SETTINGS::SYSTEM:PTERODACTYL:ADMIN_USER_TOKEN")) disabled @endif data-target="#UpgradeModal{{ $server->id }}" target="__blank"
|
|
class="btn btn-info btn-md">
|
|
<i class="fas fa-upload mr-2"></i>
|
|
<span>{{ __('Upgrade / Downgrade') }}</span>
|
|
</button>
|
|
|
|
|
|
<!-- Upgrade Modal -->
|
|
<div style="width: 100%; margin-block-start: 100px;" class="modal fade" id="UpgradeModal{{ $server->id }}" tabindex="-1">
|
|
<div class="modal-dialog">
|
|
<div class="modal-content">
|
|
<div class="modal-header card-header">
|
|
<h5 class="modal-title">{{__("Upgrade/Downgrade Server")}}</h5>
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|
<span aria-hidden="true">×</span>
|
|
</button>
|
|
</div>
|
|
<div class="modal-body card-body">
|
|
<strong>{{__("FOR DOWNGRADE PLEASE CHOOSE A PLAN BELOW YOUR PLAN")}}</strong>
|
|
<br>
|
|
<br>
|
|
<strong>{{__("YOUR PRODUCT")}} : </strong> {{ $server->product->name }}
|
|
<br>
|
|
<br>
|
|
|
|
<form action="{{ route('servers.upgrade', ['server' => $server->id]) }}" method="POST" class="upgrade-form">
|
|
@csrf
|
|
<select name="product_upgrade" id="product_upgrade" class="form-input2 form-control">
|
|
<option value="">{{__("Select the product")}}</option>
|
|
@foreach($products as $product)
|
|
@if(in_array($server->egg, $product->eggs) && $product->id != $server->product->id)
|
|
<option value="{{ $product->id }}">{{ $product->name }} [ {{ CREDITS_DISPLAY_NAME }} {{ $product->price }} ]</option>
|
|
@endif
|
|
@endforeach
|
|
</select>
|
|
<br> {{__("Once the Upgrade button is pressed, we will automatically deduct the amount for the first hour according to the new product from your credits")}}. <br>
|
|
<br> {{_("Server will be automatically restarted once upgraded")}}
|
|
</div>
|
|
<div class="modal-footer card-body">
|
|
<button type="submit" class="btn btn-primary upgrade-once" style="width: 100%"><strong>{{__("Change Product")}}</strong></button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- Delete Button trigger modal -->
|
|
<button type="button" data-toggle="modal" data-target="#DeleteModal" target="__blank"
|
|
class="btn btn-danger btn-md">
|
|
<i class="fas fa-trash mr-2"></i>
|
|
<span>{{ __('Delete') }}</span>
|
|
</button>
|
|
<!-- Delete Modal -->
|
|
<div class="modal fade" id="DeleteModal" tabindex="-1" role="dialog" aria-labelledby="DeleteModalLabel" aria-hidden="true">
|
|
<div class="modal-dialog" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title" id="DeleteModalLabel">{{__("Delete Server")}}</h5>
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|
<span aria-hidden="true">×</span>
|
|
</button>
|
|
</div>
|
|
<div class="modal-body">
|
|
{{__("This is an irreversible action, all files of this server will be removed!")}}
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
|
|
<form class="d-inline" method="post" action="{{ route('servers.destroy', ['server' => $server->id]) }}">
|
|
@csrf
|
|
@method('DELETE')
|
|
<button data-toggle="popover" data-trigger="hover" data-placement="top" class="btn btn-danger mr-1">{{__("Delete")}}</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
<!-- END CUSTOM CONTENT -->
|
|
</div>
|
|
</section>
|
|
<!-- END CONTENT -->
|
|
<script type="text/javascript">
|
|
$(".upgrade-form").submit(function (e) {
|
|
|
|
$(".upgrade-once").attr("disabled", true);
|
|
return true;
|
|
})
|
|
|
|
</script>
|
|
|
|
@endsection
|