<?php require_once __DIR__.'/../app/bootstrap.php'; require_once __DIR__.'/_layout.php'; $user=require_login($pdo); csrf_check(); $message=''; $ok=false; if($_SERVER['REQUEST_METHOD']==='POST'){ if(isset($_POST['delete_account'])){ if(trim($_POST['confirm_delete'] ?? '') !== 'LÖSCHEN'){ $message='Bitte LÖSCHEN ins Bestätigungsfeld schreiben.'; } elseif(delete_account($pdo, (int)$user['id'], $_POST['password'] ?? '')) { header('Location: login.php?account_deleted=1'); exit; } else { $message='Konto konnte nicht gelöscht werden. Passwort prüfen.'; } } else { [$ok,$message]=update_account_profile($pdo, (int)$user['id'], $_POST['email']??'', $_POST['name']??'', $_POST['current_password']??''); if($ok){ $user=current_user($pdo); } } } $countStmt=$pdo->prepare('SELECT COUNT(*) FROM '.qtbl('qr_codes').' WHERE user_id=?'); $countStmt->execute([$user['id']]); $qrCount=(int)$countStmt->fetchColumn(); page_header('Konto'); if($message) echo '<p class="notice '.($ok?'ok':'').'">'.e($message).'</p>'; ?>
<section class="card formgrid"><h2>Benutzerdaten ändern</h2><p class="muted">Aus Sicherheitsgründen wird dein aktuelles Passwort erst abgefragt, wenn du Name oder E-Mail-Adresse änderst.</p><form method="post" class="formgrid" data-account-form><input type="hidden" name="csrf" value="<?= e(csrf_token()) ?>"><label>Name <span class="muted">optional</span><input name="name" maxlength="100" autocomplete="name" value="<?= e($_POST['name'] ?? $user['name'] ?? '') ?>" data-original-value="<?= e($user['name'] ?? '') ?>"></label><label>E-Mail<input name="email" type="email" required value="<?= e($_POST['email'] ?? $user['email']) ?>" data-original-value="<?= e($user['email']) ?>"></label><div class="account-password-confirm" data-account-password hidden><label>Aktuelles Passwort<span class="password-field"><input name="current_password" type="password" autocomplete="current-password" data-password-toggle><button type="button" class="password-toggle" data-password-toggle-button aria-label="Passwort anzeigen" aria-pressed="false"><span class="eye-open" aria-hidden="true">&#128065;</span><span class="eye-closed" aria-hidden="true">&#128584;</span></button></span></label><p class="muted">Bitte bestätige die Änderung mit deinem aktuellen Passwort.</p></div><button class="btn">Konto speichern</button></form></section>
<section class="card dangerzone"><h2>Konto löschen</h2><p class="muted">Beim Löschen werden dein Benutzerkonto, <?= $qrCount ?> QR-Code(s) und alle zugehörigen Statistikdaten endgültig entfernt.</p><form method="post" class="formgrid" data-confirm="Konto und alle zugehörigen QR-Codes endgültig löschen?"><input type="hidden" name="csrf" value="<?= e(csrf_token()) ?>"><label>Aktuelles Passwort<input name="password" type="password" required></label><label>Zur Bestätigung LÖSCHEN eingeben<input name="confirm_delete" required></label><button class="btn danger" name="delete_account" value="1">Konto endgültig löschen</button></form></section>
<?php page_footer(); ?>