1 | #!/usr/bin/php |
---|
2 | |
---|
3 | |
---|
4 | <?php |
---|
5 | |
---|
6 | require('config.php'); |
---|
7 | require('functions.php'); |
---|
8 | |
---|
9 | |
---|
10 | $connect=ldap_connect($server,$port); |
---|
11 | ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3); |
---|
12 | ldap_bind($connect, $rootdn, $pass); |
---|
13 | |
---|
14 | #Pesquisa listas funcionais |
---|
15 | $filter="(&(!(mailforwardingaddress=*))(uid=listafunc*))"; |
---|
16 | $justthese = array("uid","mail"); |
---|
17 | $sr = @ldap_search($connect, $baseGravacao, $filter, $justthese); |
---|
18 | $info = ldap_get_entries($connect, $sr); |
---|
19 | $cont = $info['count']; |
---|
20 | # echo "$cont\n"; |
---|
21 | # print_r($info); |
---|
22 | |
---|
23 | $i = 1; |
---|
24 | $j = 0; |
---|
25 | |
---|
26 | #Inicia processo de exclusao de listas do tipo func |
---|
27 | while($i <= ($cont-1)) { |
---|
28 | # echo "\n"; |
---|
29 | $mail = $info[$i]['mail'][0]; |
---|
30 | $uid = $info[$i]['uid'][0]; |
---|
31 | $dn = "uid=".$uid.","."$baseGravacao"; |
---|
32 | echo "Lista vazia -> $uid\n"; |
---|
33 | @ldap_delete($connect,$dn); |
---|
34 | # echo "$mail\n"; |
---|
35 | $i++; |
---|
36 | } |
---|
37 | |
---|
38 | #Pesquisa listas Corporativas |
---|
39 | |
---|
40 | $filter2="(&(!(mailforwardingaddress=*))(uid=listacorp*))"; |
---|
41 | $justthese = array("uid","mail"); |
---|
42 | $sr = @ldap_search($connect, $baseGravacao, $filter2, $justthese); |
---|
43 | $info2 = ldap_get_entries($connect, $sr); |
---|
44 | $cont2 = $info2['count']; |
---|
45 | # echo "Listas Corp -> $cont2\n"; |
---|
46 | # print_r($info2); |
---|
47 | |
---|
48 | #Inicia processo de exclusao de listas corp |
---|
49 | while($j <= ($cont2-1)) { |
---|
50 | # echo "\n"; |
---|
51 | $mail2 = $info2[$j]['mail'][0]; |
---|
52 | $uid2 = $info2[$j]['uid'][0]; |
---|
53 | echo "Lista vazia -> $uid2\n"; |
---|
54 | $dn2 = "uid=".$uid2.","."$baseGravacao"; |
---|
55 | # echo "$dn2\n"; |
---|
56 | @ldap_delete($connect,$dn2); |
---|
57 | # echo "$mail2\n"; |
---|
58 | |
---|
59 | #Busca as listas hierarquica que contem a lista corp vazia |
---|
60 | |
---|
61 | $filter3="(mailforwardingaddress=$mail2)"; |
---|
62 | $justthese = array("dn","uid","mailforwardingaddress"); |
---|
63 | $sr = @ldap_search($connect, $baseGravacao, $filter3, $justthese); |
---|
64 | $info3 = ldap_get_entries($connect, $sr); |
---|
65 | # print_r($info3); |
---|
66 | $cont3 = $info3['count']; |
---|
67 | $uid3 = $info3[$j]['uid'][0]; |
---|
68 | # echo "$cont3\n"; |
---|
69 | # echo "Lista -> $uid3\n"; |
---|
70 | $dn3 = "uid=".$uid3.","."$baseGravacao"; |
---|
71 | # echo "DN -> $dn3\n"; |
---|
72 | # echo "mail -> $mail2"; |
---|
73 | $removeUsuario["mailforwardingaddress"] = "$mail2"; |
---|
74 | #Remove o endereco da lista pai |
---|
75 | @ldap_mod_del($connect,$dn3,$removeUsuario); |
---|
76 | $j++; |
---|
77 | } |
---|
78 | echo "Limpeza de listas Corp e Func vazias OK !!!\n"; |
---|
79 | |
---|
80 | |
---|
81 | ?> |
---|