diff --git a/compte.php b/compte.php index 7bc9a46..3c8f777 100644 --- a/compte.php +++ b/compte.php @@ -55,6 +55,7 @@ if (!empty($_GET['code'])) $strCode = 'compte_' . $_GET['code']; else { if (isset($_SESSION['com_id'])) { + // Legacy actif par défaut : accueil. Hub v2 seulement si promoteur_legacy_actif = 0 (voir fxPromoteurHubShouldUse). if (fxPromoteurHubShouldUse($_SESSION['com_id'])) { $strCode = 'compte_promoteur_hub'; } else { @@ -65,7 +66,7 @@ else { } } -if ($strCode === 'compte_promoteur_hub' && (!isset($_SESSION['com_id']) || !fxPromoteurHubShouldUse($_SESSION['com_id']))) { +if ($strCode === 'compte_promoteur_hub' && (!isset($_SESSION['com_id']) || !fxPromoteurHubIsAvailable($_SESSION['com_id']))) { header('Location: ' . $vDomaine . '/' . ($strLangue === 'fr' ? 'compte' : 'account')); exit; } diff --git a/php/inc_fx_compte.php b/php/inc_fx_compte.php index d88492f..8a975e9 100644 --- a/php/inc_fx_compte.php +++ b/php/inc_fx_compte.php @@ -1198,7 +1198,8 @@ function fxLoginCompte($infoLogin, $strLangue) fxcreer_log("ERREUR SQL UPDATE - fxLoginCompte()" . $sqlUpdate); } - //$_SESSION['logged'] = 1; + // Login public : com_id + com_info seulement. Jamais usa_id ni canal superadm. + // com_info contient toute la ligne SQL (dont com_superadm) — ne pas s'en servir côté site public. $_SESSION['com_id'] = $infoCompte['com_id']; $_SESSION['vadmin_texte'] = false; $_SESSION['com_info'] = $infoCompte; diff --git a/php/inc_fx_promoteur_hub.php b/php/inc_fx_promoteur_hub.php index 2be2c9a..e0b6291 100644 --- a/php/inc_fx_promoteur_hub.php +++ b/php/inc_fx_promoteur_hub.php @@ -43,12 +43,33 @@ function fxPromoteurHubPageExists() return $blnExists; } -/** Le compte doit-il atterrir sur le hub v2 ? (acces v2 + page installee) */ -function fxPromoteurHubShouldUse($intComId) +/** Hub v2 disponible (acces v2 + page CMS) — pour lien menu, pas pour forcer /compte. */ +function fxPromoteurHubIsAvailable($intComId) { return fxPromoteurHubComUsesV2(intval($intComId)) && fxPromoteurHubPageExists(); } +/** + * Atterrissage par défaut sur le hub v2 (/compte, redirect après login public) ? + * Legacy site actif (promoteur_legacy_actif, défaut 1) : accueil + promoteur legacy, hub via lien seulement. + */ +function fxPromoteurHubShouldUse($intComId) +{ + if (!fxPromoteurHubIsAvailable($intComId)) { + return false; + } + + if (!function_exists('fxPromoteurLegacySiteEnabled')) { + require_once __DIR__ . '/inc_fonctions.php'; + } + + if (fxPromoteurLegacySiteEnabled()) { + return false; + } + + return true; +} + function fxPromoteurHubUrl($strLangue = 'fr') { global $vDomaine; @@ -1235,7 +1256,7 @@ function fxShowPromoteurHubMenuLink($arrCompteClient, $strLangue) { global $vDomaine; - if (!fxPromoteurHubShouldUse(intval($arrCompteClient['com_id'] ?? 0))) { + if (!fxPromoteurHubIsAvailable(intval($arrCompteClient['com_id'] ?? 0))) { return ''; } diff --git a/superadm/php/inc_functions.php b/superadm/php/inc_functions.php index f22c8ac..28a99c3 100644 --- a/superadm/php/inc_functions.php +++ b/superadm/php/inc_functions.php @@ -1318,34 +1318,11 @@ function fxSuperadmSessionPingJson() { } /** - * Dev préprod (preprod.ms1inscriptiondev) — superadm ouvert sans login, comme index.php avant MSIN-CON-259. - * Prod / client préprod : login superadm obligatoire. - */ -function fxSuperadmDevPreprodOpenAccess() { - global $vblnEnvironementDev, $vblnEnvironementPreProd; - - return !empty($vblnEnvironementDev) && !empty($vblnEnvironementPreProd); -} - -/** - * Super admin connecté — usa_id (canal login.php) ou compte com_superadm en session. - * Ne pas exiger usa_info : rapport_new.php et vieux flux ne la posent pas toujours. + * Super admin connecté — canal superadm/login.php uniquement (usa_id en session). + * Ne jamais déduire du login public : com_info / com_superadm ne comptent pas ici. */ function fxSuperadmIsLoggedIn() { - if (fxSuperadmDevPreprodOpenAccess()) { - return true; - } - if (!empty($_SESSION['usa_id'])) { - return true; - } - if (!empty($_SESSION['usa_info']['com_superadm'])) { - return true; - } - if (!empty($_SESSION['com_info']['com_superadm'])) { - return true; - } - - return fxSuperadmSessionValidate(false) > 0; + return !empty($_SESSION['usa_id']); } /**