Esempio n. 1
0
 /**
  * Find domain by name
  */
 private function find_domain($domain)
 {
     $ckey = 'domain::' . $domain;
     /*
             // use memcache
             if ($domain = $this->get_cache_data($ckey)) {
                 return $domain;
             }
     */
     $domain_base_dn = $this->conf->get('ldap', 'domain_base_dn');
     $domain_filter = $this->conf->get('ldap', 'domain_filter');
     $domain_name_attribute = $this->conf->get('ldap', 'domain_name_attribute');
     if (empty($domain_name_attribute)) {
         $domain_name_attribute = 'associateddomain';
     }
     $name_filter = $domain_name_attribute . "=" . Net_LDAP3::quote_string($domain);
     $domain_filter = "(&" . $domain_filter . "(" . $name_filter . "))";
     if ($result = $this->ldap->search($domain_base_dn, $domain_filter, 'sub', array($domain_name_attribute))) {
         $result = $result->entries(true);
         // root domain
         $domain = current($result);
         $domain = current((array) $domain[$domain_name_attribute]);
         /*
                     // cache domain DN
                     $this->set_cache_data($ckey, $domain);
         */
         return $domain;
     }
 }