setOption($ldapConnection, LDAP_OPT_PROTOCOL_VERSION, $version); } /** * Search LDAP tree using the provided filter. * @param resource $ldapConnection * @param string $baseDn * @param string $filter * @param array|null $attributes * @return resource */ public function search($ldapConnection, $baseDn, $filter, array $attributes = null) { return ldap_search($ldapConnection, $baseDn, $filter, $attributes); } /** * Get entries from an ldap search result. * @param resource $ldapConnection * @param resource $ldapSearchResult * @return array */ public function getEntries($ldapConnection, $ldapSearchResult) { return ldap_get_entries($ldapConnection, $ldapSearchResult); } /** * Search and get entries immediately. * @param resource $ldapConnection * @param string $baseDn * @param string $filter * @param array|null $attributes * @return resource */ public function searchAndGetEntries($ldapConnection, $baseDn, $filter, array $attributes = null) { $search = $this->search($ldapConnection, $baseDn, $filter, $attributes); return $this->getEntries($ldapConnection, $search); } /** * Bind to LDAP directory. * @param resource $ldapConnection * @param string $bindRdn * @param string $bindPassword * @return bool */ public function bind($ldapConnection, $bindRdn = null, $bindPassword = null) { return ldap_bind($ldapConnection, $bindRdn, $bindPassword); } /** * Explode a LDAP dn string into an array of components. * @param string $dn * @param int $withAttrib * @return array */ public function explodeDn(string $dn, int $withAttrib) { return ldap_explode_dn($dn, $withAttrib); } /** * Escape a string for use in an LDAP filter. * @param string $value * @param string $ignore * @param int $flags * @return string */ public function escape(string $value, string $ignore = "", int $flags = 0) { return ldap_escape($value, $ignore, $flags); } }