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