[L6] Move all of the template files into the new correct location
This commit is contained in:
parent
1c5b9dbb87
commit
c97461d602
83 changed files with 0 additions and 0 deletions
147
resources/views/base/account.blade.php
Normal file
147
resources/views/base/account.blade.php
Normal 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
|
123
resources/views/base/api/index.blade.php
Normal file
123
resources/views/base/api/index.blade.php
Normal 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> ••••••••
|
||||
</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
|
||||
—
|
||||
@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
|
47
resources/views/base/api/new.blade.php
Normal file
47
resources/views/base/api/new.blade.php
Normal 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
|
108
resources/views/base/index.blade.php
Normal file
108
resources/views/base/index.blade.php
Normal 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
|
135
resources/views/base/security.blade.php
Normal file
135
resources/views/base/security.blade.php
Normal 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
|
Reference in a new issue