Example #1
0
 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;
 }
Example #2
0
 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']);
 }
Example #3
0
 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;
 }