Sparation reinit mot de passe de envoi
This commit is contained in:
parent
947989613d
commit
ea985b8ca1
@ -334,11 +334,17 @@ if ($user->liste_limit > 0)
|
|||||||
$conf->liste_limit = $user->liste_limit;
|
$conf->liste_limit = $user->liste_limit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (defined('MAIN_MAIL_FROM'))
|
||||||
|
{
|
||||||
|
$conf->email_from=MAIN_MAIL_FROM;
|
||||||
|
}
|
||||||
|
|
||||||
if (defined('MAIN_THEME'))
|
if (defined('MAIN_THEME'))
|
||||||
{
|
{
|
||||||
$conf->theme=MAIN_THEME;
|
$conf->theme=MAIN_THEME;
|
||||||
$conf->css = "theme/".$conf->theme."/".$conf->theme.".css";
|
$conf->css = "theme/".$conf->theme."/".$conf->theme.".css";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (defined("MAIN_MAIL_RESIL"))
|
if (defined("MAIN_MAIL_RESIL"))
|
||||||
{
|
{
|
||||||
$conf->adherent->email_resil=MAIN_MAIL_RESIL;
|
$conf->adherent->email_resil=MAIN_MAIL_RESIL;
|
||||||
|
|||||||
@ -675,73 +675,90 @@ class User
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Change le mot de passe d'un utilisateur et l'envoie par mail
|
* \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éré par defaut si non communiqué)
|
* \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)
|
* \param isencrypted 0 ou 1 si il faut crypter le mot de passe en base (0 par défaut)
|
||||||
* \return int <0 si erreur, 0 si changement ok mais envoi mail ko, 1 si ok
|
* \return string mot de passe, < 0 si erreur
|
||||||
*/
|
*/
|
||||||
|
function password($user, $password='', $isencrypted = 0)
|
||||||
function password($user, $password='', $isencrypted = 0)
|
|
||||||
{
|
{
|
||||||
global $langs;
|
global $langs;
|
||||||
|
$longueurmotdepasse=8;
|
||||||
if (! $password)
|
|
||||||
{
|
if (! $password)
|
||||||
$password = strtolower(substr(md5(uniqid(rand())),0,6));
|
{
|
||||||
}
|
$password = strtolower(substr(md5(uniqid(rand())),0,$longueurmotdepasse));
|
||||||
|
}
|
||||||
if ($isencrypted)
|
|
||||||
{
|
if ($isencrypted)
|
||||||
$sqlpass = crypt($password, "CRYPT_STD_DES");
|
{
|
||||||
}
|
$sqlpass = crypt($password, "CRYPT_STD_DES");
|
||||||
else
|
}
|
||||||
{
|
else
|
||||||
$sqlpass = $password;
|
{
|
||||||
}
|
$sqlpass = $password;
|
||||||
$this->pass=$password;
|
}
|
||||||
$sql = "UPDATE ".MAIN_DB_PREFIX."user SET pass = '".$sqlpass."'";
|
$this->pass=$password;
|
||||||
$sql .= " WHERE rowid = $this->id";
|
$sql = "UPDATE ".MAIN_DB_PREFIX."user SET pass = '".$sqlpass."'";
|
||||||
|
$sql.= " WHERE rowid = $this->id";
|
||||||
$result = $this->db->query($sql);
|
|
||||||
|
$result = $this->db->query($sql);
|
||||||
if ($result)
|
if ($result)
|
||||||
{
|
{
|
||||||
if ($this->db->affected_rows())
|
if ($this->db->affected_rows())
|
||||||
{
|
{
|
||||||
|
return $this->pass;
|
||||||
$mesg .= "Bonjour,\n\n";
|
}
|
||||||
$mesg .= "Votre mot de passe pour accéder à Dolibarr a été changé :\n\n";
|
else {
|
||||||
$mesg .= $langs->trans("Login")." : $this->login\n";
|
return -2;
|
||||||
$mesg .= $langs->trans("Password")." : $password\n\n";
|
}
|
||||||
|
}
|
||||||
$mesg .= "Adresse : http://".$_SERVER["HTTP_HOST"].DOL_URL_ROOT;
|
else
|
||||||
$mesg .= "\n\n";
|
{
|
||||||
$mesg .= "--\n";
|
dolibarr_print_error($this->db);
|
||||||
$mesg.= $user->fullname;
|
return -1;
|
||||||
|
}
|
||||||
if (mail($this->email, $langs->trans("SubjectNewPassword"), $mesg))
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$this->error=$langs->trans("ErrorFailtedToSendPassword");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return -2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
dolibarr_print_error($this->db);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Envoie mot de passe par mail
|
||||||
|
* \param user Object user de l'utilisateur qui fait l'envoi
|
||||||
|
* \param password Nouveau mot de passe
|
||||||
|
* \return int < 0 si erreur, > 0 si ok
|
||||||
|
*/
|
||||||
|
function send_password($user, $password='')
|
||||||
|
{
|
||||||
|
global $langs;
|
||||||
|
|
||||||
|
require_once DOL_DOCUMENT_ROOT."/lib/CMailFile.class.php";
|
||||||
|
|
||||||
|
$subject = $langs->trans("SubjectNewPassword");
|
||||||
|
|
||||||
|
$mesg .= "Bonjour,\n\n";
|
||||||
|
$mesg .= "Votre mot de passe pour accéder à Dolibarr a été changé :\n\n";
|
||||||
|
$mesg .= $langs->trans("Login")." : $this->login\n";
|
||||||
|
$mesg .= $langs->trans("Password")." : $password\n\n";
|
||||||
|
|
||||||
|
$mesg .= "Adresse : http://".$_SERVER["HTTP_HOST"].DOL_URL_ROOT;
|
||||||
|
$mesg .= "\n\n";
|
||||||
|
$mesg .= "--\n";
|
||||||
|
$mesg.= $user->fullname;
|
||||||
|
|
||||||
|
$mailfile = new CMailFile($subject,$this->email,$conf->email_from,$mesg,array(),array(),array());
|
||||||
|
|
||||||
|
if ($mailfile->sendfile())
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->error=$langs->trans("ErrorFailtedToSendPassword");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Renvoie la dernière erreur fonctionnelle de manipulation de l'objet
|
* \brief Renvoie la dernière erreur fonctionnelle de manipulation de l'objet
|
||||||
* \return string chaine erreur
|
* \return string chaine erreur
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user