<?php
declare(strict_types=1);

/**
ET-Chat Copyright by SEDesign | ET-Chat v3.x.x Lizenz: CCPL | Autor: Evgeni Tcherkasski (info@s-e-d.de)
ET-Chat_T-FISH-MOD Weiterentwicklungen, Optimierungen und Ergänzungen am Code sind das geistige Eigentum von Tommy (Thomas Kuhn) und Harlekin (Bernd Witte).

Die darauf folgende Optimierungen und Ergänzungen am Code sind das Geistige Eigentum von Powermen (Christian K.)
und wird unter der Namenserweiterung M.C.v.x.x.x. geführt. 
PHP 8/9 Ready, XML Parser, PDO Prepared Statements Get Set sicherheit usw.
 */

$style = $_SESSION['etchat_' . $this->_prefix . 'style'] ?? 'default';
$style = preg_replace('/[^a-zA-Z0-9_\-]/', '', (string)$style);

function e(string $v): string {
    return htmlspecialchars($v, ENT_QUOTES, 'UTF-8');
}

ob_start();
?>

<div class="container">

    <div class="warning">
        <strong>Achtung:</strong> Wiederherstellung überschreibt Daten!<br>
		Keine alten Backupdateinen in das System einspielen (Wiederherstellen) wenn Ihr ein System Update gemacht habt.
    </div>

<div class="kachel-grid">
<!-- ===================================================== -->
<div class="section">

    <!-- Backup erstellen -->
    <div class="section">
        <b>Neues Backup erstellen</b><br>
		Erstellt ein komplettes Backup der Datenbank und aller wichtigen Dateien.
        <form method="post">
            <input type="hidden" name="csrf_token" value="<?= e($csrfToken) ?>">
            <input type="hidden" name="action" value="creating">
            <button>Backup erstellen</button>
        </form>
    </div>
</div>

<!-- ===================================================== -->
<div class="section">
    <!-- Upload -->
    <div class="section">
        <b>Backup hochladen</b>
        <form method="post" enctype="multipart/form-data">
            <input type="hidden" name="csrf_token" value="<?= e($csrfToken) ?>">
            <input type="hidden" name="action" value="upload">

            <input type="file" name="backup_file" required>
            <button>Upload</button>
        </form>
		Nur .sql (Datenbank) und .zip (Dateien) erlaubt
    </div>
  </div>
</div>
    <!-- Liste -->
    <div class="section">
        <b>Vorhandene Backups</b>

        <?php if (empty($backupFiles)): ?>
            <p>Keine Backups vorhanden</p>
        <?php else: ?>

        <table class="backup-table">
            <?php foreach ($backupFiles as $file): ?>
                <tr>
                    <td><?= e($file['name']) ?></td>
                    <td><?= e($file['type']) ?></td>
                    <td><?= e((string)$file['size']) ?> KB</td>
                    <td><?= e($file['date']) ?></td>
                    <td class="backup-actions">

                        <!-- Restore -->
                        <form method="post">
                            <input type="hidden" name="csrf_token" value="<?= e($csrfToken) ?>">
                            <input type="hidden" name="action" value="restoring">
                            <input type="hidden" name="file" value="<?= e($file['name']) ?>">
                            <button>Restore</button>
                        </form>

                        <!-- Delete -->
                        <form method="post">
                            <input type="hidden" name="csrf_token" value="<?= e($csrfToken) ?>">
                            <input type="hidden" name="action" value="delete">
                            <input type="hidden" name="file" value="<?= e($file['name']) ?>">
                            <button class="button red"
									onclick="return confirm('Backupdatei &quot;<?= e($file['name']) ?>&quot; wirklich löschen?');">
								Löschen
							</button>
                        </form>

                        <!-- Download -->
                        <form method="get" action="backup/<?= e($file['name']) ?>">
							<button type="submit" class="button">Download</button>
						</form>

                    </td>
                </tr>
            <?php endforeach; ?>
        </table>

        <?php endif; ?>
    </div>
</div>

<?php
$content = ob_get_clean();

$pageTitle = 'Backup Verwaltung';
$backLink  = './?AdminIndex';
$footerNote = '';

include __DIR__ . '/admin_master_template.php';