From c9dfdff19d9e4657c00681d2a57cb7d42560de13 Mon Sep 17 00:00:00 2001 From: anderson.peterle@previdencia.gov.br Date: Wed, 6 Jun 2007 19:44:03 +0000 Subject: [PATCH] Detalhamento dos graficos estatisticos da pagina principal quando representarem mais de um local(usuarios associados a locais secundarios e/ou niveis Administracao/Gestao Central). Melhoria no processo de liberacao de FTP por parte do cliente(Gerente de Coletas). Inicio de criacao do mecanismo de identificacao dinamica do S.O.(MS-Windows). Site para documentacao interna (FAQ, etc.). --- admin/locais/detalhes_local.php | 66 +++++++++++++++++++++++++++++++++++++++++++++++------------------- admin/usuarios/index.php | 23 +++++++++++++++-------- graficos/pie_so.php | 3 ++- imgs/Thumbs.db | Bin 128512 -> 0 bytes imgs/arvore/Thumbs.db | Bin 7680 -> 0 bytes include/library.php | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------- index.html | 2 +- licenca.txt | 722 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- menus/menu_adm.txt | 3 ++- menus/menu_com.txt | 4 +++- menus/menu_con.txt | 4 +++- menus/menu_ini.txt | 3 ++- menus/menu_rel.txt | 4 +++- menus/menu_sup.txt | 3 ++- menus/menu_tec.txt | 3 ++- principal.php | 9 ++++++++- relatorios/antivirus/rel_antivirus.php | 4 ++++ relatorios/computador/inventario_em_branco.php | 2 +- relatorios/computador/rel_ips_repetidos.php | 2 +- relatorios/computador/rel_nomes_repetidos.php | 2 +- relatorios/custom/index.php | 4 ++-- teste.php | 18 +++++++++++++++++- top.php | 6 +++++- ws/get_config.php | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------ 24 files changed, 572 insertions(+), 533 deletions(-) diff --git a/admin/locais/detalhes_local.php b/admin/locais/detalhes_local.php index 3da4681..8736150 100755 --- a/admin/locais/detalhes_local.php +++ b/admin/locais/detalhes_local.php @@ -61,10 +61,25 @@ elseif ($GravaAlteracoes) else { $query = "SELECT * - FROM locais - WHERE id_local = '".$_REQUEST['id_local']."'"; + FROM locais "; $result = mysql_query($query) or die ('select falhou'); - $row = mysql_fetch_array($result); + + $v_arr_locais = array(); + while ($row = mysql_fetch_array($result)) + { + if ($row['id_local']==$_REQUEST['id_local']) + { + $v_sg_local = $row['sg_local']; + $v_nm_local = $row['nm_local']; + $v_te_observacao = $row['te_observacao']; + } + else + { + array_push($v_arr_locais,$row['id_local'],$row['sg_local']); + } + } + + ?> @@ -101,7 +116,7 @@ function valida_form() + do Local "" - @@ -135,7 +150,7 @@ function valida_form() - + @@ -148,7 +163,7 @@ function valida_form() - + @@ -211,10 +226,10 @@ function valida_form()
Detalhes - do Local ""
As informações @@ -120,8 +135,8 @@ function valida_form()
    Ex.: DTP - UAES - +   Ex.: DTP - UAES +  
   
   
- + - + @@ -222,20 +237,27 @@ function valida_form() + + - + - > - + - + - + + + '; ?> - + -
Usuários Associados ao Local:Usuários Associados ao Local:
 Nome   Nível de Acesso Tipo de Acesso
      
Ainda não existem usuários associados ao local!



diff --git a/admin/usuarios/index.php b/admin/usuarios/index.php index c745390..bfddbff 100755 --- a/admin/usuarios/index.php +++ b/admin/usuarios/index.php @@ -35,7 +35,8 @@ if ($_SESSION['te_locais_secundarios'] && $where) $query = 'SELECT usu.id_usuario, usu.nm_usuario_acesso, - usu.nm_usuario_completo, + usu.nm_usuario_completo, + usu.te_locais_secundarios, g_usu.cs_nivel_administracao, g_usu.id_grupo_usuarios, loc.sg_local, @@ -88,10 +89,10 @@ $result_grp = mysql_query($query_grp); -   +   - + @@ -107,9 +108,13 @@ $result_grp = mysql_query($query_grp);  

Nome
  -
Local
+
Local + Primário
  -
Locais + Secundários
+   +
'; @@ -144,8 +149,10 @@ else  
  -
-
+   +
0?strspn($row['te_locais_secundarios'],",")+1:(trim($row['te_locais_secundarios'])==''?'':'1')); ?>
+ - + diff --git a/graficos/pie_so.php b/graficos/pie_so.php index e013fbc..64f5f37 100755 --- a/graficos/pie_so.php +++ b/graficos/pie_so.php @@ -37,13 +37,14 @@ $query = 'SELECT count(a.id_so) as qtd, FROM computadores a, so b, redes c - WHERE a.id_so = b.id_so AND + WHERE (a.id_so = b.id_so OR a.te_so = b.te_so) AND a.te_nome_computador IS NOT NULL AND a.dt_hr_ult_acesso IS NOT NULL AND a.id_ip_rede = c.id_ip_rede '. $where . ' GROUP BY a.id_so ORDER BY a.id_so'; +GravaTESTES($query); $result = mysql_query($query) or die('Falha na consulta (computadores, so, redes, locais)'); while ($row_result = mysql_fetch_assoc($result)) { diff --git a/imgs/Thumbs.db b/imgs/Thumbs.db index cbc6717..65bfbff 100755 Binary files a/imgs/Thumbs.db and b/imgs/Thumbs.db differ diff --git a/imgs/arvore/Thumbs.db b/imgs/arvore/Thumbs.db index db82b84..510864c 100755 Binary files a/imgs/arvore/Thumbs.db and b/imgs/arvore/Thumbs.db differ diff --git a/include/library.php b/include/library.php index ec72306..0bb2f32 100755 --- a/include/library.php +++ b/include/library.php @@ -13,6 +13,7 @@ Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título "LICENCA.txt", junto com este programa, se não, escreva para a Fundação do Software Livre(FSF) Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ +session_start(); require_once 'config.php'; // -------------------------------------------------------------------------------------- // Função para bloqueio de acesso indevido @@ -131,11 +132,11 @@ function conecta_ftp($p_te_serv, $p_user_name, $p_user_pass, $p_port) { //Conecta ao servidor FTP $con = @ftp_connect("$p_te_serv","$p_port"); - GravaTESTES('Passei pelo ftp_connect... con='.$con); + //GravaTESTES('Passei pelo ftp_connect... con='.$con); //Faz o login no servidor FTP $result = @ftp_login($con, $p_user_name, $p_user_pass); - GravaTESTES('Passei pelo ftp_login...result='.$result); + //GravaTESTES('Passei pelo ftp_login...result='.$result); return ($result?$con:'0'); } @@ -304,7 +305,7 @@ function GetDadosRede() } // Obs.: as colunas sg_local e nm_local são requeridas por menu_esq.php // the columns sg_local and nm_local have been requested by menu_esq.php - $query_ver = " SELECT te_serv_cacic, + $query_ver = ' SELECT te_serv_cacic, te_serv_updates, nu_limite_ftp, nu_porta_serv_updates, @@ -317,15 +318,15 @@ function GetDadosRede() nm_local FROM redes, locais - WHERE redes.id_ip_rede = '$v_id_ip_rede' AND - redes.id_local = locais.id_local"; + WHERE redes.id_ip_rede = "'.$v_id_ip_rede.'" AND + redes.id_local = locais.id_local'; $result_ver = mysql_query($query_ver); if (!$v_dados = @mysql_fetch_array($result_ver)) { // Neste caso, apela-se para uma rede que tenha configurações válidas... - $query_ver = " SELECT redes.id_ip_rede, + $query_ver = ' SELECT redes.id_ip_rede, redes.te_serv_updates, redes.nu_limite_ftp, redes.nu_porta_serv_updates, @@ -337,10 +338,10 @@ function GetDadosRede() FROM redes, configuracoes_locais conf WHERE conf.te_serv_updates_padrao = redes.te_serv_updates and - trim(redes.nu_porta_serv_updates) <> '' and - trim(redes.nm_usuario_login_serv_updates) <> '' and - trim(redes.te_senha_login_serv_updates) <> '' - LIMIT 1"; + trim(redes.nu_porta_serv_updates) <> "" and + trim(redes.nm_usuario_login_serv_updates) <> "" and + trim(redes.te_senha_login_serv_updates) <> "" + LIMIT 1'; $result_ver = mysql_query($query_ver); $v_dados = mysql_fetch_array($result_ver); } @@ -356,8 +357,8 @@ function atualiza_configuracoes_uonx($p_uonx) { conecta_bd_cacic(); $v_nome_coluna = 'dt_hr_alteracao_patrim_uon'.$p_uonx; - $query = " UPDATE configuracoes_locais - SET ".$v_nome_coluna." = now()"; + $query = ' UPDATE configuracoes_locais + SET '.$v_nome_coluna.' = now()'; if (mysql_query($query)) { @@ -453,10 +454,10 @@ function autentica_agente($p_CipherKey, $p_IV, $p_cs_cipher, $p_cs_compress) function computador_existe($te_node_address, $id_so) { conecta_bd_cacic(); - $query = "SELECT te_node_address, te_nome_computador, te_ip, id_ip_rede, te_workgroup + $query = 'SELECT te_node_address, te_nome_computador, te_ip, id_ip_rede, te_workgroup FROM computadores - WHERE te_node_address = '$te_node_address' - AND id_so = '$id_so'"; + WHERE te_node_address = "'.$te_node_address.'" + AND id_so = "'.$id_so.'"'; $result = mysql_query($query); $row = mysql_fetch_array($result); @@ -492,21 +493,21 @@ function inclui_computador_caso_nao_exista( $te_node_address, if ($checa_existe == '0') { conecta_bd_cacic(); - $query = "INSERT INTO computadores (te_node_address, id_so, id_ip_rede, te_ip, te_nome_computador, te_workgroup, dt_hr_inclusao, dt_hr_ult_acesso) - VALUES ('$te_node_address', '$id_so', '$id_ip_rede','$te_ip','$te_nome_computador','$te_workgroup', NOW(), NOW())"; + $query = 'INSERT INTO computadores (te_node_address, id_so, id_ip_rede, te_ip, te_nome_computador, te_workgroup, dt_hr_inclusao, dt_hr_ult_acesso) + VALUES ("'.$te_node_address.'", "'.$id_so.'", "'.$id_ip_rede.'","'.$te_ip.'","'.$te_nome_computador.'","'.$te_workgroup.'", NOW(), NOW())'; $result = mysql_query($query); return '1'; // Esse código indica se o computador foi incluído. } elseif ($checa_existe == '2') { conecta_bd_cacic(); - $query = "UPDATE computadores - SET id_ip_rede = '$id_ip_rede', - te_ip = '$te_ip', - te_nome_computador='$te_nome_computador', - te_workgroup='$te_workgroup' - WHERE te_node_address = '$te_node_address' - AND id_so = '$id_so'"; + $query = 'UPDATE computadores + SET id_ip_rede = "'.$id_ip_rede.'", + te_ip = "'.$te_ip.'", + te_nome_computador="'.$te_nome_computador.'", + te_workgroup="'.$te_workgroup.'" + WHERE te_node_address = "'.$te_node_address.'" + AND id_so = "'.$id_so.'"'; $result = mysql_query($query); return '2'; // Esse código indica se o computador foi atualizado. Anderson. } @@ -520,10 +521,10 @@ function inclui_computador_caso_nao_exista( $te_node_address, function get_valor_campo($tabela, $campo, $where="1") { conecta_bd_cacic(); - $query = "SELECT $campo - FROM $tabela - WHERE $where - LIMIT 1"; + $query = 'SELECT '.$campo.' + FROM '.$tabela.' + WHERE '.$where.' + LIMIT 1'; $result = mysql_query($query); if (mysql_num_rows($result) > 0) { @@ -606,17 +607,17 @@ function atualiza_red_ver_mod($pp_id_ip_rede, $p_nm_modulo, $p_te_versao_modulo, { $MainFolder = GetMainFolder(); conecta_bd_cacic(); - $query_UPD = " UPDATE redes + $query_UPD = ' UPDATE redes set dt_verifica_updates = NOW() - WHERE id_ip_rede = '".$pp_id_ip_rede."' AND - id_local = ".$p_id_local; + WHERE id_ip_rede = "'.$pp_id_ip_rede.'" AND + id_local = '.$p_id_local; $result = mysql_query($query_UPD); - $query_DEL = "DELETE + $query_DEL = 'DELETE 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; + WHERE TRIM(id_ip_rede) = "'.trim($pp_id_ip_rede).'" AND + TRIM(nm_modulo)="'.trim($p_nm_modulo).'" AND + id_local = '.$p_id_local; $result_DEL = mysql_query($query_DEL); $v_te_versao_modulo = $p_te_versao_modulo; @@ -625,15 +626,15 @@ function atualiza_red_ver_mod($pp_id_ip_rede, $p_nm_modulo, $p_te_versao_modulo, $v_te_versao_modulo = str_replace('.','',$v_te_versao_modulo); } - $query_INS = "INSERT + $query_INS = 'INSERT INTO redes_versoes_modulos (id_ip_rede, nm_modulo, te_versao_modulo, id_local) - values ('".$pp_id_ip_rede."', - '".$p_nm_modulo."', - '".$v_te_versao_modulo."',". - $p_id_local.")"; + values ("'.$pp_id_ip_rede.'", + "'.$p_nm_modulo.'", + "'.$v_te_versao_modulo.'","'. + $p_id_local.'")'; $result_INS = mysql_query($query_INS); } @@ -782,10 +783,10 @@ if ($handle = opendir($MainFolder . '/repositorio')) } } - $query_SEL_REDES= " SELECT * + $query_SEL_REDES= ' SELECT * FROM redes_versoes_modulos - WHERE id_ip_rede = '" . $p_id_ip_rede . "' AND - id_local = ".$p_id_local; + WHERE id_ip_rede = "' . $p_id_ip_rede . '" AND + id_local = '.$p_id_local; conecta_bd_cacic(); $v_nomes_arquivos_FTP = array(); @@ -810,7 +811,7 @@ if ($handle = opendir($MainFolder . '/repositorio')) if ($v_achei < count($v_nomes_arquivos_REP)) { - $query_SEL_REDES= " SELECT re.id_ip_rede, + $query_SEL_REDES= ' SELECT re.id_ip_rede, re.nm_rede, re.te_serv_updates, re.nu_porta_serv_updates, @@ -819,8 +820,8 @@ if ($handle = opendir($MainFolder . '/repositorio')) re.te_senha_login_serv_updates_gerente, re.id_local FROM redes re - WHERE re.id_ip_rede = '" . $p_id_ip_rede . "' AND - re.id_local = ".$p_id_local; + WHERE re.id_ip_rede = "' . $p_id_ip_rede . '" AND + re.id_local = '.$p_id_local; conecta_bd_cacic(); $Result_SEL_REDES = mysql_query($query_SEL_REDES); @@ -991,10 +992,10 @@ function diferenca_em_horas($p_dt_hr_ult_acesso) // -------------------------------------------------------------------------------------- function Marca_Atualizado($p_id_ip_rede,$p_id_local) { - $query_UPD = " UPDATE redes + $query_UPD = ' UPDATE redes set dt_verifica_updates = NOW() - WHERE id_ip_rede = '".$p_id_ip_rede."' AND - id_local = ".$p_id_local; + WHERE id_ip_rede = "'.$p_id_ip_rede.'" AND + id_local = '.$p_id_local; conecta_bd_cacic(); $result_UPD = mysql_query($query_UPD); } @@ -1096,13 +1097,13 @@ function seta_perfis_rede($p_id_local, $p_id_ip_rede, $p_perfis) for ($cnt_perfis = 0; $cnt_perfis <= count($v_perfis); $cnt_perfis++) { - $query_INS = "INSERT + $query_INS = 'INSERT INTO aplicativos_redes (id_local, id_ip_rede, id_aplicativo) - values (".$p_id_local.", - '".$p_id_ip_rede."', - ".$v_perfis[$cnt_perfis].")"; + values ('.$p_id_local.', + "'.$p_id_ip_rede.'", + '.$v_perfis[$cnt_perfis].')'; $result_INS = mysql_query($query_INS); } diff --git a/index.html b/index.html index 4d2da18..d68624b 100755 --- a/index.html +++ b/index.html @@ -16,7 +16,7 @@ CACIC - Configurador Automático e Coletor de Informações Computacionais - + diff --git a/licenca.txt b/licenca.txt index c75ce5e..b860267 100755 --- a/licenca.txt +++ b/licenca.txt @@ -1,382 +1,340 @@ - LICENÇA PÚBLICA GERAL GNU - Versão 2, junho de 1991 - - This is an unofficial translation of the GNU General Public License - into Brazilian Portuguese. It was not published by the Free Software - Foundation, and does not legally state the distribution terms for - software that uses the GNU GPL -- only the original English text of - the GNU GPL does that. However, we hope that this translation will - help Brazilian Portuguese speakers understand the GNU GPL better. - - Esta é uma tradução não-oficial da Licença Pública Geral GNU ("GPL - GNU") para o português do Brasil. Ela não foi publicada pela Free -Software Foundation, e legalmente não afirma os termos de distribuição - de software que utiliza a GPL GNU -- apenas o texto original da GPL - GNU, em inglês, faz isso. Contudo, esperamos que esta tradução ajude - aos que utilizam o português do Brasil a entender melhor a GPL GNU. - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, - Cambridge, MA 02139, USA - -A qualquer pessoa é permitido copiar e distribuir cópias desse -documento de licença, desde que sem qualquer alteração. - - Introdução - - As licenças de muitos software são desenvolvidas para restringir sua -liberdade de compartilhá-lo e mudá-lo. Contrária a isso, a Licença -Pública Geral GNU pretende garantir sua liberdade de compartilhar e -alterar software livres -- garantindo que o software será livre e -gratuito para os seus usuários. Esta Licença Pública Geral aplica-se à -maioria dos software da Free Software Foundation e a qualquer outro -programa cujo autor decida aplicá-la. (Alguns outros software da FSF -são cobertos pela Licença Pública Geral de Bibliotecas, no entanto.) -Você pode aplicá-la também aos seus programas. - - Quando nos referimos a software livre, estamos nos referindo a -liberdade e não a preço. Nossa Licença Pública Geral foi desenvolvida -para garantir que você tenha a liberdade de distribuir cópias de -software livre (e cobrar por isso, se quiser); que você receba o -código-fonte ou tenha acesso a ele, se quiser; que você possa mudar o -software ou utilizar partes dele em novos programas livres e -gratuitos; e que você saiba que pode fazer tudo isso. - - Para proteger seus direitos, precisamos fazer restrições que impeçam -a qualquer um negar estes direitos ou solicitar que você deles -abdique. Estas restrições traduzem-se em certas responsabilidades para -você, se você for distribuir cópias do software ou modificá-lo. - - Por exemplo, se você distribuir cópias de um programa, gratuitamente -ou por alguma quantia, você tem que fornecer aos recebedores todos os -direitos que você possui. Você tem que garantir que eles também -recebam ou possam obter o código-fonte. E você tem que mostrar-lhes -estes termos para que eles possam conhecer seus direitos. - - Nós protegemos seus direitos em dois passos: (1) com copyright do -software e (2) com a oferta desta licença, que lhe dá permissão legal -para copiar, distribuir e/ou modificar o software. - - Além disso, tanto para a proteção do autor quanto a nossa, -gostaríamos de certificar-nos que todos entendam que não há qualquer -garantia nestes software livres. Se o software é modificado por alguém -mais e passado adiante, queremos que seus recebedores saibam que o que -eles obtiveram não é original, de forma que qualquer problema -introduzido por terceiros não interfira na reputação do autor -original. - - Finalmente, qualquer programa é ameaçado constantemente por patentes -de software. Queremos evitar o perigo de que distribuidores de -software livre obtenham patentes individuais, o que tem o efeito de -tornar o programa proprietário. Para prevenir isso, deixamos claro que -qualquer patente tem que ser licenciada para uso livre e gratuito por -qualquer pessoa, ou então que nem necessite ser licenciada. - - Os termos e condições precisas para cópia, distribuição e -modificação se encontram abaixo: - - LICENÇA PÚBLICA GERAL GNU - TERMOS E CONDIÇÕES PARA CÓPIA, DISTRIBUIÇÃO E MODIFICAÇÃO - - 0. Esta licença se aplica a qualquer programa ou outro trabalho que -contenha um aviso colocado pelo detentor dos direitos autorais -informando que aquele pode ser distribuído sob as condições desta -Licença Pública Geral. O "Programa" abaixo refere-se a qualquer -programa ou trabalho, e "trabalho baseado no Programa" significa tanto -o Programa em si como quaisquer trabalhos derivados, de acordo com a -lei de direitos autorais: isto quer dizer um trabalho que contenha o -Programa ou parte dele, tanto originalmente ou com modificações, e/ou -tradução para outros idiomas. (Doravante o processo de tradução está -incluído sem limites no termo "modificação".) Cada licenciado é -mencionado como "você". - -Atividades outras que a cópia, a distribuição e modificação não estão -cobertas por esta Licença; elas estão fora de seu escopo. O ato de -executar o Programa não é restringido e o resultado do Programa é -coberto apenas se seu conteúdo contenha trabalhos baseados no Programa -(independentemente de terem sido gerados pela execução do -Programa). Se isso é verdadeiro depende do que o programa faz. - - 1. Você pode copiar e distribuir cópias fiéis do código-fonte do -Programa da mesma forma que você o recebeu, usando qualquer meio, -deste que você conspícua e apropriadamente publique em cada cópia um -aviso de direitos autorais e uma declaração de inexistência de -garantias; mantenha intactas todos os avisos que se referem a esta -Licença e à ausência total de garantias; e forneça a outros -recebedores do Programa uma cópia desta Licença, junto com o Programa. - -Você pode cobrar pelo ato físico de transferir uma cópia e pode, -opcionalmente, oferecer garantia em troca de pagamento. - - 2. Você pode modificar sua cópia ou cópias do Programa, ou qualquer -parte dele, assim gerando um trabalho baseado no Programa, e copiar e -distribuir essas modificações ou trabalhos sob os termos da seção 1 -acima, desde que você também se enquadre em todas estas condições: - - a) Você tem que fazer com que os arquivos modificados levem avisos - proeminentes afirmando que você alterou os arquivos, incluindo a - data de qualquer alteração. - - b) Você tem que fazer com que quaisquer trabalhos que você - distribua ou publique, e que integralmente ou em partes contenham - ou sejam derivados do Programa ou de suas partes, sejam - licenciados, integralmente e sem custo algum para quaisquer - terceiros, sob os termos desta Licença. - - c) Se qualquer programa modificado normalmente lê comandos - interativamente quando executados, você tem que fazer com que, - quando iniciado tal uso interativo da forma mais simples, seja - impresso ou mostrado um anúncio de que não há qualquer garantia - (ou então que você fornece a garantia) e que os usuários podem - redistribuir o programa sob estas condições, ainda informando os - usuários como consultar uma cópia desta Licença. (Exceção: se o - Programa em si é interativo mas normalmente não imprime estes - tipos de anúncios, seu trabalho baseado no Programa não precisa - imprimir um anúncio.) - -Estas exigências aplicam-se ao trabalho modificado como um todo. Se -seções identificáveis de tal trabalho não são derivadas do Programa, e -podem ser razoavelmente consideradas trabalhos independentes e -separados por si só, então esta Licença, e seus termos, não se aplicam -a estas seções quando você distribui-las como trabalhos em -separado. Mas quando você distribuir as mesmas seções como parte de um -todo que é trabalho baseado no Programa, a distribuição como um todo -tem que se enquadrar nos termos desta Licença, cujas permissões para -outros licenciados se estendem ao todo, portanto também para cada e -toda parte independente de quem a escreveu. - -Desta forma, esta seção não tem a intenção de reclamar direitos os -contestar seus direitos sobre o trabalho escrito completamente por -você; ao invés disso, a intenção é a de exercitar o direito de -controlar a distribuição de trabalhos, derivados ou coletivos, -baseados no Programa. - -Adicionalmente, a mera adição ao Programa de outro trabalho não -baseado no Programa (ou de trabalho baseado no Programa) em um volume -de armazenamento ou meio de distribuição não faz o outro trabalho -parte do escopo desta Licença. - - 3. Você pode copiar e distribuir o Programa (ou trabalho baseado -nele, conforme descrito na Seção 2) em código-objeto ou em forma -executável sob os termos das Seções 1 e 2 acima, desde que você -faça um dos seguintes: - - a) O acompanhe com o código-fonte completo e em forma acessível - por máquinas, que tem que ser distribuído sob os termos das Seções - 1 e 2 acima e em meio normalmente utilizado para o intercâmbio de - software; ou, - - b) O acompanhe com uma oferta escrita, válida por pelo menos três - anos, de fornecer a qualquer um, com um custo não superior ao - custo de distribuição física do material, uma cópia do - código-fonte completo e em forma acessível por máquinas, que tem - que ser distribuído sob os termos das Seções 1 e 2 acima e em meio - normalmente utilizado para o intercâmbio de software; ou, - - c) O acompanhe com a informação que você recebeu em relação à - oferta de distribuição do código-fonte correspondente. (Esta - alternativa é permitida somente em distribuição não comerciais, e - apenas se você recebeu o programa em forma de código-objeto ou - executável, com oferta de acordo com a Subseção b acima.) - -O código-fonte de um trabalho corresponde à forma de trabalho -preferida para se fazer modificações. Para um trabalho em forma -executável, o código-fonte completo significa todo o código-fonte de -todos os módulos que ele contém, mais quaisquer arquivos de definição -de "interface", mais os "scripts" utilizados para se controlar a -compilação e a instalação do executável. Contudo, como exceção -especial, o código-fonte distribuído não precisa incluir qualquer -componente normalmente distribuído (tanto em forma original quanto -binária) com os maiores componentes (o compilador, o "kernel" etc.) do -sistema operacional sob o qual o executável funciona, a menos que o -componente em si acompanhe o executável. - -Se a distribuição do executável ou código-objeto é feita através da -oferta de acesso a cópias de algum lugar, então ofertar o acesso -equivalente a cópia, do mesmo lugar, do código-fonte equivale à -distribuição do código-fonte, mesmo que terceiros não sejam compelidos -a copiar o código-fonte com o código-objeto. - - 4. Você não pode copiar, modificar, sub-licenciar ou distribuir o -Programa, exceto de acordo com as condições expressas nesta -Licença. Qualquer outra tentativa de cópia, modificação, -sub-licenciamento ou distribuição do Programa não é valida, e -cancelará automaticamente os direitos que lhe foram fornecidos por -esta Licença. No entanto, terceiros que de você receberam cópias ou -direitos, fornecidos sob os termos desta Licença, não terão suas -licenças terminadas, desde que permaneçam em total concordância com -ela. - - 5. Você não é obrigado a aceitar esta Licença já que não a -assinou. No entanto, nada mais o dará permissão para modificar ou -distribuir o Programa ou trabalhos derivados deste. Estas ações são -proibidas por lei, caso você não aceite esta Licença. Desta forma, ao -modificar ou distribuir o Programa (ou qualquer trabalho derivado do -Programa), você estará indicando sua total aceitação desta Licença -para fazê-los, e todos os seus termos e condições para copiar, -distribuir ou modificar o Programa, ou trabalhos baseados nele. - - 6. Cada vez que você redistribuir o Programa (ou qualquer trabalho -baseado nele), os recebedores adquirirão automaticamente do -licenciador original uma licença para copiar, distribuir ou modificar -o Programa, sujeitos a estes termos e condições. Você não poderá impor -aos recebedores qualquer outra restrição ao exercício dos direitos -então adquiridos. Você não é responsável em garantir a concordância de -terceiros a esta Licença. - - 7. Se, em conseqüência de decisões judiciais ou alegações de -infringimento de patentes ou quaisquer outras razões (não limitadas a -assuntos relacionados a patentes), condições forem impostas a você -(por ordem judicial, acordos ou outras formas) e que contradigam as -condições desta Licença, elas não o livram das condições desta -Licença. Se você não puder distribuir de forma a satisfazer -simultaneamente suas obrigações para com esta Licença e para com as -outras obrigações pertinentes, então como conseqüência você não poderá -distribuir o Programa. Por exemplo, se uma licença de patente não -permitirá a redistribuição, livre de "royalties", do Programa, por -todos aqueles que receberem cópias direta ou indiretamente de você, -então a única forma de você satisfazer a ela e a esta Licença seria a -de desistir completamente de distribuir o Programa. - -Se qualquer parte desta seção for considerada inválida ou não -aplicável em qualquer circunstância particular, o restante da seção se -aplica, e a seção como um todo se aplica em outras circunstâncias. - -O propósito desta seção não é o de induzi-lo a infringir quaisquer -patentes ou reivindicação de direitos de propriedade outros, ou a -contestar a validade de quaisquer dessas reivindicações; esta seção -tem como único propósito proteger a integridade dos sistemas de -distribuição de software livres, o que é implementado pela prática de -licenças públicas. Várias pessoas têm contribuído generosamente e em -grande escala para os software distribuídos usando este sistema, na -certeza de que sua aplicação é feita de forma consistente; fica a -critério do autor/doador decidir se ele ou ela está disposto a -distribuir software utilizando outro sistema, e um licenciado não pode -impor qualquer escolha. - -Esta seção destina-se a tornar bastante claro o que se acredita ser -conseqüência do restante desta Licença. - - 8. Se a distribuição e/ou uso do Programa são restringidos em certos -países por patentes ou direitos autorais, o detentor dos direitos -autorais original, e que colocou o Programa sob esta Licença, pode -incluir uma limitação geográfica de distribuição, excluindo aqueles -países de forma a tornar a distribuição permitida apenas naqueles ou -entre aqueles países então não excluídos. Nestes casos, esta Licença -incorpora a limitação como se a mesma constasse escrita nesta Licença. - - 9. A Free Software Foundation pode publicar versões revisadas e/ou -novas da Licença Pública Geral de tempos em tempos. Estas novas -versões serão similares em espírito à versão atual, mas podem diferir -em detalhes que resolvem novos problemas ou situações. - -A cada versão é dada um número distinto. Se o Programa especifica um -número de versão específico desta Licença que se aplica a ele e a -"qualquer nova versão", você tem a opção de aceitar os termos e -condições daquela versão ou de qualquer outra versão publicada pela -Free Software Foundation. Se o programa não especifica um número de -versão desta Licença, você pode escolher qualquer versão já publicada -pela Free Software Foundation. - - 10. Se você pretende incorporar partes do Programa em outros -programas livres cujas condições de distribuição são diferentes, -escreva ao autor e solicite permissão. Para o software que a Free -Software Foundation detém direitos autorais, escreva à Free Software -Foundation; às vezes nós permitimos exceções a este caso. Nossa -decisão será guiada pelos dois objetivos de preservar a condição de -liberdade de todas as derivações do nosso software livre, e de -promover o compartilhamento e reutilização de software em aspectos -gerais. - - AUSÊNCIA DE GARANTIAS - - 11. UMA VEZ QUE O PROGRAMA É LICENCIADO SEM ÔNUS, NÃO HÁ QUALQUER -GARANTIA PARA O PROGRAMA, NA EXTENSÃO PERMITIDA PELAS LEIS -APLICÁVEIS. EXCETO QUANDO EXPRESSADO DE FORMA ESCRITA, OS DETENTORES -DOS DIREITOS AUTORAIS E/OU TERCEIROS DISPONIBILIZAM O PROGRAMA "NO -ESTADO", SEM QUALQUER TIPO DE GARANTIAS, EXPRESSAS OU IMPLÍCITAS, -INCLUINDO, MAS NÃO LIMITADO A, AS GARANTIAS IMPLÍCITAS DE -COMERCIALIZAÇÃO E AS DE ADEQUAÇÃO A QUALQUER PROPÓSITO. O RISCO TOTAL -COM A QUALIDADE E DESEMPENHO DO PROGRAMA É SEU. SE O PROGRAMA SE -MOSTRAR DEFEITUOSO, VOCÊ ASSUME OS CUSTOS DE TODAS AS MANUTENÇÕES, -REPAROS E CORREÇÕES. - - 12. EM NENHUMA OCASIÃO, A MENOS QUE EXIGIDO PELAS LEIS APLICÁVEIS OU -ACORDO ESCRITO, OS DETENTORES DOS DIREITOS AUTORAIS, OU QUALQUER OUTRA -PARTE QUE POSSA MODIFICAR E/OU REDISTRIBUIR O PROGRAMA CONFORME -PERMITIDO ACIMA, SERÃO RESPONSABILIZADOS POR VOCÊ POR DANOS, INCLUINDO -QUALQUER DANO EM GERAL, ESPECIAL, ACIDENTAL OU CONSEQÜENTE, -RESULTANTES DO USO OU INCAPACIDADE DE USO DO PROGRAMA (INCLUINDO, MAS -NÃO LIMITADO A, A PERDA DE DADOS OU DADOS TORNADOS INCORRETOS, OU -PERDAS SOFRIDAS POR VOCÊ OU POR OUTRAS PARTES, OU FALHAS DO PROGRAMA -AO OPERAR COM QUALQUER OUTRO PROGRAMA), MESMO QUE TAL DETENTOR OU -PARTE TENHAM SIDO AVISADOS DA POSSIBILIDADE DE TAIS DANOS. - - FIM DOS TERMOS E CONDIÇÕES - - Como Aplicar Estes Termos aos Seus Novos Programas - - Se você desenvolver um novo programa, e quer que ele seja utilizado -amplamente pelo público, a melhor forma de alcançar este objetivo é -torná-lo software livre que qualquer um pode redistribuir e alterar, -sob estes termos. - - Para isso, anexe os seguintes avisos ao programa. É mais seguro -anexá-los logo no início de cada arquivo-fonte para reforçarem mais -efetivamente a inexistência de garantias; e cada arquivo deve possuir -pelo menos a linha de "copyright" e uma indicação de onde o texto -completo se encontra. - - - Copyright (C) - - Este programa é software livre; você pode redistribuí-lo e/ou - modificá-lo sob os termos da Licença Pública Geral GNU, conforme - publicada pela Free Software Foundation; tanto a versão 2 da - Licença como (a seu critério) qualquer versão mais nova. - - Este programa é distribuído na expectativa de ser útil, mas SEM - QUALQUER GARANTIA; sem mesmo a garantia implícita de - COMERCIALIZAÇÃO ou de ADEQUAÇÃO A QUALQUER PROPÓSITO EM - PARTICULAR. Consulte a Licença Pública Geral GNU para obter mais - detalhes. - - Você deve ter recebido uma cópia da Licença Pública Geral GNU - junto com este programa; se não, escreva para a Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307, USA. - -Inclua também informações sobre como contactá-lo eletronicamente e por -carta. - -Se o programa é interativo, faça-o mostrar um aviso breve como este, -ao iniciar um modo interativo: - - Gnomovision versão 69, Copyright (C) ano nome do autor - O Gnomovision não possui QUALQUER GARANTIA; para obter mais - detalhes digite `show w'. Ele é software livre e você está - convidado a redistribui-lo sob certas condições; digite `show c' - para obter detalhes. - -Os comandos hipotéticos `show w' e `show c' devem mostrar as partes -apropriadas da Licença Pública Geral. Claro, os comandos que você usar -podem ser ativados de outra forma que `show w' e `show c'; eles podem -até ser cliques do mouse ou itens de um menu -- o que melhor se -adequar ao programa. - -Você também deve obter do seu empregador (se você trabalha como -programador) ou escola, se houver, uma "declaração de ausência de -direitos autorais" sobre o programa, se necessário. Aqui está um -exemplo; altere os nomes: - - Yoyodyne, Inc., aqui declara a ausência de quaisquer direitos - autorais sobre o programa `Gnomovision' (que executa interpretações - em compiladores) escrito por James Hacker. - - , 1o. de abril de 1989 - Ty Con, Vice-presidente - -Esta Licença Pública Geral não permite incorporar seu programa em -programas proprietários. Se seu programa é uma biblioteca de -sub-rotinas, você deve considerar mais útil permitir ligar aplicações -proprietárias com a biblioteca. Se isto é o que você deseja, use a -Licença Pública Geral de Bibliotecas GNU, ao invés desta Licença. + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/menus/menu_adm.txt b/menus/menu_adm.txt index 984f53a..0cf003c 100755 --- a/menus/menu_adm.txt +++ b/menus/menu_adm.txt @@ -70,4 +70,5 @@ ..Sistemas Monitorados|estatisticas/aplicativos/index.php|mainFrame|| .Acesso||mainFrame|imgs/config_gerais.gif ..Troca de Senha|admin/usuarios/troca_senha.php|mainFrame|| -.HP do Projeto CACIC|http://www.governoeletronico.gov.br/cacic/|new||Link de Acesso à Home Page do Projeto CACIC \ No newline at end of file +.Projeto CACIC|tribo/|new||Link de Acesso à Home Page do Projeto CACIC +.Comunidade CACIC|http://www.softwarepublico.gov.br/spb/ver-comunidade?community_id=3585|new||Link de Acesso à Home Page da Comunidade CACIC \ No newline at end of file diff --git a/menus/menu_com.txt b/menus/menu_com.txt index af2bceb..7bad4e3 100755 --- a/menus/menu_com.txt +++ b/menus/menu_com.txt @@ -9,4 +9,6 @@ ..Softwares Básicos|relatorios/software/index.php|mainFrame|| .Acesso||mainFrame|imgs/config_gerais.gif ..Troca de Senha|admin/usuarios/troca_senha.php|mainFrame|| -.HP do Projeto CACIC|http://www.governoeletronico.gov.br/cacic/|new||Link de Acesso à Home Page do Projeto CACIC +.Projeto CACIC|tribo/|new||Link de Acesso à Home Page do Projeto CACIC +.Comunidade CACIC|http://www.softwarepublico.gov.br/spb/ver-comunidade?community_id=3585|new||Link de Acesso à Home Page da Comunidade CACIC + diff --git a/menus/menu_con.txt b/menus/menu_con.txt index 2949c8d..1249b5f 100755 --- a/menus/menu_con.txt +++ b/menus/menu_con.txt @@ -1 +1,3 @@ -.HP do Projeto CACIC|http://www.governoeletronico.gov.br/cacic/|new||Link de Acesso à Home Page do Projeto CACIC +.Projeto CACIC|tribo/|new||Link de Acesso à Home Page do Projeto CACIC +.Comunidade CACIC|http://www.softwarepublico.gov.br/spb/ver-comunidade?community_id=3585|new||Link de Acesso à Home Page da Comunidade CACIC + diff --git a/menus/menu_ini.txt b/menus/menu_ini.txt index 769c7d5..9a2b99c 100755 --- a/menus/menu_ini.txt +++ b/menus/menu_ini.txt @@ -1,2 +1,3 @@ .Página Principal|principal.php|mainFrame -.HP do Projeto CACIC|http://www.governoeletronico.gov.br/cacic/|new||Link de Acesso à Home Page do Projeto CACIC +.Projeto CACIC|tribo/|new||Link de Acesso à Home Page do Projeto CACIC +.Comunidade CACIC|http://www.softwarepublico.gov.br/spb/ver-comunidade?community_id=3585|new||Link de Acesso à Home Page da Comunidade CACIC diff --git a/menus/menu_rel.txt b/menus/menu_rel.txt index acbaa5c..ce73d3d 100755 --- a/menus/menu_rel.txt +++ b/menus/menu_rel.txt @@ -10,5 +10,7 @@ ..Variáveis de Ambiente|relatorios/variaveis_ambiente/index.php|mainFrame|| .Acesso||mainFrame|imgs/config_gerais.gif ..Troca de Senha|admin/usuarios/troca_senha.php|mainFrame|| -.HP do Projeto CACIC|http://www.governoeletronico.gov.br/cacic/|new||Link de Acesso à Home Page do Projeto CACIC +.Projeto CACIC|tribo/|new||Link de Acesso à Home Page do Projeto CACIC +.Comunidade CACIC|http://www.softwarepublico.gov.br/spb/ver-comunidade?community_id=3585|new||Link de Acesso à Home Page da Comunidade CACIC + diff --git a/menus/menu_sup.txt b/menus/menu_sup.txt index 1ae6188..d7e67ae 100755 --- a/menus/menu_sup.txt +++ b/menus/menu_sup.txt @@ -65,4 +65,5 @@ ..Sistemas Monitorados|estatisticas/aplicativos/index.php|mainFrame|| .Acesso||mainFrame|imgs/config_gerais.gif ..Troca de Senha|admin/usuarios/troca_senha.php|mainFrame|| -.HP do Projeto CACIC|http://www.governoeletronico.gov.br/cacic/|new||Link de Acesso à Home Page do Projeto CACIC \ No newline at end of file +.Projeto CACIC|tribo/|new||Link de Acesso à Home Page do Projeto CACIC +.Comunidade CACIC|http://www.softwarepublico.gov.br/spb/ver-comunidade?community_id=3585|new||Link de Acesso à Home Page da Comunidade CACIC diff --git a/menus/menu_tec.txt b/menus/menu_tec.txt index be3c91a..4badd86 100755 --- a/menus/menu_tec.txt +++ b/menus/menu_tec.txt @@ -14,4 +14,5 @@ ..Sistemas Monitorados|estatisticas/aplicativos/index.php|mainFrame|| .Acesso||mainFrame|imgs/config_gerais.gif ..Troca de Senha|admin/usuarios/troca_senha.php|mainFrame|| -.HP do Projeto CACIC|http://www.governoeletronico.gov.br/cacic/|new||Link de Acesso à Home Page do Projeto CACIC +.Projeto CACIC|tribo/|new||Link de Acesso à Home Page do Projeto CACIC +.Comunidade CACIC|http://www.softwarepublico.gov.br/spb/ver-comunidade?community_id=3585|new||Link de Acesso à Home Page da Comunidade CACIC diff --git a/principal.php b/principal.php index e1a2da9..735969d 100755 --- a/principal.php +++ b/principal.php @@ -39,6 +39,7 @@ if (!session_is_registered('cs_nivel_administracao')) +
Computadores monitorados por local nesta data
@@ -69,6 +70,7 @@ else ?> +
@@ -105,7 +107,8 @@ else { echo ''; } - ?> + ?> +
@@ -121,6 +124,7 @@ else else { ?> +
Últimos acessos dos agentes deste local
@@ -143,6 +147,7 @@ else +
Totais de computadores monitorados por local
@@ -173,6 +178,7 @@ else ?> +
@@ -188,6 +194,7 @@ else ?> +
diff --git a/relatorios/antivirus/rel_antivirus.php b/relatorios/antivirus/rel_antivirus.php index 6a49bef..eb2af07 100755 --- a/relatorios/antivirus/rel_antivirus.php +++ b/relatorios/antivirus/rel_antivirus.php @@ -112,6 +112,10 @@ $query = 'SELECT distinct computadores.te_node_address, computadores.id_so IN ('. $so_selecionados .')'. $query_redes .' ORDER BY ' . $orderby; + +//if ($_SERVER['REMOTE_ADDR']=='10.71.0.58') +// echo $query . '
'; + $result = mysql_query($query) or die('Erro no select'); $cor = 0; diff --git a/relatorios/computador/inventario_em_branco.php b/relatorios/computador/inventario_em_branco.php index d120f26..9fa495b 100755 --- a/relatorios/computador/inventario_em_branco.php +++ b/relatorios/computador/inventario_em_branco.php @@ -92,7 +92,7 @@ $linha = '   
   -
+
      diff --git a/relatorios/computador/rel_ips_repetidos.php b/relatorios/computador/rel_ips_repetidos.php index dacbeb7..1a6965f 100755 --- a/relatorios/computador/rel_ips_repetidos.php +++ b/relatorios/computador/rel_ips_repetidos.php @@ -88,7 +88,7 @@ $linha = '  
  -
+
    diff --git a/relatorios/computador/rel_nomes_repetidos.php b/relatorios/computador/rel_nomes_repetidos.php index e924420..1c0fc3a 100755 --- a/relatorios/computador/rel_nomes_repetidos.php +++ b/relatorios/computador/rel_nomes_repetidos.php @@ -88,7 +88,7 @@ $linha = '  
  -
+
    diff --git a/relatorios/custom/index.php b/relatorios/custom/index.php index 5048726..f221a6b 100755 --- a/relatorios/custom/index.php +++ b/relatorios/custom/index.php @@ -93,7 +93,7 @@    (Dica: - use SHIFT or CTRL para selecionar múltiplos itens) + use SHIFT ou CTRL para selecionar múltiplos itens) @@ -142,7 +142,7 @@    (Dica: - use SHIFT or CTRL para selecionar múltiplos itens) + use SHIFT ou CTRL para selecionar múltiplos itens) diff --git a/teste.php b/teste.php index d5c1a98..b3bc840 100644 --- a/teste.php +++ b/teste.php @@ -6,7 +6,23 @@
