<?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.
 */

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

ob_start();
?>

<?php if($userRole === "admin"): ?>
<a href="./?AdminKontaktform">Kontakt Formular bearbeiten</a><br><br>
<?php endif; ?>

<div id="successBanner">
    <?= $successHtml ?>
</div>

<h2>
    Alle Kontakte<?= $filter ? " mit Status '".e($statusLabels[$filter] ?? $filter)."'" : "" ?>
    (<?= (int)$totalAll ?> insgesamt)
</h2>

<form method="GET" class="user-form">
    <input type="hidden" name="AdminKontakt" value="">
    
    <div class="filter-group">
        <select name="status_filter" onchange="this.form.submit()">
            <option value="">Alle Kontakte</option>
            <?php foreach($statusLabels as $key=>$label): ?>
                <option value="<?= e($key) ?>" <?= $filter===$key?'selected':'' ?>>
                    <?= e($label) ?>
                </option>
            <?php endforeach; ?>
        </select>
    </div>
    
    <div class="filter-group">
        <input type="text" name="search" value="<?= e($search) ?>" placeholder="Suche nach Name, E-Mail...">
    </div>
    
    <div class="filter-actions">
        <button type="submit" class="admin-button">🔍 Suchen</button>
        <button type="button" class="admin-button" onclick="window.location.href='./?AdminKontakt'">🔄 Reset</button>
    </div>
</form>

<div style="margin-top:10px;" class="pagination-nav">
<?php
$statusParam = $filter ? '&status_filter='.urlencode($filter) : '';
$searchParam = $search ? '&search='.urlencode($search) : '';

if ($currentPage > 1):
?>
<a href="./?AdminKontakt<?= $statusParam.$searchParam ?>&page=<?= $currentPage-1 ?>">&laquo; Vorherige</a>
<?php endif; ?>

<span class="pagination-current">Seite <?= $currentPage ?> von <?= $totalPages ?></span>

<?php if ($currentPage < $totalPages): ?>
<a href="./?AdminKontakt<?= $statusParam.$searchParam ?>&page=<?= $currentPage+1 ?>">Nächste &raquo;</a>
<?php endif; ?>
</div><br>

<div class="admin-form-box">

<form method="POST" class="admin-form">
<input type="hidden" name="csrf_token" value="<?= e($csrfToken) ?>">

<table class="admin-table">
<thead>
<tr>
<th>ID</th>
<th>Erstellt</th>
<th class="post">Daten</th>
<th>Status</th>
<th>Kommentar</th>
<th>Aktion</th>
</tr>
</thead>

<tbody>

<?php if(empty($kontakte)): ?>
<tr><td colspan="6" style="text-align:center;">Keine Einträge</td></tr>
<?php endif; 

$rowCount = 0;
foreach($kontakte as $k): 
$rowCount++;
$rowClass = ($rowCount % 2 == 0) ? 'gerade' : 'ungerade';
?>

<tr class="<?= $rowClass ?>">
<td><?= (int)$k['etchat_id'] ?></td>
<td><?= e($k['etchat_erstellt_am']) ?></td>

<td class="daten-zelle">
<?php
$data = json_decode($k['etchat_kontakt_daten'], true) ?: [];
foreach($data as $key=>$val):
    if(is_array($val)) $val = implode(", ", $val);
?>
<strong><?= e($key) ?>:</strong> <?= e($val) ?><br>
<?php endforeach; ?>
</td>

<td>
<select name="status[<?= (int)$k['etchat_id'] ?>]" class="status-select">
<?php foreach($statusLabels as $key=>$label): ?>
<option value="<?= e($key) ?>" <?= $k['etchat_status']===$key?'selected':'' ?>>
    <?= e($label) ?>
</option>
<?php endforeach; ?>
</select>
</td>

<td>
<textarea name="kommentar[<?= (int)$k['etchat_id'] ?>]" class="admin-textarea-medium" placeholder="Kommentar eingeben..."><?= e($k['etchat_kommentar'] ?? '') ?></textarea>
</td>

<td class="aktion-zelle">
<button type="submit" name="save_kontakt" value="1" class="admin-button save-btn">💾 Speichern</button><br><br>

<button type="submit"
        name="delete_kontakt[<?= (int)$k['etchat_id'] ?>]"
        value="1"
        class="button red"
        onclick="return confirm('Wirklich löschen?')">
    🗑️ Löschen
</button>
</td>
</tr>
<?php endforeach; ?>

</tbody>
</table>

</form>
</div>

<?php
$content = ob_get_clean();

$extraScripts = <<<JS
<script>
window.addEventListener('DOMContentLoaded', () => {
    const banner = document.getElementById("successBanner");
    if (banner) {
        setTimeout(() => {
            banner.style.display = "none";
        }, 5000);
    }
});

function closeSuccessBanner() {
    const banner = document.getElementById("successBanner");
    if (banner) banner.style.display = "none";
}
</script>
JS;

$pageTitle = 'Kontakt Admin';
$backLink  = '';
$footerNote = '';

include __DIR__ . '/admin_master_template.php';