From c3b76a9c96bf366ac953edb70992303c707353d3 Mon Sep 17 00:00:00 2001
From: Laurent Giovannoni <laurent.giovannoni@maarch.org>
Date: Tue, 26 Apr 2011 15:06:21 +0000
Subject: [PATCH] evol : web sso connection

---
 core/trunk/core/class/class_core_tools.php | 3 +++
 core/trunk/core/class/class_security.php   | 4 +++-
 core/trunk/index.php                       | 3 +++
 3 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/core/trunk/core/class/class_core_tools.php b/core/trunk/core/class/class_core_tools.php
index a466e193034..a3244899fcd 100644
--- a/core/trunk/core/class/class_core_tools.php
+++ b/core/trunk/core/class/class_core_tools.php
@@ -1057,6 +1057,9 @@ class core_tools extends functions
     *
     */
     public function insert_page() {
+    	if (!isset($_SESSION['config']['app_id']) && $_SESSION['config']['app_id'] == '') {
+    		$_SESSION['config']['app_id'] = 'maarch_entreprise';
+    	}
         if(isset($_GET['amp;module']) && $_GET['amp;module'] <> "") {
             $_GET['module'] = $_GET['amp;module'];
             $_REQUEST['module'] = $_REQUEST['amp;module'];
diff --git a/core/trunk/core/class/class_security.php b/core/trunk/core/class/class_security.php
index 9d07b5fea45..1bcda79648b 100644
--- a/core/trunk/core/class/class_security.php
+++ b/core/trunk/core/class/class_security.php
@@ -96,17 +96,19 @@ class security extends dbquery
         // #TODO : Not usefull anymore, loginmode field is always in users table
         //Compatibility test, if loginmode column doesn't exists, Maarch can't crash
         if ($this->test_column($_SESSION['tablename']['users'], 'loginmode')) {
+            // #TODO : do evolution of the loginmethod in sql query
             if ($method == 'activex') {
                 $comp = " and STATUS <> 'DEL' and loginmode = 'activex'";
             } else if ($method == 'ldap') {
                 $comp =" and STATUS <> 'DEL'";
             } else {
                 $comp = " and password = '" . $pass . "' and STATUS <> 'DEL' "
-                      . "and loginmode = 'standard'";
+                      . "and (loginmode = 'standard' or loginmode  = 'sso')";
             }
         } else {
             $comp = " and password = '" . $pass . "' and STATUS <> 'DEL'";
         }
+        //echo $comp;exit;
         $user = $uc->get($s_login, $comp);
 
         if (isset($user)) {
diff --git a/core/trunk/index.php b/core/trunk/index.php
index 4d3b2d35f80..a2f07f7b0ca 100644
--- a/core/trunk/index.php
+++ b/core/trunk/index.php
@@ -22,6 +22,9 @@ $func = new functions();
 $core = new core_tools();
 $_SESSION['custom_override_id'] = $core->get_custom_id();
 
+/**** retrieve HTTP_REQUEST FROM SSO ****/
+$_SESSION['HTTP_REQUEST'] = $_REQUEST;
+
 if(isset($_SESSION['config']['defaultlang']) && !empty($_SESSION['config']['defaultlang']))
 {
 	include("portal".DIRECTORY_SEPARATOR.$_SESSION['config']['defaultlang'].'.php');
-- 
GitLab