diff --git a/htdocs/includes/login/functions_ldap.php b/htdocs/includes/login/functions_ldap.php index 080b9d4c4cc..91ad308f7ad 100644 --- a/htdocs/includes/login/functions_ldap.php +++ b/htdocs/includes/login/functions_ldap.php @@ -118,7 +118,7 @@ function check_user_password_ldap($usertotest,$passwordtotest) $ldap->close(); sleep(1); $langs->load('ldap'); - $_SESSION["dol_loginmesg"]=$langs->trans("UserMustChangePassNextLogon"); + $_SESSION["dol_loginmesg"]=$langs->trans("UserMustChangePassNextLogon",$ldap->domainFQDN); return $login; } else diff --git a/htdocs/langs/en_US/ldap.lang b/htdocs/langs/en_US/ldap.lang index b1efe366177..74c1324a754 100644 --- a/htdocs/langs/en_US/ldap.lang +++ b/htdocs/langs/en_US/ldap.lang @@ -1,6 +1,6 @@ # Dolibarr language file - en_US - ldap DomainPassword=Password for domain -UserMustChangePassNextLogon=User must change its password at next connection +UserMustChangePassNextLogon=You must change your password on the domain %s LdapUacf_NORMAL_ACCOUNT=User account LdapUacf_DONT_EXPIRE_PASSWORD=Password never expires LdapUacf_ACCOUNTDISABLE=Account is disabled on this domain diff --git a/htdocs/langs/fr_FR/ldap.lang b/htdocs/langs/fr_FR/ldap.lang index f0ab3533f6c..b2a3b1f81b3 100644 --- a/htdocs/langs/fr_FR/ldap.lang +++ b/htdocs/langs/fr_FR/ldap.lang @@ -1,6 +1,6 @@ # Dolibarr language file - fr_FR - ldap DomainPassword=Mot de passe du domaine -UserMustChangePassNextLogon=L'utilisateur doit changer de mot de passe à la prochaine connexion +UserMustChangePassNextLogon=Vous devez modifier votre mot de passe sur le domaine %s LdapUacf_NORMAL_ACCOUNT=Compte Utilisateur LdapUacf_DONT_EXPIRE_PASSWORD=Le mot de passe n'expire jamais LdapUacf_ACCOUNTDISABLE=Le compte est désactivé sur le domaine diff --git a/htdocs/lib/ldap.class.php b/htdocs/lib/ldap.class.php index cedf3d74acf..00b0236cc70 100644 --- a/htdocs/lib/ldap.class.php +++ b/htdocs/lib/ldap.class.php @@ -436,6 +436,7 @@ class Ldap ** "uid=username, ou=People, dc=orgname,dc=com" */ if ($this->serverType == "activedirectory") { + // FQDN domain $domain = eregi_replace('dc=','',$this->domain); $domain = eregi_replace(',','.',$domain); $checkDn = "$uname@$domain"; @@ -918,7 +919,13 @@ class Ldap $this->uacf = $this->parseUACF($this->ldap_utf8_decode($result[0]["useraccountcontrol"][0])); $this->pwdlastset = ($result[0]["pwdlastset"][0] != 0)?$this->convert_time($this->ldap_utf8_decode($result[0]["pwdlastset"][0])):0; + if (!$this->name && !$this->login) $this->pwdlastset = -1; $this->badpwdtime = $this->convert_time($this->ldap_utf8_decode($result[0]["badpasswordtime"][0])); + + // FQDN domain + $domain = eregi_replace('dc=','',$this->domain); + $domain = eregi_replace(',','.',$domain); + $this->domainFQDN = $domain; ldap_free_result($this->result); return 1;