ldap_host = $_SESSION['phpgw_info']['jabberit_messenger']['server_ldap_jabberit']; $this->ldap_context = $_SESSION['phpgw_info']['jabberit_messenger']['context_ldap_jabberit']; $this->ldap_dn = $_SESSION['phpgw_info']['jabberit_messenger']['user_ldap_jabberit']; $this->ldap_pass = $_SESSION['phpgw_info']['jabberit_messenger']['password_ldap_jabberit']; $this->jid = $_SESSION['phpgw_info']['jabberit_messenger']['user']; $this->max_result = 50; } public final function __destruct() { if( $this->ldap ) ldap_close($this->ldap); } private final function _connect_ldap() { $this->common = new common(); if( !$this->ldap ){ $GLOBALS['phpgw_info']['server']['ldap_version3'] = true; $this->ldap = $this->common->ldapConnect( $this->ldap_host,$this->ldap_dn,$this->ldap_pass ); } } public final function list_users_ldap($search, $uidnumber) { $this->_connect_ldap(); if( $this->ldap ) { $filter = "(&(phpgwaccounttype=u)(|".$uidnumber.")(".$search ."))"; //SERPRO //$justthese = array("uid","uidNumber","cn","mail","phpgwAccountVisible","dn","jpegPhoto"); $justthese = array("uid","uidNumber","cn","mail","phpgwAccountVisible","dn","jpegPhoto","description"); $search = ldap_search($this->ldap,$this->ldap_context,$filter,$justthese, 0, $this->max_result + 1); $entry1 = ldap_get_entries($this->ldap,$search); $entry = ldap_first_entry( $this->ldap, $search ); } if( $entry1['count'] > 0 ) { if( count($entry1) < $this->max_result ) { $i = 0; $result_user = array(); $result = array(); while($entry) { if ( $entry1[$i]['phpgwaccountvisible'][0] != '-1' ) { $result['uidnumber'] = @ldap_get_values($this->ldap, $entry, 'uidnumber'); $result['mail'] = @ldap_get_values($this->ldap, $entry, 'mail'); $result['uid'] = @ldap_get_values($this->ldap, $entry, 'uid'); $result['cn'] = @ldap_get_values($this->ldap, $entry, 'cn'); //SERPRO $result['description'] = @ldap_get_values($this->ldap, $entry, 'description'); foreach ( $result as $key => $value ) $result_user[$i][$key] = $value[0]; $ou = explode('dc=', $entry1[$i]['dn']); $ou = explode("ou=",$ou[0]); $ou = array_pop($ou); $result_user[$i]['dn'] = strtoupper(substr($ou,0,strlen($ou)-1)); $result_user[$i]['photo'] = 0; $photo = @ldap_get_values_len($this->ldap, $entry, 'jpegphoto'); if ( $photo ) { $result_user[$i]['photo'] = 1; $_SESSION['phpgw_info']['jabberit_messenger']['photo'][trim($result_user[$i]['uid'])] = $photo[0]; } $i++; } $entry = ldap_next_entry($this->ldap,$entry); } return $result_user; } else { return "Many Results"; } } return 0; } } ?>