diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php index 2174e6a5c5538fda67477e4170d6cca19af8887f..f5acdeac02bcf9fa8e9baa77fbce4332b9b43e1a 100644 --- a/htdocs/main.inc.php +++ b/htdocs/main.inc.php @@ -522,7 +522,7 @@ if (! defined('NOLOGIN')) exit; } - $resultFetchUser=$user->fetch('', $login, '', 1, ($entitytotest ? $entitytotest : -1)); + $resultFetchUser=$user->fetch('', $login, '', 1, ($entitytotest > 0 ? $entitytotest : -1)); if ($resultFetchUser <= 0) { dol_syslog('User not found, connexion refused'); @@ -579,7 +579,7 @@ if (! defined('NOLOGIN')) $entity=$_SESSION["dol_entity"]; dol_syslog("This is an already logged session. _SESSION['dol_login']=".$login." _SESSION['dol_entity']=".$entity, LOG_DEBUG); - $resultFetchUser=$user->fetch('',$login,'',1,($entity > 0 ? $entity : -1)); + $resultFetchUser=$user->fetch('', $login, '', 1, ($entity > 0 ? $entity : -1)); if ($resultFetchUser <= 0) { // Account has been removed after login @@ -734,11 +734,11 @@ if (! defined('NOLOGIN')) } /* - * Overwrite configs global by personal configs (Note: Some conf->global personal vars were overwrote by the user->fetch) + * Overwrite some configs globals (try to avoid this and have code to use instead $user->conf->xxx) */ // Set liste_limit - if (isset($user->conf->MAIN_SIZE_LISTE_LIMIT)) $conf->liste_limit = $user->conf->MAIN_SIZE_LISTE_LIMIT; // Can be 0 + if (isset($user->conf->MAIN_SIZE_LISTE_LIMIT)) $conf->liste_limit = $user->conf->MAIN_SIZE_LISTE_LIMIT; // Can be 0 if (isset($user->conf->PRODUIT_LIMIT_SIZE)) $conf->product->limit_size = $user->conf->PRODUIT_LIMIT_SIZE; // Can be 0 // Replace conf->css by personalized value if theme not forced diff --git a/htdocs/user/class/user.class.php b/htdocs/user/class/user.class.php index ac03847583df1065dd4be98aa9c3d130c40e0565..a3006d6ebcd3dfda85216c58f5426f3e31590601 100644 --- a/htdocs/user/class/user.class.php +++ b/htdocs/user/class/user.class.php @@ -164,11 +164,11 @@ class User extends CommonObject * @param int $id If defined, id to used for search * @param string $login If defined, login to used for search * @param string $sid If defined, sid to used for search - * @param int $loadpersonalconf 1=also load personal conf of user (in $user->conf->xxx) + * @param int $loadpersonalconf 1=also load personal conf of user (in $user->conf->xxx), 0=do not load personal conf. * @param int $entity If a value is >= 0, we force the search on a specific entity. If -1, means search depens on default setup. * @return int <0 if KO, 0 not found, >0 if OK */ - function fetch($id='', $login='',$sid='',$loadpersonalconf=1, $entity=-1) + function fetch($id='', $login='', $sid='', $loadpersonalconf=0, $entity=-1) { global $conf, $user; @@ -360,7 +360,7 @@ class User extends CommonObject } else { - $this->error=$this->db->error(); + $this->error=$this->db->lasterror(); return -2; } @@ -381,6 +381,11 @@ class User extends CommonObject } $this->db->free($resql); } + else + { + $this->error=$this->db->lasterror(); + return -3; + } } return 1; diff --git a/htdocs/user/param_ihm.php b/htdocs/user/param_ihm.php index 0441ede1563393b74f0a9937683b87620a0060ed..0208046c48219f14fbe41c82066c1917725fa0fe 100644 --- a/htdocs/user/param_ihm.php +++ b/htdocs/user/param_ihm.php @@ -1,5 +1,5 @@ <?php -/* Copyright (C) 2005-2015 Laurent Destailleur <eldy@users.sourceforge.net> +/* Copyright (C) 2005-2017 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2010-2015 Regis Houssin <regis.houssin@capnetworks.com> * Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro.com> * @@ -65,7 +65,7 @@ $dirleft = "../core/menus/standard"; // Charge utilisateur edite $object = new User($db); -$object->fetch($id); +$object->fetch($id, '', '', 1); $object->getrights(); // Liste des zone de recherche permanentes supportees @@ -81,9 +81,11 @@ $formadmin=new FormAdmin($db); // Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array $hookmanager->initHooks(array('usercard','globalcard')); + /* * Actions */ + $parameters=array('id'=>$socid); $reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');