diff --git a/vbcms-admin/login.php b/vbcms-admin/login.php index 24f1b97dff2942b21ab82ca34c38e7419ee809f7..5860f6e77d4cab611a2dff76824cc58ec9604fb9 100644 --- a/vbcms-admin/login.php +++ b/vbcms-admin/login.php @@ -1,5 +1,7 @@ <?php -require_once '../vbcms-core/core.php'; +// On va vérifier si on est appelé par le cms ou par l'url du client +if(!isset($GLOBALS['vbcmsRootPath'])) + require_once '../vbcms-core/core.php'; if (isset($_GET["from"])) { $redirect = urlencode($_GET["from"]); diff --git a/vbcms-core/adminHandler.php b/vbcms-core/adminHandler.php index b1f6fafcfe8b9f1785d7a9544f3ae83146fa3520..02f9ceed6963a08e52f23c2391638c1fd3a3dca5 100644 --- a/vbcms-core/adminHandler.php +++ b/vbcms-core/adminHandler.php @@ -2,13 +2,16 @@ // Dans un premier temps, on va vérifier que l'utilisateur est connecté // Puis on va vérifier qu'il a bien le droit d'être ici -if (!isset($_SESSION["user_id"])) { // Si l'utilisateur n'est pas connecté +if (!isset($_SESSION["user_id"]) && $urlPath[2]!="login") { // Si l'utilisateur n'est pas connecté // On check que la page actuelle n'est pas la page de login, mais également que le panel n'est pas en train de traiter une connexion if (basename($_SERVER['PHP_SELF'])!="login.php" && !isset($sessionData) && !isset($sessionData['error'])) { // On le renvoie vers la page de connexion - header("Location: https://vbcms.net/manager/login?from=".urlencode("$http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'])); + //header("Location: https://vbcms.net/manager/login?from=".urlencode("$http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'])); // Gestionnaire de licence vbcms.net + header("Location: ".$url["scheme"]."://".$url["host"]."/vbcms-admin/login"); } +} elseif(!isset($_SESSION["user_id"]) && $urlPath[2]=="login"){ // Redirection vers la page de connexion + include $GLOBALS['vbcmsRootPath']."/vbcms-admin/login.php"; } else { // On va vérifier qu'il a accès au panel admin @@ -18,7 +21,7 @@ if (!isset($_SESSION["user_id"])) { // Si l'utilisateur n'est pas connecté } // Le message d'erreur sera à changer, je ne l'ai pas encore fait car je dois refaire le drm - header("Location: https://vbcms.net/manager/?error=".urlencode("Tu n'as pas le droit de te connecter à ce site <img height=\"16\" src=\"https://vbcms.net/vbcms-content/uploads/emoji/oiseau-pas-content.png\">")); + header("Location: ".$url["scheme"]."://".$url["host"]."/vbcms-admin/login?err=403"); exit(); // Pour être sûr qu'il n'y ai pas de problèmes } diff --git a/vbcms-core/adminPagesAssoc.php b/vbcms-core/adminPagesAssoc.php index c466e596092ab41459abb9612a026af1af1ebbb5..b238ffeeab2721dcd72b1cc688592949b5a3c05e 100644 --- a/vbcms-core/adminPagesAssoc.php +++ b/vbcms-core/adminPagesAssoc.php @@ -6,6 +6,7 @@ $adminPagesAssoc["updater"] = "updater.php"; $adminPagesAssoc["test"] = "test.php"; $adminPagesAssoc["404"] = "404.php"; $adminPagesAssoc["debug"] = "debug.php"; +$adminPagesAssoc["login"] = "login.php"; $adminPagesAssoc["backTasks"] = "backTasks.php"; $adminPagesAssoc["workshop"] = "ws-handler.php"; \ No newline at end of file diff --git a/vbcms-core/sessionHandler.php b/vbcms-core/sessionHandler.php index cc6152829f844ef3f0027142425860c5614b8a80..f81067e632fb3cb683a40d5c144630177ba51512 100644 --- a/vbcms-core/sessionHandler.php +++ b/vbcms-core/sessionHandler.php @@ -1,6 +1,8 @@ <?php session_start(); +/* NOTE 18/09/2021 (création branche pre2.1b) - VBcms ne sera plus dépendant du gestion de licence + if (isset($_GET["session"]) && !empty($_GET["session"])){ // Ici le panel reçoie une requête de connexion via l'id de session unique, communiqué par le manager @@ -87,4 +89,10 @@ if (isset($_GET["session"]) && !empty($_GET["session"])){ // Ne s'éxecutera que si l'utilisateur est déjà connecté session_destroy(); header("Location: ".$url["scheme"]."://".$url["host"]); // On le redirige vers la page de connexion +} */ + +if (isset($_GET["logout"]) && isset($_SESSION["user_id"])){ + // Ne s'éxecutera que si l'utilisateur est déjà connecté + session_destroy(); + header("Location: ".$url["scheme"]."://".$url["host"]); // On le redirige vers la page de connexion } \ No newline at end of file