modified: web/blueprints/group_admin.py modified: web/blueprints/panel.py modified: web/blueprints/site_admin.py modified: web/templates/admin/base.html modified: web/templates/admin/dashboard.html modified: web/templates/admin/group_edit.html modified: web/templates/admin/group_members.html modified: web/templates/admin/groups.html modified: web/templates/admin/user_edit.html modified: web/templates/admin/users.html modified: web/templates/auth/admin_login.html modified: web/templates/auth/login.html modified: web/templates/base.html modified: web/templates/group_admin/base.html modified: web/templates/group_admin/dashboard.html modified: web/templates/group_admin/database.html modified: web/templates/group_admin/member_edit.html modified: web/templates/group_admin/members.html modified: web/templates/panel/no_db.html
99 lines
4.8 KiB
HTML
99 lines
4.8 KiB
HTML
{% extends "group_admin/base.html" %}
|
|
{% block title %}Database{% endblock %}
|
|
{% block content %}
|
|
<h2 class="mb-4"><i class="bi bi-database-fill-gear me-2"></i>Configure MC Database</h2>
|
|
|
|
<div class="row g-3">
|
|
<div class="col-md-7">
|
|
<div class="card border-secondary">
|
|
<div class="card-header">Connection Details</div>
|
|
<div class="card-body">
|
|
{% if test_result is defined %}
|
|
<div class="alert {{ 'alert-success' if test_result else 'alert-danger' }}">
|
|
{% if test_result %}
|
|
<i class="bi bi-check-circle-fill me-2"></i>Connection successful! Settings saved.
|
|
{% else %}
|
|
<i class="bi bi-x-circle-fill me-2"></i>Connection failed: {{ test_error }}
|
|
{% endif %}
|
|
</div>
|
|
{% endif %}
|
|
|
|
<form method="post">
|
|
<div class="row g-3">
|
|
<div class="col-md-8">
|
|
<label class="form-label">Host *</label>
|
|
<input type="text" name="host" class="form-control" required
|
|
placeholder="localhost"
|
|
value="{{ creds.host if creds else request.form.get('host', '') }}">
|
|
</div>
|
|
<div class="col-md-4">
|
|
<label class="form-label">Port *</label>
|
|
<input type="number" name="port" class="form-control" required
|
|
value="{{ creds.port if creds else request.form.get('port', '3306') }}">
|
|
</div>
|
|
<div class="col-12">
|
|
<label class="form-label">Database *</label>
|
|
<input type="text" name="database" class="form-control" required
|
|
placeholder="mclogger"
|
|
value="{{ creds.database if creds else request.form.get('database', '') }}">
|
|
</div>
|
|
<div class="col-md-6">
|
|
<label class="form-label">User *</label>
|
|
<input type="text" name="user" class="form-control" required
|
|
value="{{ creds.user if creds else request.form.get('user', '') }}">
|
|
</div>
|
|
<div class="col-md-6">
|
|
<label class="form-label">Password</label>
|
|
<input type="password" name="password" class="form-control"
|
|
placeholder="{{ '(unchanged)' if creds else '' }}">
|
|
{% if creds %}
|
|
<div class="form-text">Leave blank to keep the existing password.</div>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="d-flex gap-2 mt-4">
|
|
<button type="submit" name="action" value="test_save" class="btn btn-success">
|
|
<i class="bi bi-plug-fill me-1"></i>Test & Save
|
|
</button>
|
|
{% if creds %}
|
|
<button type="submit" name="action" value="delete" class="btn btn-outline-danger"
|
|
onclick="return confirm('Delete DB configuration?')">
|
|
<i class="bi bi-trash3 me-1"></i>Remove
|
|
</button>
|
|
{% endif %}
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-5">
|
|
<div class="card border-secondary">
|
|
<div class="card-header"><i class="bi bi-info-circle me-2"></i>Info</div>
|
|
<div class="card-body">
|
|
<p class="small text-muted">
|
|
Enter the connection details for your <strong>MCLogger MySQL database</strong>.
|
|
The panel only reads data (SELECT) — write access is not required.
|
|
</p>
|
|
<p class="small text-muted">
|
|
Credentials are stored <strong>encrypted</strong> and are only visible to your group.
|
|
</p>
|
|
<hr>
|
|
<p class="small text-muted mb-1"><strong>Required tables:</strong></p>
|
|
<ul class="small text-muted">
|
|
<li>player_sessions</li>
|
|
<li>chat_messages</li>
|
|
<li>player_commands</li>
|
|
<li>block_events</li>
|
|
<li>player_deaths</li>
|
|
<li>proxy_events</li>
|
|
<li>server_events</li>
|
|
<li>permission_changes</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|