$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
$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
Opération effectuée avec succès !
Nouveau partenaire ajouté avec succès !
| ID |
Logo |
Nom de l'entreprise |
Statut |
Actions |
| Aucun partenaire trouvé. |
'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');
?>
| = htmlspecialchars($partner['id'] ?? '') ?> |
 ?>?get_image=<?= urlencode(htmlspecialchars($partner['logo'] ?? '')) ?>) |
= htmlspecialchars($partner['name'] ?? '') ?> |
= htmlspecialchars($partner['status'] ?? '') ?> |
Valider
Refuser
Mettre en attente
Supprimer la fiche
|
Aperçu de l'attestation