summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2011-10-07 08:33:24 +0000
committeralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2011-10-07 08:33:24 +0000
commit291f893df68c3fbf5388c71dcc08bf973480e235 (patch)
tree15dc56ffc02dba999e68c1f5706da47defc82764
parent8f3b78427bbc2d4b8e02931428f8fbe75a2a082b (diff)
- Make sure LDAP name fields aren't arrays (#1488108)
git-svn-id: https://svn.roundcube.net/trunk@5318 208e9e7b-5314-0410-a742-e7e81cd9613c
-rw-r--r--roundcubemail/CHANGELOG1
-rw-r--r--roundcubemail/program/include/rcube_ldap.php9
-rw-r--r--roundcubemail/program/steps/mail/search.inc2
3 files changed, 9 insertions, 3 deletions
diff --git a/roundcubemail/CHANGELOG b/roundcubemail/CHANGELOG
index b4d15867a..c3910f3fd 100644
--- a/roundcubemail/CHANGELOG
+++ b/roundcubemail/CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
+- Make sure LDAP name fields aren't arrays (#1488108)
- Fixed imap test to non-default port when using ssl (#1488118)
- Force all files to be overwritten when updating (#1488117)
- Fix issue where it wasn't possible to change list view mode in folder manager for INBOX (#1488107)
diff --git a/roundcubemail/program/include/rcube_ldap.php b/roundcubemail/program/include/rcube_ldap.php
index 55c8c154f..a3f6dc56d 100644
--- a/roundcubemail/program/include/rcube_ldap.php
+++ b/roundcubemail/program/include/rcube_ldap.php
@@ -72,7 +72,7 @@ class rcube_ldap extends rcube_addressbook
function __construct($p, $debug=false, $mail_domain=NULL)
{
$this->prop = $p;
-
+
if (isset($p['searchonly']))
$this->searchonly = $p['searchonly'];
@@ -447,7 +447,7 @@ class rcube_ldap extends rcube_addressbook
$this->result->searchonly = true;
return $this->result;
}
-
+
// add general filter to query
if (!empty($this->prop['filter']) && empty($this->filter))
{
@@ -1031,6 +1031,11 @@ class rcube_ldap extends rcube_addressbook
else
$out[$rf] = $value;
}
+
+ // Make sure name fields aren't arrays (#1488108)
+ if (is_array($out[$rf]) && in_array($rf, array('name', 'surname', 'firstname', 'middlename', 'nickname'))) {
+ $out[$rf] = $out[$rf][0];
+ }
}
return $out;
diff --git a/roundcubemail/program/steps/mail/search.inc b/roundcubemail/program/steps/mail/search.inc
index d34454ff1..2e7fd130c 100644
--- a/roundcubemail/program/steps/mail/search.inc
+++ b/roundcubemail/program/steps/mail/search.inc
@@ -78,7 +78,7 @@ else if(trim($str))
case 'text': $subject['text'] = 'TEXT'; break;
default: $subject[$header] = 'HEADER '.strtoupper($header);
}
-
+
// save search modifiers for the current folder to user prefs
$search_mods = $RCMAIL->config->get('search_mods', $SEARCH_MODS_DEFAULT);
$search_mods[$mbox] = array_fill_keys(array_keys($subject), 1);