diff options
Diffstat (limited to 'program/lib/Net/LDAP3.php')
-rw-r--r-- | program/lib/Net/LDAP3.php | 13 |
1 files changed, 8 insertions, 5 deletions
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]; |