[CRITERIO] - Buscando em '. $host .' por ' .$criterio_busca .'.
';
}
else{
$criterio_busca = "uid=lista*";
$objeto_busca = array("uid");
}
}
elseif(trim($_POST['lista']) == 'notes'){
//Busca as listas do Notes
$host = "10.30.2.25";
$conta = "cn=admin,dc=correiolivre,dc=serpro,dc=gov,dc=br";
$basedn = "ou=gruposNotes,dc=correiolivre,dc=serpro,dc=gov,dc=br";
$senha = "correio";
if (isset($_POST['listaid'])){
$integrantes = 'alias';
$criterio_busca = "cn=".trim($_POST['listaid']);
$objeto_busca = array("alias");
//echo '[CRITERIO] - Buscando em '. $host .' por ' .$criterio_busca .'.
';
}
else{
$criterio_busca = "cn=*";
$objeto_busca = array("cn");
}
}
//echo '[CRITERIO] - '. $criterio_busca .'
';
//exit;
if ($conexao != ldap_connect($host)){
echo 'ERRO no Connect LDAP'."!\n";
exit;
}
ldap_set_option($conexao, LDAP_OPT_TIMELIMIT, 10);
$ldapbind = ldap_bind($conexao);
if (!$ldapbind) {
echo 'ERRO:Falha no comando bind LDAP para o host ' . $host . "!\n";
ldap_unbind($conexao);
exit;
}
//echo '[OK] - Bind no host LDAP ' . $host . '.
';
$busca = ldap_search($conexao, $basedn, $criterio_busca, $objeto_busca);
//echo "Registros:" . ldap_count_entries($conexao, $busca);
$registros = ldap_count_entries($conexao, $busca);
if ($registros < 1 ){
echo '[ERRO] - Nenhum registro encontrado no RHDS';
}
//echo '[OK] - '. $registros . ' listas encontradas no RHDS.
';
$dados = ldap_get_entries($conexao, $busca);
$vet = array();
//Para carregar os nomes das listas
if(!$integrantes){
for ($i = 0; $i < $registros; $i++){
$lista_id = $dados[$i][$objeto_busca[0]][0];
array_push($vet, $lista_id);
}
}
//Para carregar os integrantes de uma lista
else{
//echo '[INTEGRANTES] - '. count($dados[0][$integrantes]) . ' enderecos de email pertencem a lista "'.$criterio_busca.'". Adiciona somente não nulos.
';
for ($i = 0; $i < count($dados[0][$integrantes]); $i++){
$email_integrante = $dados[0][$integrantes][$i];
// Rotina do ZAPA
// se o email contiver __ entãira buscar uma sub-lista
if ($email_integrante != null) {
array_push($vet, $email_integrante);
}
}
}
//echo ''. count($vet) . ' listas adicionadas para serialização.
';
echo json_encode($vet);
?>