[L6] Move all of the template files into the new correct location

This commit is contained in:
Dane Everitt 2019-09-04 21:19:52 -07:00
parent 1c5b9dbb87
commit c97461d602
No known key found for this signature in database
GPG key ID: EEA66103B3D71F53
83 changed files with 0 additions and 0 deletions

View file

@ -0,0 +1,147 @@
{{-- Pterodactyl - Panel --}}
{{-- Copyright (c) 2015 - 2017 Dane Everitt <dane@daneeveritt.com> --}}
{{-- This software is licensed under the terms of the MIT license. --}}
{{-- https://opensource.org/licenses/MIT --}}
@extends('layouts.master')
@section('title')
@lang('base.account.header')
@endsection
@section('content-header')
<h1>@lang('base.account.header')<small>@lang('base.account.header_sub')</small></h1>
<ol class="breadcrumb">
<li><a href="{{ route('index') }}">@lang('strings.home')</a></li>
<li class="active">@lang('strings.account')</li>
</ol>
@endsection
@section('content')
<div class="row">
<div class="col-sm-6">
<div class="row">
<div class="col-xs-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">@lang('base.account.update_pass')</h3>
</div>
<form action="{{ route('account') }}" method="post">
<div class="box-body">
<div class="form-group">
<label for="current_password" class="control-label">@lang('base.account.current_password')</label>
<div>
<input type="password" class="form-control" name="current_password" />
</div>
</div>
<div class="form-group">
<label for="new_password" class="control-label">@lang('base.account.new_password')</label>
<div>
<input type="password" class="form-control" name="new_password" />
<p class="text-muted small no-margin">@lang('auth.password_requirements')</p>
</div>
</div>
<div class="form-group">
<label for="new_password_again" class="control-label">@lang('base.account.new_password_again')</label>
<div>
<input type="password" class="form-control" name="new_password_confirmation" />
</div>
</div>
</div>
<div class="box-footer">
{!! csrf_field() !!}
<input type="hidden" name="do_action" value="password" />
<input type="submit" class="btn btn-primary btn-sm" value="@lang('base.account.update_pass')" />
</div>
</form>
</div>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="row">
<div class="col-xs-12">
<div class="box box-primary">
<form action="{{ route('account') }}" method="POST">
<div class="box-header with-border">
<h3 class="box-title">@lang('base.account.update_identity')</h3>
</div>
<div class="box-body">
<div class="row">
<div class="form-group col-sm-6">
<label for="first_name" class="control-label">@lang('base.account.first_name')</label>
<div>
<input type="text" class="form-control" name="name_first" value="{{ Auth::user()->name_first }}" />
</div>
</div>
<div class="form-group col-sm-6">
<label for="last_name" class="control-label">@lang('base.account.last_name')</label>
<div>
<input type="text" class="form-control" name="name_last" value="{{ Auth::user()->name_last }}" />
</div>
</div>
</div>
<div class="row">
<div class="form-group col-xs-12">
<label for="password" class="control-label">@lang('strings.username')</label>
<div>
<input type="text" class="form-control" name="username" value="{{ Auth::user()->username }}" />
<p class="text-muted small no-margin">@lang('base.account.username_help', [ 'requirements' => '<code>a-z A-Z 0-9 _ - .</code>'])</p>
</div>
</div>
</div>
<div class="row">
<div class="form-group col-xs-12">
<label for="language" class="control-label">@lang('base.account.language')</label>
<div>
<select name="language" id="language" class="form-control">
@foreach($languages as $key => $value)
<option value="{{ $key }}" {{ Auth::user()->language !== $key ?: 'selected' }}>{{ $value }}</option>
@endforeach
</select>
</div>
</div>
</div>
</div>
<div class="box-footer with-border">
{!! csrf_field() !!}
<input type="hidden" name="do_action" value="identity" />
<button type="submit" class="btn btn-sm btn-primary">@lang('base.account.update_identity')</button>
</div>
</form>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">@lang('base.account.update_email')</h3>
</div>
<form action="{{ route('account') }}" method="post">
<div class="box-body">
<div class="form-group">
<label for="new_email" class="control-label">@lang('base.account.new_email')</label>
<div>
<input type="email" class="form-control" name="new_email" />
</div>
</div>
<div class="form-group">
<label for="password" class="control-label">@lang('base.account.current_password')</label>
<div>
<input type="password" class="form-control" name="current_password" />
</div>
</div>
</div>
<div class="box-footer">
{!! csrf_field() !!}
<input type="hidden" name="do_action" value="email" />
<input type="submit" class="btn btn-primary btn-sm" value="@lang('base.account.update_email')" />
</div>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection

View file

@ -0,0 +1,123 @@
{{-- Pterodactyl - Panel --}}
{{-- Copyright (c) 2015 - 2017 Dane Everitt <dane@daneeveritt.com> --}}
{{-- This software is licensed under the terms of the MIT license. --}}
{{-- https://opensource.org/licenses/MIT --}}
@extends('layouts.master')
@section('title')
@lang('base.api.index.header')
@endsection
@section('content-header')
<h1>@lang('base.api.index.header')<small>@lang('base.api.index.header_sub')</small></h1>
<ol class="breadcrumb">
<li><a href="{{ route('index') }}">@lang('strings.home')</a></li>
<li class="active">@lang('navigation.account.api_access')</li>
</ol>
@endsection
@section('content')
<div class="row">
<div class="col-xs-12">
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">Credentials List</h3>
<div class="box-tools">
<a href="{{ route('account.api.new') }}" class="btn btn-sm btn-primary">Create New</a>
</div>
</div>
<div class="box-body table-responsive no-padding">
<table class="table table-hover">
<tr>
<th>Key</th>
<th>Memo</th>
<th>Last Used</th>
<th>Created</th>
<th></th>
</tr>
@foreach($keys as $key)
<tr>
<td>
<code class="toggle-display" style="cursor:pointer" data-toggle="tooltip" data-placement="right" title="Click to Reveal">
<i class="fa fa-key"></i> &bull;&bull;&bull;&bull;&bull;&bull;&bull;&bull;
</code>
<code class="hidden" data-attr="api-key">
{{ $key->identifier }}{{ decrypt($key->token) }}
</code>
</td>
<td>{{ $key->memo }}</td>
<td>
@if(!is_null($key->last_used_at))
@datetimeHuman($key->last_used_at)
@else
&mdash;
@endif
</td>
<td>@datetimeHuman($key->created_at)</td>
<td>
<a href="#" data-action="revoke-key" data-attr="{{ $key->identifier }}">
<i class="fa fa-trash-o text-danger"></i>
</a>
</td>
</tr>
@endforeach
</table>
</div>
</div>
</div>
</div>
@endsection
@section('footer-scripts')
@parent
<script>
$(document).ready(function() {
$(function () {
$('[data-toggle="tooltip"]').tooltip()
});
$('.toggle-display').on('click', function () {
$(this).parent().find('code[data-attr="api-key"]').removeClass('hidden');
$(this).hide();
});
$('[data-action="revoke-key"]').click(function (event) {
var self = $(this);
event.preventDefault();
swal({
type: 'error',
title: 'Revoke API Key',
text: 'Once this API key is revoked any applications currently using it will stop working.',
showCancelButton: true,
allowOutsideClick: true,
closeOnConfirm: false,
confirmButtonText: 'Revoke',
confirmButtonColor: '#d9534f',
showLoaderOnConfirm: true
}, function () {
$.ajax({
method: 'DELETE',
url: Router.route('account.api.revoke', { identifier: self.data('attr') }),
headers: {
'X-CSRF-TOKEN': '{{ csrf_token() }}'
}
}).done(function (data) {
swal({
type: 'success',
title: '',
text: 'API Key has been revoked.'
});
self.parent().parent().slideUp();
}).fail(function (jqXHR) {
console.error(jqXHR);
swal({
type: 'error',
title: 'Whoops!',
text: 'An error occurred while attempting to revoke this key.'
});
});
});
});
});
</script>
@endsection

View file

@ -0,0 +1,47 @@
@extends('layouts.master')
@section('title')
@lang('base.api.new.header')
@endsection
@section('content-header')
<h1>@lang('base.api.new.header')<small>@lang('base.api.new.header_sub')</small></h1>
<ol class="breadcrumb">
<li><a href="{{ route('index') }}">@lang('strings.home')</a></li>
<li class="active">@lang('navigation.account.api_access')</li>
<li class="active">@lang('base.api.new.header')</li>
</ol>
@endsection
@section('content')
<div class="row">
<form method="POST" action="{{ route('account.api.new') }}">
<div class="col-sm-6 col-xs-12">
<div class="box box-primary">
<div class="box-body">
<div class="form-group">
<label class="control-label" for="memoField">Description <span class="field-required"></span></label>
<input id="memoField" type="text" name="memo" class="form-control" value="{{ old('memo') }}">
</div>
<p class="text-muted">Set an easy to understand description for this API key to help you identify it later on.</p>
</div>
</div>
</div>
<div class="col-sm-6 col-xs-12">
<div class="box box-primary">
<div class="box-body">
<div class="form-group">
<label class="control-label" for="allowedIps">Allowed Connection IPs <span class="field-optional"></span></label>
<textarea id="allowedIps" name="allowed_ips" class="form-control" rows="5">{{ old('allowed_ips') }}</textarea>
</div>
<p class="text-muted">If you would like to limit this API key to specific IP addresses enter them above, one per line. CIDR notation is allowed for each IP address. Leave blank to allow any IP address.</p>
</div>
<div class="box-footer">
{{ csrf_field() }}
<button type="submit" class="btn btn-success btn-sm pull-right">Create</button>
</div>
</div>
</div>
</form>
</div>
@endsection

View file

@ -0,0 +1,108 @@
{{-- Pterodactyl - Panel --}}
{{-- Copyright (c) 2015 - 2017 Dane Everitt <dane@daneeveritt.com> --}}
{{-- This software is licensed under the terms of the MIT license. --}}
{{-- https://opensource.org/licenses/MIT --}}
@extends('layouts.master')
@section('title')
@lang('base.index.header')
@endsection
@section('content-header')
<h1>@lang('base.index.header')<small>@lang('base.index.header_sub')</small></h1>
<ol class="breadcrumb">
<li><a href="{{ route('index') }}">@lang('strings.home')</a></li>
<li class="active">@lang('strings.servers')</li>
</ol>
@endsection
@section('content')
<div class="row">
<div class="col-xs-12">
<div class="box">
<div class="box-header">
<h3 class="box-title">@lang('base.index.list')</h3>
<div class="box-tools search01">
<form action="{{ route('index') }}" method="GET">
<div class="input-group input-group-sm">
<input type="text" name="query" class="form-control pull-right" value="{{ request()->input('query') }}" placeholder="@lang('strings.search')">
<div class="input-group-btn">
<button type="submit" class="btn btn-default"><i class="fa fa-search"></i></button>
</div>
</div>
</form>
</div>
</div>
<div class="box-body table-responsive no-padding">
<table class="table table-hover">
<tbody>
<tr>
<th>@lang('strings.id')</th>
<th>@lang('strings.name')</th>
<th>@lang('strings.node')</th>
<th>@lang('strings.connection')</th>
<th class="text-center hidden-sm hidden-xs">@lang('strings.memory')</th>
<th class="text-center hidden-sm hidden-xs">@lang('strings.cpu')</th>
<th class="text-center hidden-sm hidden-xs">@lang('strings.disk')</th>
<th class="text-center">@lang('strings.relation')</th>
<th class="text-center">@lang('strings.status')</th>
</tr>
@foreach($servers as $server)
<tr class="dynamic-update" data-server="{{ $server->uuidShort }}">
<td @if(! empty($server->description)) rowspan="2" @endif><code>{{ $server->uuidShort }}</code></td>
<td><a href="{{ route('server.index', $server->uuidShort) }}">{{ $server->name }}</a></td>
<td>{{ $server->getRelation('node')->name }}</td>
<td><code>{{ $server->getRelation('allocation')->alias }}:{{ $server->getRelation('allocation')->port }}</code></td>
<td class="text-center hidden-sm hidden-xs"><span data-action="memory">--</span> / {{ $server->memory === 0 ? '∞' : $server->memory }} MB</td>
<td class="text-center hidden-sm hidden-xs"><span data-action="cpu" data-cpumax="{{ $server->cpu }}">--</span> %</td>
<td class="text-center hidden-sm hidden-xs"><span data-action="disk">--</span> / {{ $server->disk === 0 ? '∞' : $server->disk }} MB </td>
<td class="text-center">
@if($server->user->id === Auth::user()->id)
<span class="label bg-purple">@lang('strings.owner')</span>
@elseif(Auth::user()->root_admin)
<span class="label bg-maroon">@lang('strings.admin')</span>
@else
<span class="label bg-blue">@lang('strings.subuser')</span>
@endif
</td>
@if($server->node->maintenance_mode)
<td class="text-center">
<span class="label label-warning">@lang('strings.under_maintenance')</span>
</td>
@else
<td class="text-center" data-action="status">
<span class="label label-default"><i class="fa fa-refresh fa-fw fa-spin"></i></span>
</td>
@endif
</tr>
@if (! empty($server->description))
<tr class="server-description">
<td colspan="7"><p class="text-muted small no-margin">{{ str_limit($server->description, 400) }}</p></td>
</tr>
@endif
@endforeach
</tbody>
</table>
</div>
@if($servers->hasPages())
<div class="box-footer">
<div class="col-md-12 text-center">{!! $servers->appends(['query' => Request::input('query')])->render() !!}</div>
</div>
@endif
</div>
</div>
</div>
@endsection
@section('footer-scripts')
@parent
<script>
$('tr.server-description').on('mouseenter mouseleave', function (event) {
$(this).prev('tr').css({
'background-color': (event.type === 'mouseenter') ? '#f5f5f5' : '',
});
});
</script>
{!! Theme::js('js/frontend/serverlist.js') !!}
@endsection

View file

@ -0,0 +1,135 @@
{{-- Pterodactyl - Panel --}}
{{-- Copyright (c) 2015 - 2017 Dane Everitt <dane@daneeveritt.com> --}}
{{-- This software is licensed under the terms of the MIT license. --}}
{{-- https://opensource.org/licenses/MIT --}}
@extends('layouts.master')
@section('title')
@lang('base.security.header')
@endsection
@section('content-header')
<h1>@lang('base.security.header')<small>@lang('base.security.header_sub')</small></h1>
<ol class="breadcrumb">
<li><a href="{{ route('index') }}">@lang('strings.home')</a></li>
<li><a href="{{ route('account') }}">@lang('strings.account')</a></li>
<li class="active">@lang('strings.security')</li>
</ol>
@endsection
@section('content')
<div class="row">
<div class="col-md-6">
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">@lang('base.security.sessions')</h3>
</div>
@if(!is_null($sessions))
<div class="box-body table-responsive no-padding">
<table class="table table-hover">
<tbody>
<tr>
<th>@lang('strings.id')</th>
<th>@lang('strings.ip')</th>
<th>@lang('strings.last_activity')</th>
<th></th>
</tr>
@foreach($sessions as $session)
<tr>
<td><code>{{ substr($session->id, 0, 6) }}</code></td>
<td>{{ $session->ip_address }}</td>
<td>{{ Carbon::createFromTimestamp($session->last_activity)->diffForHumans() }}</td>
<td>
<a href="{{ route('account.security.revoke', $session->id) }}">
<button class="btn btn-xs btn-danger"><i class="fa fa-trash-o"></i> @lang('strings.revoke')</button>
</a>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
@else
<div class="box-body">
<p class="text-muted">@lang('base.security.session_mgmt_disabled')</p>
</div>
@endif
</div>
</div>
<div class="col-md-6">
<div class="box {{ (Auth::user()->use_totp) ? 'box-success' : 'box-danger' }}">
<div class="box-header with-border">
<h3 class="box-title">@lang('base.security.2fa_header')</h3>
</div>
@if(Auth::user()->use_totp)
<form action="{{ route('account.security.totp') }}" method="post">
<div class="box-body">
<p>@lang('base.security.2fa_enabled')</p>
<div class="form-group">
<label for="new_password_again" class="control-label">@lang('strings.2fa_token')</label>
<div>
<input type="text" class="form-control" name="token" />
<p class="text-muted small">@lang('base.security.2fa_token_help')</p>
</div>
</div>
</div>
<div class="box-footer">
{!! csrf_field() !!}
{{ method_field('DELETE') }}
<button type="submit" class="btn btn-danger btn-sm">@lang('base.security.disable_2fa')</button>
</div>
</form>
@else
<form action="#" method="post" id="do_2fa">
<div class="box-body">
@lang('base.security.2fa_disabled')
</div>
<div class="box-footer">
{!! csrf_field() !!}
<button type="submit" class="btn btn-success btn-sm">@lang('base.security.enable_2fa')</button>
</div>
</form>
@endif
</div>
</div>
</div>
<div class="modal fade" id="open2fa" tabindex="-1" role="dialog" aria-labelledby="open2fa" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<form action="#" method="post" id="2fa_token_verify">
<div class="modal-header">
<h4 class="modal-title">@lang('base.security.2fa_qr')</h4>
</div>
<div class="modal-body" id="modal_insert_content">
<div class="row">
<div class="col-md-12" id="notice_box_2fa" style="display:none;"></div>
</div>
<div class="row">
<div class="col-md-6 text-center">
<span id="hide_img_load"><i class="fa fa-spinner fa-spin"></i> Loading QR Code...</span><img src="" id="qr_image_insert" style="display:none;"/>
</div>
<div class="col-md-6">
<div class="alert alert-info">@lang('base.security.2fa_checkpoint_help')</div>
<div class="form-group">
<label class="control-label" for="2fa_token">@lang('strings.2fa_token')</label>
{!! csrf_field() !!}
<input class="form-control" type="text" name="2fa_token" id="2fa_token" />
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary btn-sm" id="submit_action">@lang('strings.submit')</button>
<button type="button" class="btn btn-default btn-sm" data-dismiss="modal" id="close_reload">@lang('strings.close')</button>
</div>
</form>
</div>
</div>
</div>
@endsection
@section('footer-scripts')
@parent
{!! Theme::js('js/frontend/2fa-modal.js') !!}
@endsection