source: companies/serpro/scripts-listas/pegaFuncaoSetorUsuario.php @ 903

Revision 903, 4.1 KB checked in by niltonneto, 15 years ago (diff)

Importacao inicial do Expresso do Serpro

Line 
1#!/usr/bin/php
2
3
4<?php
5
6#########################################################################################
7#                                                                                       #
8# Script que recebe como parametro a regional e verifica os campos de FUNCAO e SETOR    #
9# dos usuarios em busca daqueles que estao cadastrados de maneira errada, de acordo     #
10# com alguns padroes predefinidos.                                                      #
11#                                                                                       #
12# Faz uso do arquivo funcoes.php.                                                       #
13#                                       Criado por: Rommel Cysne (em 19/10/2007)        #
14#########################################################################################
15
16
17
18$server = "10.200.113.64";
19$port = "389";
20$rootdn = "cn=admin,ou=expressolivre,ou=corp,dc=serpro,dc=gov,dc=br";
21$pass = "senha";
22$basedn = "dc=serpro,dc=gov,dc=br";
23$maxOU = 3;
24
25$regionais = array('regbhe','regblm','regbsa','regcta','regfla','regpae','regrce','regrjo','regsdr','regspo');
26
27        //require('functions.php');
28# .
29# .
30function lerRegional($server, $port, $rootdn, $pass, $basedn, $regional, $maxOU) {
31
32        require('funcoes.php');
33
34        $connect=ldap_connect($server,$port);
35
36        ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3);
37        ldap_bind($connect, $rootdn, $pass);
38
39        $filter="(&(objectClass=serprousr)(uid=*))";
40        $justthese = array("uid","cn","ou","mail","usrfuncao");
41
42        $baseBusca = $regional.",".$basedn;
43
44        $sr = ldap_search($connect, $baseBusca, $filter, $justthese);
45
46        $info = ldap_get_entries($connect, $sr);
47
48        $cont = $info['count'];
49//      $maxOU = 3;
50
51        $tmp = explode("=", $regional);
52        $arquivo = $tmp[1];
53
54        echo "************************************************************************************************\n";
55        echo "FUNCAO E SETOR DOS USUARIOS DA REGIONAL: $arquivo (de acordo com cadastro do RHDS)\n";
56        echo "************************************************************************************************\n\n";
57
58# Le Ldap e cria arquivos com lista e usuarios
59        $i = 0;
60        while($i <= ($cont-1)) {
61
62                $cn = $info[$i]['cn'][0];
63                $func = strtolower($info[$i]['usrfuncao'][0]);
64                //echo "Func -> $func \n".
65
66                $j = 0;
67                while($info[$i]['mail'][$j] != "") {
68
69
70
71                        if($func != "empregado") {
72                                $funcao = $func;
73                                        //echo "Funcao -> $funcao \n";
74
75                                if($listas[$funcao] == "") {
76                                        //echo "Teste -> $listas[$funcao] \n";
77
78                                        $nomeUsu = utf8_decode($cn);
79                                        $cpf = $info[$i]['uid'][0];
80                                        $setor = $info[$i]['ou'][$j];
81                                        echo "Usuario -> $nomeUsu\n";
82                                        echo "-- CPF -> $cpf\n";
83
84                                        if($funcao == "") {
85                                                echo "-- FUNCAO NAO CADASTRADA\n";
86                                        }else {
87                                                echo "-- FUNCAO DESCONHECIDA -> $funcao\n";
88                                        }
89
90                                        if (preg_match("[^/]", $setor)){
91                                                echo "-- ERRO CADASTRO SETOR - $setor (Setor comeca com caractere especial)\n";
92                                        }
93
94                                        if (preg_match("[/$]", $setor)){
95                                                echo "-- ERRO CADASTRO SETOR - $setor (Setor termina com caractere especial)\n";
96                                        }
97
98                                        $ou = explode("/", $setor); //divide o setor pela barra (p/ verificar a numero de subsetores)
99                                        $contOU = count($ou);
100                                        //echo "ContOU -> $contOU\n";
101                                        if(($contOU > $maxOU) || ($contOU == ""))  { // Verifica se cadastro do setor esta fora do padrao;
102                                                echo "-- ERRO CADASTRO SETOR - $setor\n";
103                                        }
104
105                                        $caracteres = strtr($setor, " :;,.<>?\()[]{}@#$%&*-_!", "1");
106                                        if($caracteres != $setor) {
107                                                echo "-- ERRO CADASTRO SETOR - $setor\n";
108                                        }
109
110                                        if($setor == "") {
111                                                echo "-- SETOR NAO CADASTRADO\n";
112                                        }
113
114
115                                        //echo "-- Setor -> $setor\n";
116                                        echo "***************************************************\n\n";
117                                       
118                                } //Fim do if($listas[$funcao] == "");
119
120                        } //Fim do if($func != "empregado");
121
122                        $j++;
123
124                } //Fim do while dentro do usuario ($info[$i]['mail'][$j] != "");
125
126                $i++;
127
128        } //Fim do while externo (usuario por usuario) ($i <= ($cont-1));
129
130}
131
132$testeValor = 0;
133
134if ($argv[1] == ""){
135        echo "Favor passar sigla da regional\n\n";
136        echo "todas regspo regrce regblb regfla regsdr regcta regbhe regrjo regpae regbsa\n\n";
137}elseif($argv[1] == "todas"){
138        foreach($regionais as $valor){
139                $regional = "ou=".$valor;
140                lerRegional($server, $port, $rootdn, $pass, $basedn, $regional, $maxOU);
141        }
142        $testeValor = 1;
143}else{
144        $regional = "ou=".$argv[1];
145        lerRegional($server, $port, $rootdn, $pass, $basedn, $regional, $maxOU);
146        $testeValor = 1;
147}
148
149if($testeValor == 1){
150        $msg2 = "Lista de inconsistências gerada!!!";
151        echo "$msg2\n";
152}
153
154
155?>
Note: See TracBrowser for help on using the repository browser.