session_start(); /* require 'views/erreur/indisponibilite.php'; exit; */ $GLOBALS['affichage_bandeau_promo'] = 0; require $_SERVER['DOCUMENT_ROOT'] . '/begin.php'; if ($_SESSION['member'] -> supprime == 2) { View :: display('abonnement/abonnement'); exit; } $app_signature = 'CroozrApp'; // 2. Récupérer l'entête User-Agent $user_agent = $_SERVER['HTTP_USER_AGENT']; // 3. Vérifier la présence de la signature dans l'entête $is_app = strpos($user_agent, $app_signature) !== false; //require $_SERVER['DOCUMENT_ROOT'] . '/localization.php'; $action = Url :: getAction(); $pub_id = Url :: getPub_id(); $cat = Url :: getCat(); $_SESSION['default_case'] = false; // ✅ Si l'app n'a pas de session, essayer de la restaurer depuis le cookie /*if ($is_app && !User::isMember()) { $authToken = $_COOKIE['croozr_auth'] ?? ''; if ($authToken) { require $_SERVER['DOCUMENT_ROOT'] . '/conf/mysqli_base_master.php'; $authToken = Mysql2::escape($authToken); $query = " SELECT token_user_id FROM user_tokens WHERE token = '$authToken' AND token_expiration > NOW() "; $result = $dbi_master->query($query); if ($result && $row = mysqli_fetch_assoc($result)) { $userId = $row['token_user_id']; // Recharger l'utilisateur complet $query_user = "SELECT * FROM `user` WHERE `user_id` = '$userId' LIMIT 1"; $r_user = $dbi_master->query($query_user); if ($r_user && $user_data = mysqli_fetch_object($r_user)) { // ✅ Restaurer la session comme dans authentif_api $_SESSION['member'] = $user_data; var_dump($_SESSION['member']); // Prolonger l'expiration du token $dbi_master->query(" UPDATE user_tokens SET token_expiration = DATE_ADD(NOW(), INTERVAL 30 DAY) WHERE token = '$authToken' "); } } else { error_log("❌ Token invalide ou expiré: " . $authToken); } } else { error_log("❌ Aucun cookie croozr_auth trouvé"); } }*/ if (isset($_GET['source']) && $_GET['source'] === 'pwa') { $_SESSION['is_pwa'] = true; } $is_pwa = !empty($_SESSION['is_pwa']); $current_uri = $_SERVER['REQUEST_URI']; $is_register_page = (strpos($current_uri, '/register/inscription') !== false); // Votre code existant if (($is_app || $is_pwa) && !User::isMember() && !$is_register_page) { if ($is_pwa) { $GLOBALS['is_pwa'] = $is_pwa; } View::display('application/form_connexion_app'); exit; } if (strstr($action, "profil_popup") == NULL) { View :: display('header'); View :: display('body-top'); } else { echo '
'; } if (strstr($action, "supprimer") == NULL && User :: isMember() && ( //(strlen($_SESSION['member']-> user_ville)>1 && (!(strlen($_SESSION['member']-> geo_country_code)>1))) || ($_SESSION['member']-> user_lat == NULL) //|| ($_SESSION['member']-> geo_country_code =='') ) ) // || ($_SESSION['member']-> geo_country_code == "FR" && !$_SESSION['member']-> user_departement) { $action = "geolocalisation"; $cat = 'home'; } if ($_SESSION['member']-> user_pass_valide == 2 && $action != "editercompte" && strstr($action,'mail')==NULL && strstr ($_SERVER['REQUEST_URI'], "/change-password") == NULL) { $action = "change_passe"; } if ($_SESSION['member']->user_valide == 2 && $action != "editercompte") { $action = "editercompte"; } switch ($action) { case '2257statement' : View :: display('info/2257_statement'); break; case 'apropos' : View :: display('page/apropos'); break; case 'abonnement' : View :: display('abonnement/abonnement'); break; case 'abonnementsam' : View :: display('abonnement/abonnement_2022_sam'); break; case 'abonnement2022' : View :: display('abonnement/abonnement_2022'); break; case 'abonnement_confidentialite' : View :: display('abonnement/securite'); break; case 'abonnement_promo' : View :: display('abonnement/abonnement_promo'); break; case 'abonnement_promo_2022' : View :: display('abonnement/abonnement_promo_2022'); break; case 'abonnement_promo_2mois' : View :: display('abonnement/abonnement_promo_2mois'); break; case 'abonnement_promo_3mois' : View :: display('abonnement/abonnement_promo_3_plus_1_2022'); break; case 'abonnement_promo_blackfriday' : View :: display('abonnement/abonnement_promo_blackfriday'); break; case 'abonnement_promo_blackfriday_2022' : View :: display('abonnement/abonnement_promo_blackfriday_2022'); break; case 'abonnement_promo_renouvellement' : View :: display('abonnement/abonnement_promo_renouvellement'); break; case 'abonnement_promo_deconfinement' : View :: display('abonnement/abonnement_promo_deconfinement'); break; case 'abonnement_promo_test' : View :: display('abonnement/abonnement_promo_essai'); break; case 'abonnement_promo_soldes' : View :: display('abonnement/abonnement_promo_soldes'); break; case 'abonnement_promo_15raisons' : View :: display('abonnement/abonnement_promo_15raisons'); break; case 'abonnement_promo_anniversaire' : View :: display('abonnement/abonnement_promo_anniversaire'); break; case 'abonnement_promo_compensation' : View :: display('abonnement/abonnement_promo_compensation'); break; case 'abonnement_promo_chaleur' : View :: display('abonnement/abonnement_promo_chaleur'); break; case 'abonnement_promo_halloween' : View :: display('abonnement/abonnement_promo_halloween'); break; case 'abonnement_promo_inflation' : View :: display('abonnement/abonnement_promo_inflation'); break; case 'abonnement_promo_bienvenue' : View :: display('abonnement/abonnement_promo_bienvenue'); break; case 'abonnement_promo_video' : View :: display('abonnement/abonnement_promo_video'); break; case 'abonnement_promo_neosurf_probleme_cardinity' : View :: display('abonnement/abonnement_promo_neosurf_probleme_cardinity'); break; case 'abonnement_promo_noel' : View :: display('abonnement/abonnement_promo_noel'); break; case 'abonnement_promo_printemps' : View :: display('abonnement/abonnement_promo_printemps'); break; case 'abonnement_promo_ete' : View :: display('abonnement/abonnement_promo_ete'); break; case 'abonnement_promo_automne' : View :: display('abonnement/abonnement_promo_automne'); break; case 'abonnement_promo_1ermai' : View :: display('abonnement/abonnement_promo_1ermai'); break; case 'abonnement_promo_bonne_annee' : View :: display('abonnement/abonnement_promo_prolongee'); break; case 'abonnement_promo_soldes_2023' : View :: display('abonnement/abonnement_promo_soldes_2023'); break; case 'abonnement2' : View :: display('abonnement/abonnement2'); break; // ALLOPASS case 'allopass' : View :: display('abonnement/allopass'); break; case 'allopass_notification' : View :: display('abonnement/allopass_notification'); break; case 'allopass_erreur' : View :: display('abonnement/allopass_erreur'); break; case 'allopass_retour_paiement' : View :: display('abonnement/allopass_retour_paiement'); break; // FIN ALLOPASS case 'achat_credits' : View :: display('pub/achat_credits'); break; case 'achat_credits_valide' : View :: display('pub/achat_credits_valide'); break; case 'address' : View :: display('lieu/liste_proche_adresse'); break; // AFFILIATION case 'affiliation_home' : View :: display('affiliation/index'); break; case 'affiliation_inscription' : View :: display('affiliation/inscription'); break; case 'affiliation_stats' : View :: display('affiliation/stats'); break; case 'affiliation_account' : View :: display('affiliation/compte'); break; case 'affiliation_logout' : View :: display('affiliation/logout'); break; case 'affiliation_promo' : View :: display('affiliation/promo'); break; case 'affiliation_affiliates' : View :: display('affiliation/affiliates'); break; case 'affiliation_payment' : View :: display('affiliation/payment'); break; case 'ajout_article' : View :: display('form/lieu_ajout_article'); break; case 'ajout_event' : View :: display('event/event_form'); break; case 'ajout_lieu' : View :: display('form/ajouter-un-lieu'); break; case 'ajout_lieu_de_drague' : View :: display('lieu/add_one'); break; case 'ajouterpub' : View :: display('form/moncomptepremium'); break; case 'ameliorations' : View :: display('form/ameliorations'); break; case 'anniversaires' : View :: display('user/anniversaires'); break; case 'annonce_locale' : View :: display('form/annonce-locale'); break; case 'annonce_radio' : View :: display('radio/annonce_radio'); break; case 'application' : View :: display('application/download'); break; case 'associations' : View :: display('prevention/associations'); break; case 'attention' : View :: display('cgu/attention'); break; case 'auto_login' : View :: display('testsam/auto_login'); break; case 'become_master' : View:: display('abonnement/abonnement_maitre_lieu'); break; case 'blackliste' : View :: display('blacklist/blacklist'); break; case 'blackliste_membres' : View :: display('user/blackliste-membres'); break; case 'blog' : View:: display('blog/blog'); break; case 'bluepaid_paiement' : View :: display('abonnement/bluepaid_paiement'); break; case 'bluepaid_erreur_paiement' : View :: display('abonnement/bluepaid_erreur_paiement'); break; case 'bluepaid_retour_paiement' : View :: display('abonnement/bluepaid_retour_paiement'); break; case 'bluepaid_notification' : View :: display('abonnement/bluepaid_notification'); break; case 'cardinity_paiement' : View :: display('abonnement/cardinity_paiement'); break; case 'cardinity_erreur_paiement' : View :: display('abonnement/cardinity_erreur_paiement'); break; case 'cardinity_retour_paiement' : View :: display('abonnement/cardinity_retour_paiement'); break; case 'cardinity_retour_paiement_maitre' : View :: display('abonnement/cardinity_retour_paiement_maitre'); break; case 'cardinity_notification' : View :: display('abonnement/cardinity_notification'); break; case 'carte_globale' : View :: display('lieu/carte_globale_leaflet'); break; case 'carte_globale_google' : View :: display('lieu/carte_globale_google'); break; case 'change_couple' : View :: display('user/change-couple'); break; case 'change_login' : View :: display('user/change-login'); break; case 'change_passe' : View :: display('info/change_passe'); break; case 'cgu' : View :: display('cgu/cgu'); break; case 'change-mail' : if ($cat == "final") { View :: display('user/change-mail-final'); } else { View :: display('user/change-mail'); } break; case 'change-password' : View :: display('user/change-password'); break; case 'codes_promo' : View :: display(Conf :: repAdmin.'/codes_promo'); break; case 'compte_bloque' : View :: display('abonnement/compte_bloque'); break; case 'connexion' : View :: display('form/connexion'); break; case 'contact' : View :: display('form/contact'); break; case 'covoiturage' : if ($_GET['cat'] == "publier") { View :: display ('covoiturage/covoiturage_form'); } else { View :: display ('covoiturage/covoiturage__list'); } break; case 'debloquer_compte' : if ($cat == "notification") { View :: display('abonnement/debloquer_compte_notification'); } else if ($cat == "erreur") { View :: display('abonnement/debloquer_compte_erreur'); } else { View :: display('abonnement/debloquer_compte'); } break; case 'departement' : if (Url :: getDepartement() != null) View :: display('lieu/liste_2020'); else View :: display('departement/liste'); break; case 'derniers_connectes' : View :: display('user/derniers-connectes-tous'); break; case 'derniers_inscrits' : View :: display('user/derniers-inscrits-tous'); break; case 'editercompte' : View :: display('form/editercompte'); break; case 'email_register' : View :: display('form/first_mail'); break; case 'event_admin' : View :: display('event/event_admin'); break; case 'event_invitation' : View :: display('event/event_invitation'); break; case 'event_message' : View :: display('event/event_message'); break; case 'events' : if ($_GET['cat'] == "publier") { View :: display ('event/event_form'); } elseif ($_GET['cat'] == "myevents") { View:: display('event/event_user'); } elseif ($_GET['cat'] == "afficher") { View :: display ('event/event_one'); } elseif ($_GET['cat'] == "dupliquer") { View :: display ('event/event_duplicate_form'); } elseif ($_GET['cat'] == "modele") { View :: display ('event/event_from_modele'); } else { View :: display ('event/event_list'); } break; case 'event_popup' : View :: display('event/event_one'); break; case 'geolocalisation' : View :: display('user/geoloc'); break; case 'geolocalisation2' : View :: display('user/geoloc2'); break; case 'geolocalisation2023' : View :: display('user/geoloc_2023'); break; case 'gestion_pics' : View:: display('gestion_pics/index'); break; case 'gestion_videos' : View :: display('gestion_videos/index'); break; case 'groupes_discussion' : View :: display('messages/groupe'); break; case 'groupes_recherche' : View :: display('messages/groupe_recherche'); break; case 'hipaycb_paiement' : View :: display('abonnement/hipaycb_paiement'); break; case 'hipaycb_erreur_paiement' : View :: display('abonnement/hipaycb_erreur_paiement'); break; case 'hipaycb_retour_paiement' : View :: display('abonnement/hipaycb_retour_paiement'); break; case 'hipaycb_notification' : View :: display('abonnement/hipaycb_notification'); break; case 'histoires_erotiques' : if ($_GET['cat'] == "publier") { View :: display('histoires/ajouter'); } elseif ($_GET['cat'] == "all") { View :: display('histoires/all'); } elseif ($_GET['cat'] == "mylist") { View :: display('histoires/mylist'); } elseif ($_GET['cat'] == "afficher") { View :: display('histoires/one'); } else { View :: display('histoires/liste'); } break; case 'histoires_erotiques_audio': if ($_GET['cat'] == "publier") { View :: display('histoires_audio/ajouter_audio'); } elseif ($_GET['cat'] == "all") { View :: display('histoires_audio/all'); } elseif ($_GET['cat'] == "mylist") { View :: display('histoires_audio/mylist'); } elseif ($_GET['cat'] == "afficher") { View :: display('histoires_audio/one'); } else { View :: display('histoires_audio/liste'); } break; case 'histoires' : View :: display('histoires/liste'); break; case 'histoire' : View :: display('histoires/one'); break; case 'histoire_ajouter' : View :: display('histoires/ajouter'); break; case 'info' : View :: display('info/info'); break; case 'inscription' : //View :: display('form/inscription'); View :: display('form/inscription_captchaV3'); break; case 'inscription_par_email' : View :: display('form/inscription_mail'); break; case 'inscription_plancam' : View :: display('user/inscription_plancam'); break; case 'itineraire' : View :: display('itineraire/itineraire'); break; case 'itineraire_temps_reel' : View :: display('itineraire/tempsreel'); break; case 'lieu_a_valider' : View :: display('lieu/lieu_a_valider'); break; case 'lieux_geolocalises' : View :: display('lieu/liste_geolocalisee_leaflet'); break; case 'lieux_google' : View :: display('lieu/google_search'); break; case 'lieux_amal' : View :: display('lieu/lieux_amal'); break; case 'logout' : View :: display('user/logout'); break; case 'matches' : View :: display('user/mes_matchs'); break; case 'matching_photos' : View::display('match_photos/matching_photos'); break; case 'maxpay_paiement' : View :: display('abonnement/maxpay_paiement'); break; case 'maxpay_erreur_paiement' : View :: display('abonnement/maxpay_erreur_paiement'); break; case 'maxpay_retour_paiement' : View :: display('abonnement/maxpay_retour_paiement'); break; case 'maxpay_notification' : View :: display('abonnement/maxpay_notification'); break; case 'mes_memos' : View :: display('memo/liste_memo'); break; case 'messagerie' : View:: display('messages/liste'); break; case 'messages' : View :: display('messages/liste2'); break; case 'modifier_histoire' : View :: display('histoires/modifier'); break; case 'neosurf_erreur_paiement' : View :: display('histoire/neosurf_erreur_paiement'); break; case 'neosurf_paiement_attente' : View :: display('abonnement/neosurf_paiement_attente'); break; case 'neosurf_paiement_callback' : View :: display('abonnement/neosurf_paiement_callback'); break; case 'moncomptepremium' : case 'editerpub' : case 'activerpub' : case 'desactiverpub' : case 'supprimerpub' : View :: display('form/moncomptepremium'); break; case 'mes_rdv' : View:: display('rendez_vous/mes_rdv'); break; case 'mes_histoires' : View:: display('histoires/mes_histoires'); break; case 'mur_profils' : View :: display('user/liste_mur_profils'); break; case 'news' : View :: display('news/liste'); break; case 'neosurf_retour_paiement' : View :: display('abonnement/neosurf/neosurf_retour_paiement'); break; case 'panneau_admin' : View :: display('panneau/admin_interface'); break; case 'parrainage' : View :: display('user/parrainage'); break; case 'partenaires' : View :: display('partenaires/liste'); break; case 'pass_forget' : View :: display('form/password_forget'); break; case 'pass_regen' : View :: display('form/password_regen'); break; case 'pass_support' : View :: display('form/password_ask'); break; case 'pays' : if (Url :: getPays() != null) View :: display('lieu/liste_2020'); else View :: display('pays/liste'); break; case 'country' : if (Url :: getPays() != null) View :: display('lieu/liste_2020'); else View :: display('pays/liste'); break; case 'photos_notes' : View :: display('photos/notes'); break; case 'premium' : View :: display('lieu/premium'); break; case 'precautions' : View :: display('prevention/precautions'); break; case 'probleme' : View :: display('info/probleme_ovh'); break; case 'info_piratage' : View :: display('info/info_piratage'); break; case 'info_blog' : View :: display('info/info_blog'); break; case 'profil' : View:: display('user/profil'); break; case 'profil_popup' : View :: display('user/profil'); break; case 'profil_popup_simple' : require $_SERVER['DOCUMENT_ROOT'] . '/views/user/profil.php'; break; case 'profil_verification' : require $_SERVER['DOCUMENT_ROOT'] . '/views/user/profil_verification.php'; break; case 'profils' : View :: display('user/liste'); break; case 'profils_adresse' : View :: display('user/liste_adresse'); break; case 'protection_mineurs' : View :: display('info/protection_mineurs'); break; case 'profils_geolocalises' : View :: display('user/liste_geolocalisee_leaflet'); break; case 'pub' : View :: display('pub/admin'); break; case 'radio' : View :: display('radio/player'); break; case 'radio_home' : View :: display('radio/index'); break; case 'rdv_bilan' : View :: display('rendez_vous/bilan_rdv'); break; case 'rdv_bilan_liste' : View :: display('rendez_vous/bilan_liste'); break; case 'reclamation' : View :: display('info/reclamation'); break; case 'referencement_profil' : View :: display('user/referencement_profil'); break; case 'region' : if (Url :: getRegion() != null) View :: display('lieu/liste_2020'); else View :: display('pays/liste_2020'); break; case 'reserve_abonnes' : View :: display('erreur/reserve_aux_abonnes'); break; case 'send_pass' : View :: display('form/send_pass'); break; case 'soiree' : View :: display('info/soiree'); break; case 'supprimer_compte' : View :: display('user/supprimer-compte'); break; case 'supprimer_compte_confirmation' : View :: display('user/supprimer-compte-confirmation'); break; case 'supprimer_compte_final' : View :: display('user/supprimer-compte-final'); break; case 'temoignages' : View:: display('temoignages/temoignages'); break; case 'topliste' : View :: display('user/ma-top-liste'); break; case 'topliste_membres' : View :: display('user/topliste-membres'); break; case 'top_videos' : View:: display('videos/top_videos'); break; case 'tutos' : View:: display('tutos/tutos'); break; case 'valider_email' : View :: display('user/valider-email'); break; case 'valider_photos_lieux' : View :: display('photos_lieux/valider_photos_lieux'); break; case 'videos' : Url :: getCat(); View :: display('videos/liste'); break; case 'videos_notes' : View :: display('videos/notes'); break; case 'videos_perso' : if (Url :: getCat() == "last") View :: display('videos/tri_videos'); else View :: display('videos/tri_videos'); break; case 'videos_test' : View :: display('testsam/videos_test'); break; case 'ville_redirect' : echo 'test test'; if (!empty(Url::getVille())) { $ville_slug = Mysql2::escape(Url::getVille()); $r_redirect = $dbi_master->query(" SELECT lieu_pays_repere, administrative_area_level_1_repere, lieu_ville_repere FROM ville_region WHERE lieu_ville_repere = '".$ville_slug."' LIMIT 1 "); if ($row_redirect = mysqli_fetch_object($r_redirect)) { $start = Url::getStart(); $url_redirect = '/lieux-de-drague/' .$row_redirect->lieu_pays_repere.'/' .$row_redirect->administrative_area_level_1_repere.'/' .$row_redirect->lieu_ville_repere; if ($start > 1) $url_redirect .= '/page-'.$start; header('HTTP/1.1 301 Moved Permanently'); header('Location: '.$url_redirect); exit; } } // Si ville pas trouvée dans ville_region → afficher normalement View :: display('lieu/liste'); break; case 'ville' : View :: display('lieu/liste'); break; case 'town' : View :: display('lieu/liste_2020'); break; case 'visio' : View :: display('visio/index'); break; case 'visites' : View :: display('visites/visites'); break; case 'fiche' : case 'fiche_supprimee' : case 'plan' : case 'avis' : case 'frequentation' : case 'formfrequentation' : View :: display('lieu/one2020'); break; case 'test' : View:: display('test/index'); break; case 'categorie' : View :: display('lieu/liste_2020'); break; case 'categories' : View :: display('lieu/categories'); break; case 'search' : case 'type' : default : //if (User :: isWebmaster()) //{ // View :: display('avis/accueil_liste_seb'); //} else { View :: display('avis/accueil_liste'); $_SESSION['default_case'] = true; // Stocke l'information dans la session //} //} } if ($_SESSION['member'] -> user_geoloc_auto ==1) { require 'views/user/geoloc_auto.php'; } if (strstr($action, "profil_popup") == NULL) { View :: display('body-bottom'); View :: display('footer'); } else { echo ""; } /* if (isset($dbi_master)) { // Database is reachable mysqli_close($dbi_master); } if (isset($dbi_lecture)) { // Database is reachable mysqli_close($dbi_lecture); } if (isset($dbi_lecture_lieux)) { // Database is reachable mysqli_close($dbi_lecture_lieux); } ?>