diff --git a/htdocs/lib/security.lib.php b/htdocs/lib/security.lib.php
index c488a46a89a..fb41ad002de 100644
--- a/htdocs/lib/security.lib.php
+++ b/htdocs/lib/security.lib.php
@@ -128,11 +128,32 @@ function dol_loginfunction($langs,$conf,$mysoc)
$demologin=$tab[0];
$demopassword=$tab[1];
}
+
+ if (! empty($conf->global->MAIN_MODULE_MULTICOMPANY))
+ {
+ $lastuser = '';
+ $lastentity = '';
+
+ if (! empty($conf->global->MAIN_MULTICOMPANY_COOKIE))
+ {
+ $entityCookieName = 'DOLENTITYID_'.md5($_SERVER["SERVER_NAME"].$_SERVER["DOCUMENT_ROOT"]);
+ if (isset($_COOKIE[$entityCookieName]))
+ {
+ include_once(DOL_DOCUMENT_ROOT . "/core/cookie.class.php");
+
+ $cryptkey = (! empty($conf->global->MAIN_MULTICOMPANY_COOKIE_CRYPTKEY) ? $conf->global->MAIN_MULTICOMPANY_COOKIE_CRYPTKEY : '' );
+
+ $entityCookie = new DolCookie($cryptkey);
+ $cookieValue = $entityCookie->_getCookie($entityCookieName);
+ list($lastuser, $lastentity) = split('\|', $cookieValue);
+ }
+ }
+ }
// Login field
print '
'.$langs->trans("Login").' | ';
print ' | ';
// Show logo (search in order: small company logo, large company logo, theme logo, common logo)
@@ -168,21 +189,6 @@ function dol_loginfunction($langs,$conf,$mysoc)
if (! empty($conf->global->MAIN_MODULE_MULTICOMPANY))
{
$html = new Form($db);
- $lastentity = '';
-
- if (! empty($conf->global->MAIN_MULTICOMPANY_COOKIE))
- {
- $entityCookieName = 'DOLENTITYID_'.md5($_SERVER["SERVER_NAME"].$_SERVER["DOCUMENT_ROOT"]);
- if (isset($_COOKIE[$entityCookieName]))
- {
- include_once(DOL_DOCUMENT_ROOT . "/core/cookie.class.php");
-
- $cryptkey = (! empty($conf->global->MAIN_MULTICOMPANY_COOKIE_CRYPTKEY) ? $conf->global->MAIN_MULTICOMPANY_COOKIE_CRYPTKEY : '' );
-
- $entityCookie = new DolCookie($cryptkey);
- $lastentity = $entityCookie->_getCookie($entityCookieName);
- }
- }
//TODO: creer class
$entity = array('1'=>'company1','2'=>'company2');
diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php
index 2ed7cedca2c..535373c7571 100644
--- a/htdocs/main.inc.php
+++ b/htdocs/main.inc.php
@@ -445,7 +445,7 @@ if (! isset($_SESSION["dol_login"]))
{
include_once(DOL_DOCUMENT_ROOT."/core/cookie.class.php");
- $entity = $_POST["entity"];
+ $entity = $_SESSION["dol_login"].'|'.$_POST["entity"];
$entityCookieName = 'DOLENTITYID_'.md5($_SERVER["SERVER_NAME"].$_SERVER["DOCUMENT_ROOT"]);
// TTL : sera defini dans la page de config multicompany
$ttl = (! empty($conf->global->MAIN_MULTICOMPANY_COOKIE_TTL) ? $conf->global->MAIN_MULTICOMPANY_COOKIE_TTL : time()+60*60*8 );