[903] | 1 | #!/usr/bin/php |
---|
| 2 | |
---|
| 3 | |
---|
| 4 | <?php |
---|
| 5 | |
---|
| 6 | require('config.php'); |
---|
| 7 | require('functions.php'); |
---|
| 8 | |
---|
| 9 | #/**************************************************************************\ |
---|
| 10 | #* * |
---|
| 11 | #* Este script tem duas funcoes: lerRegional() e criaLog(). * |
---|
| 12 | #* * |
---|
| 13 | #* -> lerRegional() - le o LDAP/RHDS, usuario por usuario, em busca do * |
---|
| 14 | #* setor cadastrado (atributo OU). A partir dai, gera os nomes das * |
---|
| 15 | #* listas baseados nos setores e depois adiciona os usuarios nas * |
---|
| 16 | #* respectivas listas. * |
---|
| 17 | #* Tambem verifica se o usuario foi recadastrado em outro setor e caso * |
---|
| 18 | #* isto aconteca, remove-o da lista antiga e o adiciona na lista nova. * |
---|
| 19 | #* * |
---|
| 20 | #* Todas estas acoes sao feitas no LDAP/RHDS, depois serao replicadas * |
---|
| 21 | #* para o servidor de listas pelo script sincListasMailManRHDS.php * |
---|
| 22 | #* * |
---|
| 23 | #* -> criaLog() - gera o arquivo de log /var/log/criaListasCorpRHDS.log * |
---|
| 24 | #* * |
---|
| 25 | #\**************************************************************************/ |
---|
| 26 | |
---|
| 27 | |
---|
| 28 | |
---|
| 29 | $regionais = array('regspo','regrce','regblm','regfla','regsdr','regcta','regbhe','regrjo','regpae','regbsa'); |
---|
| 30 | |
---|
| 31 | # Recebe o argumento passado na linha de comando. |
---|
| 32 | # $regional = $argv[1]; |
---|
| 33 | |
---|
| 34 | $retorno=encriptar($pass); |
---|
| 35 | $senhaCript=$retorno; |
---|
| 36 | |
---|
| 37 | |
---|
| 38 | |
---|
| 39 | # . |
---|
| 40 | # . |
---|
| 41 | function lerRegional($server, $port, $rootdn, $pass, $basedn, $regional, $baseGravacao, $dominioLista, $maxOU, $administrador, $senhaCript) { |
---|
| 42 | |
---|
| 43 | criaLog("Inicio de rotina de criacao de listas Corporativas --> $regional","corp"); |
---|
| 44 | $connect=ldap_connect($server,$port); |
---|
| 45 | |
---|
| 46 | ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3); |
---|
| 47 | ldap_bind($connect, $rootdn, $pass); |
---|
| 48 | |
---|
| 49 | $filter="(&(ou=*)(phpgwaccounttype=u)(!(nsaccountlock=true))(accountstatus=active))"; |
---|
| 50 | $justthese = array("uid","ou","mail","cn"); |
---|
| 51 | |
---|
| 52 | $baseBusca = $regional.",".$basedn; |
---|
| 53 | |
---|
| 54 | $sr = @ldap_search($connect, $baseBusca, $filter, $justthese); |
---|
| 55 | |
---|
| 56 | $info = ldap_get_entries($connect, $sr); |
---|
| 57 | |
---|
| 58 | $cont = $info['count']; |
---|
| 59 | |
---|
| 60 | |
---|
| 61 | # Le Ldap, por usuario e cria arquivos com listas e participantes |
---|
| 62 | $i = 0; |
---|
| 63 | $msg = "Lendo Base Ldap.\n"; |
---|
| 64 | echo $msg; |
---|
| 65 | |
---|
| 66 | while($i <= ($cont-1)) { |
---|
| 67 | echo "."; |
---|
| 68 | |
---|
| 69 | # echo "\n"; |
---|
| 70 | # echo "UID usuario - ".$info[$i]['uid'][0]."\n"; |
---|
| 71 | $j = 0; |
---|
| 72 | while($info[$i]['mail'][$j] != "") { |
---|
| 73 | $ou = limpaString(strtolower($info[$i]['ou'][$j])); // Pega o setor cadastrado no RHDS de cada funcionario; |
---|
| 74 | // $ou = limpaString($ou); // Retira os espacos em branco do setor |
---|
| 75 | // $ouTemporario = strtolower($info[$i]['ou'][$j]); |
---|
| 76 | $ouTemp[] = limpaString(strtolower($info[$i]['ou'][$j])); // Pega o setor cadastrado no RHDS de cada funcionario. Sera usado |
---|
| 77 | // na inclusao de listas em outras listas; |
---|
| 78 | |
---|
| 79 | if (preg_match("[^/]", $ou)){ |
---|
| 80 | $msg = "ERRO CADASTRO SETOR - USUARIO - "; |
---|
| 81 | $teste = 1; |
---|
| 82 | criaLog($msg.$info[$i]['uid'][0]." !!!","corp"); |
---|
| 83 | } |
---|
| 84 | |
---|
| 85 | if (preg_match("[/$]", $ou)){ |
---|
| 86 | $msg = "ERRO CADASTRO SETOR - USUARIO - "; |
---|
| 87 | $teste = 1; |
---|
| 88 | criaLog($msg.$info[$i]['uid'][0]." !!!","corp"); |
---|
| 89 | } |
---|
| 90 | |
---|
| 91 | |
---|
| 92 | |
---|
| 93 | $setor = explode("/", $ou); //Separa o setor pelo sinal de barra ("/"); |
---|
| 94 | $contSetor = count($setor); //Conta a quantidade de itens gerados pelo explode acima; |
---|
| 95 | |
---|
| 96 | |
---|
| 97 | $yTmp1 = substr("$setor[0]", 0, 3); //Pega os três primeiros caracteres do primeiro item do vetor $setor; |
---|
| 98 | |
---|
| 99 | if($yTmp1 != "pse") { //Verifica de o setor do usuario NAO comeca com PSE; |
---|
| 100 | |
---|
| 101 | $teste = 0; |
---|
| 102 | if(($contSetor > $maxOU) || ($ou == "")) { // Verifica se cadastro do setor esta fora do padrao; |
---|
| 103 | $contSetor = $maxOU; |
---|
| 104 | $teste = 1; |
---|
| 105 | criaLog("ERRO CADASTRO SETOR - USUARIO - ".$info[$i]['uid'][0]." !!!","corp"); |
---|
| 106 | } |
---|
| 107 | |
---|
| 108 | |
---|
| 109 | $w = 0; |
---|
| 110 | while(($w <= ($contSetor - 1)) && ($teste == 0)) { // Enquanto nao chegar ao fim do (tamanho do) setor e setor |
---|
| 111 | // estiver cadastrado dentro do padrao |
---|
| 112 | |
---|
| 113 | $listaTmp = $listaTmp."-".strtolower($setor[$w]); |
---|
| 114 | |
---|
| 115 | $listaFinal = "listacorp".$listaTmp; // Monta o nome da lista; |
---|
| 116 | |
---|
| 117 | $filterGrava = "(uid=$listaFinal)"; |
---|
| 118 | $srGrava = @ldap_search($connect, $baseGravacao, $filterGrava);// Verifica se a lista ja esta criada no RHDS; |
---|
| 119 | $contLdap = ldap_count_entries($connect, $srGrava); |
---|
| 120 | |
---|
| 121 | |
---|
| 122 | #Cria Lista na base Ldap |
---|
| 123 | |
---|
| 124 | if(($contLdap == 0) && ($listaFinal != "listacorp-")) { // Se a lista nao existir no RHDS, sera criada; |
---|
| 125 | |
---|
| 126 | |
---|
| 127 | $infoAdicaoLista["objectclass"][0] = "person"; |
---|
| 128 | $infoAdicaoLista["objectclass"][1] = "posixAccount"; |
---|
| 129 | $infoAdicaoLista["objectclass"][2] = "phpgwaccount"; |
---|
| 130 | $infoAdicaoLista["objectclass"][3] = "mailman"; |
---|
| 131 | $infoAdicaoLista["objectclass"][4] = "inetorgperson"; |
---|
| 132 | $infoAdicaoLista["uid"] = "$listaFinal"; |
---|
| 133 | $infoAdicaoLista["mail"] = "$listaFinal"."$dominioLista"; |
---|
| 134 | $infoAdicaoLista["phpgwAccountExpires"] = '-1'; |
---|
| 135 | $infoAdicaoLista["phpgwAccountStatus"] = 'A'; |
---|
| 136 | $infoAdicaoLista["phpgwAccountType"] = "l"; |
---|
| 137 | $infoAdicaoLista["accountStatus"] = "active"; |
---|
| 138 | $infoAdicaoLista["sn"] = "$listaFinal"; |
---|
| 139 | $infoAdicaoLista["cn"] = "$listaFinal"; |
---|
| 140 | $infoAdicaoLista["homeDirectory"] = "/dev/null"; |
---|
| 141 | $infoAdicaoLista["gidNumber"] = "777"; |
---|
| 142 | $infoAdicaoLista["uidNumber"] = "-".Contador(); |
---|
| 143 | $infoAdicaoLista["admLista"] = "$administrador"; |
---|
| 144 | $infoAdicaoLista["listpass"] = "$senhaCript"; |
---|
| 145 | $infoAdicaoLista["defaultmembermoderation"] = "1"; |
---|
| 146 | $dnGravaLista = "uid=$listaFinal".","."$baseGravacao"; |
---|
| 147 | |
---|
| 148 | $adicaoLdap = ldap_add($connect, $dnGravaLista, $infoAdicaoLista); |
---|
| 149 | } |
---|
| 150 | $w++; |
---|
| 151 | |
---|
| 152 | //exit; |
---|
| 153 | } //fim do while que cria a lista |
---|
| 154 | |
---|
| 155 | $dnGravaUsuario = "uid=$listaFinal".","."$baseGravacao"; |
---|
| 156 | |
---|
| 157 | $mailUsuario = $info[$i]['mail'][$j]; |
---|
| 158 | |
---|
| 159 | $filtro = "(mailforwardingaddress=$mailUsuario)"; |
---|
| 160 | $soIsso = array("uid"); |
---|
| 161 | $srCompara = ldap_search($connect, $baseGravacao, $filtro, $soIsso); |
---|
| 162 | $contsrCompara = ldap_count_entries($connect, $srCompara); |
---|
| 163 | |
---|
| 164 | $comparaUid = ldap_get_entries($connect, $srCompara); |
---|
| 165 | |
---|
| 166 | $listaTr = $comparaUid[0]['uid'][0]; |
---|
| 167 | $testeTr = strtr($listaTr , '-', '/'); |
---|
| 168 | $testeTr = substr($testeTr , 6); |
---|
| 169 | |
---|
| 170 | $infoDelUsuario["mailforwardingaddress"] = "$mailUsuario"; |
---|
| 171 | |
---|
| 172 | # Aqui ocorre a verificao se um usuario ja pertence a alguma lista criada |
---|
| 173 | if ($testeTr == $ou) { |
---|
| 174 | if(($testeTr == "") || ($ou == "")) { |
---|
| 175 | $comentario = "Usuario sem Setor cadastrado - ".$info[$i]['uid'][0]."\n"; |
---|
| 176 | criaLog($comentario,"corp"); |
---|
| 177 | }else { |
---|
| 178 | $comentario = "Usuario ja pertence a uma lista - ".$info[$i]['uid'][0]."\n"; |
---|
| 179 | criaLog($comentario,"corp"); |
---|
| 180 | } |
---|
| 181 | $teste = 1; |
---|
| 182 | }elseif(($testeTr != $ou) && ($testeTr != "")) { |
---|
| 183 | $dnModUsuario = "uid=$listaTr".","."$baseGravacao"; |
---|
| 184 | $removeUsuLista = ldap_mod_del($connect, $dnModUsuario, $infoDelUsuario); |
---|
| 185 | $nomeUsu = $info[$i]['cn'][0]; |
---|
| 186 | criaLog("Verifica troca de setor -> Usuario ".$info[$i]['uid'][0]. " Lista $listaTr","corp"); |
---|
| 187 | } |
---|
| 188 | |
---|
| 189 | $infoAdicaoUsuario["mailforwardingaddress"] = "$mailUsuario"; |
---|
| 190 | |
---|
| 191 | #Insere usuarios na lista criada |
---|
| 192 | if($teste == 0) { |
---|
| 193 | $addUsuLista = @ldap_mod_add($connect, $dnGravaUsuario, $infoAdicaoUsuario); |
---|
| 194 | criaLog("Usuario ".$info[$i]['uid'][0]." cadastrado na lista $listaFinal.\n","corp"); |
---|
| 195 | }else { |
---|
| 196 | criaLog("Usuario ".$info[$i]['uid'][0]." nao adicionado. $comentario.\n","corp"); |
---|
| 197 | } |
---|
| 198 | |
---|
| 199 | $listaTmp = ""; |
---|
| 200 | $listaTmp2 = ""; |
---|
| 201 | |
---|
| 202 | |
---|
| 203 | }else { //Senao, de o setor COMECAR com PSE... |
---|
| 204 | |
---|
| 205 | $mailUsuario = $info[$i]['mail'][$j]; |
---|
| 206 | |
---|
| 207 | $listaRegPse = "listaregional-" . $setor[0]; //Monta o nome da lista regional PSE; |
---|
| 208 | $listaNacPse = "listanacional-pse"; //Monta o nome da lista nacional PSE; |
---|
| 209 | |
---|
| 210 | |
---|
| 211 | $filterRegPse = "(uid=$listaRegPse)"; |
---|
| 212 | $srRegPse = @ldap_search($connect, $baseGravacao, $filterRegPse);// Verifica se a lista ja esta criada no RHDS; |
---|
| 213 | $contLdapRegPse = ldap_count_entries($connect, $srRegPse); |
---|
| 214 | |
---|
| 215 | if($contLdapRegPse == 0) { |
---|
| 216 | |
---|
| 217 | $infoAddRegPse["objectclass"][0] = "person"; |
---|
| 218 | $infoAddRegPse["objectclass"][1] = "posixAccount"; |
---|
| 219 | $infoAddRegPse["objectclass"][2] = "phpgwaccount"; |
---|
| 220 | $infoAddRegPse["objectclass"][3] = "mailman"; |
---|
| 221 | $infoAddRegPse["objectclass"][4] = "inetorgperson"; |
---|
| 222 | $infoAddRegPse["uid"] = "$listaRegPse"; |
---|
| 223 | $infoAddRegPse["mail"] = "$listaRegPse"."$dominioLista"; |
---|
| 224 | $infoAddRegPse["phpgwAccountExpires"] = '-1'; |
---|
| 225 | $infoAddRegPse["phpgwAccountStatus"] = 'A'; |
---|
| 226 | $infoAddRegPse["phpgwAccountType"] = "l"; |
---|
| 227 | $infoAddRegPse["accountStatus"] = "active"; |
---|
| 228 | $infoAddRegPse["sn"] = "$listaRegPse"; |
---|
| 229 | $infoAddRegPse["cn"] = "$listaRegPse"; |
---|
| 230 | $infoAddRegPse["homeDirectory"] = "/dev/null"; |
---|
| 231 | $infoAddRegPse["gidNumber"] = "777"; |
---|
| 232 | $infoAddRegPse["uidNumber"] = "-".Contador(); |
---|
| 233 | $infoAddRegPse["admLista"] = "$administrador"; |
---|
| 234 | $infoAddRegPse["listpass"] = "$senhaCript"; |
---|
| 235 | $infoAddRegPse["defaultmembermoderation"] = "1"; |
---|
| 236 | $dnGravaListaRegPse = "uid=$listaRegPse".","."$baseGravacao"; |
---|
| 237 | |
---|
| 238 | $addLdapRegPse = ldap_add($connect, $dnGravaListaRegPse, $infoAddRegPse); |
---|
| 239 | //exit; |
---|
| 240 | }else { |
---|
| 241 | |
---|
| 242 | $dnGravaListaRegPse = "uid=$listaRegPse".","."$baseGravacao"; |
---|
| 243 | $infoAddUsuRegPse["mailforwardingaddress"] = "$mailUsuario"; |
---|
| 244 | |
---|
| 245 | $addUsuRegPse = ldap_mod_add($connect, $dnGravaListaRegPse, $infoAddUsuRegPse); |
---|
| 246 | |
---|
| 247 | } |
---|
| 248 | |
---|
| 249 | |
---|
| 250 | $filterNacPse = "(uid=$listaNacPse)"; |
---|
| 251 | $srNacPse = @ldap_search($connect, $baseGravacao, $filterNacPse);// Verifica se a lista ja esta criada no RHDS; |
---|
| 252 | $contLdapNacPse = ldap_count_entries($connect, $srNacPse); |
---|
| 253 | |
---|
| 254 | if($contLdapNacPse == 0) { |
---|
| 255 | |
---|
| 256 | $infoAddNacPse["objectclass"][0] = "person"; |
---|
| 257 | $infoAddNacPse["objectclass"][1] = "posixAccount"; |
---|
| 258 | $infoAddNacPse["objectclass"][2] = "phpgwaccount"; |
---|
| 259 | $infoAddNacPse["objectclass"][3] = "mailman"; |
---|
| 260 | $infoAddNacPse["objectclass"][4] = "inetorgperson"; |
---|
| 261 | $infoAddNacPse["uid"] = "$listaNacPse"; |
---|
| 262 | $infoAddNacPse["mail"] = "$listaNacPse"."$dominioLista"; |
---|
| 263 | $infoAddNacPse["phpgwAccountExpires"] = '-1'; |
---|
| 264 | $infoAddNacPse["phpgwAccountStatus"] = 'A'; |
---|
| 265 | $infoAddNacPse["phpgwAccountType"] = "l"; |
---|
| 266 | $infoAddNacPse["accountStatus"] = "active"; |
---|
| 267 | $infoAddNacPse["sn"] = "$listaNacPse"; |
---|
| 268 | $infoAddNacPse["cn"] = "$listaNacPse"; |
---|
| 269 | $infoAddNacPse["homeDirectory"] = "/dev/null"; |
---|
| 270 | $infoAddNacPse["gidNumber"] = "777"; |
---|
| 271 | $infoAddNacPse["uidNumber"] = "-".Contador(); |
---|
| 272 | $infoAddNacPse["admLista"] = "$administrador"; |
---|
| 273 | $infoAddNacPse["listpass"] = "$senhaCript"; |
---|
| 274 | $infoAddNacPse["defaultmembermoderation"] = "1"; |
---|
| 275 | $dnGravaListaNacPse = "uid=$listaNacPse".","."$baseGravacao"; |
---|
| 276 | |
---|
| 277 | $addLdapNacPse = ldap_add($connect, $dnGravaListaNacPse, $infoAddNacPse); |
---|
| 278 | //exit; |
---|
| 279 | }else { |
---|
| 280 | |
---|
| 281 | $dnGravaListaNacPse = "uid=$listaNacPse".","."$baseGravacao"; |
---|
| 282 | $infoAddUsuNacPse["mailforwardingaddress"] = "$listaRegPse"."$dominioLista"; |
---|
| 283 | |
---|
| 284 | $addUsuNacPse = ldap_mod_add($connect, $dnGravaListaNacPse, $infoAddUsuNacPse); |
---|
| 285 | |
---|
| 286 | } |
---|
| 287 | |
---|
| 288 | } |
---|
| 289 | |
---|
| 290 | |
---|
| 291 | $j++; |
---|
| 292 | |
---|
| 293 | } //fim do while dentro do usuario |
---|
| 294 | |
---|
| 295 | $i++; |
---|
| 296 | |
---|
| 297 | } //fim do while externo (usuario por usuario) |
---|
| 298 | |
---|
| 299 | |
---|
| 300 | # Verifica se ja existe uma listacorp-serpro no RHDS; |
---|
| 301 | $listaSerpro = "listacorp-serpro"; |
---|
| 302 | $filterGrava = "(uid=$listaSerpro)"; |
---|
| 303 | // $justthese = array("uid");//linha nova |
---|
| 304 | $srGrava = ldap_search($connect, $baseGravacao, $filterGrava);// Verifica se a lista ja esta criada no RHDS; |
---|
| 305 | |
---|
| 306 | $contListaSerpro = ldap_count_entries($connect, $srGrava); |
---|
| 307 | |
---|
| 308 | // $infoSerpro = ldap_get_entries($connect, $srGrava); |
---|
| 309 | |
---|
| 310 | |
---|
| 311 | if($contListaSerpro == 0) { |
---|
| 312 | |
---|
| 313 | |
---|
| 314 | |
---|
| 315 | $tmp["objectclass"][0] = "person"; |
---|
| 316 | $tmp["objectclass"][1] = "posixAccount"; |
---|
| 317 | $tmp["objectclass"][2] = "phpgwaccount"; |
---|
| 318 | $tmp["objectclass"][3] = "mailman"; |
---|
| 319 | $tmp["objectclass"][4] = "inetorgperson"; |
---|
| 320 | $tmp["uid"] = "$listaSerpro"; |
---|
| 321 | $tmp["mail"] = "$listaSerpro"."$dominioLista"; |
---|
| 322 | $tmp["phpgwAccountExpires"] = '-1'; |
---|
| 323 | $tmp["phpgwAccountStatus"] = 'A'; |
---|
| 324 | $tmp["phpgwAccountType"] = "l"; |
---|
| 325 | $tmp["accountStatus"] = "active"; |
---|
| 326 | $tmp["sn"] = "$listaSerpro"; |
---|
| 327 | $tmp["cn"] = "$listaSerpro"; |
---|
| 328 | $tmp["homeDirectory"] = "/dev/null"; |
---|
| 329 | $tmp["gidNumber"] = "777"; |
---|
| 330 | $tmp["uidNumber"] = "-".Contador(); |
---|
| 331 | $tmp["admLista"] = "$administrador"; |
---|
| 332 | $tmp["listpass"] = "$senhaCript"; |
---|
| 333 | $tmp["defaultmembermoderation"] = "1"; |
---|
| 334 | |
---|
| 335 | $dnListaSerpro = "uid=$listaSerpro".","."$baseGravacao"; |
---|
| 336 | $adicaoListaSerpro = ldap_add($connect, $dnListaSerpro, $tmp); |
---|
| 337 | } |
---|
| 338 | |
---|
| 339 | // Insere listas dentro de listas, de acordo com a hierarquia no cadastramento do setor do usuario; |
---|
| 340 | $result = array_unique($ouTemp); |
---|
| 341 | foreach ($result as $value){ |
---|
| 342 | $setorNovo = explode("/",$value); |
---|
| 343 | $posicoes = count($setorNovo); |
---|
| 344 | //corrigir o caso de tres posicoes quando nao houver usuario na segunda!! |
---|
| 345 | if ($posicoes == 3){ // Trata os setores cadastrados com tres niveis (Ex.: SUPTI/TIPAE/TIGTE) |
---|
| 346 | $mailLista = "listacorp-$setorNovo[0]-$setorNovo[1]-$setorNovo[2]$dominioLista"; |
---|
| 347 | $msg3 = "Lista gerada"; |
---|
| 348 | criaLog("$msg3 -> $mailLista","corp"); |
---|
| 349 | |
---|
| 350 | $listaPai = "listacorp-$setorNovo[0]-$setorNovo[1]"; |
---|
| 351 | $dnGravaLista = "uid=$listaPai".","."$baseGravacao"; |
---|
| 352 | $infoGravaLista["mailforwardingaddress"] = "$mailLista"; |
---|
| 353 | $addListaEmListaPai = @ldap_mod_add($connect, $dnGravaLista, $infoGravaLista);//Insere o ultimo nivel do vetor $setorNovo no nivel anterior |
---|
| 354 | |
---|
| 355 | $mailLista = "listacorp-$setorNovo[0]-$setorNovo[1]$dominioLista"; |
---|
| 356 | criaLog("$msg3 -> $mailLista","corp"); |
---|
| 357 | $listaPai = "listacorp-$setorNovo[0]"; |
---|
| 358 | $dnGravaLista = "uid=$listaPai".","."$baseGravacao"; |
---|
| 359 | $infoGravaLista["mailforwardingaddress"] = "$mailLista"; |
---|
| 360 | $addListaEmListaPai = @ldap_mod_add($connect, $dnGravaLista, $infoGravaLista);//Insere o ultimo nivel do vetor $setorNovo no nivel anterior |
---|
| 361 | |
---|
| 362 | $mailLista = "listacorp-$setorNovo[0]$dominioLista"; |
---|
| 363 | criaLog("$msg3 -> $mailLista","corp"); |
---|
| 364 | $listaPai = "listacorp-serpro"; |
---|
| 365 | $dnGravaLista = "uid=$listaPai".","."$baseGravacao"; |
---|
| 366 | $infoGravaLista["mailforwardingaddress"] = "$mailLista"; |
---|
| 367 | $addListaEmListaSerpro = @ldap_mod_add($connect, $dnGravaLista, $infoGravaLista);// Insere o nivel 0 do vetor $setorNovo na lista-serpro |
---|
| 368 | |
---|
| 369 | }elseif($posicoes == 2){ // Trata os setores cadastrados com dois niveis (Ex.: SUPTI/TIPAE) |
---|
| 370 | $mailLista = "listacorp-$setorNovo[0]-$setorNovo[1]$dominioLista"; |
---|
| 371 | $listaPai = "listacorp-$setorNovo[0]"; |
---|
| 372 | $dnGravaLista = "uid=$listaPai".","."$baseGravacao"; |
---|
| 373 | $infoGravaLista["mailforwardingaddress"] = "$mailLista"; |
---|
| 374 | $addListaEmListaPai = @ldap_mod_add($connect, $dnGravaLista, $infoGravaLista);//Insere o ultimo nivel do vetor $setorNovo no nivel anterior |
---|
| 375 | |
---|
| 376 | $mailLista = "listacorp-$setorNovo[0]$dominioLista"; |
---|
| 377 | $listaPai = "listacorp-serpro"; |
---|
| 378 | $dnGravaLista = "uid=$listaPai".","."$baseGravacao"; |
---|
| 379 | $infoGravaLista["mailforwardingaddress"] = "$mailLista"; |
---|
| 380 | $addListaEmListaSerpro = @ldap_mod_add($connect, $dnGravaLista, $infoGravaLista);// Insere o nivel 0 do vetor $setorNovo na lista-serpro |
---|
| 381 | |
---|
| 382 | }else{ // Trata os setores cadastrados com um nivel (Ex.: SUPTI) |
---|
| 383 | if($setorNovo[0] != "") { |
---|
| 384 | $mailLista = "listacorp-$setorNovo[0]$dominioLista"; |
---|
| 385 | $listaPai = "listacorp-serpro"; |
---|
| 386 | $dnGravaLista = "uid=$listaPai".","."$baseGravacao"; |
---|
| 387 | $infoGravaLista["mailforwardingaddress"] = "$mailLista"; |
---|
| 388 | $addListaEmListaSerpro = @ldap_mod_add($connect, $dnGravaLista, $infoGravaLista);// Insere o indice $setorNovo[0] na lista-serpro |
---|
| 389 | } |
---|
| 390 | } |
---|
| 391 | } |
---|
| 392 | } |
---|
| 393 | |
---|
| 394 | $testeValor = 0; |
---|
| 395 | |
---|
| 396 | # Chamada da funcao para inclusao no Mailman |
---|
| 397 | if ($argv[1] == ""){ |
---|
| 398 | echo "Favor passar sigla da regional\n\n"; |
---|
| 399 | echo "todas regspo regrce regblb regfla regsdr regcta regbhe regrjo regpae regbsa\n\n"; |
---|
| 400 | }elseif($argv[1] == "todas"){ |
---|
| 401 | foreach($regionais as $valor){ |
---|
| 402 | $msg3 = "\nGerando Lista regional -> $valor"; |
---|
| 403 | $regional = "ou=".$valor; |
---|
| 404 | criaLog($msg3,"corp"); |
---|
| 405 | echo "$msg3\n"; |
---|
| 406 | lerRegional($server, $port, $rootdn, $pass, $basedn, $regional, $baseGravacao, $dominioLista, $maxOU, $administrador, $senhaCript); |
---|
| 407 | } |
---|
| 408 | $testeValor = 1; |
---|
| 409 | }else{ |
---|
| 410 | $regional = "ou=".$argv[1]; |
---|
| 411 | lerRegional($server, $port, $rootdn, $pass, $basedn, $regional, $baseGravacao, $dominioLista, $maxOU, $administrador, $senhaCript); |
---|
| 412 | $testeValor = 1; |
---|
| 413 | } |
---|
| 414 | if($testeValor == 1){ |
---|
| 415 | $msg2 = "\nListas geradas na base LDAP!!!"; |
---|
| 416 | echo "$msg2\n"; |
---|
| 417 | criaLog($msg2,"corp"); |
---|
| 418 | } |
---|
| 419 | |
---|
| 420 | ?> |
---|