prepare(" SELECT can_manage_rdv FROM secretaire_praticien WHERE secretaire_user_id = :u AND praticien_id = :p AND is_active = 1 LIMIT 1 "); $st->execute(['u'=>$compteId,'p'=>$praticien_id]); $pivot = $st->fetch(PDO::FETCH_ASSOC); if (!$pivot || (int)$pivot['can_manage_rdv'] !== 1) { http_response_code(403); exit('Forbidden'); } // --- Paramètres $id_rdv = isset($_GET['id']) ? (int)$_GET['id'] : null; // --- Suppression (POST) : bornée au praticien + statut 'annulé' if ($id_rdv && isset($_POST['delete'])) { // delete uniquement si le RDV appartient à ce praticien et est annulé $del = $pdo->prepare("DELETE FROM rendez_vous WHERE id = :id AND praticien_id = :p AND statut = 'annulé'"); $del->execute(['id'=>$id_rdv,'p'=>$praticien_id]); echo '
'; echo '
'; echo '
'; echo ' '; echo ' '; echo ' '.h($translations['retour_a_la_liste'] ?? 'Retour à la liste').' '; echo '
'; echo '
'; echo '
'; exit; } // --- Charger les RDV (bornés au praticien) if ($id_rdv) { $stmt = $pdo->prepare(" SELECT rv.*, c.nom AS nom_client, c.prenom AS prenom_client FROM rendez_vous rv JOIN client c ON rv.client_id = c.id WHERE rv.id = :id AND rv.praticien_id = :p LIMIT 1 "); $stmt->execute(['id'=>$id_rdv,'p'=>$praticien_id]); $one = $stmt->fetch(PDO::FETCH_ASSOC); $rdvs = $one ? [$one] : []; } else { $stmt = $pdo->prepare(" SELECT rv.*, c.nom AS nom_client, c.prenom AS prenom_client FROM rendez_vous rv JOIN client c ON rv.client_id = c.id WHERE rv.praticien_id = :p ORDER BY rv.date_rdv DESC "); $stmt->execute(['p'=>$praticien_id]); $rdvs = $stmt->fetchAll(PDO::FETCH_ASSOC); } // --- Map statuts (valeurs BDD -> libellés traduits) $statutMap = [ 'prévu' => $translations['statut_prevu'] ?? 'Prévu', 'confirmé' => $translations['statut_confirme'] ?? 'Confirmé', 'annulé' => $translations['statut_annule'] ?? 'Annulé', 'terminé' => $translations['statut_termine'] ?? 'Terminé', ]; $PAGE_TITRE = $translations['mes_rdv_title'] ?? 'Mes rendez-vous'; $HEAD_EXTRA = << HTML; require_once __DIR__ . '/../includes/header_cabinet.php'; ?>

-

format('d/m/Y')) ?> format('H:i')) ?>