| | |
| | | return true; |
| | | } |
| | | |
| | | $this->_debug("C: Bind [dn: $bind_dn] [pass: $bind_pw]"); |
| | | $this->_debug("C: Bind [dn: $bind_dn]"); |
| | | |
| | | if (@ldap_bind($this->conn, $bind_dn, $bind_pw)) { |
| | | $this->_debug("S: OK"); |
| | |
| | | $method = 'DIGEST-MD5'; |
| | | } |
| | | |
| | | $this->_debug("C: Bind [mech: $method, authc: $authc, authz: $authz] [pass: $pass]"); |
| | | $this->_debug("C: Bind [mech: $method, authc: $authc, authz: $authz]"); |
| | | |
| | | if (ldap_sasl_bind($this->conn, null, $pass, $method, null, $authc, $authz)) { |
| | | $this->_debug("S: OK"); |
| | |
| | | // 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; |
| | | foreach ($vlv_index[$base_dn]['sort'] as $sss_config) { |
| | | if (count(array_intersect($sort_attrs, $sss_config)) == count($sort_attrs)) { |
| | | return $sort_attrs; |
| | | } |
| | | } |
| | | else { |
| | | return false; |
| | | } |
| | | |
| | | $this->_error("The requested sorting does not match any server-side sorting configuration"); |
| | | |
| | | return false; |
| | | } |
| | | else { |
| | | return $vlv_index[$base_dn]['sort'][0]; |