<?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.) 
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> Update überschreibt Dateien und kann die Datenbank verändern!<br>
        Updates immer der Reihenfolge nach installieren!<br>
        Nach jedem Update: Logout + neu einloggen!<br>
        Danach Backup erstellen!
    </div>

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

    <!-- Update Check -->
    <div class="section">
        <?php $this->checkForNewVersion(); ?>
    </div>
	</div>
<!-- ===================================================== -->
<div class="section">
    <!-- Upload -->
    <div class="section">
        <b>Update 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="update_file" required>
            <button>Upload</button>
        </form>
    </div>

</div>
</div>

    <!-- Liste -->
    <div class="section">
        <b>Vorhandene Updates</b>

        <?php if (empty($updateFiles)): ?>
            <p>Keine Updates vorhanden</p>
        <?php else: ?>

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

						<!-- Restore -->
						<?php if ($file['type'] === 'zip'): ?>
							<form method="post">
								<input type="hidden" name="action" value="restore">
								<input type="hidden" name="file" value="<?= e($file['name']) ?>">
								<input type="hidden" name="csrf_token" value="<?= e($csrfToken) ?>">
								<button class="button green">Einspielen</button>
							</form>
						<?php else: ?>
							<span class="button gray">Nicht erlaubt</span>
						<?php endif; ?>

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

						<!-- Download -->
						<form method="get" action="update/<?= e($file['name']) ?>">
							<input type="hidden" name="csrf_token" value="<?= e($csrfToken) ?>">
							<button type="submit" class="button">Download</button>
						</form>

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

        <?php endif; ?>
    </div>

</div>

<?php
$content = ob_get_clean();

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

include __DIR__ . '/admin_master_template.php';