Fix: Mauvais equilibre transaction

This commit is contained in:
Laurent Destailleur 2007-12-19 10:24:18 +00:00
parent ec4416e302
commit 54a7d660e3
2 changed files with 78 additions and 77 deletions

View File

@ -69,7 +69,7 @@ if (! @include_once("conf/conf.php"))
} }
else else
{ {
if (! isset($dolibarr_main_db_host)) if (! isset($dolibarr_main_db_host))
{ {
Header("Location: install/index.php"); Header("Location: install/index.php");
exit; exit;

View File

@ -65,11 +65,11 @@ class User extends CommonObject
var $admin; var $admin;
var $login; var $login;
//! Mot de passe en clair en mémoire //! Mot de passe en clair en memoire
var $pass; var $pass;
//! Mot de passe en clair en base (renseigné si DATABASE_PWD_ENCRYPTED=0) //! Mot de passe en clair en base (renseign<EFBFBD> si DATABASE_PWD_ENCRYPTED=0)
var $pass_indatabase; var $pass_indatabase;
//! Mot de passe crypté en base (toujours renseigné) //! Mot de passe crypte en base (toujours renseign<67>)
var $pass_indatabase_crypted; var $pass_indatabase_crypted;
var $datec; var $datec;
@ -93,15 +93,15 @@ class User extends CommonObject
var $rights; var $rights;
var $all_permissions_are_loaded; /**< \private all_permissions_are_loaded */ var $all_permissions_are_loaded; /**< \private all_permissions_are_loaded */
var $tab_loaded=array(); // Tableau pour signaler les permissions deja chargées var $tab_loaded=array(); // Tableau pour signaler les permissions deja charg<EFBFBD>es
/** /**
* \brief Constructeur de la classe * \brief Constructeur de la classe
* \param DB Handler accès base de données * \param DB Handler acces base de donnees
* \param id Id de l'utilisateur (0 par défaut) * \param id Id de l'utilisateur (0 par defaut)
*/ */
function User($DB, $id=0) function User($DB, $id=0)
{ {
@ -120,8 +120,8 @@ class User extends CommonObject
/** /**
* \brief Charge un objet user avec toutes ces caractéristiques depuis un id ou login * \brief Charge un objet user avec toutes ces caracteristiques depuis un id ou login
* \param login Si défini, login a utiliser pour recherche * \param login Si defini, login a utiliser pour recherche
* \return int <0 if KO, 0 not found, >0 if OK * \return int <0 if KO, 0 not found, >0 if OK
*/ */
function fetch($login='') function fetch($login='')
@ -217,8 +217,8 @@ class User extends CommonObject
return -1; return -1;
} }
// Recupere parametrage global propre à l'utilisateur // Recupere parametrage global propre a l'utilisateur
// \todo a stocker/recupérer en session pour eviter ce select a chaque page // \todo a stocker/recuperer en session pour eviter ce select a chaque page
$sql = "SELECT param, value FROM ".MAIN_DB_PREFIX."user_param"; $sql = "SELECT param, value FROM ".MAIN_DB_PREFIX."user_param";
$sql.= " WHERE fk_user = ".$this->id; $sql.= " WHERE fk_user = ".$this->id;
$sql.= " AND page = ''"; $sql.= " AND page = ''";
@ -243,9 +243,9 @@ class User extends CommonObject
return -2; return -2;
} }
// Recupere parametrage propre à la page et à l'utilisateur // Recupere parametrage propre a la page et a l'utilisateur
// \todo SCRIPT_URL non defini sur tous serveurs // \todo SCRIPT_URL non defini sur tous serveurs
// Paramétrage par page desactivé pour l'instant // Parametrage par page desactive pour l'instant
if (1==2 && isset($_SERVER['SCRIPT_URL'])) if (1==2 && isset($_SERVER['SCRIPT_URL']))
{ {
$sql = "SELECT param, value FROM ".MAIN_DB_PREFIX."user_param"; $sql = "SELECT param, value FROM ".MAIN_DB_PREFIX."user_param";
@ -280,7 +280,7 @@ class User extends CommonObject
/** /**
* \brief Ajoute un droit a l'utilisateur * \brief Ajoute un droit a l'utilisateur
* \param rid id du droit à ajouter * \param rid id du droit a ajouter
* \param allmodule Ajouter tous les droits du module allmodule * \param allmodule Ajouter tous les droits du module allmodule
* \param allperms Ajouter tous les droits du module allmodule, perms allperms * \param allperms Ajouter tous les droits du module allmodule, perms allperms
* \return int > 0 si ok, < 0 si erreur * \return int > 0 si ok, < 0 si erreur
@ -295,8 +295,8 @@ class User extends CommonObject
if ($rid) if ($rid)
{ {
// Si on a demandé ajout d'un droit en particulier, on récupère // Si on a demande ajout d'un droit en particulier, on recupere
// les caractéristiques (module, perms et subperms) de ce droit. // les caracteristiques (module, perms et subperms) de ce droit.
$sql = "SELECT module, perms, subperms"; $sql = "SELECT module, perms, subperms";
$sql.= " FROM ".MAIN_DB_PREFIX."rights_def"; $sql.= " FROM ".MAIN_DB_PREFIX."rights_def";
$sql.= " WHERE "; $sql.= " WHERE ";
@ -314,21 +314,21 @@ class User extends CommonObject
dolibarr_print_error($this->db); dolibarr_print_error($this->db);
} }
// Where pour la liste des droits à ajouter // Where pour la liste des droits a ajouter
$whereforadd="id=".$rid; $whereforadd="id=".$rid;
// Ajout des droits induits // Ajout des droits induits
if ($subperms) $whereforadd.=" OR (module='$module' AND perms='$perms' AND subperms='lire')"; if ($subperms) $whereforadd.=" OR (module='$module' AND perms='$perms' AND subperms='lire')";
if ($perms) $whereforadd.=" OR (module='$module' AND perms='lire' AND subperms IS NULL)"; if ($perms) $whereforadd.=" OR (module='$module' AND perms='lire' AND subperms IS NULL)";
} }
else { else {
// On a pas demandé un droit en particulier mais une liste de droits // On a pas demande un droit en particulier mais une liste de droits
// sur la base d'un nom de module de de perms // sur la base d'un nom de module de de perms
// Where pour la liste des droits à ajouter // Where pour la liste des droits a ajouter
if ($allmodule) $whereforadd="module='$allmodule'"; if ($allmodule) $whereforadd="module='$allmodule'";
if ($allperms) $whereforadd=" AND perms='$allperms'"; if ($allperms) $whereforadd=" AND perms='$allperms'";
} }
// Ajout des droits trouvés grace au critere whereforadd // Ajout des droits trouves grace au critere whereforadd
if ($whereforadd) if ($whereforadd)
{ {
//print "$module-$perms-$subperms"; //print "$module-$perms-$subperms";
@ -375,7 +375,7 @@ class User extends CommonObject
/** /**
* \brief Retire un droit a l'utilisateur * \brief Retire un droit a l'utilisateur
* \param rid id du droit à retirer * \param rid id du droit a retirer
* \param allmodule Retirer tous les droits du module allmodule * \param allmodule Retirer tous les droits du module allmodule
* \param allperms Retirer tous les droits du module allmodule, perms allperms * \param allperms Retirer tous les droits du module allmodule, perms allperms
* \return int > 0 si ok, < 0 si erreur * \return int > 0 si ok, < 0 si erreur
@ -389,8 +389,8 @@ class User extends CommonObject
if ($rid) if ($rid)
{ {
// Si on a demandé supression d'un droit en particulier, on récupère // Si on a demande supression d'un droit en particulier, on recupere
// les caractéristiques module, perms et subperms de ce droit. // les caracteristiques module, perms et subperms de ce droit.
$sql = "SELECT module, perms, subperms"; $sql = "SELECT module, perms, subperms";
$sql.= " FROM ".MAIN_DB_PREFIX."rights_def"; $sql.= " FROM ".MAIN_DB_PREFIX."rights_def";
$sql.= " WHERE "; $sql.= " WHERE ";
@ -408,15 +408,15 @@ class User extends CommonObject
dolibarr_print_error($this->db); dolibarr_print_error($this->db);
} }
// Where pour la liste des droits à supprimer // Where pour la liste des droits a supprimer
$wherefordel="id=".$rid; $wherefordel="id=".$rid;
// Suppression des droits induits // Suppression des droits induits
if ($subperms=='lire') $wherefordel.=" OR (module='$module' AND perms='$perms' AND subperms IS NOT NULL)"; if ($subperms=='lire') $wherefordel.=" OR (module='$module' AND perms='$perms' AND subperms IS NOT NULL)";
if ($perms=='lire') $wherefordel.=" OR (module='$module')"; if ($perms=='lire') $wherefordel.=" OR (module='$module')";
} }
else { else {
// On a demandé suppression d'un droit sur la base d'un nom de module ou perms // On a demande suppression d'un droit sur la base d'un nom de module ou perms
// Where pour la liste des droits à supprimer // Where pour la liste des droits a supprimer
if ($allmodule) $wherefordel="module='$allmodule'"; if ($allmodule) $wherefordel="module='$allmodule'";
if ($allperms) $wherefordel=" AND perms='$allperms'"; if ($allperms) $wherefordel=" AND perms='$allperms'";
} }
@ -477,23 +477,23 @@ class User extends CommonObject
/** /**
\brief Charge dans l'objet user, la liste des permissions auxquelles l'utilisateur a droit \brief Charge dans l'objet user, la liste des permissions auxquelles l'utilisateur a droit
\param module nom du module dont il faut récupérer les droits ('' par defaut signifie tous les droits) \param module nom du module dont il faut recuperer les droits ('' par defaut signifie tous les droits)
*/ */
function getrights($moduletag='') function getrights($moduletag='')
{ {
if ($moduletag && isset($this->tab_loaded[$moduletag]) && $this->tab_loaded[$moduletag]) if ($moduletag && isset($this->tab_loaded[$moduletag]) && $this->tab_loaded[$moduletag])
{ {
// Le fichier de ce module est deja chargé // Le fichier de ce module est deja charge
return; return;
} }
if ($this->all_permissions_are_loaded) if ($this->all_permissions_are_loaded)
{ {
// Si les permissions ont déja été chargé pour ce user, on quitte // Si les permissions ont deja ete charge pour ce user, on quitte
return; return;
} }
// Récupération des droits utilisateurs + récupération des droits groupes // Recuperation des droits utilisateurs + recuperation des droits groupes
// D'abord les droits utilisateurs // D'abord les droits utilisateurs
$sql = "SELECT r.module, r.perms, r.subperms"; $sql = "SELECT r.module, r.perms, r.subperms";
@ -573,13 +573,13 @@ class User extends CommonObject
if (! $moduletag) if (! $moduletag)
{ {
// Si module etait non defini, alors on a tout chargé, on peut donc considérer // Si module etait non defini, alors on a tout charge, on peut donc considerer
// que les droits sont en cache (car tous chargés) pour cet instance de user // que les droits sont en cache (car tous charges) pour cet instance de user
$this->all_permissions_are_loaded=1; $this->all_permissions_are_loaded=1;
} }
else else
{ {
// Si module défini, on le marque comme chargé en cache // Si module defini, on le marque comme charge en cache
$this->tab_loaded[$moduletag]=1; $this->tab_loaded[$moduletag]=1;
} }
} }
@ -594,7 +594,7 @@ class User extends CommonObject
$this->db->begin(); $this->db->begin();
// Désactive utilisateur // Desactive utilisateur
$sql = "UPDATE ".MAIN_DB_PREFIX."user"; $sql = "UPDATE ".MAIN_DB_PREFIX."user";
$sql.= " SET statut = ".$statut; $sql.= " SET statut = ".$statut;
$sql.= " WHERE rowid = ".$this->id; $sql.= " WHERE rowid = ".$this->id;
@ -624,7 +624,7 @@ class User extends CommonObject
/** /**
* \brief Supprime complètement un utilisateur * \brief Supprime completement un utilisateur
*/ */
function delete() function delete()
{ {
@ -675,10 +675,10 @@ class User extends CommonObject
} }
/** /**
* \brief Crée l'utilisateur en base * \brief Cree l'utilisateur en base
* \param user Objet user qui demande la creation * \param user Objet user qui demande la creation
* \param notrigger 1 ne declenche pas les triggers, 0 sinon * \param notrigger 1 ne declenche pas les triggers, 0 sinon
* \return int <0 si KO, id compte créé si OK * \return int <0 si KO, id compte cree si OK
*/ */
function create($user='',$notrigger=0) function create($user='',$notrigger=0)
{ {
@ -703,6 +703,7 @@ class User extends CommonObject
if ($num) if ($num)
{ {
$this->error = 'ErrorLoginAlreadyExists'; $this->error = 'ErrorLoginAlreadyExists';
$this->db->rollback();
return -6; return -6;
} }
else else
@ -737,7 +738,7 @@ class User extends CommonObject
require_once(DOL_DOCUMENT_ROOT."/product/stock/entrepot.class.php"); require_once(DOL_DOCUMENT_ROOT."/product/stock/entrepot.class.php");
$entrepot = new Entrepot($this->db); $entrepot = new Entrepot($this->db);
$entrepot->libelle = 'Stock Personnel '.$this->nom; $entrepot->libelle = 'Stock Personnel '.$this->nom;
$entrepot->description = 'Cet entrepot représente le stock personnel de '.$this->prenom.' '.$this->nom; $entrepot->description = 'Cet entrepot represente le stock personnel de '.$this->prenom.' '.$this->nom;
$entrepot->statut = 1; $entrepot->statut = 1;
$entrepot->create($user); $entrepot->create($user);
} }
@ -782,15 +783,15 @@ class User extends CommonObject
/** /**
* \brief Créé en base un utilisateur depuis l'objet contact * \brief Cree en base un utilisateur depuis l'objet contact
* \param contact Objet du contact source * \param contact Objet du contact source
* \return int si erreur <0, si ok renvoie id compte créé * \return int si erreur <0, si ok renvoie id compte cree
*/ */
function create_from_contact($contact) function create_from_contact($contact)
{ {
global $langs; global $langs;
// Positionne paramètres // Positionne parametres
$this->nom = $contact->nom; $this->nom = $contact->nom;
$this->prenom = $contact->prenom; $this->prenom = $contact->prenom;
@ -801,7 +802,7 @@ class User extends CommonObject
$this->db->begin(); $this->db->begin();
// Crée et positionne $this->id // Cree et positionne $this->id
$result=$this->create(); $result=$this->create();
if ($result > 0) if ($result > 0)
@ -827,7 +828,7 @@ class User extends CommonObject
} }
else else
{ {
// $this->error deja positionné // $this->error deja positionne
dolibarr_syslog("User::create_from_contact - 0"); dolibarr_syslog("User::create_from_contact - 0");
$this->db->rollback(); $this->db->rollback();
@ -837,15 +838,15 @@ class User extends CommonObject
} }
/** /**
* \brief Créé en base un utilisateur depuis l'objet adherent * \brief Cree en base un utilisateur depuis l'objet adherent
* \param member Objet adherent source * \param member Objet adherent source
* \return int Si erreur <0, si ok renvoie id compte créé * \return int Si erreur <0, si ok renvoie id compte cree
*/ */
function create_from_member($member) function create_from_member($member)
{ {
global $conf, $user,$langs; global $conf, $user,$langs;
// Positionne paramètres // Positionne parametres
$this->nom = $member->nom; $this->nom = $member->nom;
$this->prenom = $member->prenom; $this->prenom = $member->prenom;
@ -857,7 +858,7 @@ class User extends CommonObject
$this->db->begin(); $this->db->begin();
// Crée et positionne $this->id // Cree et positionne $this->id
$result=$this->create(); $result=$this->create();
if ($result > 0) if ($result > 0)
{ {
@ -884,7 +885,7 @@ class User extends CommonObject
} }
else else
{ {
// $this->error deja positionné // $this->error deja positionne
dolibarr_syslog("User::create_from_member - 2 - ".$this->error); dolibarr_syslog("User::create_from_member - 2 - ".$this->error);
$this->db->rollback(); $this->db->rollback();
@ -893,8 +894,8 @@ class User extends CommonObject
} }
/** /**
* \brief Affectation des permissions par défaut * \brief Affectation des permissions par defaut
* \return Si erreur <0, si ok renvoi le nbre de droits par defaut positionnés * \return Si erreur <0, si ok renvoi le nbre de droits par defaut positionnes
*/ */
function set_default_rights() function set_default_rights()
{ {
@ -930,7 +931,7 @@ class User extends CommonObject
} }
/** /**
* \brief Mise à jour en base d'un utilisateur (sauf info mot de passe) * \brief Mise e jour en base d'un utilisateur (sauf info mot de passe)
* \param user User qui fait la mise a jour * \param user User qui fait la mise a jour
* \param notrigger 1 ne declenche pas les triggers, 0 sinon * \param notrigger 1 ne declenche pas les triggers, 0 sinon
* \param nosyncmember Do not synchronize linked member * \param nosyncmember Do not synchronize linked member
@ -993,7 +994,7 @@ class User extends CommonObject
{ {
if ($this->pass != $this->pass_indatabase && $this->pass != $this->pass_indatabase_crypted) if ($this->pass != $this->pass_indatabase && $this->pass != $this->pass_indatabase_crypted)
{ {
// Si mot de passe saisi et différent de celui en base // Si mot de passe saisi et different de celui en base
$result=$this->password($user,$this->pass,$conf->password_encrypted,0,$notrigger); $result=$this->password($user,$this->pass,$conf->password_encrypted,0,$notrigger);
if (! $nbrowsaffected) $nbrowsaffected++; if (! $nbrowsaffected) $nbrowsaffected++;
@ -1077,9 +1078,9 @@ class User extends CommonObject
} }
/** /**
\brief Fonction qui met à jour le commentaire d'un utilisateur \brief Fonction qui met a jour le commentaire d'un utilisateur
\param note Note \param note Note
\param user Utilisateur qui réalise la mise a jour \param user Utilisateur qui realise la mise a jour
\return int <0 si KO, >0 si OK \return int <0 si KO, >0 si OK
*/ */
function update_note($note,$user) function update_note($note,$user)
@ -1106,8 +1107,8 @@ class User extends CommonObject
} }
/** /**
* \brief Mise à jour en base de la date de deniere connexion d'un utilisateur * \brief Mise e jour en base de la date de deniere connexion d'un utilisateur
* Fonction appelée lors d'une nouvelle connexion * Fonction appelee lors d'une nouvelle connexion
* \return <0 si echec, >=0 si ok * \return <0 si echec, >=0 si ok
*/ */
function update_last_login_date() function update_last_login_date()
@ -1139,7 +1140,7 @@ class User extends CommonObject
/** /**
* \brief Change le mot de passe d'un utilisateur * \brief Change le mot de passe d'un utilisateur
* \param user Object user de l'utilisateur qui fait la modification * \param user Object user de l'utilisateur qui fait la modification
* \param password Nouveau mot de passe (à générer si non communiqué) * \param password Nouveau mot de passe (e generer si non communique)
* \param noclearpassword 0 ou 1 s'il ne faut pas stocker le mot de passe en clair * \param noclearpassword 0 ou 1 s'il ne faut pas stocker le mot de passe en clair
* \param changelater 1=Change password only after clicking on confirm email * \param changelater 1=Change password only after clicking on confirm email
* \param notrigger 1=Ne declenche pas les triggers * \param notrigger 1=Ne declenche pas les triggers
@ -1154,10 +1155,10 @@ class User extends CommonObject
dolibarr_syslog("User::Password user=".$user->id." password=".eregi_replace('.','*',$password)." noclearpassword=".$noclearpassword." changelater=".$changelater." notrigger=".$notrigger); dolibarr_syslog("User::Password user=".$user->id." password=".eregi_replace('.','*',$password)." noclearpassword=".$noclearpassword." changelater=".$changelater." notrigger=".$notrigger);
// Si nouveau mot de passe non communiqué, on génère par module // Si nouveau mot de passe non communique, on genere par module
if (! $password) if (! $password)
{ {
// TODO Mettre appel au module de génération de mot de passe // TODO Mettre appel au module de generation de mot de passe
$password=creer_pass_aleatoire_1(''); $password=creer_pass_aleatoire_1('');
//$password=creer_pass_aleatoire_2(''); //$password=creer_pass_aleatoire_2('');
} }
@ -1203,7 +1204,7 @@ class User extends CommonObject
if ($result >= 0) if ($result >= 0)
{ {
$result=$adh->password($user,$this->pass,0,0,1); // Cryptage non géré dans module adhérent $result=$adh->password($user,$this->pass,0,0,1); // Cryptage non gere dans module adherent
if ($result < 0) if ($result < 0)
{ {
$this->error=$adh->error; $this->error=$adh->error;
@ -1324,7 +1325,7 @@ class User extends CommonObject
} }
/** /**
* \brief Renvoie la dernière erreur fonctionnelle de manipulation de l'objet * \brief Renvoie la derniere erreur fonctionnelle de manipulation de l'objet
* \return string chaine erreur * \return string chaine erreur
*/ */
function error() function error()
@ -1372,7 +1373,7 @@ class User extends CommonObject
} }
/** /**
* \brief Mise à jour des infos de click to dial * \brief Mise e jour des infos de click to dial
*/ */
function update_clicktodial() function update_clicktodial()
{ {
@ -1488,8 +1489,8 @@ class User extends CommonObject
} }
/** /**
* \brief Retourne le libellé du statut d'un user (actif, inactif) * \brief Retourne le libelle du statut d'un user (actif, inactif)
* \param mode 0=libellé long, 1=libellé court, 2=Picto + Libellé court, 3=Picto, 4=Picto + Libellé long * \param mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long
* \return string Libelle * \return string Libelle
*/ */
function getLibStatut($mode=0) function getLibStatut($mode=0)
@ -1498,10 +1499,10 @@ class User extends CommonObject
} }
/** /**
* \brief Renvoi le libellé d'un statut donné * \brief Renvoi le libelle d'un statut donne
* \param statut Id statut * \param statut Id statut
* \param mode 0=libellé long, 1=libellé court, 2=Picto + Libellé court, 3=Picto, 4=Picto + Libellé long, 5=Libellé court + Picto * \param mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto
* \return string Libellé du statut * \return string Libelle du statut
*/ */
function LibStatut($statut,$mode=0) function LibStatut($statut,$mode=0)
{ {
@ -1580,7 +1581,7 @@ class User extends CommonObject
if ($this->prenom && $conf->global->LDAP_FIELD_FIRSTNAME) $info[$conf->global->LDAP_FIELD_FIRSTNAME] = $this->prenom; if ($this->prenom && $conf->global->LDAP_FIELD_FIRSTNAME) $info[$conf->global->LDAP_FIELD_FIRSTNAME] = $this->prenom;
if ($this->login && $conf->global->LDAP_FIELD_LOGIN) $info[$conf->global->LDAP_FIELD_LOGIN] = $this->login; if ($this->login && $conf->global->LDAP_FIELD_LOGIN) $info[$conf->global->LDAP_FIELD_LOGIN] = $this->login;
if ($this->login && $conf->global->LDAP_FIELD_LOGIN_SAMBA) $info[$conf->global->LDAP_FIELD_LOGIN_SAMBA] = $this->login; if ($this->login && $conf->global->LDAP_FIELD_LOGIN_SAMBA) $info[$conf->global->LDAP_FIELD_LOGIN_SAMBA] = $this->login;
if ($this->pass && $conf->global->LDAP_FIELD_PASSWORD) $info[$conf->global->LDAP_FIELD_PASSWORD] = $this->pass; // this->pass = mot de passe non crypté if ($this->pass && $conf->global->LDAP_FIELD_PASSWORD) $info[$conf->global->LDAP_FIELD_PASSWORD] = $this->pass; // this->pass = mot de passe non crypte
if ($this->ldap_sid && $conf->global->LDAP_FIELD_SID) $info[$conf->global->LDAP_FIELD_SID] = $this->ldap_sid; if ($this->ldap_sid && $conf->global->LDAP_FIELD_SID) $info[$conf->global->LDAP_FIELD_SID] = $this->ldap_sid;
if ($this->societe_id > 0) if ($this->societe_id > 0)
{ {
@ -1631,13 +1632,13 @@ class User extends CommonObject
/** /**
* \brief Initialise le user avec valeurs fictives aléatoire * \brief Initialise le user avec valeurs fictives aleatoire
*/ */
function initAsSpecimen() function initAsSpecimen()
{ {
global $user,$langs; global $user,$langs;
// Charge tableau des id de société socids // Charge tableau des id de societe socids
$socids = array(); $socids = array();
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."societe WHERE client=1 LIMIT 10"; $sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."societe WHERE client=1 LIMIT 10";
$resql = $this->db->query($sql); $resql = $this->db->query($sql);
@ -1654,7 +1655,7 @@ class User extends CommonObject
} }
} }
// Initialise paramètres // Initialise parametres
$this->id=0; $this->id=0;
$this->ref = 'SPECIMEN'; $this->ref = 'SPECIMEN';
$this->specimen=1; $this->specimen=1;
@ -1755,8 +1756,8 @@ class User extends CommonObject
/** /**
\brief Fonction pour créer un mot de passe aléatoire en minuscule \brief Fonction pour creer un mot de passe aleatoire en minuscule
\param sel Donnée aléatoire \param sel Donnee aleatoire
\return string Mot de passe \return string Mot de passe
*/ */
function creer_pass_aleatoire_1($sel = "") function creer_pass_aleatoire_1($sel = "")
@ -1768,10 +1769,10 @@ function creer_pass_aleatoire_1($sel = "")
/** /**
\brief Fonction pour créer un mot de passe aléatoire mélangeant majuscule, \brief Fonction pour creer un mot de passe aleatoire melangeant majuscule,
minuscule, chiffre et alpha et caractères spéciaux minuscule, chiffre et alpha et caracteres speciaux
\remarks La fonction a été prise sur http://www.uzine.net/spip \remarks La fonction a ete prise sur http://www.uzine.net/spip
\param sel Donnée aléatoire \param sel Donnee aleatoire
\return string Mot de passe \return string Mot de passe
*/ */
function creer_pass_aleatoire_2($sel = "") function creer_pass_aleatoire_2($sel = "")