From c52636bd3856a3c6663f77197a220f271be74abe Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Fri, 17 Apr 2009 07:45:00 +0000 Subject: [PATCH] New: early development of multi-company module --- htdocs/core/conf.class.php | 24 ++++++------------- .../modules/DolibarrModules.class.php | 1 + htdocs/main.inc.php | 5 ++-- htdocs/master.inc.php | 6 +++-- htdocs/user/logout.php | 7 +++--- 5 files changed, 18 insertions(+), 25 deletions(-) diff --git a/htdocs/core/conf.class.php b/htdocs/core/conf.class.php index 69aa2dc7aa2..fb02d5b1f14 100644 --- a/htdocs/core/conf.class.php +++ b/htdocs/core/conf.class.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2007 Rodolphe Quiedeville * Copyright (C) 2003 Xavier Dutoit * Copyright (C) 2004-2009 Laurent Destailleur - * Copyright (C) 2005-2007 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2006 Jean Heimburger * * This program is free software; you can redistribute it and/or modify @@ -55,31 +55,21 @@ class Conf var $logbuffer=array(); - var $entity = 1; // By default for backward compatibility - /** * \brief Positionne toutes les variables de configuration - * \param $db Handler d'acces base + * \param $db Handler d'acces base + * \param $entity Id of company * \return int < 0 si erreur, >= 0 si succes */ - function setValues($db) + function setValues($db,$entity) { dol_syslog("Conf::setValues"); // Par defaut, a oui $this->global->PRODUIT_CONFIRM_DELETE_LINE=1; - - // Load entity cookie - /* TODO Removed: La classe conf est une classe de stockage de conf independante - de la couche presentation et de la gestion des acces IHM, donc ne doit pas acceder des cookies. - $entityCookieName = "DOLENTITYID_dolibarr"; - if (!$_COOKIE[$entityCookieName]){ - $this->entity = 1; - }else{ - $this->entity = $_COOKIE[$entityCookieName]; - } - */ + + $this->entity = $entity; /* * Definition de toutes les Constantes globales d'environnement @@ -87,7 +77,7 @@ class Conf * - En $this->global->key=value */ $sql = "SELECT name, value, entity FROM ".MAIN_DB_PREFIX."const "; - $sql.= " WHERE entity = 0 OR entity = ".$this->entity; + $sql.= " WHERE entity = 0 OR entity = ".$entity; $result = $db->query($sql); if ($result) { diff --git a/htdocs/includes/modules/DolibarrModules.class.php b/htdocs/includes/modules/DolibarrModules.class.php index 553fa0fd6a0..c9f08184ecc 100644 --- a/htdocs/includes/modules/DolibarrModules.class.php +++ b/htdocs/includes/modules/DolibarrModules.class.php @@ -4,6 +4,7 @@ * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2004 Eric Seigne * Copyright (C) 2005-2009 Laurent Destailleur + * Copyright (C) 2005-2009 Regis Houssin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php index 1e55f197a92..486b8db3e82 100644 --- a/htdocs/main.inc.php +++ b/htdocs/main.inc.php @@ -4,7 +4,7 @@ * Copyright (C) 2004-2009 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2007 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2008 Matteli * * This program is free software; you can redistribute it and/or modify @@ -268,13 +268,12 @@ if (! isset($_SESSION["dol_login"])) { $entitytotest=$_POST["entity"]; - // Creation du cookie + // Create entity cookie $entityCookieName = "DOLENTITYID_dolibarr"; if (!isset($HTTP_COOKIE_VARS[$entityCookieName])) { setcookie($entityCookieName, $entitytotest, 0, "/", "", 0); } - //$conf->entity = $_COOKIE[$entityCookieName]; // Reload index.php $url=DOL_URL_ROOT."/index.php"; header("Location: ".$url); diff --git a/htdocs/master.inc.php b/htdocs/master.inc.php index 118fa03df4e..7684322ee70 100644 --- a/htdocs/master.inc.php +++ b/htdocs/master.inc.php @@ -4,7 +4,7 @@ * Copyright (C) 2004-2009 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2007 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2005 Simon Tosser * Copyright (C) 2006 Andre Cianfarani * @@ -204,7 +204,9 @@ if (! defined('NOREQUIREUSER')) */ if (! defined('NOREQUIREDB')) { - $conf->setValues($db); + $entityCookieName = "DOLENTITYID_dolibarr"; + $entity = $_COOKIE[$entityCookieName]?$_COOKIE[$entityCookieName]:1; + $conf->setValues($db,$entity); } /* diff --git a/htdocs/user/logout.php b/htdocs/user/logout.php index de59304a6c5..f925f358f9a 100644 --- a/htdocs/user/logout.php +++ b/htdocs/user/logout.php @@ -1,7 +1,8 @@ - * Copyright (C) 2003 Xavier Dutoit - * Copyright (C) 2004 Laurent Destailleur +/* Copyright (C) 2004 Rodolphe Quiedeville + * Copyright (C) 2003 Xavier Dutoit + * Copyright (C) 2004-2009 Laurent Destailleur + * Copyright (C) 2005-2009 Regis Houssin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by