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

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

Importacao inicial do Expresso do Serpro

Line 
1<?php
2 
3  require_once("functions.php");
4  require_once("config.php");
5 
6  $connect=ldap_connect($server,$port);
7  ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3);
8  ldap_bind($connect, $rootdn, $pass);
9
10  define("diretoriolistas", getcwd()."/pool");
11  $manipulador_dir = opendir(diretoriolistas);
12
13  $vet_Incluir = array();
14
15  while(($arquivo = readdir($manipulador_dir)) !== false){
16    $op_lista = substr($arquivo, 0, 5);
17    $nome_lista = substr($arquivo, 6, strlen($arquivo));
18    if($op_lista == 'lista')
19      array_push($vet_Incluir, $arquivo);
20  }
21  $listas = count($vet_Incluir);
22  echo "Listas a inserir: $listas\n";
23
24  //print_r ($vet_Incluir);
25        $retorno=encriptar($pass);
26        $senhaCript=$retorno;
27        foreach ($vet_Incluir as $value){
28               
29                echo "Cria lista: -> $value\n";
30                $filterGrava = "(uid=$value)";
31//              echo "$filterGrava\n";
32
33                $srGrava = @ldap_search($connect, $baseGravacao, $filterGrava);
34                $contLdap = ldap_count_entries($connect, $srGrava);
35//              echo "Registros -> $contLdap\n";
36
37//Prepara array com informacoes necessarias ao ldap
38
39                if($contLdap == 0) { // Se a lista nao existir no RHDS, sera criada;
40                        $infoAdicaoLista["objectclass"][0] = "person";
41                        $infoAdicaoLista["objectclass"][1] = "posixAccount";
42                        $infoAdicaoLista["objectclass"][2] = "phpgwaccount";
43                        $infoAdicaoLista["objectclass"][3] = "mailman";
44                        $infoAdicaoLista["objectclass"][4] = "inetorgperson";
45                        $infoAdicaoLista["uid"] = "$value";
46                        $infoAdicaoLista["mail"] = "$value"."$dominioLista";
47                        $infoAdicaoLista["phpgwAccountExpires"] = '-1';
48                        $infoAdicaoLista["phpgwAccountStatus"] = 'A';
49                        $infoAdicaoLista["phpgwAccountType"] = "l";
50                        $infoAdicaoLista["accountStatus"] = "active";
51                        $infoAdicaoLista["sn"] = "$value";
52                        $infoAdicaoLista["cn"] = "$value";
53                        $infoAdicaoLista["homeDirectory"] = "/dev/null";
54                        $infoAdicaoLista["gidNumber"] = "777";
55                        $infoAdicaoLista["uidNumber"] = "-".Contador();
56                        $infoAdicaoLista["admLista"] = "$administrador";
57                        $infoAdicaoLista["listpass"] = "$senhaCript";
58                        $infoAdicaoLista["defaultmembermoderation"] = "1";
59                        $infoAdicaoLista["archiveprivate"] = "1";
60                        $dnGravaLista = "uid=$value".","."$baseGravacao";
61//                      print_r($infoAdicaoLista);
62//Cria a lista
63                        $adicaoLdap = ldap_add($connect, $dnGravaLista, $infoAdicaoLista);
64//Le arquivo com usuarios
65                        $arquivo = "pool/$value";
66                        $vetorArquivo = file($arquivo);
67
68                        //Inclui usuario na lista
69                        foreach ($vetorArquivo as $valor){
70                                $dnModUsuario = "uid=$value".","."$baseGravacao";
71                                $infoAdicaoUsuario["mailforwardingaddress"] = "$valor";
72                                $addUsuLista = ldap_mod_add($connect, $dnModUsuario, $infoAdicaoUsuario);       
73                        }
74
75                }else{
76                        echo "lista -> $value ja existe\n";
77                }
78        }
79
80
81?>
Note: See TracBrowser for help on using the repository browser.