'; +$ip=exec("ifconfig | grep 'inet end.: 10' | cut -f13 -d' '"); +$ip=exec("/sbin/ifconfig"); + +echo 'O IP do servidor é: *'.$ip.'*
'; +if ($_REQUEST['txtData']) + { + $date = date('m-d-Y'); + $result = explode('-',$_REQUEST["txtData"]); + $diference = date_diff($date,trim(substr($result[1],0,2)).'-'.$result[2].'-'.$result[0]); + echo 'A diferença de dias é de: ' . $diference .'
'; + } + ?> +
+ +
diff --git a/top.php b/top.php index 13b28d6..f8c3e71 100755 --- a/top.php +++ b/top.php @@ -14,8 +14,12 @@ Livre(FSF) Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ session_start(); -$v_versao = '2.2.3-dev'; +$v_versao = '2.2.3-dev-2'; /* +2.2.3-dev-1 (Anderson Peterle - Dataprev/ES - Junho/2007) + * Corrigido o processo de liberação de FTP, onde a tabela redes_grupos_ftp é liberada após a operação + de transferência de arquivos por parte do módulo cliente Gerente de Coletas. + 2.2.3-dev (Anderson Peterle - Dataprev/ES - Maio/2007) + Implementado o detalhamento para as estatísticas exibidas na página principal quando representarem mais de um local (local primário + local(is) secundário(s)) diff --git a/ws/get_config.php b/ws/get_config.php index 6b7e188..a6ddc31 100755 --- a/ws/get_config.php +++ b/ws/get_config.php @@ -20,9 +20,6 @@ Também há um sistema de exceções, onde um computador que consta nessa relação de exceções não recebe as configurações. */ -// ************* Debugging ************** -$cIPsToDebug = '10.71.0.58'; // IP numbers, * for All -// ************************************** require_once('../include/library.php'); @@ -54,10 +51,10 @@ if (trim(DeCrypt($key,$iv,$_POST['in_chkcacic'],$v_cs_cipher,$v_cs_compress))==' if (trim(DeCrypt($key,$iv,$_POST['in_chkcacic'],$v_cs_cipher,$v_cs_compress))=='chkcacic') { // Retorno as versões dos três principais agentes ao CHKCACIC para que sejam - $query_modulos = " SELECT * + $query_modulos = ' SELECT * FROM redes_versoes_modulos - WHERE id_ip_rede = '".$v_dados_rede['id_local']."' AND - id_local = ".$v_dados_rede['id_local']; + WHERE id_ip_rede = "'.$v_dados_rede['id_local'].'" AND + id_local = '.$v_dados_rede['id_local']; $result_modulos = mysql_query($query_modulos); while ($row_modulos = mysql_fetch_array($result_modulos)) @@ -72,27 +69,30 @@ if (trim(DeCrypt($key,$iv,$_POST['in_chkcacic'],$v_cs_cipher,$v_cs_compress))==' } $v_te_fila_ftp = '0'; + $v_id_ftp = ($_POST['id_ftp']?trim(DeCrypt($key,$iv,$_POST['id_ftp'],$v_cs_cipher,$v_cs_compress)):''); + // Operações para agrupamento de FTP por subredes - if (trim(DeCrypt($key,$iv,$_POST['te_fila_ftp'],$v_cs_cipher,$v_cs_compress))=='1') + if (trim(DeCrypt($key,$iv,$_POST['te_fila_ftp'],$v_cs_cipher,$v_cs_compress))=='1' && + !$v_id_ftp) { // TimeOut definido para 5 minutos, ou seja, tempo máximo para as estações efetuarem FTP dos módulos necessários // 1 minuto = 60000 milisegundos // 5 * 60000 milisegundos = 5 minutos (TimeOut) $v_timeout = time() - (5 * 60000); - + // Exclusão por timeout - $query_del = "DELETE + $query_del = 'DELETE FROM redes_grupos_ftp - WHERE id_local = ".$v_dados_rede['id_local']." AND - id_ip_rede = '".$v_dados_rede['id_ip_rede']."' - and nu_hora_inicio < ".$v_timeout." or id_ip_estacao = '".trim(DeCrypt($key,$iv,$_POST['id_ip_estacao'],$v_cs_cipher,$v_cs_compress))."'"; + WHERE id_local = '.$v_dados_rede['id_local'].' AND + id_ip_rede = "'.$v_dados_rede['id_ip_rede'].'" AND + id_ip_estacao = "'.trim(DeCrypt($key,$iv,$_POST['id_ip_estacao'],$v_cs_cipher,$v_cs_compress)).'"'; $result_del = mysql_query($query_del); // Contagem por subrede - $query_grupo = "SELECT count(*) as total_estacoes + $query_grupo = 'SELECT count(*) as total_estacoes FROM redes_grupos_ftp - WHERE id_ip_rede = '".$v_dados_rede['id_ip_rede']."' AND - id_local = ".$v_dados_rede['id_local']." FOR UPDATE"; + WHERE id_ip_rede = "'.$v_dados_rede['id_ip_rede'].'" AND + id_local = '.$v_dados_rede['id_local'].' FOR UPDATE'; $result_grupo = mysql_query($query_grupo); $total = mysql_fetch_array($result_grupo); @@ -104,23 +104,26 @@ if (trim(DeCrypt($key,$iv,$_POST['in_chkcacic'],$v_cs_cipher,$v_cs_compress))==' } else { - $queryINS = "INSERT + $queryINS = 'INSERT INTO redes_grupos_ftp(id_ip_rede,id_ip_estacao,nu_hora_inicio, id_local) - VALUES ('".$v_dados_rede['id_ip_rede']."','".trim(DeCrypt($key,$iv,$_POST['id_ip_estacao'],$v_cs_cipher,$v_cs_compress))."',".time().",".$v_dados_rede['id_local'].")"; + VALUES ("'.$v_dados_rede['id_ip_rede'].'","'. + trim(DeCrypt($key,$iv,$_POST['id_ip_estacao'],$v_cs_cipher,$v_cs_compress)).'",'. + time().','. + $v_dados_rede['id_local'].')'; $resultINS = mysql_query($queryINS); } $retorno_xml_values .= '' . $v_te_fila_ftp . ''; + $retorno_xml_values .= '' . mysql_insert_id() . ''; } - elseif (trim(DeCrypt($key,$iv,$v_te_fila_ftp,$v_cs_cipher,$v_cs_compress))=='2') // Operação concluída com sucesso! + elseif (trim(DeCrypt($key,$iv,$_POST['te_fila_ftp'],$v_cs_cipher,$v_cs_compress))=='2') // Operação concluída com sucesso! { - $query_del = "DELETE + $query_del = 'DELETE FROM redes_grupos_ftp - WHERE id_local = ".$v_dados_rede['id_local']." AND - id_ip_rede = '".$v_dados_rede['id_ip_rede']."' AND - id_ip_estacao = '".trim(DeCrypt($key,$iv,$_POST['id_ip_estacao'],$v_cs_cipher,$v_cs_compress))."'"; - $result_del = mysql_query($query_del); + WHERE id_local = '.$v_dados_rede['id_local'].' AND + id_ip_rede = "'.$v_dados_rede['id_ip_rede'].'" AND + id_ip_estacao = "'.trim(DeCrypt($key,$iv,$_POST['id_ip_estacao'],$v_cs_cipher,$v_cs_compress)).'"'; + $result_del = mysql_query($query_del); // Refaço o retorno_xml para redução do pacote a retornar... - } } else @@ -162,15 +165,15 @@ else /* Atualizo a informação de versão(para uso futuro) do Sistema Operacional da estação. */ conecta_bd_cacic(); - $query = "UPDATE computadores SET + $query = 'UPDATE computadores SET dt_hr_ult_acesso = NOW(), - te_so = '".$te_so."', - te_versao_cacic = '" . $te_versao_cacic . "', - te_versao_gercols= '" . $te_versao_gercols . "' - WHERE te_node_address = '$te_node_address' AND - id_so = '$id_so'"; + te_so = "'.$te_so.'", + te_versao_cacic = "' . $te_versao_cacic . '", + te_versao_gercols= "' . $te_versao_gercols . '" + WHERE te_node_address = "'.$te_node_address.'" AND + id_so = "'.$id_so.'"'; $result = mysql_query($query); - +GravaTESTES($query); // Alternativa de solução enviada ao sr. Elton Levi Schroder Fenner [elton.fenner@al.rs.gov.br], por ocasião da mensagem de erro // "Cannot redeclare eh_excecao() (previously declared in /var/www/cacic2/ws/get_config.php:228) in /var/www/cacic2/ws/get_config.php on line 228" // @@ -180,10 +183,10 @@ else /* Essa funcao retorna 1 caso $te_node_address seja uma excecao para a ação id_acao e 0 caso não seja. */ function eh_excecao($id_acao, $te_node_address) { - $query_exc = " SELECT count(*) as num_registros + $query_exc = ' SELECT count(*) as num_registros FROM acoes_excecoes - WHERE id_acao = '$id_acao' AND - te_node_address = '$te_node_address'"; + WHERE id_acao = "'.$id_acao.'" AND + te_node_address = "'.$te_node_address.'"'; $result_exc = mysql_query($query_exc); $campos_exc = mysql_fetch_array($result_exc); return ($campos_exc['num_registros'] == 0?0:1); @@ -191,14 +194,14 @@ else // } /* Seleciona todos os perfis de aplicativos cadastrados para tratamento posterior */ - $query_monitorado = " SELECT * + $query_monitorado = ' SELECT * FROM perfis_aplicativos_monitorados a, aplicativos_redes b WHERE a.id_aplicativo = b.id_aplicativo AND - a.nm_aplicativo NOT LIKE '%#DESATIVADO#%' AND - b.id_ip_rede = '".$v_dados_rede['id_ip_rede']."' AND - b.id_local = ".$v_dados_rede['id_local']." - ORDER BY a.id_aplicativo"; + a.nm_aplicativo NOT LIKE "%#DESATIVADO#%" AND + b.id_ip_rede = "'.$v_dados_rede['id_ip_rede'].'" AND + b.id_local = '.$v_dados_rede['id_local'].' + ORDER BY a.id_aplicativo'; conecta_bd_cacic(); $result_monitorado = mysql_query($query_monitorado); $v_tripa_perfis1 = explode('#',$te_tripa_perfis); @@ -207,10 +210,10 @@ else /* Seleciona os dados de coleta_forcada específicos para este computador, que foram setados via detalhes/Opções Administrativas */ - $query_coleta_forcada = " SELECT dt_hr_coleta_forcada_estacao,te_nomes_curtos_modulos + $query_coleta_forcada = ' SELECT dt_hr_coleta_forcada_estacao,te_nomes_curtos_modulos FROM computadores - WHERE te_node_address = '$te_node_address' AND - id_so = '$id_so'"; + WHERE te_node_address = "'.$te_node_address.'" AND + id_so = "'.$id_so.'"'; conecta_bd_cacic(); $result_coleta_forcada = mysql_query($query_coleta_forcada); $te_tripa_coleta = mysql_fetch_array($result_coleta_forcada); @@ -222,20 +225,20 @@ else Também é realizado um filtro baseado no sistema operacional do agente. Além disso, o node address do agente não pode constar da relação de exceções. */ - $query = " SELECT distinct acoes.id_acao, + $query = ' SELECT distinct acoes.id_acao, acoes_redes.dt_hr_coleta_forcada, acoes.te_nome_curto_modulo FROM acoes, acoes_so, acoes_redes - WHERE (acoes_redes.cs_situacao = 'T' OR - acoes_redes.cs_situacao = 'S') AND - acoes_redes.id_ip_rede = '$id_ip_rede' AND - acoes_redes.id_local = ".$v_dados_rede['id_local']." AND + WHERE (acoes_redes.cs_situacao = "T" OR + acoes_redes.cs_situacao = "S") AND + acoes_redes.id_ip_rede = "'.$id_ip_rede.'" AND + acoes_redes.id_local = '.$v_dados_rede['id_local'].' AND acoes.id_acao = acoes_redes.id_acao AND acoes_so.id_acao = acoes.id_acao AND - acoes_so.id_so = '$id_so' AND - acoes_so.id_local = ".$v_dados_rede['id_local']; + acoes_so.id_so = "'.$id_so.'" AND + acoes_so.id_local = '.$v_dados_rede['id_local']; conecta_bd_cacic(); $result = mysql_query($query); @@ -363,10 +366,10 @@ else } } - $query_modulos = " SELECT * + $query_modulos = ' SELECT * FROM redes_versoes_modulos - WHERE id_ip_rede = '".$id_ip_rede."' AND - id_local = ".$v_dados_rede['id_local']; + WHERE id_ip_rede = "'.$id_ip_rede.'" AND + id_local = '.$v_dados_rede['id_local']; $result_modulos = mysql_query($query_modulos); @@ -381,7 +384,7 @@ else } // Configurações relacionadas ao comportamento do agente. - $query = "SELECT in_exibe_bandeja, + $query = 'SELECT in_exibe_bandeja, in_exibe_erros_criticos, nu_exec_apos, nu_intervalo_exec, @@ -390,7 +393,7 @@ else te_enderecos_mac_invalidos, te_janelas_excecao FROM configuracoes_locais - WHERE id_local = ".$v_dados_rede['id_local']; + WHERE id_local = '.$v_dados_rede['id_local']; conecta_bd_cacic(); $result_configs = mysql_query($query); -- libgit2 0.21.2