public/admin.html aktualisiert

This commit is contained in:
M_Viper 2024-10-18 13:01:58 +00:00
parent 70fca1f6f2
commit dbf1fe80ff
1 changed files with 255 additions and 251 deletions

View File

@ -1,252 +1,256 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="de"> <html lang="de">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/admin.css"> <link rel="stylesheet" href="css/admin.css">
<link rel="icon" type="image/png" href="img/Viper-plex-logo.png"> <link rel="icon" type="image/png" href="img/Viper-plex-logo.png">
<title>Admin-Bereich</title> <title>Admin-Bereich</title>
</head> </head>
<body> <body>
<!-- Logo separat einfügen --> <!-- Logo separat einfügen -->
<div class="logo-container"> <div class="logo-container">
<a href="index.html"> <a href="index.html">
<img src="img/Viper-plex-logo.png" alt="Viper-Plex Logo" class="logo"> <img src="img/Viper-plex-logo.png" alt="Viper-Plex Logo" class="logo">
</a> </a>
</div> </div>
<div class="welcome-box"> <div class="welcome-box">
<h1>Willkommen bei Viper-Plex</h1> <h1>Willkommen bei Viper-Plex</h1>
<nav class="navbar"> <nav class="navbar">
<div class="navbar-container"> <div class="navbar-container">
<a href="index.html" class="navbar-link">Home</a> <a href="index.html" class="navbar-link">Home</a>
<a href="wunsch.html" class="navbar-link">Film & Serien Wunsch</a> <a href="wunsch.html" class="navbar-link">Film & Serien Wunsch</a>
<a href="anleitung.html" class="navbar-link">Anleitung</a> <a href="anleitung.html" class="navbar-link">Anleitung</a>
<a href="funktionen.html" class="navbar-link">Funktionen</a> <a href="funktionen.html" class="navbar-link">Funktionen</a>
<a href="faq.html" class="navbar-link">FAQs</a> <a href="faq.html" class="navbar-link">FAQs</a>
<a href="kontakt.html" class="navbar-link">Kontakt</a> <a href="kontakt.html" class="navbar-link">Kontakt</a>
<a href="link.html" class="navbar-link">Links</a> <a href="link.html" class="navbar-link">Links</a>
<a href="report.html" class="navbar-link">Meldungen</a> <a href="report.html" class="navbar-link">Meldungen</a>
<a href="admin.html" class="navbar-link">Admin</a> <a href="admin.html" class="navbar-link">Admin</a>
</div> </div>
</nav> </nav>
<!-- Darkmode Umschalter --> <!-- Darkmode Umschalter -->
<label class="switch"> <label class="switch">
<input type="checkbox" id="dark-mode-toggle"> <input type="checkbox" id="dark-mode-toggle">
<span class="slider"></span> <span class="slider"></span>
</label> </label>
</div> </div>
<div id="sidebar" style="display:none;"> <div id="sidebar" style="display:none;">
<h2> </h2> <h2> </h2>
<ul> <ul>
<li><a href="#dashboard" id="dashboard-link">Dashboard</a></li> <li><a href="#dashboard" id="dashboard-link">Dashboard</a></li>
<li><a href="#logs" id="logs-link">Logs</a></li> <li><a href="#logs" id="logs-link">Logs</a></li>
<li><a href="#users" id="users-link">Benutzer</a></li> <li><a href="#users" id="users-link">Benutzer</a></li>
<li><a href="#wishes" id="wishes-link">Offene Wünsche</a></li> <li><a href="#wishes" id="wishes-link">Offene Wünsche</a></li>
<li><a href="#feedback" id="feedback-link">Feedback</a></li> <li><a href="#feedback" id="feedback-link">Feedback</a></li>
<li><a href="#send-message" id="send-message-link">Nachricht an Benutzer</a></li> <li><a href="#send-message" id="send-message-link">Nachricht an Benutzer</a></li>
<li><a href="#backups" id="backups-link">Backups</a></li> <li><a href="#backups" id="backups-link">Backups</a></li>
<li><a href="#dev-report" id="dev-report-link">Dev Report</a></li> <li><a href="#dev-report" id="dev-report-link">Dev Report</a></li>
<li><a href="#faq" id="faq-link">FAQs</a></li> <li><a href="#faq" id="faq-link">FAQs</a></li>
<li><a href="#admin-help" id="admin-help-link">Admin Hilfe</a></li> <li><a href="#admin-help" id="admin-help-link">Admin Hilfe</a></li>
<li><a href="#logout" id="logout-button" onclick="logout()">Logout</a></li> <li><a href="#logout" id="logout-button" onclick="logout()">Logout</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">
<div id="login-form"> <div id="login-form">
<div class="login-container"> <div class="login-container">
<img src="img/Viper-plex-logo.png" alt="Logo" class="login-logo"> <img src="img/Viper-plex-logo.png" alt="Logo" class="login-logo">
<h2>Admin Login</h2> <h2>Admin Login</h2>
<form id="form" action="/admin" method="POST"> <form id="form" action="/admin" method="POST">
<input type="password" name="password" placeholder="Passwort" required> <input type="password" name="password" placeholder="Passwort" required>
<div class="error-message" id="error-message" style="display:none;">Ungültiges Passwort!</div> <div class="error-message" id="error-message" style="display:none;">Ungültiges Passwort!</div>
<button type="submit">Einloggen</button> <button type="submit">Einloggen</button>
</form> </form>
</div> </div>
</div> </div>
<div id="admin-area" style="display:none;"> <div id="admin-area" style="display:none;">
<h2>Willkommen im Admin-Bereich!</h2> <h2>Willkommen im Admin-Bereich!</h2>
<p>Hier kannst du alle administrativen Funktionen nutzen.</p> <p>Hier kannst du alle administrativen Funktionen nutzen.</p>
<!-- Logout-Timer --> <div id="notification" class="notification"></div>
<div id="logout-timer-box" style="display: flex; justify-content: flex-end; background-color: rgba(255, 255, 255, 0); padding: 10px; border-bottom: 2px solid rgba(255, 0, 0, 0);"> <!-- Logout-Timer -->
<div id="logout-timer" style="color: rgb(255, 0, 0); font-weight: bold;"></div> <div id="logout-timer-box" style="display: flex; justify-content: flex-end; background-color: rgba(255, 255, 255, 0); padding: 10px; border-bottom: 2px solid rgba(255, 0, 0, 0);">
</div> <div id="logout-timer" style="color: rgb(255, 0, 0); font-weight: bold;"></div>
</div>
<div id="dashboard">
<div class="dashboard-container">
<div id="bot-uptime" class="dashboard-box">
<div class="dashboard-header">
<h3>Bot Laufzeit</h3> <div id="dashboard">
<button class="resize" onclick="resizeBox(this)">🔍</button> <div class="dashboard-container">
</div> <div id="bot-uptime" class="dashboard-box">
Lade aktuelle Laufzeit des Bots... <div class="dashboard-header">
</div> <h3>Bot Laufzeit</h3>
</div> <button class="resize" onclick="resizeBox(this)">🔍</button>
<div class="dashboard-container"> </div>
<div id="bot-restart" class="dashboard-box"> Lade aktuelle Laufzeit des Bots...
<div class="dashboard-header"> </div>
<h3>Letzter Neustart</h3> </div>
<button class="resize" onclick="resizeBox(this)">🔍</button> <div class="dashboard-container">
</div> <div id="bot-restart" class="dashboard-box">
Lade letzten Neustart des Bots... <div class="dashboard-header">
</div> <h3>Letzter Neustart</h3>
</div> <button class="resize" onclick="resizeBox(this)">🔍</button>
</div>
<div id="media-count" class="dashboard-box"> Lade letzten Neustart des Bots...
<div class="dashboard-header"> </div>
<h3>Medienanzahl</h3> </div>
<button class="resize" onclick="resizeBox(this)"></button>
</div> <div id="media-count" class="dashboard-box">
<div id="media-count-content"> <div class="dashboard-header">
Lade Anzahl der Filme und Serien... <h3>Medienanzahl</h3>
</div> <button class="resize" onclick="resizeBox(this)"></button>
</div> </div>
<div id="media-count-content">
<div class="dashboard-container"> Lade Anzahl der Filme und Serien...
<div id="server-info" class="dashboard-box"> </div>
<div class="dashboard-header"> </div>
<h3>Server Informationen</h3>
<button class="resize" onclick="resizeBox(this)">🔍</button> <div class="dashboard-container">
</div> <div id="server-info" class="dashboard-box">
Lade Serverinformationen... <div class="dashboard-header">
</div> <h3>Server Informationen</h3>
</div> <button class="resize" onclick="resizeBox(this)">🔍</button>
<div class="dashboard-container"> </div>
<div id="file-check" class="dashboard-box"> Lade Serverinformationen...
<div class="dashboard-header"> </div>
<h3>Dateiüberprüfung</h3> </div>
<button class="resize" onclick="resizeBox(this)">🔍</button> <div class="dashboard-container">
</div> <div id="file-check" class="dashboard-box">
Lade Dateiüberprüfung... <div class="dashboard-header">
</div> <h3>Dateiüberprüfung</h3>
</div> <button class="resize" onclick="resizeBox(this)">🔍</button>
</div> </div>
Lade Dateiüberprüfung...
<div id="faq-container" style="display: none;"> </div>
<div class="log-header"> </div>
<h3>Häufig gestellte Fragen (FAQs)</h3> </div>
<button class="log-button blue-button" onclick="addFaq()">FAQ hinzufügen</button>
<button class="log-button red-button" onclick="deleteFaq()">FAQ löschen</button> <div id="faq-container" style="display: none;">
</div> <div class="log-header">
<pre>Lade FAQs...</pre> <!-- Dieser <pre>-Tag wird verwendet, um die FAQs anzuzeigen --> <h3>Häufig gestellte Fragen (FAQs)</h3>
</div> <button class="log-button blue-button" onclick="addFaq()">FAQ hinzufügen</button>
<button class="log-button red-button" onclick="deleteFaq()">FAQ löschen</button>
<div id="logs" style="display:none;"> </div>
<h2>Logs</h2> <pre>Lade FAQs...</pre> <!-- Dieser <pre>-Tag wird verwendet, um die FAQs anzuzeigen -->
</div>
<!-- Debug-Toggle Button -->
<div id="debug-toggle"> <div id="logs" style="display:none;">
<button id="debug-button" style="background-color: green; color: white;" onclick="toggleDebugMode()">Debug OFF</button> <h2>Logs</h2>
</div>
<!-- Debug-Toggle Button -->
<div class="log-container"> <div id="debug-toggle">
<div id="command-history" class="log-box"> <button id="debug-button" style="background-color: green; color: white;" onclick="toggleDebugMode()">Debug OFF</button>
<div class="log-header"> </div>
<h3>Command-Historie</h3>
<button class="log-button" onclick="downloadCommandHistory()">Download Command Log</button> <div class="log-container">
<button class="log-button red-button" onclick="deleteCommandHistory()">Kommando-Historie löschen</button> <div id="command-history" class="log-box">
</div> <div class="log-header">
<pre>Lade Command-Historie...</pre> <h3>Command-Historie</h3>
</div> <button class="log-button" onclick="downloadCommandHistory()">Download Command Log</button>
<button class="log-button red-button" onclick="deleteCommandHistory()">Kommando-Historie löschen</button>
<div id="error-log" class="log-box"> </div>
<div class="log-header"> <pre>Lade Command-Historie...</pre>
<h3>Fehlerprotokoll</h3> </div>
<button class="log-button" onclick="downloadErrorLog()">Download Error Log</button>
<button class="log-button red-button" onclick="deleteErrorLog()">Fehlerprotokoll löschen</button> <div id="error-log" class="log-box">
</div> <div class="log-header">
<pre>Lade Fehlerprotokolle...</pre> <h3>Fehlerprotokoll</h3>
</div> <button class="log-button" onclick="downloadErrorLog()">Download Error Log</button>
</div> <button class="log-button red-button" onclick="deleteErrorLog()">Fehlerprotokoll löschen</button>
</div> </div>
<pre>Lade Fehlerprotokolle...</pre>
<!-- Benutzer (User) Bereich --> </div>
<div id="users" style="display:none;"> </div>
<h2>Benutzerinformationen</h2> </div>
<div id="users-content" class="users-box">
<p>Lade Benutzerinformationen...</p> <!-- Benutzer (User) Bereich -->
</div> <div id="users" style="display:none;">
</div> <h2>Benutzerinformationen</h2>
<div id="users-content" class="users-box">
<div id="send-message" style="display: none;"> <p>Lade Benutzerinformationen...</p>
<h2>Nachricht an alle Benutzer senden</h2> </div>
<textarea id="message-input" rows="4" placeholder="Gib hier deine Nachricht ein..."></textarea> </div>
<button onclick="sendMessage()">Nachricht senden</button>
<div id="send-message-status" style="margin-top: 10px;"></div> <div id="send-message" style="display: none;">
</div> <h2>Nachricht an alle Benutzer senden</h2>
<textarea id="message-input" rows="4" placeholder="Gib hier deine Nachricht ein..."></textarea>
<div id="wishes" style="display:none;"> <button onclick="sendMessage()">Nachricht senden</button>
<h2>Offene Wünsche</h2> <div id="send-message-status" style="margin-top: 10px;"></div>
<div id="wishes-content" class="wishes-box"> </div>
<p>Lade offene Wünsche...</p>
</div> <div id="wishes" style="display:none;">
</div> <h2>Offene Wünsche</h2>
<div id="wishes-content" class="wishes-box">
<div id="feedback" style="display:none;"> <p>Lade offene Wünsche...</p>
<h2>Feedback</h2> </div>
<div id="feedback-content" class="feedback-box"> </div>
<p>Lade Feedback...</p>
</div> <div id="feedback" style="display:none;">
</div> <h2>Feedback</h2>
<div id="admin-help" style="display:none;"> <!-- Admin Hilfe Sektion --> <div id="feedback-content" class="feedback-box">
<h3>👨‍💻 Admin-Befehle</h3> <p>Lade Feedback...</p>
<p>Für Administratoren stehen folgende Befehle zur Verfügung:</p> </div>
<ul> </div>
<li><strong>Nachricht senden:</strong> Mit <code>/admin</code> kannst du eine Nachricht an alle Nutzer senden.</li> <div id="admin-help" style="display:none;"> <!-- Admin Hilfe Sektion -->
<li><strong>Offene Wünsche:</strong> Der Befehl <code>/open_wishes</code> zeigt alle offenen Filmwünsche an.</li> <h3>👨‍💻 Admin-Befehle</h3>
<li><strong>Benutzerinformationen:</strong> Mit <code>/user</code> kannst du spezifische Benutzerinformationen abrufen.</li> <p>Für Administratoren stehen folgende Befehle zur Verfügung:</p>
<li><strong>Newsletter:</strong> Der Befehl <code>/newsletter</code> zeigt die Newsletter-Funktion an.</li> <ul>
<li><strong>Logs:</strong> Verwende <code>/logs</code>, um die letzten Fehlermeldungen anzuzeigen.</li> <li><strong>Nachricht senden:</strong> Mit <code>/admin</code> kannst du eine Nachricht an alle Nutzer senden.</li>
<li><strong>Passwort:</strong> Verwende <code>/passwd</code>, um das Passwort vom Frontend anzuzeigen.</li> <li><strong>Offene Wünsche:</strong> Der Befehl <code>/open_wishes</code> zeigt alle offenen Filmwünsche an.</li>
<li><strong>Support-Ticket:</strong> Verwende <code>/support</code>, um ein Support-Ticket an den Bot-Ersteller zu erstellen.</li> <li><strong>Benutzerinformationen:</strong> Mit <code>/user</code> kannst du spezifische Benutzerinformationen abrufen.</li>
</ul> <li><strong>Newsletter:</strong> Der Befehl <code>/newsletter</code> zeigt die Newsletter-Funktion an.</li>
</br> <li><strong>Logs:</strong> Verwende <code>/logs</code>, um die letzten Fehlermeldungen anzuzeigen.</li>
</br> <li><strong>Passwort:</strong> Verwende <code>/passwd</code>, um das Passwort vom Frontend anzuzeigen.</li>
<li><strong>Support-Ticket:</strong> Verwende <code>/support</code>, um ein Support-Ticket an den Bot-Ersteller zu erstellen.</li>
<h3>⚙️ Dev-Befehle</h3> </ul>
<p>Für Entwickler gibt es folgende spezielle Befehle:</p> </br>
<ul> </br>
<li><strong>Aktualisieren:</strong> Mit <code>/update</code> wird die <code>user.yml</code> aktualisiert.</li>
<li><strong>Befehlsverlauf:</strong> Der Befehl <code>/command_history</code> zeigt eine Liste der zuletzt verwendeten Befehle an.</li> <h3>⚙️ Dev-Befehle</h3>
<li><strong>Backup erstellen:</strong> Verwende <code>/backup</code>, um ein Backup zu erstellen und als ZIP-Datei zu senden.</li> <p>Für Entwickler gibt es folgende spezielle Befehle:</p>
<li><strong>Serverinfo:</strong> Mit <code>/serverinfo</code> erhältst du Informationen über den Server.</li> <ul>
<li><strong>Health Check:</strong> Der Befehl <code>/healthcheck</code> überprüft den Bot.</li> <li><strong>Aktualisieren:</strong> Mit <code>/update</code> wird die <code>user.yml</code> aktualisiert.</li>
<li><strong>Debug-Modus:</strong> Mit <code>/setdebug</code> kannst du den Debug-Modus aktivieren oder deaktivieren.</li> <li><strong>Befehlsverlauf:</strong> Der Befehl <code>/command_history</code> zeigt eine Liste der zuletzt verwendeten Befehle an.</li>
</ul> <li><strong>Backup erstellen:</strong> Verwende <code>/backup</code>, um ein Backup zu erstellen und als ZIP-Datei zu senden.</li>
</div> <li><strong>Serverinfo:</strong> Mit <code>/serverinfo</code> erhältst du Informationen über den Server.</li>
<li><strong>Health Check:</strong> Der Befehl <code>/healthcheck</code> überprüft den Bot.</li>
<!-- Backup-Bereich hinzufügen --> <li><strong>Debug-Modus:</strong> Mit <code>/setdebug</code> kannst du den Debug-Modus aktivieren oder deaktivieren.</li>
<div id="backups" style="display:none; position: relative;"> <!-- relative Positionierung für den Container --> </ul>
<h2>Backups</h2> </div>
<div class="log-header">
<button id="create-backup">Backup erstellen</button> <!-- Backup-Bereich hinzufügen -->
<div id="backup-status"></div> <div id="backups" style="display:none; position: relative;"> <!-- relative Positionierung für den Container -->
</div> <h2>Backups</h2>
<h3>Verfügbare Backups:</h3> <div class="log-header">
<div id="backups-list"></div> <button id="create-backup">Backup erstellen</button>
<div id="backup-status"></div>
<!-- Hinweis-Label mit absoluter Positionierung --> </div>
<p style="position: absolute; top: 20px; right: 20px; color: red;"> <h3>Verfügbare Backups:</h3>
Hinweis: Alle Backups sind durch ein Passwort geschützt! <div id="backups-list"></div>
</p>
</div> <!-- Hinweis-Label mit absoluter Positionierung -->
<p style="position: absolute; top: 20px; right: 20px; color: red;">
<div id="dev-report" style="display: none;"> Hinweis: Alle Backups sind durch ein Passwort geschützt!
<h2>Entwicklerberichte</h2> </p>
<div id="dev-report-content"> </div>
<!-- Inhalte werden hier geladen -->
</div> <div id="dev-report" style="display: none;">
</div> <h2>Entwicklerberichte</h2>
<div id="dev-report-content">
</div> <!-- Inhalte werden hier geladen -->
</div> </div>
<footer class="footer"> </div>
<p>&copy; 2024 Viper-Plex. Alle Rechte vorbehalten.</p>
</footer> </div>
<script src="js/admin.js"></script> </div>
</body> <footer class="footer">
<p>&copy; 2024 Viper-Plex. Alle Rechte vorbehalten.</p>
</footer>
<script src="js/admin.js"></script>
</body>
</html> </html>