source: companies/serpro/scripts-listas/ajx_listas.php @ 903

Revision 903, 3.8 KB checked in by niltonneto, 15 years ago (diff)

Importacao inicial do Expresso do Serpro

Line 
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?>
Note: See TracBrowser for help on using the repository browser.