1 | <?php |
---|
2 | if (!$_SERVER['REQUEST_METHOD'] == 'POST'){ |
---|
3 | echo "ERRO: acesso indevido ao script"; |
---|
4 | exit; |
---|
5 | } |
---|
6 | // require('./listateste/pegaListasNotes.php'); |
---|
7 | |
---|
8 | //Para repassar os nomes das listas Notes a criar no expresso, segue neste bloco: |
---|
9 | if (isset($_POST['listasproc'])){ |
---|
10 | |
---|
11 | $listasnotes = explode("|",trim($_POST['listasproc'])); |
---|
12 | |
---|
13 | require('pegaListasNotes.php'); |
---|
14 | |
---|
15 | /* |
---|
16 | * OS NOMES DAS LISTAS NOTES ESTÃO ARMAZENADAS NO VETOR ACIMA DECLARADO ('$listasnotes') |
---|
17 | * DEVE SEGUIR-SE O PROCESSAMENTO DA CARGA DAS LISTAS DO NOTES PARA O EXPRESSO, VIA CHAMADA |
---|
18 | * A SCRIPT DE PROMPT OU OUTRA FORMA. |
---|
19 | */ |
---|
20 | // echo (count($listasnotes) - 1) . " listas Notes a replicar no Expresso"; |
---|
21 | exit; |
---|
22 | } |
---|
23 | |
---|
24 | |
---|
25 | $integrantes = null; |
---|
26 | if (trim($_POST['lista']) == 'expresso'){ |
---|
27 | //Busca as listas do RHDS/Mailman |
---|
28 | $host = "10.200.113.64"; |
---|
29 | $conta = "cn=admin,ou=expressolivre,ou=corp,dc=serpro,dc=gov,dc=br"; |
---|
30 | $basedn = "ou=listas,ou=expressolivre,ou=corp,dc=serpro,dc=gov,dc=br"; |
---|
31 | $senha = "senha"; |
---|
32 | |
---|
33 | if (isset($_POST['listaid'])){ |
---|
34 | $integrantes = 'mailforwardingaddress'; |
---|
35 | $criterio_busca = "uid=".trim($_POST['listaid']); |
---|
36 | $objeto_busca = array("mailForwardingAddress"); |
---|
37 | echo '<font color="yellow">[CRITERIO] - Buscando em '. $host .' por ' .$criterio_busca .'.</font><br>'; |
---|
38 | } |
---|
39 | else{ |
---|
40 | $criterio_busca = "uid=lista*"; |
---|
41 | $objeto_busca = array("uid"); |
---|
42 | } |
---|
43 | } |
---|
44 | |
---|
45 | elseif(trim($_POST['lista']) == 'notes'){ |
---|
46 | //Busca as listas do Notes |
---|
47 | $host = "10.30.2.25"; |
---|
48 | $conta = "cn=admin,dc=correiolivre,dc=serpro,dc=gov,dc=br"; |
---|
49 | $basedn = "ou=gruposNotes,dc=correiolivre,dc=serpro,dc=gov,dc=br"; |
---|
50 | $senha = "correio"; |
---|
51 | |
---|
52 | if (isset($_POST['listaid'])){ |
---|
53 | $integrantes = 'alias'; |
---|
54 | $criterio_busca = "cn=".trim($_POST['listaid']); |
---|
55 | $objeto_busca = array("alias"); |
---|
56 | //echo '<font color="yellow">[CRITERIO] - Buscando em '. $host .' por ' .$criterio_busca .'.</font><br>'; |
---|
57 | } |
---|
58 | else{ |
---|
59 | $criterio_busca = "cn=*"; |
---|
60 | $objeto_busca = array("cn"); |
---|
61 | } |
---|
62 | } |
---|
63 | |
---|
64 | //echo '<font color="yellow">[CRITERIO] - '. $criterio_busca .'</font><br>'; |
---|
65 | //exit; |
---|
66 | |
---|
67 | if ($conexao != ldap_connect($host)){ |
---|
68 | echo 'ERRO no Connect LDAP'."!\n"; |
---|
69 | exit; |
---|
70 | } |
---|
71 | ldap_set_option($conexao, LDAP_OPT_TIMELIMIT, 10); |
---|
72 | $ldapbind = ldap_bind($conexao); |
---|
73 | if (!$ldapbind) { |
---|
74 | echo 'ERRO:Falha no comando bind LDAP para o host ' . $host . "!\n"; |
---|
75 | ldap_unbind($conexao); |
---|
76 | exit; |
---|
77 | } |
---|
78 | |
---|
79 | //echo '<font color="grey">[OK] - Bind no host LDAP ' . $host . '.</font><br>'; |
---|
80 | $busca = ldap_search($conexao, $basedn, $criterio_busca, $objeto_busca); |
---|
81 | //echo "Registros:" . ldap_count_entries($conexao, $busca); |
---|
82 | $registros = ldap_count_entries($conexao, $busca); |
---|
83 | if ($registros < 1 ){ |
---|
84 | echo '<font color="grey">[ERRO] - Nenhum registro encontrado no RHDS'; |
---|
85 | } |
---|
86 | //echo '<font color="grey">[OK] - '. $registros . ' listas encontradas no RHDS.</font><br>'; |
---|
87 | $dados = ldap_get_entries($conexao, $busca); |
---|
88 | |
---|
89 | $vet = array(); |
---|
90 | //Para carregar os nomes das listas |
---|
91 | if(!$integrantes){ |
---|
92 | for ($i = 0; $i < $registros; $i++){ |
---|
93 | $lista_id = $dados[$i][$objeto_busca[0]][0]; |
---|
94 | array_push($vet, $lista_id); |
---|
95 | } |
---|
96 | } |
---|
97 | //Para carregar os integrantes de uma lista |
---|
98 | else{ |
---|
99 | //echo '<font color="white">[INTEGRANTES] - '. count($dados[0][$integrantes]) . ' enderecos de email pertencem a lista "'.$criterio_busca.'". Adiciona somente não nulos.</font><br>'; |
---|
100 | for ($i = 0; $i < count($dados[0][$integrantes]); $i++){ |
---|
101 | $email_integrante = $dados[0][$integrantes][$i]; |
---|
102 | // Rotina do ZAPA |
---|
103 | // se o email contiver __ entãira buscar uma sub-lista |
---|
104 | if ($email_integrante != null) { |
---|
105 | array_push($vet, $email_integrante); |
---|
106 | } |
---|
107 | } |
---|
108 | } |
---|
109 | //echo '<font color="blue">'. count($vet) . ' listas adicionadas para serialização.</font><br>'; |
---|
110 | echo json_encode($vet); |
---|
111 | ?> |
---|