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