diff --git a/htdocs/includes/modules/DolibarrModules.class.php b/htdocs/includes/modules/DolibarrModules.class.php index b41e2e2b31f70ff4e4ccd7e5f2ff5f376efba4e2..e884e791d8f3094dc7ab462a5005af41c5629133 100644 --- a/htdocs/includes/modules/DolibarrModules.class.php +++ b/htdocs/includes/modules/DolibarrModules.class.php @@ -24,7 +24,7 @@ /** * \file htdocs/includes/modules/DolibarrModules.class.php * \brief Fichier de description et activation des modules Dolibarr - * \version $Id: DolibarrModules.class.php,v 1.161 2011/07/13 22:15:19 eldy Exp $ + * \version $Id: DolibarrModules.class.php,v 1.162 2011/07/17 18:13:44 eldy Exp $ */ @@ -131,19 +131,19 @@ class DolibarrModules $sql=$val; } - dol_syslog("DolibarrModules::_init ignoreerror=".$ignoreerror." sql=".$sql, LOG_DEBUG); + dol_syslog(get_class($this)."::_init ignoreerror=".$ignoreerror." sql=".$sql, LOG_DEBUG); $result=$this->db->query($sql); if (! $result) { if (! $ignoreerror) { $this->error=$this->db->lasterror(); - dol_syslog("DolibarrModules::_init Error ".$this->error, LOG_ERR); + dol_syslog(get_class($this)."::_init Error ".$this->error, LOG_ERR); $err++; } else { - dol_syslog("DolibarrModules::_init Warning ".$this->db->lasterror(), LOG_WARNING); + dol_syslog(get_class($this)."::_init Warning ".$this->db->lasterror(), LOG_WARNING); } } } @@ -214,12 +214,12 @@ class DolibarrModules { if (! $err) { - dol_syslog("DolibarrModules::_remove sql=".$array_sql[$i], LOG_DEBUG); + dol_syslog(get_class($this)."::_remove sql=".$array_sql[$i], LOG_DEBUG); $result=$this->db->query($array_sql[$i]); if (! $result) { $this->error=$this->db->error(); - dol_syslog("DolibarrModules::_remove Error ".$this->error, LOG_ERR); + dol_syslog(get_class($this)."::_remove Error ".$this->error, LOG_ERR); $err++; } } @@ -373,7 +373,7 @@ class DolibarrModules $sql.= " WHERE numero = ".$this->numero; $sql.= " AND entity = ".$conf->entity; - dol_syslog("DolibarrModules::_dbactive sql=".$sql, LOG_DEBUG); + dol_syslog(get_class($this)."::_dbactive sql=".$sql, LOG_DEBUG); $this->db->query($sql); $sql = "INSERT INTO ".MAIN_DB_PREFIX."dolibarr_modules ("; @@ -391,7 +391,7 @@ class DolibarrModules $sql.= ", '".$this->version."'"; $sql.= ")"; - dol_syslog("DolibarrModules::_dbactive sql=".$sql, LOG_DEBUG); + dol_syslog(get_class($this)."::_dbactive sql=".$sql, LOG_DEBUG); $this->db->query($sql); return $err; @@ -413,7 +413,7 @@ class DolibarrModules $sql.= " WHERE numero = ".$this->numero; $sql.= " AND entity in (0, ".$conf->entity.")"; - dol_syslog("DolibarrModules::_dbunactive sql=".$sql, LOG_DEBUG); + dol_syslog(get_class($this)."::_dbunactive sql=".$sql, LOG_DEBUG); $this->db->query($sql); return $err; @@ -437,7 +437,7 @@ class DolibarrModules $sql.= " WHERE ".$this->db->decrypt('name')." = '".$this->const_name."'"; $sql.= " AND entity in (0, ".$entity.")"; - dol_syslog("DolibarrModules::_active sql=".$sql, LOG_DEBUG); + dol_syslog(get_class($this)."::_active sql=".$sql, LOG_DEBUG); $this->db->query($sql); $sql = "INSERT INTO ".MAIN_DB_PREFIX."const (name,value,visible,entity) VALUES"; @@ -445,7 +445,7 @@ class DolibarrModules $sql.= ",".$this->db->encrypt('1',1); $sql.= ",0,".$entity.")"; - dol_syslog("DolibarrModules::_active sql=".$sql, LOG_DEBUG); + dol_syslog(get_class($this)."::_active sql=".$sql, LOG_DEBUG); if (!$this->db->query($sql)) { $err++; @@ -472,7 +472,7 @@ class DolibarrModules $sql.= " WHERE ".$this->db->decrypt('name')." = '".$this->const_name."'"; $sql.= " AND entity in (0, ".$entity.")"; - dol_syslog("DolibarrModules::_unactive sql=".$sql); + dol_syslog(get_class($this)."::_unactive sql=".$sql); $this->db->query($sql); return $err; @@ -609,7 +609,7 @@ class DolibarrModules $sql.= $note?"'".$this->db->escape($note)."'":"null"; $sql.= ")"; - dol_syslog("DolibarrModules::insert_boxes sql=".$sql); + dol_syslog(get_class($this)."::insert_boxes sql=".$sql); if (! $this->db->query($sql)) { $err++; @@ -619,7 +619,7 @@ class DolibarrModules else { $this->error=$this->db->lasterror(); - dol_syslog("DolibarrModules::insert_boxes ".$this->error, LOG_ERR); + dol_syslog(get_class($this)."::insert_boxes ".$this->error, LOG_ERR); $err++; } } @@ -653,12 +653,12 @@ class DolibarrModules $sql.= " AND ".MAIN_DB_PREFIX."boxes_def.file = '".$this->db->escape($file)."'"; $sql.= " AND ".MAIN_DB_PREFIX."boxes_def.entity = ".$conf->entity; - dol_syslog("DolibarrModules::delete_boxes sql=".$sql); + dol_syslog(get_class($this)."::delete_boxes sql=".$sql); $resql=$this->db->query($sql); if (! $resql) { $this->error=$this->db->lasterror(); - dol_syslog("DolibarrModules::delete_boxes ".$this->error, LOG_ERR); + dol_syslog(get_class($this)."::delete_boxes ".$this->error, LOG_ERR); $err++; } @@ -666,12 +666,12 @@ class DolibarrModules $sql.= " WHERE file = '".$this->db->escape($file)."'"; $sql.= " AND entity = ".$conf->entity; - dol_syslog("DolibarrModules::delete_boxes sql=".$sql); + dol_syslog(get_class($this)."::delete_boxes sql=".$sql); $resql=$this->db->query($sql); if (! $resql) { $this->error=$this->db->lasterror(); - dol_syslog("DolibarrModules::delete_boxes ".$this->error, LOG_ERR); + dol_syslog(get_class($this)."::delete_boxes ".$this->error, LOG_ERR); $err++; } } @@ -696,11 +696,11 @@ class DolibarrModules $sql.= " WHERE ".$this->db->decrypt('name')." = '".$this->const_name."_CSS'"; $sql.= " AND entity = ".$conf->entity; - dol_syslog("DolibarrModules::delete_style_sheet sql=".$sql); + dol_syslog(get_class($this)."::delete_style_sheet sql=".$sql); if (! $this->db->query($sql)) { $this->error=$this->db->lasterror(); - dol_syslog("DolibarrModules::delete_style_sheet ".$this->error, LOG_ERR); + dol_syslog(get_class($this)."::delete_style_sheet ".$this->error, LOG_ERR); $err++; } } @@ -722,11 +722,11 @@ class DolibarrModules $sql.= " WHERE ".$this->db->decrypt('name')." like '".$this->const_name."_TABS_%'"; $sql.= " AND entity = ".$conf->entity; - dol_syslog("DolibarrModules::delete_tabs sql=".$sql); + dol_syslog(get_class($this)."::delete_tabs sql=".$sql); if (! $this->db->query($sql)) { $this->error=$this->db->lasterror(); - dol_syslog("DolibarrModules::delete_tabs ".$this->error, LOG_ERR); + dol_syslog(get_class($this)."::delete_tabs ".$this->error, LOG_ERR); $err++; } @@ -762,7 +762,7 @@ class DolibarrModules $sql.= ", ".$conf->entity; $sql.= ")"; - dol_syslog("DolibarrModules::insert_style_sheet sql=".$sql); + dol_syslog(get_class($this)."::insert_style_sheet sql=".$sql); $resql=$this->db->query($sql); /* Allow duplicate key if (! $resql) @@ -809,7 +809,7 @@ class DolibarrModules $sql.= ", ".$conf->entity; $sql.= ")"; - dol_syslog("DolibarrModules::insert_tabs sql=".$sql); + dol_syslog(get_class($this)."::insert_tabs sql=".$sql); $resql=$this->db->query($sql); /* Allow duplicate key if (! $resql) @@ -870,16 +870,16 @@ class DolibarrModules $sql.= ")"; - dol_syslog("DolibarrModules::insert_const sql=".$sql); + dol_syslog(get_class($this)."::insert_const sql=".$sql); if (! $this->db->query($sql) ) { - dol_syslog("DolibarrModules::insert_const ".$this->db->lasterror(), LOG_ERR); + dol_syslog(get_class($this)."::insert_const ".$this->db->lasterror(), LOG_ERR); $err++; } } else { - dol_syslog("DolibarrModules::insert_const constant '".$name."' already exists", LOG_WARNING); + dol_syslog(get_class($this)."::insert_const constant '".$name."' already exists", LOG_WARNING); } } else @@ -911,11 +911,11 @@ class DolibarrModules $sql = "DELETE FROM ".MAIN_DB_PREFIX."const"; $sql.= " WHERE ".$this->db->decrypt('name')." = '".$name."'"; $sql.= " AND entity in (0, ".$conf->entity.")"; - dol_syslog("DolibarrModules::delete_const sql=".$sql); + dol_syslog(get_class($this)."::delete_const sql=".$sql); if (! $this->db->query($sql)) { $this->error=$this->db->lasterror(); - dol_syslog("DolibarrModules::delete_const ".$this->error, LOG_ERR); + dol_syslog(get_class($this)."::delete_const ".$this->error, LOG_ERR); $err++; } } @@ -937,13 +937,13 @@ class DolibarrModules //print $this->rights_class." ".sizeof($this->rights)."<br>"; - // Test si module actif + // Test if module is activated $sql_del = "SELECT ".$this->db->decrypt('value')." as value"; $sql_del.= " FROM ".MAIN_DB_PREFIX."const"; $sql_del.= " WHERE ".$this->db->decrypt('name')." = '".$this->const_name."'"; $sql_del.= " AND entity IN (0,".$conf->entity.")"; - dol_syslog("DolibarrModules::insert_permissions sql=".$sql_del); + dol_syslog(get_class($this)."::insert_permissions sql=".$sql_del); $resql=$this->db->query($sql_del); if ($resql) { @@ -988,39 +988,58 @@ class DolibarrModules $sql .= "(".$r_id.",".$conf->entity.",'".$this->db->escape($r_desc)."','".$r_modul."','".$r_type."',".$r_def.")"; } - dol_syslog("DolibarrModules::insert_permissions sql=".$sql, LOG_DEBUG); - $resql=$this->db->query($sql,1); - - if (! $resql) + dol_syslog(get_class($this)."::insert_permissions sql=".$sql, LOG_DEBUG); + $resqlinsert=$this->db->query($sql,1); + if (! $resqlinsert) { if ($this->db->errno() != "DB_ERROR_RECORD_ALREADY_EXISTS") { $this->error=$this->db->lasterror(); - dol_syslog("DolibarrModules::insert_permissions error ".$this->error, LOG_ERR); + dol_syslog(get_class($this)."::insert_permissions error ".$this->error, LOG_ERR); $err++; break; } - else dol_syslog("DolibarrModules::insert_permissions record already exists", LOG_INFO); + else dol_syslog(get_class($this)."::insert_permissions record already exists", LOG_INFO); } + $this->db->free($resqlinsert); - // If we are into a logged session and we are an admin user, we take permission of new activated module + // If we want to init permissions on admin users if ($reinitadminperms) { - if (! empty($user->admin)) // FIXME. We must loop on each admin records and make grant on each fuser object. We must removed global $user. + include_once(DOL_DOCUMENT_ROOT.'/user/class/user.class.php'); + $sql="SELECT rowid from ".MAIN_DB_PREFIX."user where admin = 1"; + dol_syslog(get_class($this)."::insert_permissions Search all admin users sql=".$sql); + $resqlseladmin=$this->db->query($sql,1); + if ($resqlseladmin) { - $user->addrights($r_id); - // We reload permissions - $user->clearrights(); - $user->getrights(); + $num=$this->db->num_rows($resqlseladmin); + $i=0; + while ($i < $num) + { + $obj2=$this->db->fetch_object($resqlseladmin); + dol_syslog(get_class($this)."::insert_permissions Add permission to user id=".$obj2->rowid); + $tmpuser=new User($this->db); + $tmpuser->fetch($obj2->rowid); + $tmpuser->addrights($r_id); + $i++; + } + if (! empty($user->admin)) // Reload permission for current user if defined + { + // We reload permissions + $user->clearrights(); + $user->getrights(); + } } + else dol_print_error($this->db); } } } + $this->db->free($resql); } else { $this->error=$this->db->lasterror(); - dol_syslog("DolibarrModules::insert_permissions ".$this->error, LOG_ERR); + dol_syslog(get_class($this)."::insert_permissions ".$this->error, LOG_ERR); $err++; } @@ -1041,11 +1060,11 @@ class DolibarrModules $sql = "DELETE FROM ".MAIN_DB_PREFIX."rights_def"; $sql.= " WHERE module = '".$this->rights_class."'"; $sql.= " AND entity = ".$conf->entity; - dol_syslog("DolibarrModules::delete_permissions sql=".$sql); + dol_syslog(get_class($this)."::delete_permissions sql=".$sql); if (! $this->db->query($sql)) { $this->error=$this->db->lasterror(); - dol_syslog("DolibarrModules::delete_permissions ".$this->error, LOG_ERR); + dol_syslog(get_class($this)."::delete_permissions ".$this->error, LOG_ERR); $err++; } @@ -1100,7 +1119,7 @@ class DolibarrModules if (! $foundparent) { $this->error="ErrorBadDefinitionOfMenuArrayInModuleDescriptor (bad value for key fk_menu)"; - dol_syslog("DolibarrModules::insert_menus ".$this->error." ".$this->menu[$key]['fk_menu'], LOG_ERR); + dol_syslog(get_class($this)."::insert_menus ".$this->error." ".$this->menu[$key]['fk_menu'], LOG_ERR); $err++; } } @@ -1140,7 +1159,7 @@ class DolibarrModules } else { - dol_syslog("DolibarrModules::insert_menus ".$this->error, LOG_ERR); + dol_syslog(get_class($this)."::insert_menus ".$this->error, LOG_ERR); $this->db->rollback(); } @@ -1162,12 +1181,12 @@ class DolibarrModules $sql.= " WHERE module = '".$this->db->escape($this->rights_class)."'"; $sql.= " AND entity = ".$conf->entity; - dol_syslog("DolibarrModules::delete_menus sql=".$sql); + dol_syslog(get_class($this)."::delete_menus sql=".$sql); $resql=$this->db->query($sql); if (! $resql) { $this->error=$this->db->lasterror(); - dol_syslog("DolibarrModules::delete_menus ".$this->error, LOG_ERR); + dol_syslog(get_class($this)."::delete_menus ".$this->error, LOG_ERR); $err++; } @@ -1213,7 +1232,7 @@ class DolibarrModules if (create_exdir($fulldir) < 0) { $this->error = $langs->trans("ErrorCanNotCreateDir",$fulldir); - dol_syslog("DolibarrModules::_init ".$this->error, LOG_ERR); + dol_syslog(get_class($this)."::_init ".$this->error, LOG_ERR); $err++; } } @@ -1246,7 +1265,7 @@ class DolibarrModules $sql.= " WHERE ".$this->db->decrypt('name')." = '".$name."'"; $sql.= " AND entity = ".$conf->entity; - dol_syslog("DolibarrModules::insert_dirs sql=".$sql); + dol_syslog(get_class($this)."::insert_dirs sql=".$sql); $result=$this->db->query($sql); if ($result) { @@ -1257,14 +1276,14 @@ class DolibarrModules $sql = "INSERT INTO ".MAIN_DB_PREFIX."const (name,type,value,note,visible,entity)"; $sql.= " VALUES (".$this->db->encrypt($name,1).",'chaine',".$this->db->encrypt($dir,1).",'Directory for module ".$this->name."','0',".$conf->entity.")"; - dol_syslog("DolibarrModules::insert_dirs sql=".$sql); + dol_syslog(get_class($this)."::insert_dirs sql=".$sql); $resql=$this->db->query($sql); } } else { $this->error=$this->db->lasterror(); - dol_syslog("DolibarrModules::insert_dirs ".$this->error, LOG_ERR); + dol_syslog(get_class($this)."::insert_dirs ".$this->error, LOG_ERR); $err++; } @@ -1286,11 +1305,11 @@ class DolibarrModules $sql.= " WHERE ".$this->db->decrypt('name')." like '".$this->const_name."_DIR_%'"; $sql.= " AND entity = ".$conf->entity; - dol_syslog("DolibarrModules::delete_dirs sql=".$sql); + dol_syslog(get_class($this)."::delete_dirs sql=".$sql); if (! $this->db->query($sql)) { $this->error=$this->db->lasterror(); - dol_syslog("DolibarrModules::delete_dirs ".$this->error, LOG_ERR); + dol_syslog(get_class($this)."::delete_dirs ".$this->error, LOG_ERR); $err++; } @@ -1326,12 +1345,12 @@ class DolibarrModules $sql.= ", ".$conf->entity; $sql.= ")"; - dol_syslog("DolibarrModules::insert_triggers sql=".$sql); + dol_syslog(get_class($this)."::insert_triggers sql=".$sql); $resql=$this->db->query($sql); if (! $resql) { $this->error=$this->db->lasterror(); - dol_syslog("DolibarrModules::insert_triggers ".$this->error); + dol_syslog(get_class($this)."::insert_triggers ".$this->error); } } return $err; @@ -1351,11 +1370,11 @@ class DolibarrModules $sql.= " WHERE ".$this->db->decrypt('name')." LIKE '".$this->const_name."_TRIGGERS'"; $sql.= " AND entity = ".$conf->entity; - dol_syslog("DolibarrModules::delete_triggers sql=".$sql); + dol_syslog(get_class($this)."::delete_triggers sql=".$sql); if (! $this->db->query($sql)) { $this->error=$this->db->lasterror(); - dol_syslog("DolibarrModules::delete_triggers ".$this->error, LOG_ERR); + dol_syslog(get_class($this)."::delete_triggers ".$this->error, LOG_ERR); $err++; } @@ -1391,12 +1410,12 @@ class DolibarrModules $sql.= ", ".$conf->entity; $sql.= ")"; - dol_syslog("DolibarrModules::insert_login_method sql=".$sql); + dol_syslog(get_class($this)."::insert_login_method sql=".$sql); $resql=$this->db->query($sql); if (! $resql) { $this->error=$this->db->lasterror(); - dol_syslog("DolibarrModules::insert_login_method ".$this->error); + dol_syslog(get_class($this)."::insert_login_method ".$this->error); } } return $err; @@ -1416,11 +1435,11 @@ class DolibarrModules $sql.= " WHERE ".$this->db->decrypt('name')." LIKE '".$this->const_name."_LOGIN_METHOD'"; $sql.= " AND entity = ".$conf->entity; - dol_syslog("DolibarrModules::delete_login_method sql=".$sql); + dol_syslog(get_class($this)."::delete_login_method sql=".$sql); if (! $this->db->query($sql)) { $this->error=$this->db->lasterror(); - dol_syslog("DolibarrModules::delete_login_method ".$this->error, LOG_ERR); + dol_syslog(get_class($this)."::delete_login_method ".$this->error, LOG_ERR); $err++; } diff --git a/htdocs/install/etape5.php b/htdocs/install/etape5.php index ced98508b3330dfc378f767a2ebc2ccec409eaaf..3c8d66f947254dd34cfbe227c7bae007101f5ab3 100644 --- a/htdocs/install/etape5.php +++ b/htdocs/install/etape5.php @@ -24,7 +24,7 @@ * \file htdocs/install/etape5.php * \ingroup install * \brief Last page of upgrade or install process - * \version $Id: etape5.php,v 1.101 2011/06/26 12:56:31 eldy Exp $ + * \version $Id: etape5.php,v 1.102 2011/07/17 18:13:44 eldy Exp $ */ include_once("./inc.php"); @@ -219,7 +219,6 @@ if ($action == "set" || preg_match('/upgrade/i',$action)) } // If we ask to force some modules to be enabled - // This works only for module stored into root directory. Does not work for alternate modules. if (! empty($force_install_module)) { if (! defined('DOL_DOCUMENT_ROOT') && ! empty($dolibarr_main_document_root)) define('DOL_DOCUMENT_ROOT',$dolibarr_main_document_root); diff --git a/htdocs/lib/admin.lib.php b/htdocs/lib/admin.lib.php index 9d3068866f5fa308652f4dcc1d2e4b66539751e3..ff6f9d92e55448b829d6b3381c6e3b37d36b0cf4 100644 --- a/htdocs/lib/admin.lib.php +++ b/htdocs/lib/admin.lib.php @@ -21,7 +21,7 @@ /** * \file htdocs/lib/admin.lib.php * \brief Library of admin functions - * \version $Id$ + * \version $Id: admin.lib.php,v 1.97 2011/07/17 18:13:44 eldy Exp $ */ @@ -468,7 +468,7 @@ function dolibarr_set_const($db, $name, $value, $type='chaine', $visible=0, $not /** * \brief Define head array for tabs of security setup pages * \return Array of head - * \version $Id$ + * \version $Id: admin.lib.php,v 1.97 2011/07/17 18:13:44 eldy Exp $ */ function security_prepare_head() { @@ -601,8 +601,8 @@ function purgeSessions($mysessionid) /** * Enable a module - * @param value Nom du module a activer - * @param withdeps Active/desactive aussi les dependances + * @param value Name of module to activate + * @param withdeps Activate/Disable also all dependencies * @return string Error message or ''; */ function Activate($value,$withdeps=1) diff --git a/htdocs/user/class/user.class.php b/htdocs/user/class/user.class.php index 9719223b40788e07b59275fd2989ac7f92d0d638..33c4bc837d28aae2c4eaece36d52d3810503426a 100644 --- a/htdocs/user/class/user.class.php +++ b/htdocs/user/class/user.class.php @@ -25,7 +25,7 @@ /** * \file htdocs/user/class/user.class.php * \brief Fichier de la classe utilisateur - * \version $Id: user.class.php,v 1.45 2011/07/08 18:49:16 eldy Exp $ + * \version $Id: user.class.php,v 1.46 2011/07/17 18:13:44 eldy Exp $ */ require_once(DOL_DOCUMENT_ROOT ."/core/class/commonobject.class.php"); @@ -585,8 +585,8 @@ class User extends CommonObject } /** - * \brief Change status of a user - * \return int <0 if KO, 0 if nothing is done, >0 if OK + * Change status of a user + * @return int <0 if KO, 0 if nothing is done, >0 if OK */ function setstatus($statut) { @@ -735,6 +735,7 @@ class User extends CommonObject if ($num) { $this->error = 'ErrorLoginAlreadyExists'; + dol_syslog("User::Create ".$this->error, LOG_WARNING); $this->db->rollback(); return -6; }