prepare("UPDATE users SET lang = ? WHERE id = ?") ->execute([$lang, $user_id]); $success = "Language updated."; } } if ($action === 'update_profile') { $display_name = trim($_POST['display_name'] ?? ''); if (!$display_name) { $error = "Le prénom ne peut pas être vide."; } else { $meta_pdo->prepare("UPDATE users SET display_name = ? WHERE id = ?") ->execute([$display_name, $user_id]); $_SESSION['user']['display_name'] = $display_name; $success = "Profil mis à jour."; } } if ($action === 'change_password') { $current = $_POST['current_password'] ?? ''; $new = $_POST['new_password'] ?? ''; $confirm = $_POST['confirm_password'] ?? ''; $row = $meta_pdo->prepare("SELECT password_hash FROM users WHERE id = ?"); $row->execute([$user_id]); $row = $row->fetch(); if (!password_verify($current, $row['password_hash'])) { $error = "Mot de passe actuel incorrect."; } elseif (strlen($new) < 6) { $error = "Le nouveau mot de passe doit faire au moins 6 caractères."; } elseif ($new !== $confirm) { $error = "Les mots de passe ne correspondent pas."; } else { $meta_pdo->prepare("UPDATE users SET password_hash = ? WHERE id = ?") ->execute([password_hash($new, PASSWORD_BCRYPT), $user_id]); $success = "Mot de passe modifié avec succès."; } } if ($action === 'update_family_name' && $family_id) { $name = trim($_POST['family_name'] ?? ''); if ($name) { $meta_pdo->prepare("UPDATE families SET name = ? WHERE id = ?") ->execute([$name, $family_id]); $success = "Nom de l'espace mis à jour."; } } if ($action === 'regen_invite' && $family_id) { $new_code = bin2hex(random_bytes(8)); $meta_pdo->prepare("UPDATE families SET invite_code = ? WHERE id = ?") ->execute([$new_code, $family_id]); $success = "Nouveau code d'invitation généré."; } } // ─── Chargement données ─────────────────────────────────────────────────────── $user = $meta_pdo->prepare("SELECT * FROM users WHERE id = ?"); $user->execute([$user_id]); $user = $user->fetch(); $family = null; $members = []; if ($family_id) { $fam = $meta_pdo->prepare("SELECT * FROM families WHERE id = ?"); $fam->execute([$family_id]); $family = $fam->fetch(); $mem = $meta_pdo->prepare("SELECT display_name, username, created_at, is_admin FROM users WHERE family_id = ? ORDER BY id"); $mem->execute([$family_id]); $members = $mem->fetchAll(); } $pageTitle = "Paramètres — HouseHub"; $activePage = "settings"; require __DIR__ . '/header.php'; ?>

⚙️ Paramètres

🌐 Langue / Language

'🇫🇷 Français', 'en' => '🇬🇧 English', 'ca' => '🏴󠁥󠁳󠁣󠁴󠁿 Català']; $currentLang = $_SESSION['app_lang'] ?? 'fr'; foreach ($langs as $code => $label): ?>

👤 Mon profil

🔒 Changer le mot de passe

🏠 Mon espace familial

Code d'invitation — partagez-le pour inviter quelqu'un

✓ Copié !

Lien d'inscription : /register.php

Membres ()

@ Admin
→ Panneau d'administration