forked from pterodactyl/panel
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.blade.php
More file actions
135 lines (130 loc) · 7.16 KB
/
index.blade.php
File metadata and controls
135 lines (130 loc) · 7.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
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.admin')
@section('title')
Database Hosts
@endsection
@section('content-header')
<h1>Database Hosts<small>Database hosts that servers can have databases created on.</small></h1>
<ol class="breadcrumb">
<li><a href="{{ route('admin.index') }}">Admin</a></li>
<li class="active">Database Hosts</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">Host List</h3>
<div class="box-tools">
<button class="btn btn-sm btn-primary" data-toggle="modal" data-target="#newHostModal">Create New</button>
</div>
</div>
<div class="box-body table-responsive no-padding">
<table class="table table-hover">
<tbody>
<tr>
<th>ID</th>
<th>Name</th>
<th>Host</th>
<th>Port</th>
<th>Username</th>
<th class="text-center">Databases</th>
<th class="text-center">Node</th>
</tr>
@foreach ($hosts as $host)
<tr>
<td><code>{{ $host->id }}</code></td>
<td><a href="{{ route('admin.databases.view', $host->id) }}">{{ $host->name }}</a></td>
<td><code>{{ $host->host }}</code></td>
<td><code>{{ $host->port }}</code></td>
<td>{{ $host->username }}</td>
<td class="text-center">{{ $host->databases_count }}</td>
<td class="text-center">
@if(! is_null($host->node))
<a href="{{ route('admin.nodes.view', $host->node->id) }}">{{ $host->node->name }}</a>
@else
<span class="label label-default">None</span>
@endif
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
<div class="modal fade" id="newHostModal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<form action="{{ route('admin.databases') }}" method="POST">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title">Create New Database Host</h4>
</div>
<div class="modal-body">
<div class="form-group">
<label for="pName" class="form-label">Name</label>
<input type="text" name="name" id="pName" class="form-control" />
<p class="text-muted small">A short identifier used to distinguish this location from others. Must be between 1 and 60 characters, for example, <code>us.nyc.lvl3</code>.</p>
</div>
<div class="row">
<div class="col-md-6">
<label for="pHost" class="form-label">Host</label>
<input type="text" name="host" id="pHost" class="form-control" />
<p class="text-muted small">The IP address or FQDN that should be used when attempting to connect to this MySQL host <em>from the panel</em> to add new databases.</p>
</div>
<div class="col-md-6">
<label for="pPort" class="form-label">Port</label>
<input type="text" name="port" id="pPort" class="form-control" value="3306"/>
<p class="text-muted small">The port that MySQL is running on for this host.</p>
</div>
</div>
<div class="row">
<div class="col-md-6">
<label for="pUsername" class="form-label">Username</label>
<input type="text" name="username" id="pUsername" class="form-control" />
<p class="text-muted small">The username of an account that has enough permissions to create new users and databases on the system.</p>
</div>
<div class="col-md-6">
<label for="pPassword" class="form-label">Password</label>
<input type="password" name="password" id="pPassword" class="form-control" />
<p class="text-muted small">The password to the account defined.</p>
</div>
</div>
<div class="form-group">
<label for="pNodeId" class="form-label">Linked Node</label>
<select name="node_id" id="pNodeId" class="form-control">
<option value="">None</option>
@foreach($locations as $location)
<optgroup label="{{ $location->short }}">
@foreach($location->nodes as $node)
<option value="{{ $node->id }}">{{ $node->name }}</option>
@endforeach
</optgroup>
@endforeach
</select>
<p class="text-muted small">This setting does nothing other than default to this database host when adding a database to a server on the selected node.</p>
</div>
</div>
<div class="modal-footer">
<p class="text-danger small text-left">The account defined for this database host <strong>must</strong> have the <code>WITH GRANT OPTION</code> permission. If the defined account does not have this permission requests to create databases <em>will</em> fail. <strong>Do not use the same account details for MySQL that you have defined for this panel.</strong></p>
{!! csrf_field() !!}
<button type="button" class="btn btn-default btn-sm pull-left" data-dismiss="modal">Cancel</button>
<button type="submit" class="btn btn-success btn-sm">Create</button>
</div>
</form>
</div>
</div>
</div>
@endsection
@section('footer-scripts')
@parent
<script>
$('#pNodeId').select2();
</script>
@endsection