summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralecpl <alec@alec.pl>2009-08-29 18:59:06 +0000
committeralecpl <alec@alec.pl>2009-08-29 18:59:06 +0000
commitea18c594a525d28aa5156d13cac3e24f2c9267cf (patch)
tree57d8ec504ee7c6088b33c9ea69bf3b6f2bd0b0c3
parent0e2b643ae4913fd74bee64d5fddf32d70a68b254 (diff)
- Add mail_domain to LDAP email entries without @ sign (#1485201)
-rw-r--r--CHANGELOG1
-rw-r--r--program/include/rcube_ldap.php10
2 files changed, 9 insertions, 2 deletions
diff --git a/CHANGELOG b/CHANGELOG
index a8ed556d7..7eae0c4e1 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG RoundCube Webmail
===========================
+- Add mail_domain to LDAP email entries without @ sign (#1485201)
- Fix saving empty values in LDAP contact data (#1485781)
- Fix LDAP contact update when RDN field is changed (#1485788)
- Fix LDAP attributes case senitivity problems (#1485830)
diff --git a/program/include/rcube_ldap.php b/program/include/rcube_ldap.php
index 3bb747b0d..762e6e371 100644
--- a/program/include/rcube_ldap.php
+++ b/program/include/rcube_ldap.php
@@ -570,6 +570,8 @@ class rcube_ldap extends rcube_addressbook
*/
function _ldap2result($rec)
{
+ global $RCMAIL;
+
$out = array();
if ($rec['dn'])
@@ -577,8 +579,12 @@ class rcube_ldap extends rcube_addressbook
foreach ($this->fieldmap as $rf => $lf)
{
- if ($rec[$lf]['count'])
- $out[$rf] = $rec[$lf][0];
+ if ($rec[$lf]['count']) {
+ if ($rf == 'email' && !strpos($rec[$lf][0], '@'))
+ $out[$rf] = sprintf('%s@%s', $rec[$lf][0] , $RCMAIL->config->mail_domain($_SESSION['imap_host']));
+ else
+ $out[$rf] = $rec[$lf][0];
+ }
}
return $out;