From 3ec337db2aa8b41106cd78f1e33cee789db1a6ca Mon Sep 17 00:00:00 2001
From: SofianeLasri <alasri250@gmail.com>
Date: Sat, 18 Sep 2021 14:41:17 +0200
Subject: [PATCH] Removed vbcms.net acc manager dependency on login

---
 vbcms-admin/login.php          | 4 +++-
 vbcms-core/adminHandler.php    | 9 ++++++---
 vbcms-core/adminPagesAssoc.php | 1 +
 vbcms-core/sessionHandler.php  | 8 ++++++++
 4 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/vbcms-admin/login.php b/vbcms-admin/login.php
index 24f1b97..5860f6e 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 b1f6faf..02f9cee 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 c466e59..b238ffe 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 cc61528..f81067e 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
-- 
GitLab