Beispiel #1
0
 public function _search_users($search, $exact = false)
 {
     if ($exact == false) {
         if ($search == '*') {
             $filter = 'objectClass=mozComPerson';
         } else {
             $terms = array_map("escape_ldap_filter_value", preg_split('/\\s+/', trim($search)));
             $filter = "(objectClass=mozComPerson)";
             foreach ($terms as $escaped_term) {
                 $subfilter = "";
                 foreach ($this->search_fields as $field) {
                     $subfilter .= "({$field}=*{$escaped_term}*)";
                 }
                 $filter .= "(|{$subfilter})";
             }
             $filter = "(&{$filter})";
         }
     } else {
         $escaped = escape_ldap_filter_value($search);
         $filter = "(mail={$escaped})";
     }
     return $this->query_users($filter, 'dc=mozilla', $this->fields);
 }
Beispiel #2
0
 public function _search_users($search, $exact = false)
 {
     $escaped = escape_ldap_filter_value($search);
     if ($exact == false) {
         $filter = $search == '*' ? 'objectClass=mozComPerson' : "(&(|(cn=*{$escaped}*)(bugzillaEmail=*{$escaped}*)(mail=*{$escaped}*)(emailAlias=*{$escaped}*)(im=*{$escaped}*)(physicalDeliveryOfficeName=*{$escaped}*)(description=*{$escaped}*)(telephoneNumber=*{$escaped}*)(mobile=*{$escaped}*)(b2gNumber=*{$escaped}*))(objectClass=mozComPerson))";
     } else {
         $filter = "(mail={$escaped})";
     }
     return $this->query_users($filter, 'dc=mozilla', $this->fields);
 }