---- old/ecrire/auth/ldap.php 2017-06-08 21:58:17.000000000 +0200
-+++ new/ecrire/auth/ldap.php 2017-06-10 02:54:02.687954143 +0200
-@@ -171,24 +171,41 @@
- $desc = isset($ldap['attributes']) && $ldap['attributes'] ? $ldap['attributes'] : $GLOBALS['ldap_attributes'] ;
-
- $logins = is_array($desc['login']) ? $desc['login'] : array($desc['login']);
-+ if (isset($GLOBALS['ldap_search'])) {
-+ $search_query = str_replace("%user%", $login_search, $GLOBALS['ldap_search']);
-+ $result = @ldap_search($ldap_link, $ldap_base, $search_query, array("dn"));
-+ $info = @ldap_get_entries($ldap_link, $result);
-+ // Ne pas accepter les resultats si plus d'une entree
-+ // (on veut un attribut unique)
-
-- // Tenter une recherche pour essayer de retrouver le DN
-- foreach ($logins as $att) {
-- $result = @ldap_search($ldap_link, $ldap_base, "$att=$login_search", array("dn"));
-- $info = @ldap_get_entries($ldap_link, $result);
-- // Ne pas accepter les resultats si plus d'une entree
-- // (on veut un attribut unique)
-+ if (is_array($info) and $info['count'] == 1) {
-+ $dn = $info[0]['dn'];
-+ if (!$checkpass) {
-+ return $dn;
-+ }
-+ if (@ldap_bind($ldap_link, $dn, $pass)) {
-+ return $dn;
-+ }
-+ }
-+ } else {
-+ // Tenter une recherche pour essayer de retrouver le DN
-+ foreach ($logins as $att) {
-+ $result = @ldap_search($ldap_link, $ldap_base, "$att=$login_search", array("dn"));
-+ $info = @ldap_get_entries($ldap_link, $result);
-+ // Ne pas accepter les resultats si plus d'une entree
-+ // (on veut un attribut unique)
-
-- if (is_array($info) and $info['count'] == 1) {
-- $dn = $info[0]['dn'];
-- if (!$checkpass) {
-- return $dn;
-- }
-- if (@ldap_bind($ldap_link, $dn, $pass)) {
-- return $dn;
-- }
-- }
-- }
-+ if (is_array($info) and $info['count'] == 1) {
-+ $dn = $info[0]['dn'];
-+ if (!$checkpass) {
-+ return $dn;
-+ }
-+ if (@ldap_bind($ldap_link, $dn, $pass)) {
-+ return $dn;
-+ }
-+ }
-+ }
-+ }
-
- if ($checkpass and !isset($dn)) {
- // Si echec, essayer de deviner le DN