Fix: Creation user depuis fiche adherent oubliait le mot de passe

This commit is contained in:
Laurent Destailleur 2007-08-31 07:43:23 +00:00
parent b7417233bf
commit bf85f2e150

View File

@ -802,13 +802,14 @@ class User
*/ */
function create_from_member($member) function create_from_member($member)
{ {
global $langs; global $user,$langs;
// Positionne paramètres // Positionne paramètres
$this->nom = $member->nom; $this->nom = $member->nom;
$this->prenom = $member->prenom; $this->prenom = $member->prenom;
$this->login = $member->login; $this->login = $member->login;
$this->pass = $member->pass;
$this->admin = 0; $this->admin = 0;
$this->email = $member->email; $this->email = $member->email;
@ -817,10 +818,11 @@ class User
// Crée et positionne $this->id // Crée et positionne $this->id
$result=$this->create(); $result=$this->create();
if ($result > 0) if ($result > 0)
{ {
$sql = "UPDATE ".MAIN_DB_PREFIX."user"; $result=$this->password($user,$this->pass,0,0,1);
$sql = "UPDATE ".MAIN_DB_PREFIX."user";
$sql.= " SET fk_member=".$member->id; $sql.= " SET fk_member=".$member->id;
$sql.= " WHERE rowid=".$this->id; $sql.= " WHERE rowid=".$this->id;
$resql=$this->db->query($sql); $resql=$this->db->query($sql);
@ -829,7 +831,7 @@ class User
{ {
$this->db->commit(); $this->db->commit();
return $this->id; return $this->id;
} }
else else
{ {
$this->error=$this->db->error()." - ".$sql; $this->error=$this->db->error()." - ".$sql;
@ -998,9 +1000,10 @@ class User
* \param password Nouveau mot de passe (à générer si non communiqué) * \param password Nouveau mot de passe (à générer si non communiqué)
* \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
* \return string Mot de passe non crypté, < 0 si erreur * \return string Mot de passe non crypté, < 0 si erreur
*/ */
function password($user, $password='', $noclearpassword=0, $changelater=0) function password($user, $password='', $noclearpassword=0, $changelater=0, $notrigger=0)
{ {
global $langs; global $langs;
@ -1042,12 +1045,15 @@ class User
$this->pass_indatabase=$password; $this->pass_indatabase=$password;
$this->pass_indatabase_crypted=$password_crypted; $this->pass_indatabase_crypted=$password_crypted;
// Appel des triggers if (! $notrigger)
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php"); {
$interface=new Interfaces($this->db); // Appel des triggers
$result=$interface->run_triggers('USER_NEW_PASSWORD',$this,$user,$lang,$conf); include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
if ($result < 0) $this->errors=$interface->errors; $interface=new Interfaces($this->db);
// Fin appel triggers $result=$interface->run_triggers('USER_NEW_PASSWORD',$this,$user,$lang,$conf);
if ($result < 0) $this->errors=$interface->errors;
// Fin appel triggers
}
return $this->pass; return $this->pass;
} }