Template Name: Ajouter Carte /
// Vérifier si l'utilisateur est connecté
if (!is_user_logged_in()) {
wp_redirect(wp_login_url(site_url('/ajouter-carte-client/') . '?' . $_SERVER['QUERY_STRING']));
exit;
}
// Récupérer les paramètres d'URL
$departement = isset($_GET['dep']) ? sanitize_text_field($_GET['dep']) : '';
$type = isset($_GET['type']) ? sanitize_text_field($_GET['type']) : '';
if (!empty($departement) && !empty($type)) {
// Vérifier si le fichier JSON existe
$upload_dir = wp_upload_dir();
$json_path = $upload_dir['basedir'] . '/cartes/' . $departement . '_' . $type . '.json';
if (file_exists($json_path)) {
// Récupérer l'ID utilisateur
$user_id = get_current_user_id();
// Récupérer les cartes déjà achetées
$cartes_achetees = get_user_meta($user_id, 'cartes_achetees', true);
if (!is_array($cartes_achetees)) {
$cartes_achetees = array();
}
// Vérifier si cette carte est déjà achetée
$carte_existe = false;
foreach ($cartes_achetees as $carte) {
if ($carte['dep'] == $departement && $carte['type'] == $type) {
$carte_existe = true;
break;
}
}
if (!$carte_existe) {
// Déterminer le nom de la carte
$noms_cartes = [
'champignons' => ‘Carte Champignons d\’exception’,
‘pins’ => ‘Carte Saveurs des forêts de pins’,
‘secrets’ => ‘Carte Secrets des forêts humides’,
‘forets’ => ‘Carte Trésors des grandes forêts’
];
$nom_carte = isset($noms_cartes[$type]) ? $noms_cartes[$type] : »;
// Ajouter la carte
$cartes_achetees[] = array(
‘dep’ => $departement,
‘type’ => $type,
‘nom’ => $nom_carte,
‘date_achat’ => current_time(‘mysql’)
);
// Mettre à jour les données utilisateur
update_user_meta($user_id, ‘cartes_achetees’, $cartes_achetees);
}
}
// Rediriger vers la page « Se connecter »
wp_redirect(site_url(‘/se-connecter/’));
exit;
} else {
// Paramètres manquants, rediriger vers la page d’accueil
wp_redirect(home_url());
exit;
}
?>
