[903] | 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 | ?> |
---|