public function searchDN($filter_, $attribs_ = NULL) { $this->check_link(); if ($this->suffix != '') { $searchbase = $this->userbranch . ',' . $this->suffix; } else { $searchbase = $this->userbranch; } Logger::debug('main', 'LDAP - searchDN(\'' . $filter_ . '\',\'' . $attribs_ . '\',\'' . $searchbase . '\')'); if (is_null($attribs_)) { $attribs_ = $this->attribs; } $buf = explode_with_escape(',', $filter_, 2); $ret = @ldap_search($this->link, $buf[1], $buf[0], $attribs_); if (is_resource($ret)) { return $ret; } return false; }
protected function import_nocache($id_) { Logger::debug('main', "UserGroupDB::ldap::import_nocache (id = {$id_})"); $configLDAP = $this->get_usergroup_ldap_config(); if (!str_endswith(strtolower($id_), strtolower($configLDAP['suffix']))) { Logger::error('main', "UserGroupDB::ldap::import_nocache unable to import '{$id_}' because not same LDAP suffix"); return NULL; } $expl = explode_with_escape(',', $id_, 2); $rdn = $expl[0]; $configLDAP['suffix'] = $expl[1]; $filter = LDAP::join_filters(array($this->preferences['filter'], $rdn), '&'); $ldap = new LDAP($configLDAP); $sr = $ldap->search($rdn, array_values($this->preferences['match'])); if ($sr === false) { Logger::error('main', "UserGroupDB::ldap::import_nocache search failed for ({$id_})"); return NULL; } $infos = $ldap->get_entries($sr); if (!is_array($infos) || $infos === array()) { return NULL; } $keys = array_keys($infos); $dn = $keys[0]; $info = $infos[$dn]; return $this->generateUsersGroupFromRow($info, $dn, $this->preferences['match']); }
public function searchDN($filter_, $attribs_ = NULL) { $this->check_link(); if (!is_null($attribs_)) { $attribs_ = array_unique($attribs_); } Logger::debug('main', 'LDAP - searchDN(\'' . $filter_ . '\',' . self::log_attribs($attribs_) . ',\'' . $this->suffix . '\')'); if (is_null($attribs_)) { $attribs_ = $this->attribs; } $buf = explode_with_escape(',', $filter_, 2); $ret = @ldap_search($this->link, $buf[1], $buf[0], $attribs_, 0, 1); if (is_resource($ret)) { return $ret; } return false; }