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 | ?> |
---|