Ajout trigger USER_NEW_PASSWORD (modification mot de passe)

This commit is contained in:
Laurent Destailleur 2006-04-24 21:28:24 +00:00
parent c50b6c2b41
commit ffc0f88f2a
3 changed files with 21 additions and 9 deletions

View File

@ -110,6 +110,10 @@ class InterfaceDemo
{
dolibarr_syslog("Trigger '".$this->name."' for action '$action' launched. id=".$object->id);
}
elseif ($action == 'USER_NEW_PASSWORD')
{
dolibarr_syslog("Trigger '".$this->name."' for action '$action' launched. id=".$object->id);
}
elseif ($action == 'USER_DISABLE')
{
dolibarr_syslog("Trigger '".$this->name."' for action '$action' launched. id=".$object->id);

View File

@ -840,13 +840,13 @@ class User
}
/**
* \brief Change le mot de passe d'un utilisateur
* \param user Object user de l'utilisateur qui fait la modification
* \param password Nouveau mot de passe (généré par defaut si non communiqué)
* \param isencrypted 0 ou 1 si il faut crypter le mot de passe en base (0 par défaut)
* \return string mot de passe, < 0 si erreur
*/
/**
* \brief Change le mot de passe d'un utilisateur
* \param user Object user de l'utilisateur qui fait la modification
* \param password Nouveau mot de passe (généré par defaut si non communiqué)
* \param isencrypted 0 ou 1 si il faut crypter le mot de passe en base (0 par défaut)
* \return string mot de passe, < 0 si erreur
*/
function password($user, $password='', $isencrypted = 0)
{
global $langs;
@ -865,7 +865,6 @@ class User
{
$sqlpass = $password;
}
$this->pass=$password;
$sql = "UPDATE ".MAIN_DB_PREFIX."user SET pass = '".addslashes($sqlpass)."'";
$sql.= " WHERE rowid = ".$this->id;
@ -874,6 +873,15 @@ class User
{
if ($this->db->affected_rows())
{
$this->pass=$password;
// Appel des triggers
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
$interface=new Interfaces($this->db);
$result=$interface->run_triggers('USER_NEW_PASSWORD',$this,$user,$lang,$conf);
if ($result < 0) $error++;
// Fin appel triggers
return $this->pass;
}
else {

View File

@ -212,7 +212,7 @@ if ($_POST["action"] == 'update' && $caneditperms)
}
if ($ret >= 0 && isset($_POST["password"]) && $_POST["password"] !='' )
{
$ret=$edituser->password($user,$password,$conf->password_encrypted);
$ret=$edituser->password($user,$password,$conf->password_encrypted,1);
if ($ret < 0)
{
$message.='<div class="error">'.$edituser->error.'</div>';