<?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.
 */
 
$csrf = (string)($_SESSION['etchat_' . $this->_prefix . 'csrf_token'] ?? '');

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

ob_start();
?>
<div class="kachel-grid">
	<div class="section">
        <?= $print_sort_form ?? '' ?>
    </div>

	<div class="section">
		<div>
			<strong>Registrierte Benutzer: <?= (int)$total ?> User</strong>
		</div>
	<br>
		<div class="admin-toolbar-box">
			<?= $print_sitemaker ?? '' ?>
		</div>
	</div>
</div>

<?= $print_user_table ?? '' ?>

<br>Wenn ein Benutzer gelöscht wird, wird der gelöschte Name wieder für den Gastzugang freigegeben.<br><br>
<div class="admin-toolbar">
    <div class="admin-toolbar-box">
Inaktive Benutzer löschen (nicht online seit):
        <?= $print_user_extra ?? '' ?>
    </div>
</div>
<script>
document.addEventListener("DOMContentLoaded", () => {

    const markBtn = document.getElementById("mark_all_btn");
    const deleteBtn = document.getElementById("delete_selected_btn");
    const checkboxes = document.querySelectorAll(".chk_user");
    const form = document.getElementById("checkers");
    const hiddenInput = document.getElementById("userids");

    // =========================
    // ALLE MARKIEREN
    // =========================
    if (markBtn) {
        markBtn.addEventListener("click", () => {

            const allChecked = Array.from(checkboxes).every(cb => cb.checked);

            checkboxes.forEach(cb => cb.checked = !allChecked);

            markBtn.value = allChecked
                ? "Alle markieren"
                : "Alle abwählen";
        });
    }

    // =========================
    // AUSGEWÄHLTE LÖSCHEN
    // =========================
    if (deleteBtn) {
        deleteBtn.addEventListener("click", () => {

            const selected = Array.from(checkboxes)
                .filter(cb => cb.checked)
                .map(cb => cb.value);

            if (selected.length === 0) {
                alert("Keine Benutzer ausgewählt");
                return;
            }

            if (!confirm("Ausgewählte Benutzer wirklich löschen?")) {
                return;
            }

            hiddenInput.value = selected.join(",");
            form.submit();
        });
    }

});

document.addEventListener("DOMContentLoaded", () => {

    const select = document.getElementById("site_selecter");

    if (!select) return;

    select.addEventListener("change", () => {

        const params = new URLSearchParams(window.location.search);

        params.set("AdminRegUserIndex", "1");
        params.set("site", select.value);

        // WICHTIG: state behalten
        const sort = params.get("sort");
        const search = params.get("search");

        if (sort) params.set("sort", sort);
        if (search) params.set("search", search);

        window.location.search = params.toString();
    });

});
</script>
<?php
$content = ob_get_clean();

$pageTitle = 'Registrierte Benutzer verwalten (' . $total . ' User)';
$backLink = './?AdminIndex';
$footerNote = $lang->note[0]->tagData ?? '';

include __DIR__ . '/admin_master_template.php';