$header_count) { // Tronquer les données en trop $data = array_slice($data, 0, $header_count); } // Combiner les en-têtes et les données pour créer un tableau associatif $partners[] = array_combine($headers, $data); } fclose($handle); } return $partners; } function savePartners($partners) { if (($handle = fopen(CSV_FILE, "w")) !== FALSE) { flock($handle, LOCK_EX); if (!empty($partners)) { $headers = ['id', 'name', 'logo', 'status', 'email', 'date', 'responsable', 'tel', 'activite', 'ville', 'siteweb', 'description', 'ice', 'autre_prec']; fputcsv($handle, $headers); foreach ($partners as $partner) { // S'assurer que chaque ligne a toutes les colonnes dans le bon ordre $ordered_partner = []; foreach($headers as $header) { $ordered_partner[$header] = $partner[$header] ?? ''; } fputcsv($handle, $ordered_partner); } } flock($handle, LOCK_UN); fclose($handle); return true; } return false; } // --- LOGIQUE DE L'APPLICATION (CONTRÔLEUR) --- // Déconnexion if (isset($_GET['action']) && $_GET['action'] === 'logout') { session_destroy(); header("Location: " . htmlspecialchars($_SERVER['PHP_SELF'])); exit; } // Connexion if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['password'])) { if ($_POST['password'] === ADMIN_PASSWORD) { $_SESSION['loggedin'] = true; header("Location: " . htmlspecialchars($_SERVER['PHP_SELF'])); exit; } else { $login_error = "Mot de passe incorrect."; } } // Si non connecté, afficher le formulaire de connexion if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) { ?> Connexion - Administration Chems’Pro

Administration Chems’Pro

$partner) { if ($partner['id'] === $partnerId) { switch ($action) { case 'validate': $partners[$key]['status'] = 'Validé'; $updated = true; break; case 'refuse': $partners[$key]['status'] = 'Refusé'; $updated = true; break; case 'set_pending': $partners[$key]['status'] = 'En attente'; $updated = true; break; case 'delete': unset($partners[$key]); $updated = true; break; } break; } } if ($updated) { savePartners(array_values($partners)); header("Location: " . htmlspecialchars($_SERVER['PHP_SELF']) . "?status=success"); exit; } } ?> Administration des Partenaires Chems’Pro

Administration des Partenaires Chems’Pro

Retour à la page publique Déconnexion
Opération effectuée avec succès ! Nouveau partenaire ajouté avec succès !

Tableau de gestion des partenaires

+ Ajouter un partenaire
'bg-green-100 text-green-800 border-green-300', 'En attente' => 'bg-yellow-100 text-yellow-800 border-yellow-300', 'Refusé' => 'bg-red-100 text-red-800 border-red-300', ]; $status_class = $status_classes[$partner['status'] ?? ''] ?? 'bg-gray-100 text-gray-800'; $partner_json = htmlspecialchars(json_encode($partner), ENT_QUOTES, 'UTF-8'); ?>
ID Logo Nom de l'entreprise Statut Actions
Aucun partenaire trouvé.
Logo Valider Refuser Mettre en attente Supprimer la fiche