From 05ea61095f406dfdd04afd801b68399008e25bef Mon Sep 17 00:00:00 2001 From: "Jeroen van Meeuwen (Kolab Systems)" Date: Fri, 1 Aug 2014 21:27:12 +0200 Subject: Fix missing out on the correct sorting --- program/lib/Net/LDAP3.php | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'program/lib/Net') diff --git a/program/lib/Net/LDAP3.php b/program/lib/Net/LDAP3.php index b101b4afc..1b3ac73bb 100644 --- a/program/lib/Net/LDAP3.php +++ b/program/lib/Net/LDAP3.php @@ -1847,12 +1847,15 @@ class Net_LDAP3 // Not passing any sort attributes means you don't care if (!empty($sort_attrs)) { $sort_attrs = (array) $sort_attrs; - if (count(array_intersect($sort_attrs, $vlv_index[$base_dn]['sort'])) == count($sort_attrs)) { - return $sort_attrs; - } - else { - return false; + foreach ($vlv_index[$base_dn]['sort'] as $sss_config) { + if (count(array_intersect($sort_attrs, $sss_config)) == count($sort_attrs)) { + return $sort_attrs; + } } + + $this->_error("The requested sorting does not match any server-side sorting configuration"); + + return false; } else { return $vlv_index[$base_dn]['sort'][0]; -- cgit v1.2.3