From 6a7f67c3eb69be2778c77274815c6c4f8e9dfbbb Mon Sep 17 00:00:00 2001 From: elias.mussi@planejamento.gov.br Date: Tue, 13 May 2008 19:14:15 +0000 Subject: [PATCH] alterações do Anderson PeteRle no gerente --- admin/redes/detalhes_rede.php | 29 +++++++++++++++-------------- admin/redes/incluir_rede.php | 23 ++++++----------------- admin/updates_subredes/index.php | 120 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------- admin/updates_subredes/updates_subredes.php | 11 ++--------- include/cacic.js | 36 +++++++++++++++++++++++++++++------- include/library.php | 107 ++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------- relatorios/antivirus/index.php | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++--------- relatorios/antivirus/rel_antivirus.php | 275 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------- relatorios/patrimonio/index.php | 42 ++++++++++++++++++++++++++++++++++++++---- ws/get_config.php | 71 +++++++++++++++++++++++++++++++++++++---------------------------------- ws/set_hardware.php | 31 ++++++++++++++++--------------- 11 files changed, 548 insertions(+), 257 deletions(-) diff --git a/admin/redes/detalhes_rede.php b/admin/redes/detalhes_rede.php index dc91d58..f6a3795 100755 --- a/admin/redes/detalhes_rede.php +++ b/admin/redes/detalhes_rede.php @@ -14,14 +14,6 @@ Livre(FSF) Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ session_start(); -/* - * verifica se houve login e também regras para outras verificações (ex: permissões do usuário)! - */ -if(!isset($_SESSION['id_usuario'])) - die('Acesso negado!'); -else { // Inserir regras para outras verificações (ex: permissões do usuário)! -} - require_once('../../include/library.php'); AntiSpy(); @@ -289,8 +281,8 @@ function valida_form() $pos = substr_count($_SERVER['HTTP_REFERER'],'navegacao'); ?> onLoad="SetaCampo('1?'frm_te_mascara_rede':'frm_id_local')?>')"> - -
+ + @@ -366,7 +358,8 @@ $pos = substr_count($_SERVER['HTTP_REFERER'],'navegacao'); Subrede: - + @@ -375,8 +368,11 @@ $pos = substr_count($_SERVER['HTTP_REFERER'],'navegacao'); - - + + @@ -390,7 +386,8 @@ $pos = substr_count($_SERVER['HTTP_REFERER'],'navegacao'); - + @@ -865,6 +862,10 @@ $pos = substr_count($_SERVER['HTTP_REFERER'],'navegacao');

Detalhes da Subrede
Máscara:
 
+ Abrangência:
    +  a  + +
 
  +    
+ +
diff --git a/admin/redes/incluir_rede.php b/admin/redes/incluir_rede.php index 64a233a..5e20f09 100755 --- a/admin/redes/incluir_rede.php +++ b/admin/redes/incluir_rede.php @@ -14,14 +14,6 @@ Livre(FSF) Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ session_start(); -/* - * verifica se houve login e também regras para outras verificações (ex: permissões do usuário)! - */ -if(!isset($_SESSION['id_usuario'])) - die('Acesso negado!'); -else { // Inserir regras para outras verificações (ex: permissões do usuário)! -} - include_once "../../include/library.php"; AntiSpy('1,2,3'); // Permitido somente a estes cs_nivel_administracao... @@ -208,7 +200,7 @@ function SetaServidorUpdates() function valida_form(frmForm) { - + VerRedeMascara(frmForm.name,true,false); if ( document.form.frm_nu_limite_ftp.value == "" ) { document.form.frm_nu_limite_ftp.value = "30"; @@ -290,10 +282,7 @@ function valida_form(frmForm) alert("Digite a Senha para Login no Servidor de Updates pelo Módulo Gerente"); document.form.frm_te_senha_login_serv_updates_gerente.focus(); return false; - } - - VerificaRedeMascara(frmForm); - + } return true; } @@ -322,7 +311,7 @@ MM_reloadPage(true); são obrigatórios. -
+ @@ -382,7 +371,7 @@ MM_reloadPage(true); - @@ -644,8 +633,8 @@ MM_reloadPage(true); - diff --git a/admin/updates_subredes/index.php b/admin/updates_subredes/index.php index cc0b45e..acc116c 100755 --- a/admin/updates_subredes/index.php +++ b/admin/updates_subredes/index.php @@ -14,14 +14,6 @@ Livre(FSF) Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ session_start(); -/* - * verifica se houve login e também regras para outras verificações (ex: permissões do usuário)! - */ -if(!isset($_SESSION['id_usuario'])) - die('Acesso negado!'); -else { // Inserir regras para outras verificações (ex: permissões do usuário)! -} - require_once('../../include/library.php'); AntiSpy('1,2,3'); // Permitido somente a estes cs_nivel_administracao... @@ -33,7 +25,9 @@ if ($_POST['ExecutaUpdates']=='Executar Updates') { // Enviarei também ao updates_subredes.php uma relação de agentes e versões para inserção na tabela redes_versoes_modulos, no caso da ocorrência de Servidor de Updates verificado anteriormente. // Exemplo de estrutura de agentes_versoes: col_soft.exe#22010103*col_undi.exe#22010103 + // agentes_hashs: col_soft.exe#4228204d66e268ad42d9d738a09800e8*col_undi.exe#2428204d67e268ad42d9d738a09800ff $v_agentes_versoes = ''; + $v_agentes_hashs = ''; foreach($HTTP_POST_VARS as $i => $v) { //echo 'v: '.$v.' i: '.$i.'
'; @@ -61,16 +55,16 @@ if ($_POST['ExecutaUpdates']=='Executar Updates') if ($v_force_modulos == '') $v_force_modulos = '_fm_versoes_agentes.ini_fm_'; if ($v_force_modulos <> '') - { $v_force_modulos .= ","; - } + $v_force_modulos .= '_fm_'.$v.'_fm_'; } if ($v && substr($i,0,15)=='agentes_versoes') - { $v_agentes_versoes = '_-_'.$v; - } + + if ($v && substr($i,0,13)=='agentes_hashs') + $v_agentes_hashs = '_-_'.$v; } //echo 'v_updates: '.$v_updates.'

'; @@ -83,7 +77,7 @@ if ($_POST['ExecutaUpdates']=='Executar Updates') // objeto1__objeto2__objetoN_-_rede1__rede2__rede3__redeN // Onde: __ = Separador de itens // _-_ = Separador de Matrizes - header ("Location: updates_subredes.php?v_parametros=".$v_updates.'_-_'.$v_redes.'_-_'.$v_force_modulos.$v_agentes_versoes); + header ("Location: updates_subredes.php?v_parametros=".$v_updates.'_-_'.$v_redes.'_-_'.$v_force_modulos.$v_agentes_versoes.$v_agentes_hashs); } else { @@ -134,14 +128,11 @@ function verificar() else { if (!boolModulos) - { strFraseErro = 'Módulos'; - } if (!boolRedes) - { strFraseErro = (!boolModulos?' e ':'') + 'SubRedes'; - } + alert('ATENÇÃO: Verifique as seleções de '+strFraseErro); // formRedes.elements[min(intInicioModulos,intInicioRedes)].focus(); } @@ -213,8 +204,10 @@ function verificar() +   Marca/Desmarca todos os objetos + + + @@ -222,13 +215,19 @@ function verificar() -
   Ex.: 10.71.0.0 +  
  - Sim
+
+ Sim
Não
   
-   Marca/Desmarca todos os objetos -
 
 
+ + + + + '; echo ''; + echo ' >'; + echo ''; echo ''; // echo ''; // Adequação ao resultado no Debian Etch @@ -277,18 +281,76 @@ function verificar() $versao_agente = strftime("%d/%m/%Y %H:%Mh", $v_dados_arquivo[9]); echo ''; } - $v_agentes_versoes .= ($v_agentes_versoes<>''?'#':''); - $v_agentes_versoes .= $v_nomes_arquivos[$cnt_arquivos].'*'.$versao_agente; + + $v_agentes_versoes .= ($v_agentes_versoes<>''?'#':''); + $v_agentes_versoes .= $v_nomes_arquivos[$cnt_arquivos].'*'.$versao_agente; + + $v_agentes_hashs .= ($v_agentes_hashs <>''?'#':''); + $v_agentes_hashs .= $v_nomes_arquivos[$cnt_arquivos].'*'.$te_hash; + + echo ''; + echo ''; + echo '>'; + echo ''; + } + } + + if ($handle = opendir('../../repositorio/agentes_linux')) + { + ?> + + + + + + + + + + + + + '; + echo ''; + echo ''; +// echo ''; + // Adequação ao resultado no Debian Etch + echo ''; + + echo ''; + echo ''; + + echo ''; + $v_agentes_versoes .= ($v_agentes_versoes<>''?'#':''); + $v_agentes_versoes .= $v_nomes_arquivos[$cnt_arquivos].'*'.$arrNomeArquivo[1]; + + $v_agentes_hashs .= ($v_agentes_hashs<>''?'#':''); + $v_agentes_hashs .= $v_nomes_arquivos[$cnt_arquivos].'*'.$te_hash; } - echo ''; } - ?> + echo ''; + echo ''; + ?> +
Agentes para MS-Windows
Arquivo Tamanho(KB) VersãoHash Forçar
'.$v_nomes_arquivos[$cnt_arquivos].''.number_format(($v_dados_arquivo[7]/1024), 1, '', '.').''.$versao_agente.''.$te_hash.'
 
Agentes para GNU/Linux
ArquivoTamanho(KB)VersãoHashForçar
'.$arrNomeArquivo[0].''.number_format(($v_dados_arquivo[7]/1024), 1, '', '.').''.number_format(($v_dados_arquivo[7]/10240), 1, '', '.').''.$arrNomeArquivo[1].''.$te_hash.'

diff --git a/admin/updates_subredes/updates_subredes.php b/admin/updates_subredes/updates_subredes.php index fc02154..45be149 100755 --- a/admin/updates_subredes/updates_subredes.php +++ b/admin/updates_subredes/updates_subredes.php @@ -15,13 +15,6 @@ */ session_start(); -/* - * verifica se houve login e também regras para outras verificações (ex: permissões do usuário)! - */ -if(!isset($_SESSION['id_usuario'])) - die('Acesso negado!'); -else { // Inserir regras para outras verificações (ex: permissões do usuário)! -} require_once('../../include/library.php'); @@ -85,8 +78,8 @@ AntiSpy('1,2,3'); // Permitido somente a estes cs_nivel_administracao... $v_array_redes = explode('__',str_replace('_fr_',"'",$v_array_parametros[1])); - //echo '_REQUEST[v_parametros] = '.$_REQUEST['v_parametros'].'
'; - //echo 'v_array_parametros[1] = '.$v_array_parametros[1].'
'; + echo '_REQUEST[v_parametros] = '.$_REQUEST['v_parametros'].'
'; + echo 'v_array_parametros[1] = '.$v_array_parametros[1].'
'; if (count($v_array_redes)>0) { diff --git a/include/cacic.js b/include/cacic.js index c4866b2..a602c79 100755 --- a/include/cacic.js +++ b/include/cacic.js @@ -25,7 +25,7 @@ function preparaEnvio() // Codificação dos campos NOME e SENHA para submissão pelo método POST window.document.forms[i].elements[j].value = encode64(window.document.forms[i].elements[j].value); } - + function SetaCampo(p_campo) { for (i=0;iThere is a trouble with phpTranslator package. It isn't found."); - -/* - * componente (objeto) para realizar traducao - */ -$oTranslator = new Translator( CACIC_LANGUAGE, CACIC_PATH.CACIC_LANGUAGE_PATH, CACIC_LANGUAGE_STANDARD ); -$oTranslator->setURLPath(TRANSLATOR_PATH_URL); -$oTranslator->setLangFilesInSubDirs(true); -$oTranslator->initStdLanguages(); +session_start(); +require_once 'config.php'; //Debug($_SERVER['SCRIPT_FILENAME']); // -------------------------------------------------------------------------- @@ -178,8 +164,8 @@ function returnMacAddress1() $remoteIp = rtrim($_SERVER['REMOTE_ADDR']); $location = rtrim(`arp -a $remoteIp`); - for ($i=0;$i < count($location);$i++) - GravaTESTES('location['.$i.']:'.$location[$i]); + //for ($i=0;$i < count($location);$i++) + // GravaTESTES('location['.$i.']:'.$location[$i]); //print_r($remoteIp.$location);//display //reduce no of white spaces then @@ -225,27 +211,6 @@ function Debug($p_ScriptFileName) } } } - -/** - * Menu a ser apresentado ao usuario conforme o idioma selecionado - * - * @param string $_menu_name Nome do menu a ser pesquisado - * @return string Caminho do menu - */ -function getMenu($_menu_name) { - $_file_lang = 'language'.DIRECTORY_SEPARATOR.CACIC_LANGUAGE.DIRECTORY_SEPARATOR.$_menu_name; - if(is_file($_file_lang) and is_readable($_file_lang)) { - return $_file_lang; - } - else { - $_file_lang = 'language'.DIRECTORY_SEPARATOR.CACIC_LANGUAGE_STANDARD.DIRECTORY_SEPARATOR.$_menu_name; - if(is_file($_file_lang) and is_readable($_file_lang)) { - return $_file_lang; - } - else return "Erro no menu (Menu error)!".$_file_lang; - } -} - // __________________________________________________________________ // Apenas uma alternativa mais completa à função "stripos" do PHP5... // __________________________________________________________________ @@ -274,10 +239,11 @@ function DeCrypt($p_CipherKey, $p_IV, $p_CriptedData, $p_cs_Cipher, $p_cs_UnComp { $p_CipherKey .= $p_PaddingKey; - GravaTESTES('Em DeCrypt: p_CipherKey = "'.$p_CipherKey.'"'); - GravaTESTES('Em DeCrypt: p_IV = "'.$p_IV.'"'); - GravaTESTES('Em DeCrypt: p_CriptedData = "'.$p_CriptedData.'"'); - GravaTESTES('Em DeCrypt: p_cs_Cipher = "'.$p_cs_Cipher.'"'); + /*GravaTESTES('Em DeCrypt: p_CipherKey = "'.$p_CipherKey.'"'); + GravaTESTES('Em DeCrypt: p_IV = "'.$p_IV.'"'); + GravaTESTES('Em DeCrypt: p_CriptedData = "'.$p_CriptedData.'"'); + GravaTESTES('Em DeCrypt: p_cs_Cipher = "'.$p_cs_Cipher.'"'); + */ // Bloco de Substituições para antes da Decriptação // ------------------------------------------------ // Razão: Dependendo da configuração do servidor, os valores @@ -314,7 +280,8 @@ function DeCrypt($p_CipherKey, $p_IV, $p_CriptedData, $p_cs_Cipher, $p_cs_UnComp if ($p_cs_UnCompress == '1') $v_result = gzinflate($v_result); - GravaTESTES('Em DeCrypt: p_PaddingKey = "'.$p_PaddingKey.'"'); + //GravaTESTES('Em DeCrypt: p_PaddingKey = "'.$p_PaddingKey.'"'); + // Aqui retiro do resultado a ocorrência do preenchimento, caso exista. (o agente Python faz esse preenchimento) if ($p_PaddingKey <> '') { @@ -322,7 +289,8 @@ function DeCrypt($p_CipherKey, $p_IV, $p_CriptedData, $p_cs_Cipher, $p_cs_UnComp $re = "/".$char."*$/"; $v_result = preg_replace($re, "", $v_result); } - GravaTESTES('Em DeCrypt: v_result = "'.$v_result.'"'); + //GravaTESTES('Em DeCrypt: v_result = "'.$v_result.'"'); + return trim($v_result); } @@ -687,7 +655,7 @@ function dectobin($dectobin) function autentica_agente($p_CipherKey, $p_IV, $p_cs_cipher, $p_cs_compress, $p_PaddingKey='') { - + /* GravaTESTES('###########################################'); GravaTESTES('Script Chamador: '.$_SERVER['REQUEST_URI']); GravaTESTES('1: '.$_SERVER['HTTP_USER_AGENT']); @@ -697,6 +665,7 @@ function autentica_agente($p_CipherKey, $p_IV, $p_cs_cipher, $p_cs_compress, $p_ GravaTESTES('3: '.$_SERVER['PHP_AUTH_PW']); GravaTESTES('33: '.strtoupper(DeCrypt($p_CipherKey,$p_IV,$_SERVER['PHP_AUTH_PW'],$p_cs_cipher, $p_cs_compress,$p_PaddingKey))); GravaTESTES('###########################################'); + */ if ((strtoupper(DeCrypt($p_CipherKey,$p_IV,$_SERVER['HTTP_USER_AGENT'],$p_cs_cipher, $p_cs_compress,$p_PaddingKey)) != 'AGENTE_CACIC') || (strtoupper(DeCrypt($p_CipherKey,$p_IV,$_SERVER['PHP_AUTH_USER'],$p_cs_cipher, $p_cs_compress,$p_PaddingKey)) != 'USER_CACIC') || (strtoupper(DeCrypt($p_CipherKey,$p_IV,$_SERVER['PHP_AUTH_PW'],$p_cs_cipher, $p_cs_compress,$p_PaddingKey)) != 'PW_CACIC')) @@ -756,6 +725,7 @@ function inclui_computador_caso_nao_exista( $te_node_address, if (substr_count($v_te_ip,'zf')>0 || trim($v_te_ip)=='') $v_te_ip = $_SERVER['REMOTE_ADDR']; + /* GravaTESTES('Script Chamador: '.$_SERVER['REQUEST_URI']); GravaTESTES('v_te_ip: '.$v_te_ip); @@ -770,7 +740,7 @@ function inclui_computador_caso_nao_exista( $te_node_address, GravaTESTES('v_te_ip: '.$v_te_ip); GravaTESTES('te_nome_computador: '.$te_nome_computador); GravaTESTES('te_workgroup: '.$te_workgroup); - + */ $id_so = get_valor_campo('so', 'id_so', 'id_so = '.$id_so_new); $te_so = get_valor_campo('so', 'te_so', 'te_so = "'.$te_so_new.'"'); @@ -784,7 +754,7 @@ function inclui_computador_caso_nao_exista( $te_node_address, $query = 'UPDATE so SET te_so = "'.$te_so_new.'" WHERE id_so = '.$id_so; - GravaTESTES('query 1: '.$query); + //GravaTESTES('query 1: '.$query); $result = mysql_query($query); } elseif ($te_so <> '' && ($id_so == '' || $id_so == 0)) // Encontrei somente o Identificador Interno (TE_SO) @@ -793,7 +763,7 @@ function inclui_computador_caso_nao_exista( $te_node_address, $query = 'SELECT id_so FROM so WHERE te_so = "'.$te_so.'"'; - GravaTESTES('query 2: '.$query); + //GravaTESTES('query 2: '.$query); $result = mysql_query($query); $row = mysql_fetch_array($result); $id_so = $row['id_so']; @@ -820,7 +790,7 @@ function inclui_computador_caso_nao_exista( $te_node_address, $queryINS = 'INSERT INTO so(id_so,te_desc_so,sg_so,te_so) VALUES ('.$id_so.',"S.O. a Cadastrar","Sigla a Cadastrar","'.$te_so_new.'")'; - GravaTESTES('queryINS: '.$queryINS); + //GravaTESTES('queryINS: '.$queryINS); $resultINS = mysql_query($queryINS); // Carrego os dados referente à rede da estação @@ -831,7 +801,7 @@ function inclui_computador_caso_nao_exista( $te_node_address, FROM acoes_so WHERE id_local = '.$v_dados_rede['id_local'].' GROUP BY id_acao'; - GravaTESTES('querySEL: '.$querySEL); + //GravaTESTES('querySEL: '.$querySEL); $resultSEL = mysql_query($querySEL); // Caso existam ações configuradas para o local, incluo o S.O. para que também execute-as... @@ -874,7 +844,7 @@ function inclui_computador_caso_nao_exista( $te_node_address, WHERE te_node_address = "'.$te_node_address.'" AND id_so = "'.$id_so.'"'; } -GravaTESTES('QUERY : '.$query); +//GravaTESTES('QUERY : '.$query); $result = mysql_query($query); $arrRetorno = array('id_so'=>$id_so,'te_so'=>$te_so); // OK! O computador foi INCLUIDO/ATUALIZADO. @@ -979,9 +949,10 @@ function quebra_linha($string, $tamanho_desejado) { // -------------------------------------------------------------------------------------- // Função usada para fazer updates das versões dos módulos nas subredes... // -------------------------------------------------------------------------------------- -function atualiza_red_ver_mod($pp_id_ip_rede, $p_nm_modulo, $p_te_versao_modulo, $p_id_local) +function atualiza_red_ver_mod($pp_id_ip_rede, $p_nm_modulo, $p_te_versao_modulo, $p_id_local, $p_cs_tipo_so) { $MainFolder = GetMainFolder(); + $arrCsTipoSO = explode('#',$p_cs_tipo_so); conecta_bd_cacic(); $query_UPD = ' UPDATE redes set dt_verifica_updates = NOW() @@ -993,7 +964,8 @@ function atualiza_red_ver_mod($pp_id_ip_rede, $p_nm_modulo, $p_te_versao_modulo, FROM redes_versoes_modulos WHERE TRIM(id_ip_rede) = "'.trim($pp_id_ip_rede).'" AND TRIM(nm_modulo)="'.trim($p_nm_modulo).'" AND - id_local = '.$p_id_local; + id_local = '.$p_id_local.' AND + cs_tipo_so = "'.$arrCsTipoSO[1].'"'; $result_DEL = mysql_query($query_DEL); $v_te_versao_modulo = $p_te_versao_modulo; @@ -1007,12 +979,14 @@ function atualiza_red_ver_mod($pp_id_ip_rede, $p_nm_modulo, $p_te_versao_modulo, nm_modulo, te_versao_modulo, id_local, - dt_atualizacao) + dt_atualizacao, + cs_tipo_so) values ("'.$pp_id_ip_rede.'", "'.$p_nm_modulo.'", "'.$v_te_versao_modulo.'","'. $p_id_local.'", - now())'; + now(), + "'.$arrCsTipoSO[1].'")'; $result_INS = mysql_query($query_INS); } @@ -1020,9 +994,10 @@ function atualiza_red_ver_mod($pp_id_ip_rede, $p_nm_modulo, $p_te_versao_modulo, // -------------------------------------------------------------------------------------------------------------------------------------------------------- // Função usada para fazer updates das versões dos módulos nos servidores de updates quando a chamada tem origem na página, via opção Update de Subredes... // -------------------------------------------------------------------------------------------------------------------------------------------------------- -function atualiza_red_ver_mod_pagina($pp_te_serv_updates, $p_nm_modulo, $p_te_versao_modulo) +function atualiza_red_ver_mod_pagina($pp_te_serv_updates, $p_nm_modulo, $p_te_versao_modulo, $p_cs_tipo_so) { $MainFolder = GetMainFolder(); + $arrCsTipoSO = explode('#',$p_cs_tipo_so); conecta_bd_cacic(); $query_SEL = ' SELECT id_ip_rede, id_local @@ -1049,7 +1024,8 @@ function atualiza_red_ver_mod_pagina($pp_te_serv_updates, $p_nm_modulo, $p_te_ve $query_DEL = 'DELETE FROM redes_versoes_modulos WHERE TRIM(id_ip_rede) IN ('.$redes.') AND - nm_modulo = "'.$p_nm_modulo.'"'; + nm_modulo = "'.$p_nm_modulo.'" AND + cs_tipo_so = "'.$arrCsTipoSO[1].'"'; // AND id_local = '.$p_id_local; //GravaTESTES('query_DEL: '.$query_DEL); $result_DEL = mysql_query($query_DEL); @@ -1065,7 +1041,8 @@ function atualiza_red_ver_mod_pagina($pp_te_serv_updates, $p_nm_modulo, $p_te_ve nm_modulo, te_versao_modulo, id_local, - dt_atualizacao) values '; + dt_atualizacao, + cs_tipo_so) values '; $query_INS = 'INSERT INTO redes_versoes_modulos values '; @@ -1077,7 +1054,8 @@ function atualiza_red_ver_mod_pagina($pp_te_serv_updates, $p_nm_modulo, $p_te_ve "'.$row['id_ip_rede'].'", "'.$p_nm_modulo.'", "'.$p_te_versao_modulo.'",'. - 'now())'; + 'now(), + "'.$arrCsTipoSO[1].'")'; $virgula = ','; } //GravaTESTES('query_INS: '.$query_INS); @@ -1308,8 +1286,9 @@ if ($handle = opendir($MainFolder . '/repositorio')) ' ORDER BY nm_modulo'; conecta_bd_cacic(); - $v_nomes_arquivos_FTP = array(); + $v_nomes_arquivos_FTP = array(); $v_versoes_arquivos_FTP = array(); + $v_tipos_so_FTP = array(); $Result_SEL_REDES = mysql_query($query_SEL_REDES); $v_achei = 0; @@ -1317,6 +1296,7 @@ if ($handle = opendir($MainFolder . '/repositorio')) { array_push($v_nomes_arquivos_FTP, trim($row['nm_modulo'])); array_push($v_versoes_arquivos_FTP, trim($row['nm_modulo']).'#'.trim($row['te_versao_modulo'])); + array_push($v_tipos_so_FTP, trim($row['nm_modulo']).'#'.trim($row['cs_tipo_so'])); for ($cnt_arquivos_REP = 0; $cnt_arquivos_REP < count($v_nomes_arquivos_REP); $cnt_arquivos_REP++) { if (trim($v_nomes_arquivos_REP[$cnt_arquivos_REP]) == trim($row['nm_modulo']) && @@ -1391,6 +1371,7 @@ if ($handle = opendir($MainFolder . '/repositorio')) sort($v_nomes_arquivos_REP,SORT_STRING); sort($v_versoes_arquivos_REP,SORT_STRING); sort($v_nomes_arquivos_FTP,SORT_STRING); + sort($v_tipos_so_FTP,SORT_STRING); sort($v_versoes_arquivos_FTP,SORT_STRING); $v_efetua_conexao_ftp = 1; @@ -1416,9 +1397,9 @@ if ($handle = opendir($MainFolder . '/repositorio')) array_push($v_array_objetos_atualizados, $v_nomes_arquivos_REP[$cnt_nomes_arquivos_REP]); $arr_versao_arquivo = explode('#',$v_versoes_arquivos_REP[$cnt_nomes_arquivos_REP]); if ($p_origem == 'Pagina') - atualiza_red_ver_mod_pagina($row['te_serv_updates'], $v_nomes_arquivos_REP[$cnt_nomes_arquivos_REP],$arr_versao_arquivo[1]); + atualiza_red_ver_mod_pagina($row['te_serv_updates'], $v_nomes_arquivos_REP[$cnt_nomes_arquivos_REP],$arr_versao_arquivo[1],$v_tipos_so_FTP[$cnt_nomes_arquivos_REP]); else - atualiza_red_ver_mod($row['id_ip_rede'],$v_nomes_arquivos_REP[$cnt_nomes_arquivos_REP],$arr_versao_arquivo[1],$row['id_local']); + atualiza_red_ver_mod($row['id_ip_rede'],$v_nomes_arquivos_REP[$cnt_nomes_arquivos_REP],$arr_versao_arquivo[1],$row['id_local'],$v_tipos_so_FTP[$cnt_nomes_arquivos_REP]); echo 'Atualizado...: '.$v_nomes_arquivos_REP[$cnt_nomes_arquivos_REP].'
'; $v_conta_objetos_atualizados ++; flush(); diff --git a/relatorios/antivirus/index.php b/relatorios/antivirus/index.php index f054cb4..b06c565 100755 --- a/relatorios/antivirus/index.php +++ b/relatorios/antivirus/index.php @@ -141,9 +141,9 @@ do Engine - - @@ -177,9 +177,7 @@ - -   - + @@ -235,22 +233,66 @@   */ + $date_input1 = date('d/m/Y'); + $date_input2 = $date_input1; + ?> + +   + + + + + + + + + + + + + +
Informe o período (data de instalação) em que deverá + ser realizada a consulta: (ou deixe em branco)
+ +  +a +   +  (formato: dd/mm/aaaa)
+ + +   + + + + + + + + + + + +
+ Exibir Informações de Patrimônio
+ + + +   + 1 && $_SESSION['cs_nivel_administracao']<>2?'selecao_redes_inc.php':'selecao_locais_inc.php'); require_once($v_require); - ?> - + ?>   - - +   diff --git a/relatorios/antivirus/rel_antivirus.php b/relatorios/antivirus/rel_antivirus.php index 5ef6517..892cc74 100755 --- a/relatorios/antivirus/rel_antivirus.php +++ b/relatorios/antivirus/rel_antivirus.php @@ -1,22 +1,34 @@ '') + { + $arrDateInput = explode('/',$_POST['date_input1']); + $_SESSION['where_date'] .= ' AND officescan.dt_hr_instalacao >= "'.$arrDateInput[2].'-'.$arrDateInput[1].'-'.$arrDateInput[0].' 00:00:00"'; + } + + if ($_POST['date_input2'] <> '') + { + $arrDateInput = explode('/',$_POST['date_input2']); + $_SESSION['where_date'] .= ' AND officescan.dt_hr_instalacao <= "'.$arrDateInput[2].'-'.$arrDateInput[1].'-'.$arrDateInput[0].' 23:59:59"'; + } + + if ($_SESSION['where_date']) + $_SESSION['where_date'] = ' AND trim(officescan.dt_hr_instalacao) <> "" '.$_SESSION['where_date']; + + } ?> @@ -57,71 +69,74 @@ function MM_openBrWindow(theURL,winName,features) { //v2.0
1 && $_SESSION['cs_nivel_administracao']<>2) { - //if($_SESSION["cs_situacao"] == 'S') - // { - // Aqui pego todas as redes selecionadas e faço uma query p/ condição de redes - $redes_selecionadas = "'" . $_SESSION["list2"][0] . "'"; - for( $i = 1; $i < count($_SESSION["list2"] ); $i++ ) - { - $redes_selecionadas = $redes_selecionadas . ",'" . $_SESSION["list2"][$i] . "'"; - } - // } - $query_redes = 'AND id_ip_rede IN ('. $redes_selecionadas .')'; + $redes_selecionadas = "'" . $_SESSION["list2"][0] . "'"; + for( $i = 1; $i < count($_SESSION["list2"] ); $i++ ) + $redes_selecionadas = $redes_selecionadas . ",'" . $_SESSION["list2"][$i] . "'"; + + $query_redes = 'AND id_ip_rede IN ('. $redes_selecionadas .')'; } else { // Aqui pego todos os locais selecionados e faço uma query p/ condição de redes/locais $locais_selecionados = "'" . $_SESSION["list12"][0] . "'"; for( $i = 1; $i < count($_SESSION["list12"] ); $i++ ) - { $locais_selecionados .= ",'" . $_SESSION["list12"][$i] . "'"; - } + $query_redes = 'AND computadores.id_ip_rede = redes.id_ip_rede AND redes.id_local IN ('. $locais_selecionados .') AND redes.id_local = locais.id_local '; - $select = ' ,sg_local as Local '; - $from = ' ,redes,locais '; + $select = ' ,sg_local as "Local" '; + $from = ' ,redes, locais '; } // Aqui pego todos os SO selecionados $so_selecionados = "'" . $_SESSION["list4"][0] . "'"; -for( $i = 1; $i < count($_SESSION["list4"] ); $i++ ) { +for( $i = 1; $i < count($_SESSION["list4"] ); $i++ ) $so_selecionados = $so_selecionados . ",'" . $_SESSION["list4"][$i] . "'"; -} // Aqui pego todas as configurações de hardware que deseja exibir -for( $i = 0; $i < count($_SESSION["list6"] ); $i++ ) { +for( $i = 0; $i < count($_SESSION["list6"] ); $i++ ) $campos_software = $campos_software . $_SESSION["list6"][$i]; -} + // Aqui substitui todas as strings \ por vazio que a variável $campos_hardware retorna $campos_software = str_replace('\\', '', $campos_software); -if ($_GET['orderby']) { $orderby = $_GET['orderby']; } - -else { $orderby = 'te_nome_computador'; } +if ($_GET['orderby']) + $orderby = $_GET['orderby']; +else + $orderby = 'computadores.te_nome_computador'; $query = 'SELECT distinct computadores.te_node_address, so.id_so, - te_nome_computador as "Nome Comp.", - sg_so as "S.O.", - te_ip as "IP"' . + computadores.te_nome_computador as "Nome Comp.", + so.sg_so as "S.O.", + computadores.te_ip as "IP"' . $campos_software . $select . ' FROM so, - computadores LEFT JOIN officescan ON (computadores.te_node_address = officescan.te_node_address and computadores.id_so = officescan.id_so) '. + computadores + LEFT JOIN officescan ON computadores.te_node_address = officescan.te_node_address and computadores.id_so = officescan.id_so '. $from. ' WHERE TRIM(computadores.te_nome_computador) <> "" AND computadores.id_so = so.id_so AND computadores.id_so IN ('. $so_selecionados .')'. + $_SESSION['where_date']. $query_redes .' ORDER BY ' . $orderby; +//if ($_SERVER['REMOTE_ADDR']=='10.71.0.58') +// echo $query . '
'; + $result = mysql_query($query) or die('Erro no select ou sua sessão expirou!'); $cor = 0; @@ -132,29 +147,177 @@ echo ''; -for ($i=2; $i < mysql_num_fields($result); $i++) { //Table Header - print ''; -} +$intColunaDHI = 0; // Coluna apenas para ordenar pela Data/Hora de Instalacao + +for ($i=2; $i < mysql_num_fields($result); $i++) + {//Table Header + $iAux = $i; + $iAux = ($iAux==6?7:$iAux); + $iAux = ($iAux==8?9:$iAux); + // Não mostro as colunas datas/horas, usadas para ordenação + if (mysql_field_name($result, $i)<>'DHI' && mysql_field_name($result, $i)<>'DHUC') + print ''; + } + +// Caso seja selecionada a exibição de Informações Patrimoniais... +if ($_SESSION['cs_exibe_info_patrimonial']<>'') + { + $strTripaMacSO = ''; + + // Foi necessário implementar essa P.O.G. devido a erro #1054 do MySQL 5.x!!! + while ($row = mysql_fetch_array($result)) + { + $strTripaMacSO .= ($strTripaMacSO <> ''?',':''); + $strTripaMacSO .= '"'.$row['te_node_address'].'_'.$row['id_so'].'"'; + } + + // Restauro o ponteiro da consulta + mysql_data_seek($result,0); + + $query_pat = 'SELECT nm_campo_tab_patrimonio, + te_etiqueta + FROM patrimonio_config_interface + WHERE id_local = '.$_SESSION['id_local']; + $result_pat = mysql_query($query_pat); + + $select_pat = 'pat.te_node_address,pat.id_so'; + + + while ($row_pat = mysql_fetch_array($result_pat)) + { + $boolMostraColuna = false; + if ($row_pat['nm_campo_tab_patrimonio'] =='id_unid_organizacional_nivel1') + { + $select_pat .= ', uon1.nm_unid_organizacional_nivel1 as "' . $row_pat['te_etiqueta'].'"'; + $boolMostraColuna = true; + } + elseif ($row_pat['nm_campo_tab_patrimonio']=='id_unid_organizacional_nivel1a') + { + $select_pat .= ', uon1a.nm_unid_organizacional_nivel1a as "' . $row_pat['te_etiqueta'].'"'; + $boolMostraColuna = true; + } + elseif ($row_pat['nm_campo_tab_patrimonio']=='id_unid_organizacional_nivel2') + { + $select_pat .= ', uon2.nm_unid_organizacional_nivel2 as "' . $row_pat['te_etiqueta'].'"'; + $boolMostraColuna = true; + } + else + { + $select_pat .= ', ' . $row_pat['nm_campo_tab_patrimonio'] . ' as "' . $row_pat['te_etiqueta'].'"'; + $boolMostraColuna = true; + } + + // Mostro apenas as colunas interessantes + if ($boolMostraColuna) + { + $iAux ++; + print ''; + } + } + + $from_pat = ' unid_organizacional_nivel1 uon1, + unid_organizacional_nivel1a uon1a, + unid_organizacional_nivel2 uon2, + patrimonio pat, + computadores comp'; + + $where_pat = ' comp.te_node_address = pat.te_node_address AND + comp.id_so = pat.id_so AND + pat.id_unid_organizacional_nivel1a = uon1a.id_unid_organizacional_nivel1a AND + pat.id_unid_organizacional_nivel2 = uon2.id_unid_organizacional_nivel2 AND + uon1a.id_unid_organizacional_nivel1a = uon2.id_unid_organizacional_nivel1a AND + uon1a.id_unid_organizacional_nivel1 = uon1.id_unid_organizacional_nivel1 '; + $query_pat = ' SELECT ' .$select_pat. + ' FROM ' .$from_pat. + ' WHERE ' .$where_pat. + ' AND concat(pat.te_node_address,"_",pat.id_so) in ('.$strTripaMacSO.') '; + + $result_pat = mysql_query($query_pat); + while ($row_pat = mysql_fetch_array($result_pat)) + { + $arrMacSO[$row_pat['te_node_address'].'_'.$row_pat['id_so']]['uon1'] = $row_pat[2]; + $arrMacSO[$row_pat['te_node_address'].'_'.$row_pat['id_so']]['uon1a'] = $row_pat[3]; + $arrMacSO[$row_pat['te_node_address'].'_'.$row_pat['id_so']]['uon2'] = $row_pat[4]; + $arrMacSO[$row_pat['te_node_address'].'_'.$row_pat['id_so']]['te_localizacao_complementar'] = $row_pat[5]; + $arrMacSO[$row_pat['te_node_address'].'_'.$row_pat['id_so']]['te_info_patrimonio1'] = $row_pat[6]; + $arrMacSO[$row_pat['te_node_address'].'_'.$row_pat['id_so']]['te_info_patrimonio2'] = $row_pat[7]; + $arrMacSO[$row_pat['te_node_address'].'_'.$row_pat['id_so']]['te_info_patrimonio3'] = $row_pat[8]; + $arrMacSO[$row_pat['te_node_address'].'_'.$row_pat['id_so']]['te_info_patrimonio4'] = $row_pat[9]; + $arrMacSO[$row_pat['te_node_address'].'_'.$row_pat['id_so']]['te_info_patrimonio5'] = $row_pat[10]; + $arrMacSO[$row_pat['te_node_address'].'_'.$row_pat['id_so']]['te_info_patrimonio6'] = $row_pat[11]; + } + } + + echo ''; -while ($row = mysql_fetch_row($result)) { //Table body +while ($row = mysql_fetch_row($result)) + {//Table body echo ''; echo ''; echo ""; - for ($i=3; $i < $fields; $i++) { - echo ''; - } + for ($i=3; $i < $fields; $i++) + { + if ($i <> 7 && $i <> 9) // Não mostro os valores datas/horas, usados para ordenação + { + echo ''; + } + } + if ($_SESSION['cs_exibe_info_patrimonial']<>'') + { + echo ''; + + echo ''; + + echo ''; + + echo ''; + + echo ''; + + echo ''; + + echo ''; + + echo ''; + + echo ''; + + echo ''; + + } $cor=!$cor; $num_registro++; echo ''; -} + } echo '
 '. mysql_field_name($result, $i) .''. mysql_field_name($result, $i) .''. $row_pat['te_etiqueta'] .'
' . $num_registro . '" . $row[2] ." N';} - else - {echo '>'.$row[$i]; } - echo ' N'; + else + echo '>'.$row[$i]; + + echo ' '; + echo $arrMacSO[$row[0].'_'.$row[1]]['uon1']; + echo ' '; + echo $arrMacSO[$row[0].'_'.$row[1]]['uon1a']; + echo ' '; + echo $arrMacSO[$row[0].'_'.$row[1]]['uon2']; + echo ' '; + echo $arrMacSO[$row[0].'_'.$row[1]]['te_localizacao_complementar']; + echo ' '; + echo $arrMacSO[$row[0].'_'.$row[1]]['te_info_patrimonio1']; + echo ' '; + echo $arrMacSO[$row[0].'_'.$row[1]]['te_info_patrimonio2']; + echo ' '; + echo $arrMacSO[$row[0].'_'.$row[1]]['te_info_patrimonio3']; + echo ' '; + echo $arrMacSO[$row[0].'_'.$row[1]]['te_info_patrimonio4']; + echo ' '; + echo $arrMacSO[$row[0].'_'.$row[1]]['te_info_patrimonio5']; + echo ' '; + echo $arrMacSO[$row[0].'_'.$row[1]]['te_info_patrimonio6']; + echo ' 


'; if (count($_SESSION["list8"])>0) { @@ -167,6 +330,6 @@ if (count($_SESSION["list8"])>0) gerado pelo CACIC - Configurador Automático e Coletor de Informações Computacionais
Software desenvolvido - pela Dataprev - Escritório do Espírito Santo

+ pela Dataprev - Unidade Regional Espírito Santo

diff --git a/relatorios/patrimonio/index.php b/relatorios/patrimonio/index.php index 005ef7e..57e7613 100755 --- a/relatorios/patrimonio/index.php +++ b/relatorios/patrimonio/index.php @@ -302,6 +302,31 @@ require_once('../../include/library.php'); ORDER BY te_etiqueta"; $res_fields = mysql_query($query); + + // Caso o usuário não tenha nível administrativo, filtro as UON2 para seleção das UON1a + if ($_SESSION['cs_nivel_administracao']<>1 && $_SESSION['cs_nivel_administracao']<>2) + { + + $selectUON1a = ' SELECT distinct id_unid_organizacional_nivel1a '; + $fromUON1a = ' FROM unid_organizacional_nivel2 UON2 '; + $whereUON1a = ' WHERE UON2.id_local = '.$_SESSION['id_local']; + if ($_SESSION['te_locais_secundarios'] <> '') + $whereUON1a .= ' OR UON2.id_local in ('.$_SESSION['te_locais_secundarios'].')'; + + $strTripaUON1a = ''; + $queryUON1a = $selectUON1a . $fromUON1a . $whereUON1a; +//if ($_SERVER['REMOTE_ADDR']=='10.71.0.58') + //echo $queryUON1a . '
'; + $resUON1a = mysql_query($queryUON1a); + + while ($rowUON1a = mysql_fetch_array($resUON1a)) + { + $strTripaUON1a .= ($strTripaUON1a <> ''?',':''); + $strTripaUON1a .= $rowUON1a['id_unid_organizacional_nivel1a']; + } + + } + $idUO = ''; while ($row_fields = mysql_fetch_array($res_fields)) { @@ -318,15 +343,24 @@ require_once('../../include/library.php'); '1' && $idUO<>'1a'?' WHERE UO.id_local = '.$_SESSION['id_local']:' '); - $orderby1 = ($idUO=='1'?'nm_unid_organizacional_nivel1':($idUO=='1a'?'nm_unid_organizacional_nivel1a':'nm_unid_organizacional_nivel2')); + $select1 = ($idUO=='1' ? ' id_unid_organizacional_nivel1 as id,nm_unid_organizacional_nivel1 as nm':($idUO=='1a'?'id_unid_organizacional_nivel1a as id,nm_unid_organizacional_nivel1a as nm':' id_unid_organizacional_nivel2 as id,nm_unid_organizacional_nivel2 as nm')); + $from1 = ($idUO=='1' ? ' unid_organizacional_nivel1 UO':($idUO=='1a'?'unid_organizacional_nivel1a UO':'unid_organizacional_nivel2 UO')); + $where1 = ''; + if ($_SESSION['cs_nivel_administracao']<>1 && $_SESSION['cs_nivel_administracao']<>2) + { + $where1 .= ($idUO<>'1' && $idUO<>'1a' ? ' WHERE UO.id_local = '.$_SESSION['id_local']:''); + $where1 .= ($idUO<>'1' && $idUO<>'1a' && $_SESSION['te_locais_secundarios']<>''?' OR (UO.id_local in ('.$_SESSION['te_locais_secundarios'].')) ':''); + $where1 .= ($idUO<>'1' && $idUO<>'1a' && $_SESSION['te_locais_secundarios']<>''?' OR (UO.id_local in ('.$_SESSION['te_locais_secundarios'].')) ':''); + $where1 = ($idUO=='1a'?' WHERE id_unid_organizacional_nivel1a in ('.$strTripaUON1a.') ':$where1); + } + $orderby1 = ($idUO=='1' ? ' nm_unid_organizacional_nivel1':($idUO=='1a'?'nm_unid_organizacional_nivel1a':'nm_unid_organizacional_nivel2')); $query1 = "SELECT $select1 FROM $from1 $where1 ORDER BY $orderby1"; +//if ($_SERVER['REMOTE_ADDR']=='10.71.0.58') +// echo $query1 . '
'; ?>