[SP-pm] script perl no windows 10

Renato Santos renato.cron at gmail.com
Tue Jan 12 02:24:10 PST 2016


Kleber,

talvez a causa do problema não esteja neste script perl, pois se você diz
que não funciona entre os navegadores (até os mais recentes), é capaz que o
problema seja o HTML e/ou javascript.

Primeiro, tente isolar e identificar qual o problema que está gerando essa
incompatibilidade com os navegadores: use o chrome ou firefox para salvar o
arquivo em um .html e faça os testes em outros navegadores. Talvez, se você
usar muito javascript, não irá funcionar na hora que você tentar fazer um
AJAX dentro de uma pagina salva no disco, porém, se o problema for esse
<meta refresh> esse funcionaria sem problemas.



2016-01-12 8:15 GMT-02:00 kleber caetano <payback at hotmail.com.br>:

> Mais uma vez agradeço a gentileza em responder.
> A minha expectativa nunca foi abusar do conhecimento de vocês.
> Imaginava que a solução para o problema apresentado fosse simples ou
> seja , visível para um especialista em perl.
> Entretanto , pelo visto , a identificação da causa do problema é mais
> complexa.
>
> Nota – Vou pesquisar na internet a opção do Lucas.
>
> Desejo a todos um bom 2016 com paz e saúde.
> Abraço a todos ,
>
> kleber
>
> *From:* Lucas Mateus <lucasmateus.oliveira at gmail.com>
> *Sent:* Monday, January 11, 2016 9:26 PM
> *To:* saopaulo-pm at mail.pm.org
> *Subject:* Re: [SP-pm] script perl no windows 10
>
>
> Kleber, de fato é muito difícil te ajudar sem o ambiente propício para
> teste e debug. Se estiver disposto, use o SocketIO se começar agora VC
> implementa um chat descente em 2h te garanto.
> Em 11 de jan de 2016 9:16 PM, "Daniel de Oliveira Mantovani" <
> daniel.oliveira.mantovani at gmail.com> escreveu:
>
>> Opa Kleber, desculpa se eu passei a mensagem errada. Na verdade, o que eu
>> quis dizer é que independente da qualidade do seu software, hoje existem
>> muitas opções de softwares/serviços maduros gratuitos. Apenas se existisse
>> uma regra de negócio "fora de série", seria justificável. Inclusive,
>> existem ótimas opções que oferecerem a possibilidade do usuário se conectar
>> através do aparelho telefônico móvel. Você por exemplo pode criar um canal
>> de IRC criptografado e com senha, onde os usuários podem escolher o
>> aplicativo do aparelho telefônico móvel que mais lhe agrada.
>>
>> Eu entendo a sua "perspicácia" em achar esse grupo específico de
>> programadores Perl, independente da fonte. Porém, a nossa lista é parecida
>> com uma lista de especialistas/apaixonados em/por carros. Onde as pessoas
>> perguntam, "Qual o melhor material para construir carros de Fórmula 1 que
>> consigam aproveitar mais a chuva em temperaturas entre 10ºC~12ºC ?".  E a
>> sua pergunta foi, "Pessoal, olha esse carro aqui quebrou... Vocês podem
>> arrumar pra mim de graça, por favor ?". Na verdade, você não precisa ser um
>> especialista para unir-se a nós. Muita gente que está começando, felizmente
>> também nos acha. Que foi o meu caso pessoal, eu queria entender um exploit
>> que se eu me lembro bem derrubava servidores de Counter-Strike.
>>
>> Eu perfeitamente entendo que você não teve má intenção, por isso eu te
>> convido à aprender Perl. Nós podemos te orientar em real-time no nosso
>> canal de IRC, #sao-paulo.pm irc.perl.org 24H//7 (Nem sempre a resposta é
>> imediata, mas é um ambiente colaborativo onde todos são muito bem vindos.
>> Nós temos bastante conteúdo em português, incluindo artigo, manuais, livros
>> etc.)
>>
>> Seja muito bem-vindo!
>>
>>
>> 2016-01-11 20:35 GMT-02:00 kleber caetano <payback at hotmail.com.br>:
>>
>>> Me perdoem em insistir neste assunto.
>>> Mais uma informação que talvez seja importante :
>>>
>>> Parece que o script envia informações vazias ou seja as mensagens que
>>> estavam na tema desaparecem.
>>> ( a parte da tela que apresenta as mensagens ficam em branco inclusive o
>>> tema da reunião ----> acho que é
>>> <iframe align="middle" src="?todas=$CAMPO{tema}" name="iframe"
>>> width="1010" height="480" style="overlap:auto"></iframe> ).
>>>
>>> *From:* kleber caetano <payback at hotmail.com.br>
>>> *Sent:* Monday, January 11, 2016 8:09 PM
>>> *To:* saopaulo-pm at mail.pm.org
>>> *Subject:* Re: [SP-pm] script perl no windows 10
>>>
>>> Mais uma informação que talvez seja importante aos amigos :
>>>
>>> Apesar de não estar apresentando as mensagens aos participantes da sala ,
>>> as mensagens enviadas pelos usuários são gravadas nos arquivos de
>>> trabalho.
>>> ( é possível constatar isto ).
>>>
>>> *From:* kleber caetano <payback at hotmail.com.br>
>>> *Sent:* Monday, January 11, 2016 7:16 PM
>>> *To:* saopaulo-pm at mail.pm.org
>>> *Subject:* Re: [SP-pm] script perl no windows 10
>>>
>>> Agradeço a gentiliza em responder.
>>> O Daniel me esculhambou ( rsrsrsrsrss ).
>>> Apesar do script não ser bem elaborado ou estruturado , ele é simples e
>>> útil ( gostaria de tentar acertar o erro ).
>>>
>>> Implementei as sugestão do Daniel e do Lucas [ setInterval(function(){
>>> window.location.href = '?todas' }, 5000); ]
>>> e o problema passou a ocorrer também no internet explorer 11( não enviou
>>> as mensagens para os participantes ).
>>>
>>> Pelo que eu entendo deste script , a ação reload envia as mensagens para
>>> <iframe align="middle" src="?todas=$CAMPO{tema}" name="iframe"
>>> width="1010" height="480" style="overlap:auto"></iframe>
>>> e com setInterval não chegou ( porque não chegou lá ).
>>>
>>> Talvez isto ajude a analisar o problema.
>>>
>>>
>>> *From:* Daniel de Oliveira Mantovani
>>> <daniel.oliveira.mantovani at gmail.com>
>>> *Sent:* Monday, January 11, 2016 6:12 PM
>>> *To:* saopaulo-pm at mail.pm.org
>>> *Subject:* Re: [SP-pm] script perl no windows 10
>>>
>>> Só reforçando o que eu disse, eu já achei uma falha de segurança, onde
>>> você abre um descritor de arquivos com dois argumentos. *Possivelmente*
>>> em algum desses "opens" um dos argumentos vem do usuário.
>>>
>>>
>>> https://www.securecoding.cert.org/confluence/pages/viewpage.action?pageId=76775519
>>>
>>> On Mon, Jan 11, 2016 at 5:36 PM, Daniel de Oliveira Mantovani <
>>> daniel.oliveira.mantovani at gmail.com> wrote:
>>>
>>>> Eu fortemente te aconselho a jogar isso fora, e usar o Google Hangout
>>>> ou qualquer uma das milhões de soluções grátis que resolvem isso.
>>>>
>>>> 2016-01-11 17:33 GMT-02:00 Lucas Moraes <lucastiagodemoraes at gmail.com>:
>>>>
>>>>> Aconselho você atualizar a pagina com javascript.
>>>>>
>>>>> setInterval(function(){ window.location.href = '?todas' }, 5000);
>>>>>
>>>>> Falou.
>>>>>
>>>>> Em 11 de janeiro de 2016 17:26, kleber caetano <payback at hotmail.com.br
>>>>> > escreveu:
>>>>>
>>>>>> Olá Sr(s),
>>>>>>
>>>>>> Migrei para o windows 10 e estou tendo um problema com um aplicativo
>>>>>> em perl quando utilizo o edge ,
>>>>>> entretanto , quando utilizo o explorer 11 o aplicativo é executado
>>>>>> normalmente.
>>>>>>
>>>>>> Nota[1] - Este aplicativo refere-se a um chat ( sala de reunião
>>>>>> online ).
>>>>>>
>>>>>> O problema ( no edge ) ocorre quando :
>>>>>>
>>>>>> - Ele reenvia as mensagens ( através do comando <meta
>>>>>> http-equiv="refresh" content="5,?todas"/> )  para
>>>>>>   os participantes da sala de reunião ou seja não está enviando nada.
>>>>>> - Quando é encerrada a reunião , o aplicativo elimina os arquivos de
>>>>>> trabalho , porém , no edge isto
>>>>>>   não está acontecendo.
>>>>>>
>>>>>> Nota[2] - No explorer 11 estes problemas não ocorrem.
>>>>>>
>>>>>> Nota[3] - O script em perl  foi desenvolvido por um amigo que
>>>>>> conhecia bastante perl
>>>>>>                entretanto meu conhecimento é limitado.
>>>>>>
>>>>>> Nota[4] – Estou trabalhando com
>>>>>> ActivePerl-5.16.3.1603-MSWin32-x86-296746
>>>>>>
>>>>>> Nota[5] – Caso considerem necessário , tenho como disponibilizar um
>>>>>> link de acesso a este site sala.cgi
>>>>>>
>>>>>> Nota[6] - Quando instalei o windows 10 , o reload automático
>>>>>> funcionava , entretanto ,
>>>>>>                 ao realizar uma manutenção grande ( nova versão acho
>>>>>> ) o problema apareceu.
>>>>>>                 O problema de não eliminar os arquivos temporário de
>>>>>> trabalho existem
>>>>>>                 desde a instalação inicial do windows 10
>>>>>> Nota[7] – coloquei duas marcas no script onde eu acho que as funções
>>>>>> são executadas:
>>>>>>
>>>>>> ######################### aqui elimina os arquivos de trabalho
>>>>>> ###################################
>>>>>>
>>>>>> ##################### aqui reenvia mensagens para os participantes
>>>>>> #############################
>>>>>>
>>>>>> Alguém sabe como resolver isto ?
>>>>>>
>>>>>> Agradeço a atenção ,
>>>>>>
>>>>>> kleber
>>>>>>
>>>>>>
>>>>>> =================================================================================================
>>>>>>                                                          script em
>>>>>> perl  ( sala.cgi )
>>>>>>
>>>>>> =================================================================================================
>>>>>> #!perl
>>>>>> print "Content-type:text/html\n\n";
>>>>>> use CGI::Carp(fatalsToBrowser);
>>>>>>
>>>>>>
>>>>>> ###############################################################################################
>>>>>> #                                     CONFIGURAÇÕES
>>>>>> GERAIS
>>>>>> #
>>>>>> #
>>>>>> #
>>>>>> $titulo = "Sala de Reunião Online";        # Título do
>>>>>> script
>>>>>> #
>>>>>> $master = "master.log";                         # Arquivo temporário
>>>>>> a guardar primeiro usuário                                              #
>>>>>> $log    = "logs.log";                                # Arquivo
>>>>>> temporário de logs
>>>>>> totais                                                                    #
>>>>>> $log2   = "logs2.log";                            # Arquivo
>>>>>> temporário de logs da
>>>>>> sessão                                                              #
>>>>>> $online = "online.log";                         # Arquivo temporário
>>>>>> com nomes dos usuários Online                                        #
>>>>>> $estilos= "estilos.css";                        # Arquivo com os
>>>>>> estilos dentro da pasta
>>>>>> modelos                                              #
>>>>>> $topo   = "topo.html";                         # Template do
>>>>>> Topo
>>>>>> #
>>>>>> $fim    = "fim.html";                           # Template do
>>>>>> Fim
>>>>>> #
>>>>>> #
>>>>>> #
>>>>>> #
>>>>>> #
>>>>>> #                                     FIM DAS
>>>>>> CONFIGURAÇÕES
>>>>>> #
>>>>>>
>>>>>> ###############################################################################################
>>>>>>
>>>>>> read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
>>>>>> @conteudo = split(/&/, $buffer);
>>>>>> foreach $par (@conteudo) {
>>>>>>         ($campo, $valor) = split(/=/, $par);
>>>>>>         $valor =~ tr/+/ /;
>>>>>>         $valor =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
>>>>>>         $CAMPO{$campo} = $valor;
>>>>>>     }
>>>>>>
>>>>>> $qs = "$ENV{QUERY_STRING}";
>>>>>> &data;
>>>>>> &style;
>>>>>> if ($qs eq ""){
>>>>>> print qq|
>>>>>> <BR><BR><BR><BR><BR><BR><BR>
>>>>>> |;
>>>>>> &topo;
>>>>>> print qq§
>>>>>> <script language="JavaScript">
>>>>>> <!--
>>>>>> altura = 690;
>>>>>> largura= 1090;
>>>>>> l = (screen.width - largura)/2;
>>>>>> t = (screen.height - altura - 50)/2;
>>>>>> var flag = "";
>>>>>> var idioma=1;
>>>>>> var strCookie='payback';
>>>>>>
>>>>>> function LerCookie(strCookie) {
>>>>>>     var strNomeIgual = strCookie + "=";
>>>>>>     var arrCookies = document.cookie.split(';');
>>>>>>     for(var i = 0; i < arrCookies.length; i++)
>>>>>>     {
>>>>>>         var strValorCookie = arrCookies[i];
>>>>>>         while(strValorCookie.charAt(0) == ' ')
>>>>>>         {
>>>>>>             strValorCookie = strValorCookie.substring(1,
>>>>>> strValorCookie.length);
>>>>>>         }
>>>>>>         if(strValorCookie.indexOf(strNomeIgual) == 0)
>>>>>>         {
>>>>>>             var
>>>>>> mensagem=strValorCookie.substring(strNomeIgual.length,
>>>>>> strValorCookie.length);
>>>>>>             flag = mensagem;
>>>>>>             mensagem ='';
>>>>>>             return;
>>>>>>         }
>>>>>>     }
>>>>>>     alert ( '!!!! Erro crítico : Não foi possível restaurar área de
>>>>>> transferência' );
>>>>>>     top.location.href = "/payback/index.htm";
>>>>>> };
>>>>>> function init(form) {
>>>>>>               LerCookie(strCookie);
>>>>>>               if (flag != null ) {
>>>>>>                  flag = flag.split('|');
>>>>>>                  document.form.login.value = flag[9];
>>>>>>               }
>>>>>>               document.form.tema.focus();
>>>>>> }
>>>>>> function Entra(form) {
>>>>>>         if (document.form.tema.value.length == 0)  {
>>>>>>             alert("O tema da reunião não foi informado");
>>>>>>             document.form.tema.focus();
>>>>>>             document.form.tema.select();
>>>>>>             return false;
>>>>>>         }
>>>>>>         novajanela = window.open("", "entrar",
>>>>>> "scrollbars=no,menubar=no,height="+altura+",width="+largura+",top="+t+",left="+l);
>>>>>>
>>>>>>         return true;
>>>>>> }
>>>>>> function showSalaHelp() {
>>>>>>       altura1=400;
>>>>>>       largura1= 800;
>>>>>>       l1 = (screen.width - largura + 250)/2;
>>>>>>       t1 = (screen.height - altura + 250)/2;
>>>>>>       var html = '<HTML><HEAD><TITLE></TITLE></HEAD>';
>>>>>>           html += '<BODY background="/reuniao/imagem/papel.jpg"
>>>>>> TEXT="#000066"><br><table align=center><tr><td><h4><b>SALA    DE
>>>>>>    REUNIÃO    ONLINE
>>>>>>                       </b></h4></td></tr></table><br><TABLE
>>>>>> ALIGN=CENTER><font size=2><TR><TD><PRE><b>';
>>>>>>           html += '<li>O dado usuário deve ser único por sala.';
>>>>>>           html += '<li>O dado tema da reunião será o ponto de
>>>>>> encontro dos participantes na sala.<br>';
>>>>>>           html += '   Este texto não pode conter espaço , por exemplo
>>>>>> , informar Aquisição_de_Filial';
>>>>>>           html += '<li>O sistema diferencia letra maiúscula de
>>>>>> minúscula para identificação da sala.';
>>>>>>           html += '<li>Cada sala terá um único tema não tendo
>>>>>> limitações de quantidade de aberturas de<br>';
>>>>>>           html += '   salas e participantes.<br>';
>>>>>>           html += '<li>O usuário que abrir a sala ou seja o primeiro
>>>>>> a entrar receberá uma tarefa de<br>';
>>>>>>           html += '  encerrar a reunião ( botão especial ).<br>  Este
>>>>>> usuário , ao sair da sala , provocará a eliminação dos arquivos que
>>>>>> registram<br>  os textos digitados.<br>  Portanto , recomenda-se dar um
>>>>>> tempo de poucos segundos antes de sair da sala.';
>>>>>>           html += '<li>Ao acionar o batão especial ENCERRAR REUNIÃO ,
>>>>>> o texto REUNIÃO FINALIZADA<br>';
>>>>>>           html += '   é enviado á sala e nenhuma nova mensagem é
>>>>>> registrada pelo sistema.';
>>>>>>           html += '<li>É recomendável que os participantes imprimam a
>>>>>> ata de reunião após esta ação.<br>';
>>>>>>           html += '<li>Para ajuda de formatação do texto mensagem ,
>>>>>> na sala de reunião , acionar a tecla F1';
>>>>>>           html += '<li>Os documentos enviados ao servidor para serem
>>>>>> apresentados como anexo ,<br>  serão eliminados quando o sistema
>>>>>> operacional for reinicializado.<br>';
>>>>>>           html += '  Nota - O documento apresentado como anexo  ,
>>>>>> para ser baixado no servidor , deverá ter<br>         no máximo 500
>>>>>> kbytes.';
>>>>>>           html += '</TABLE></FONT></B></PRE></BODY></HTML>';
>>>>>>           var newWindow =
>>>>>> window.open("","","scrollbars=auto,height="+altura1+",width="+largura1+",top="+t1+",left="+l1);
>>>>>>           newWindow.document.write(html);
>>>>>>           newWindow.document.close();
>>>>>>           event.cancelBubble = true;
>>>>>>           return false;
>>>>>> }
>>>>>> //-->
>>>>>> </script>
>>>>>> <style type="text/css"><!--
>>>>>> .multi_bg { background-image : linear-gradient(to right, rgba(30, 75,
>>>>>> 115, 0.5),  rgba(30, 75, 115, 0.5)); }
>>>>>> -->
>>>>>> </style>
>>>>>> </HEAD>
>>>>>>         <body onload="init(this.form)" onHelp="return showSalaHelp()"
>>>>>> BGCOLOR="#ADB6C6" TEXT="#003366" class="multi_bg">
>>>>>>         <form action="?entra" method="POST" name="form"
>>>>>> target="entrar" id="form" OnSubmit="return Entra(this)">
>>>>>>         <br>
>>>>>>         <strong><font color="#ffffff"
>>>>>> size="2">                <label
>>>>>> class='sombra'><b>Escolha um tema para
>>>>>> entrar</label></font></strong>                <img
>>>>>> src="/reuniao/imagem/help.gif"
>>>>>> onClick="showSalaHelp();document.form.tema.focus()" WIDTH="18" HEIGHT="18"
>>>>>> style="cursor:pointer" title ="Ajuda do sistema">
>>>>>>         <br><br>
>>>>>>         <div align="center">
>>>>>>               <table>
>>>>>>                 <tr>
>>>>>>                    <!-- <td width="33%"><div align="right"><font
>>>>>> class="sombra"><font color="#ffffff"
>>>>>> size="2"><b>Usuário  </b></font></div></td> -->
>>>>>>                   <td><input type="hidden" name="login" class="campo"
>>>>>> onFocus="document.form.tema.focus()" onHelp="return showSalaHelp()"></td>
>>>>>>                  </tr>
>>>>>>                 <tr>
>>>>>>                   <td><div align="right"><font class="sombra"><font
>>>>>> color="#ffffff" size="2"><b>Tema  </b></font></div></td>
>>>>>>                   <td><input name="tema" type="text" class="campo"
>>>>>> id="tema" onHelp="return showSalaHelp()"></td>
>>>>>>                 </tr>
>>>>>>               </table><br>
>>>>>>               <table>
>>>>>>              <tr>
>>>>>>
>>>>>> <td>        </td>
>>>>>>                  <td align="center" colspan=2><input type="submit"
>>>>>> value="Entrar" class="botao" STYLE='cursor: pointer;font-weight:bold'></td>
>>>>>>             </tr>
>>>>>>              </table><br>
>>>>>>         </div>
>>>>>> §;&fim;}
>>>>>>
>>>>>> if ($qs eq "entra"){
>>>>>> if ($CAMPO{login} eq ""){
>>>>>> print qq|<br><br><br><br><br><br><br><br><br><br><br><br>|;
>>>>>> &topo;
>>>>>> print qq|<br>Você deve digitar um nome de usuário antes de entrar na
>>>>>> sala ! <br><br>
>>>>>> <div align="center">
>>>>>> <input type="button" class="botao2"
>>>>>> onClick="javascript:windows.close()" value="Fechar Janela"><br>
>>>>>> </div>
>>>>>> |;
>>>>>> &fim;
>>>>>> }else{
>>>>>> if ($CAMPO{tema} eq "" ){
>>>>>> print qq|<br><br><br><br><br><br><br><br><br><br><br><br>|;
>>>>>> &topo;
>>>>>> print qq|<br>Você deve digitar um tema antes de entrar na sala !
>>>>>> <br><br>
>>>>>> <div align="center">
>>>>>> <input type="button" class="botao2"
>>>>>> onClick="javascript:window.close()" value="Fechar Janela"><br>
>>>>>> </div>
>>>>>> |;
>>>>>> &fim;
>>>>>> }else{
>>>>>> if (-e "$CAMPO{tema}"."_"."$log"){
>>>>>> open(ONLINE,"$CAMPO{tema}_$online");
>>>>>> @online = <ONLINE>;
>>>>>> close(ONLINE);
>>>>>>
>>>>>> foreach (@online){
>>>>>> chomp;
>>>>>> s/%//gi;
>>>>>> if ($CAMPO{login} eq "$_"){
>>>>>> $repetido = "1";
>>>>>> }else{
>>>>>> $repetido = "0";
>>>>>> }}
>>>>>> if ($repetido eq "1"){
>>>>>> print qq|<br><br><br><br><br><br><br><br><br><br><br><br>|;
>>>>>> &topo;
>>>>>> print qq|<br>Este nome de usuário já está em uso! Por favor escolha
>>>>>> outro.<br><br>
>>>>>> <div align="center">
>>>>>> <input type="button" class="botao2"
>>>>>> onClick="javascript:window.close()" value="Fechar Janela"><br>
>>>>>> </div>
>>>>>> |;&fim;
>>>>>> }else{
>>>>>> open(MASTER,"$CAMPO{tema}_$master");
>>>>>> $master = <MASTER>;
>>>>>> close(MASTER);
>>>>>> chomp $master;
>>>>>> $master =~ s/%//gi;
>>>>>>
>>>>>> if ($CAMPO{login} eq $master){$a = "1";} else {$a = "0";}
>>>>>> open(ONLINE,">>$CAMPO{tema}_$online");
>>>>>> print ONLINE qq|%$CAMPO{login}%\n|;
>>>>>> close(ONLINE);
>>>>>>
>>>>>> open (SALA, ">>$CAMPO{tema}_$log");
>>>>>> print SALA qq|<font class="texto"><i>($data)</i>  
>>>>>> <b>$CAMPO{login}</b> entrou na sala</b></font><br>\n|;
>>>>>> close(SALA);
>>>>>>
>>>>>> open (SALA, ">>$CAMPO{tema}_$log2");
>>>>>> print SALA qq|<font class="texto"><i>($data)</i>  
>>>>>> <b>$CAMPO{login}</b> entrou na sala</b></font><br>\n|;
>>>>>> close(SALA);
>>>>>>
>>>>>> &topo;&msg;&fim;
>>>>>> }}else{
>>>>>>
>>>>>> open(MASTER,">$CAMPO{tema}_$master");
>>>>>> print MASTER qq|%$CAMPO{login}%\n|;
>>>>>> close(MASTER);
>>>>>>
>>>>>> open(ONLINE,">>$CAMPO{tema}_$online");
>>>>>> print ONLINE qq|%$CAMPO{login}%\n|;
>>>>>> close(ONLINE);
>>>>>>
>>>>>> open (SALA, ">>$CAMPO{tema}_$log");
>>>>>> print SALA qq|<div align="center"><font class="texto"><h5>ATA DA
>>>>>> REUNIÃO :  <font size=4><b>$CAMPO{tema} </b></font></div><hr>\n|;
>>>>>> print SALA qq|<font class="texto"><i>($data)</i>  
>>>>>> <b>$CAMPO{login}</b> entrou na sala</b></font><br>\n|;
>>>>>> close(SALA);
>>>>>>
>>>>>> open (SALA, ">>$CAMPO{tema}_$log2");
>>>>>> print SALA qq|<div align="center"><font class="texto"><h5>ATA DA
>>>>>> REUNIÃO :  <font size=4><b>$CAMPO{tema} </b></font></div><hr>\n|;
>>>>>> print SALA qq|<font class="texto"><i>($data)</i>  
>>>>>> <b>$CAMPO{login}</b> entrou na sala</b></font><br>\n|;
>>>>>> close(SALA);
>>>>>> $a = "1";
>>>>>> &topo;&msg;&fim;
>>>>>> }}}}
>>>>>>
>>>>>> if ($qs eq "escreve2"){
>>>>>> $CAMPO{msg} =~ tr/+/ /;
>>>>>> $CAMPO{msg} =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
>>>>>> $CAMPO{tema} =~ tr/+/ /;
>>>>>> $CAMPO{tema} =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
>>>>>> if ($CAMPO{msg} eq ""){
>>>>>> print qq|
>>>>>> <script language="Javascript">
>>>>>> <!--
>>>>>> alert ('Mensagem não informada')
>>>>>> //-->
>>>>>> </script>
>>>>>> <body
>>>>>> onLoad="this.location.href('?principal2=$CAMPO{tema}-$CAMPO{login}')">
>>>>>> |;}else{
>>>>>>
>>>>>> if ($CAMPO{msg} eq "REUNIÃO FINALIZADA"){
>>>>>>
>>>>>> open(LOG,">>$CAMPO{tema}"."_"."$log");
>>>>>> print LOG qq|<br><div align="center"><font class="texto"><b>REUNIÃO
>>>>>> FINALIZADA</b></font></div><br>\n|;
>>>>>> close(LOG);
>>>>>>
>>>>>> open(LOG,">$CAMPO{tema}"."_"."$log2");
>>>>>> print LOG qq|<br><div align="center"><font class="texto"><b>REUNIÃO
>>>>>> FINALIZADA</b></font></div><br>\n|;
>>>>>> close(LOG);
>>>>>>
>>>>>> print qq|
>>>>>> <body
>>>>>> onLoad="this.location.href('?principal2=$CAMPO{tema}-$CAMPO{login}')">
>>>>>> |;
>>>>>> }else{
>>>>>>
>>>>>> open(LOG,"$CAMPO{tema}"."_"."$log");
>>>>>> @log = <LOG>;
>>>>>> close(LOG);
>>>>>> $r = "0";
>>>>>> foreach (@log){
>>>>>> chomp;
>>>>>> if($_ eq "<br><div align=\"center\"><font class=\"texto\"><b>REUNIÃO
>>>>>> FINALIZADA</b></font></div><br>"){
>>>>>> $r = "1";
>>>>>> }}
>>>>>>
>>>>>> if ($r eq "1"){
>>>>>> print qq|
>>>>>> <body
>>>>>> onLoad="this.location.href('?principal2=$CAMPO{tema}-$CAMPO{login}')">
>>>>>> |;
>>>>>> }else{
>>>>>>
>>>>>> open(LOG,">>$CAMPO{tema}"."_"."$log");
>>>>>> print LOG qq|<font class="texto"><i>($data)</i>  
>>>>>> <b>$CAMPO{login}</b>  <i>diz</i>    $CAMPO{msg}</font><br>\n|;
>>>>>> close(LOG);
>>>>>> open(LOG,">>$CAMPO{tema}"."_"."$log2");
>>>>>> print LOG qq|<font class="texto"><i>($data)</i>  
>>>>>> <b>$CAMPO{login}</b>  <i>diz</i>    $CAMPO{msg}</font><br>\n|;
>>>>>> close(LOG);
>>>>>> print qq|
>>>>>> <body
>>>>>> onLoad="this.location.href('?principal2=$CAMPO{tema}-$CAMPO{login}')">
>>>>>> |;}}}}
>>>>>>
>>>>>> if ($qs =~ /imprimir/){
>>>>>> &imprimir;
>>>>>> }
>>>>>>
>>>>>> if ($qs =~ /logout/){
>>>>>> &logout;
>>>>>> }
>>>>>>
>>>>>> if ($qs =~ /principal/){
>>>>>> &principal;
>>>>>> }
>>>>>>
>>>>>> if ($qs =~ /principal2/){
>>>>>> &principal2;
>>>>>> }
>>>>>>
>>>>>> if ($qs =~ /todas/){
>>>>>> &todas;
>>>>>> }
>>>>>>
>>>>>> sub data{
>>>>>> ($seg,$min,$hr,$dia,$mes,$ano) = localtime();
>>>>>> if ($hr < "10"){$hr = "0$hr";}
>>>>>> if ($min < "10"){$min = "0$min";}
>>>>>> if ($seg < "10"){$seg = "0$seg";}
>>>>>>
>>>>>> @mes =
>>>>>> ("janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro");
>>>>>> $ano = 1900+$ano;
>>>>>>
>>>>>> $data  = "$hr:$min:$seg, $dia de @mes[$mes] de $ano";
>>>>>> }
>>>>>>
>>>>>> sub fim{
>>>>>> open(FIM,"$fim");
>>>>>> @fim=<FIM>;
>>>>>> close(FIM);
>>>>>> print "@fim";
>>>>>> }
>>>>>>
>>>>>> sub imprimir {
>>>>>> $qs =~ s/imprimir=//;
>>>>>> $qs =~ tr/+/ /;
>>>>>> $qs =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
>>>>>>
>>>>>> open (LOG,"$qs"."_"."$log");
>>>>>> @log = <LOG>;
>>>>>> close(LOG);
>>>>>>
>>>>>> print qq|
>>>>>> <html>
>>>>>> <head>
>>>>>> <title>$titulo</title>
>>>>>> @style
>>>>>> </head>
>>>>>> <body onload="this.window.print()">
>>>>>> @log
>>>>>> </body>
>>>>>> |;}
>>>>>>
>>>>>> sub logout{
>>>>>> $qs =~ s/logout=//gi;
>>>>>> ($login,$tema) = split (/-/,$qs);
>>>>>> $login =~ tr/+/ /;
>>>>>> $login =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
>>>>>> $tema =~ tr/+/ /;
>>>>>> $tema =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
>>>>>>
>>>>>> open(LOG,">>$tema"."_"."$log2");
>>>>>> print LOG qq|<font class="texto"><i>($data)</i>   <b>$login</b>
>>>>>> saiu da sala</b></font><br>\n|;
>>>>>> close(LOG);
>>>>>>
>>>>>> open(LOG,">>$tema"."_"."$log");
>>>>>> print LOG qq|<font class="texto"><i>($data)</i>   <b>$login</b>
>>>>>> saiu da sala</b></font><br>\n|;
>>>>>> close(LOG);
>>>>>>
>>>>>> open(ONLINE,"$tema"."_"."$online");
>>>>>> @online = <ONLINE>;
>>>>>> close(ONLINE);
>>>>>>
>>>>>> @on = @online;
>>>>>> foreach (@on){
>>>>>> chomp;
>>>>>> if ($_ =~ /%$login%/){
>>>>>> s/$_//;
>>>>>> }}
>>>>>>
>>>>>> open(ONLINE,">$tema"."_"."$online");
>>>>>> print ONLINE qq|@on|;
>>>>>> close(ONLINE);
>>>>>>
>>>>>> open(ONLINE,"$tema"."_"."$online");
>>>>>> @online = <ONLINE>;
>>>>>> close(ONLINE);
>>>>>>
>>>>>> if (length ("@online") eq "0"){
>>>>>> unlink("$tema"."_"."$master");  ######################### aqui
>>>>>> elimina os arquivos de trabalho ###################################
>>>>>> unlink("$tema"."_"."$online");  #################   não está sendo
>>>>>> executado no edge    ###########################################
>>>>>> unlink("$tema"."_"."$log2");
>>>>>> unlink("$tema"."_"."$log");
>>>>>> }else{}
>>>>>>
>>>>>> print qq|
>>>>>> <html>
>>>>>> <head>
>>>>>> <title>$titulo</title>
>>>>>> <meta http-equiv="Content-Type" content="text/html;
>>>>>> charset=iso-8859-1">
>>>>>> <script language="JavaScript">
>>>>>> function Logout(){
>>>>>> this.window.close()
>>>>>> }
>>>>>> </script>
>>>>>> </head>
>>>>>> <body onload="javascript:Logout()">
>>>>>> </body>
>>>>>> </html>
>>>>>> |;}
>>>>>>
>>>>>> sub msg{
>>>>>> $qs =~ tr/+/ /;
>>>>>> $qs =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
>>>>>> open (LOG, "$qs"."_"."$log2");
>>>>>> @log = <LOG>;
>>>>>> close(LOG);
>>>>>>
>>>>>> $finalizado = "0";
>>>>>>
>>>>>> foreach (@log){
>>>>>> chomp;
>>>>>> print $_;
>>>>>> if ($_ eq "REUNIÃO FINALIZADA"){
>>>>>> $finalizado = "1";
>>>>>> }}
>>>>>>
>>>>>> print qq|
>>>>>> <script language="JavaScript">
>>>>>> function Imprimir(){
>>>>>> altura =690;
>>>>>> largura= 1090;
>>>>>> l = (screen.width - largura)/2;
>>>>>> t = (screen.height - altura - 50)/2;
>>>>>> window.open("?imprimir=$CAMPO{tema}","","scrollbars,height="+altura+",width="+largura+",top="+t+",left="+l);
>>>>>>
>>>>>> }
>>>>>> function unLoad(){
>>>>>>
>>>>>> window.open("?logout=$CAMPO{login}-$CAMPO{tema}","","width=80,height=80")
>>>>>> }
>>>>>> </script>
>>>>>> <body onunLoad="unLoad()">
>>>>>> <table>
>>>>>> <tr><td>
>>>>>> <font class="texto1"><b> Usuário:
>>>>>> $CAMPO{login}</b></font>        
>>>>>> </td><td>
>>>>>>  <font class="texto1"><b> Tema: $CAMPO{tema}<br></b></font>
>>>>>> </td><td>
>>>>>>          <img
>>>>>> src="/reuniao/imagem/calculadora.gif" onClick="calculadora()" WIDTH="18"
>>>>>> HEIGHT="22" style="cursor:pointer" title ="Calculadora financeira">
>>>>>> </td><td>
>>>>>>          <img
>>>>>> src="/reuniao/imagem/Email.gif" onClick="email()" WIDTH="24" HEIGHT="20"
>>>>>> style="cursor:pointer" title ="Correspondência interna">
>>>>>> </td><td>
>>>>>>          <img
>>>>>> src="/reuniao/imagem/acessorio.gif" onClick="acessorio()" WIDTH="24"
>>>>>> HEIGHT="20" style="cursor:pointer" title ="Acessórios">
>>>>>> </td><TD>
>>>>>>          <img
>>>>>> src="/reuniao/imagem/alarme.gif" onClick="alarme()" WIDTH="24" HEIGHT="20"
>>>>>> style="cursor:pointer" title ="Alarme">
>>>>>> </td></tr></table>
>>>>>> <iframe align="middle" src="?todas=$CAMPO{tema}" name="iframe"
>>>>>> width="1010" height="480" style="overlap:auto"></iframe>
>>>>>> <iframe align="middle" src="?principal2=$CAMPO{tema}-$CAMPO{login}"
>>>>>> name="iframe2" width="1010" height="75" style="overlap:auto"></iframe>
>>>>>> <table>
>>>>>> <tr>
>>>>>> <td><input type="button" class="botao" value="Ata de reunião"
>>>>>> onClick="javascript:Imprimir()"
>>>>>> STYLE='cursor:pointer;font-weight:bold'></td>
>>>>>> <td> </td>
>>>>>> <td><div align="right">
>>>>>> <input type="button" class="botao2" value="Sair da Sala"
>>>>>> onClick="javascript:window.close()"
>>>>>> STYLE='cursor:pointer;font-weight:bold'></div></td>
>>>>>> <td> </td>
>>>>>> |;
>>>>>>
>>>>>> if($a eq "1"){print qq|<td><div align="center">
>>>>>> <form name="form" method="post" action="?escreve2" target="iframe2">
>>>>>>             <input name="msg"    type="hidden" size="80"
>>>>>> class="campo" value="REUNIÃO FINALIZADA">
>>>>>>             <input name="login"  type="hidden" class="campo"
>>>>>> value="$CAMPO{login}">
>>>>>>             <input name="tema"   type="hidden" class="campo"
>>>>>> value="$CAMPO{tema}">
>>>>>>             <input type="submit" value="Encerrar Reunião"
>>>>>> class="botao" STYLE='cursor: pointer;font-weight:bold'>
>>>>>> </form>
>>>>>> </div>
>>>>>> </div></td></tr>|;}print qq|</table><br>|;}
>>>>>>
>>>>>> sub principal{
>>>>>> $qs =~ s/principal=//;
>>>>>> $qs =~ tr/+/ /;
>>>>>> $qs =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
>>>>>>
>>>>>> open (LOG, $qs."_".$log2);
>>>>>> @log = <LOG>;
>>>>>> close(LOG);
>>>>>>
>>>>>> $finalizado = "0";
>>>>>>
>>>>>> foreach (@log){
>>>>>> chomp;
>>>>>> if ($_ eq "REUNIÃO FINALIZADA"){
>>>>>> $finalizado = "1";
>>>>>> }}
>>>>>> if ($finalizado eq "1"){print qq|
>>>>>> <font class="texto">
>>>>>> A REUNIÃO FOI FINALIZADA. VOCÊ PODE IMPRIMIR OU VISUALIZAR O RELATÓRIO
>>>>>> </font>|;
>>>>>>
>>>>>> }else{print qq|
>>>>>> <html>
>>>>>> <head>
>>>>>>
>>>>>> @style
>>>>>> <script language="JavaScript">
>>>>>> <!--
>>>>>>    function scroll() {
>>>>>>      if( document.body && document.body.clientHeight ) {
>>>>>>        window.innerHeight = document.body.clientHeight
>>>>>>      }
>>>>>>      window.scrollTo( 0, (window.innerHeight/0.1) )
>>>>>>    }
>>>>>>
>>>>>>     function focus(){
>>>>>>       document.form.msg.focus()
>>>>>>     }
>>>>>>
>>>>>>     function enter(string){
>>>>>>              insertAtCaret(document.form.msg,string);
>>>>>>              focus()
>>>>>>     }
>>>>>>
>>>>>>    function insertAtCaret (textObj, textFeildValue) {
>>>>>>        if(document.all){
>>>>>>             if (textObj.createTextRange && textObj.caretPos) {
>>>>>>                 var caretPos = textObj.caretPos;
>>>>>>                 caretPos.text =
>>>>>> caretPos.text.charAt(caretPos.text.length - 1) == ' ' ?textFeildValue + ' '
>>>>>> : textFeildValue;
>>>>>>             }else{
>>>>>>                 textObj.value = textFeildValue;
>>>>>>             }
>>>>>>       }else{
>>>>>>             if(textObj.setSelectionRange){
>>>>>>                var rangeStart = textObj.selectionStart;
>>>>>>                var rangeEnd = textObj.selectionEnd;
>>>>>>                var tempStr1 = textObj.value.substring(0,rangeStart);
>>>>>>                var tempStr2 = textObj.value.substring(rangeEnd);
>>>>>>                textObj.value = tempStr1 + textFeildValue + tempStr2;
>>>>>>            }else{
>>>>>>                alert("Esta versão do navegador não suporta
>>>>>> setSelectionRange");
>>>>>>            }
>>>>>>      }
>>>>>>   }
>>>>>>
>>>>>>    function clear_field(){
>>>>>>       document.form.msg.value = ''
>>>>>>       document.form.msg.focus()
>>>>>>       document.form.msg.select()
>>>>>>    }
>>>>>>
>>>>>>    function anexar(){
>>>>>>              altura = 450;
>>>>>>              largura= 700;
>>>>>>              l = (screen.width - largura)/2;
>>>>>>              t = (screen.height - altura - 50)/2;
>>>>>>              var html =  '<HTML><HEAD><TITLE></TITLE>'
>>>>>>                  html += '</HEAD><BODY
>>>>>> background="/reuniao/imagem/papel.jpg"  TEXT="#000066">'
>>>>>>                  html += '<BR><BR><BR><table
>>>>>> align=center><tr><th><h3><label style="color: white; text-shadow: 1px 2px
>>>>>> 4px #000, 0 0 0 #000, 2px 4px 6px #000">Apresentar documento como
>>>>>> anexo</label></h3></th></tr></table><br><br>'
>>>>>>                  html += '<FORM NAME="anexo" METHOD="POST"
>>>>>> ACTION="/reuniao/temp/upload.plx" ENCTYPE="multipart/form-data">'
>>>>>>                  html += '<br>'
>>>>>>                  html += '<TABLE align=center>'
>>>>>>                  html += '<tr>'
>>>>>>                  html += '<td><input type="file" name="arquivo"
>>>>>> size="60" maxlength="90"></td>'
>>>>>>                  html += '</tr>'
>>>>>>                  html += '</table>'
>>>>>>                  html += '<br><br><br>'
>>>>>>                  html += '<TABLE align=center>'
>>>>>>                  html += '<tr>'
>>>>>>                  html += '<td bgcolor=#ADB6C6><input type="submit"
>>>>>> value="    Processa    " style="color: white; text-shadow: 1px 2px 4px
>>>>>> #000, 0 0 0 #000, 2px 4px 6px #000"></td>'
>>>>>>                  html += '</TR>'
>>>>>>                  html += '</table>'
>>>>>>                  html += '</form>'
>>>>>>                  html += '</body>'
>>>>>>                  html += '</html>'
>>>>>>              var newWindow =
>>>>>> window.open("","","scrollbars=no,menubar=no,height="+altura+",width="+largura+",top="+t+",left="+l)
>>>>>>              newWindow.document.write(html)
>>>>>>              newWindow.document.close()
>>>>>>              focus()
>>>>>>              return false
>>>>>>    }
>>>>>>
>>>>>>    function publicar(){
>>>>>>              altura = 450;
>>>>>>              largura= 700;
>>>>>>              l = (screen.width - largura)/2;
>>>>>>              t = (screen.height - altura - 50)/2;
>>>>>>              var html =  '<HTML><HEAD><TITLE></TITLE>'
>>>>>>                  html += '</HEAD><BODY
>>>>>> background="/reuniao/imagem/papel.jpg"  TEXT="#ffffff">'
>>>>>>                  html += '<BR><BR><BR><table
>>>>>> align=center><tr><th><h3><label style="color: white; text-shadow: 1px 2px
>>>>>> 4px #000, 0 0 0 #000, 2px 4px 6px #000">Ponto de publicação
>>>>>> web</label></h3></th></tr></table><br><br>'
>>>>>>                  html += '<FORM NAME="publica" METHOD="POST"
>>>>>> ACTION="/reuniao/temp/publica.plx">'
>>>>>>                  html += '<br>'
>>>>>>                  html += '<TABLE align=center>'
>>>>>>                  html += '<tr>'
>>>>>>                  html += '<td><input type="text" name="http"
>>>>>> size="60" maxlength="90" value = "http://"></td>'
>>>>>>                  html += '</tr>'
>>>>>>                  html += '</table>'
>>>>>>                  html += '<br><br><br>'
>>>>>>                  html += '<TABLE align=center>'
>>>>>>                  html += '<tr>'
>>>>>>                  html += '<td bgcolor=#ADB6C6><input type="submit"
>>>>>> value="    Processa    " style="color: white; text-shadow: 1px 2px 4px
>>>>>> #000, 0 0 0 #000, 2px 4px 6px #000"></td>'
>>>>>>                  html += '</TR>'
>>>>>>                  html += '</table>'
>>>>>>                  html += '</form>'
>>>>>>                  html += '</body>'
>>>>>>                  html += '</html>'
>>>>>>              var newWindow =
>>>>>> window.open("","","scrollbars=no,menubar=no,height="+altura+",width="+largura+",top="+t+",left="+l)
>>>>>>              newWindow.document.write(html)
>>>>>>              newWindow.document.close()
>>>>>>              focus()
>>>>>>              return false
>>>>>>    }
>>>>>>
>>>>>>   function showMsgHelp() {
>>>>>>       alert("                            SALA DE REUNIÃO
>>>>>> ONLINE\\n\\nMensagem -> Campo alfa numérico com tamanho de 300 caracteres e
>>>>>> diferente de espaço.\\n\\nNota - É recomendável que uma linha de mensagem
>>>>>> tenha no máximo 80 caracteres visando dar maior clareza no relatório ATA DE
>>>>>> REUNIÃO.\\n\\nTAGS ESPECIAIS PARA FORMATAÇÃO DE TEXTO\\n\\n<br> - Salto de
>>>>>> linha\\n<p> - Salto de parágrafo\\n<b>texto</b> - Texto em negrito\\n<font
>>>>>> size=4>texto</font> - Texto com fonte igual a 4 pixel\\n<font
>>>>>> color=red>texto</font> - Texto com cor em vermelho\\n<i>texto</i> - Texto
>>>>>> em itálico\\n<u>texto</u> - Texto sublinhado\\n<sub>texto</sub> - Texto
>>>>>> subscrito\\n<sup>texto</sup> - Texto
>>>>>> sobrescrito\\n<ol><li>texto1<li>texto2<li>texto3</ol> - Lista numérica dos
>>>>>> textos\\n<li>texto1<li>texto2<li>texto3 - Marcação dos textos\\n\\nNota -
>>>>>> Os parâmetros de formatação de texto podem ser utilizados
>>>>>> simultaneamente.\\n\\n                EXEMPLO DE UTILIZAÇÃO\\n\\nOlá sr(s)
>>>>>> , bom dia a todos<br>Vamos dicurtir a <font size=3 color=red><b>Aquisição
>>>>>> do imóvel em São Paulo.</b></font><br>O Paulo vai nos descrever as
>>>>>> alternativas que dispomos.\\n\\n\\nFUNÇÕES ESPECIAIS PARA FORMATAÇÃO DE
>>>>>> TEXTO\\n\\nLimpa -      Move espaço para o campo mensagem\\nLinha -
>>>>>> Move <br> para o campo mensagem para quebrar linha\\nLista -        Move
>>>>>> marcador <li> para o campo mensagem com salto de linha\\nNumérico Move
>>>>>> marcador <ol> para o campo mensagem\\nCola -        Coloca texto da área de
>>>>>> transferência no campo mensagem\\nAnexa -     Disponibiliza documento como
>>>>>> um anexo para apresentação\\nPublica -   Disponibiliza um link de acesso
>>>>>> referente a uma publicação na internet\\nRealça -    Evidência uma parte do
>>>>>> texto selecionado no campo mensagem\\nSublinha - Realça um texto
>>>>>> selecionado no campo mensagem sublinhando-o")
>>>>>>       event.cancelBubble = true
>>>>>>       return false
>>>>>>   }
>>>>>>
>>>>>> //-->
>>>>>> </script>
>>>>>> </head>
>>>>>> <body>
>>>>>> @log
>>>>>> </body>
>>>>>> </html>|;
>>>>>> }}
>>>>>>
>>>>>> sub principal2 {
>>>>>> $qs =~ s/principal2=//;
>>>>>> ($tema,$login) = split (/-/,$qs);
>>>>>> $tema =~ tr/+/ /;
>>>>>> $tema =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
>>>>>> $login =~ tr/+/ /;
>>>>>> $login =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
>>>>>>
>>>>>> print qq|
>>>>>> @style
>>>>>>
>>>>>> <body  onLoad="document.form.msg.focus()" onHelp="return
>>>>>> showMsgHelp()" class="table3" leftmargin="0" topmargin="0" marginwidth="0"
>>>>>> marginheight="0">
>>>>>> <div align="center">
>>>>>> <table>
>>>>>>   <tr>
>>>>>>     <td>  </td>
>>>>>>     <td bgcolor='lightsteelblue'><img src="/reuniao/imagem/clear.png"
>>>>>> onClick="clear_field()"   WIDTH="24" HEIGHT="20" style="cursor:pointer"
>>>>>> title ="Limpar campo mensagem"  STYLE='cursor: pointer; font-family: Arial,
>>>>>> Helvetica, sans-serif; font-size: 10px; border-width:
>>>>>> 2;color:#003366;border-style:outset;font-weight:600'></td>
>>>>>>     <td bgcolor='lightsteelblue'><img src="/reuniao/imagem/linha.png"
>>>>>> onClick="enter('<br>')"   WIDTH="20" HEIGHT="20" style="cursor:pointer"
>>>>>> title ="Salto de linha"  STYLE='cursor: pointer; font-family: Arial,
>>>>>> Helvetica, sans-serif; font-size: 10px; border-width:
>>>>>> 2;color:#003366;border-style:outset;font-weight:600'></td>
>>>>>>     <td bgcolor='lightsteelblue'><img src="/reuniao/imagem/lista.gif"
>>>>>> onClick="enter('<li>')"   WIDTH="20" HEIGHT="20" style="cursor:pointer"
>>>>>> title ="Marcador de lista"  STYLE='cursor: pointer; font-family: Arial,
>>>>>> Helvetica, sans-serif; font-size: 10px; border-width:
>>>>>> 2;color:#003366;border-style:outset;font-weight:600'></td>
>>>>>>     <td bgcolor='lightsteelblue'><img src="/reuniao/imagem/nlist.gif"
>>>>>> onClick="enter('<ol>')"   WIDTH="20" HEIGHT="20" style="cursor:pointer"
>>>>>> title ="Marcador numérico"  STYLE='cursor: pointer; font-family: Arial,
>>>>>> Helvetica, sans-serif; font-size: 10px; border-width:
>>>>>> 2;color:#003366;border-style:outset;font-weight:600'></td>
>>>>>>     <td bgcolor='lightsteelblue'><input type="button" value="  Á
>>>>>> "    onClick="enter('Á')"    STYLE='cursor: pointer; font-family: Arial,
>>>>>> Helvetica, sans-serif; font-size: 10px; border-width:
>>>>>> 2;color:#003366;font-weight:600'></td>
>>>>>>     <td bgcolor='lightsteelblue'><input type="button" value="  á
>>>>>> "    onClick="enter('á')"    STYLE='cursor: pointer; font-family: Arial,
>>>>>> Helvetica, sans-serif; font-size: 10px; border-width:
>>>>>> 2;color:#003366;font-weight:600'></td>
>>>>>>     <td bgcolor='lightsteelblue'><input type="button" value="  à
>>>>>> "    onClick="enter('à')"    STYLE='cursor: pointer; font-family: Arial,
>>>>>> Helvetica, sans-serif; font-size: 10px; border-width:
>>>>>> 2;color:#003366;font-weight:600'></td>
>>>>>>     <td bgcolor='lightsteelblue'><input type="button" value="  ã
>>>>>> "    onClick="enter('ã')"    STYLE='cursor: pointer; font-family: Arial,
>>>>>> Helvetica, sans-serif; font-size: 10px; border-width:
>>>>>> 2;color:#003366;font-weight:600'></td>
>>>>>>     <td bgcolor='lightsteelblue'><input type="button" value="  â
>>>>>> "    onClick="enter('â')"    STYLE='cursor: pointer; font-family: Arial,
>>>>>> Helvetica, sans-serif; font-size: 10px; border-width:
>>>>>> 2;color:#003366;font-weight:600'></td>
>>>>>>     <td bgcolor='lightsteelblue'><input type="button" value="  É
>>>>>> "    onClick="enter('É')"    STYLE='cursor: pointer; font-family: Arial,
>>>>>> Helvetica, sans-serif; font-size: 10px; border-width:
>>>>>> 2;color:#003366;font-weight:600'></td>
>>>>>>     <td bgcolor='lightsteelblue'><input type="button" value="  é
>>>>>> "    onClick="enter('é')"    STYLE='cursor: pointer; font-family: Arial,
>>>>>> Helvetica, sans-serif; font-size: 10px; border-width:
>>>>>> 2;color:#003366;font-weight:600'></td>
>>>>>>     <td bgcolor='lightsteelblue'><input type="button" value="  ê
>>>>>> "    onClick="enter('ê')"    STYLE='cursor: pointer; font-family: Arial,
>>>>>> Helvetica, sans-serif; font-size: 10px; border-width:
>>>>>> 2;color:#003366;font-weight:600'></td>
>>>>>>     <td bgcolor='lightsteelblue'><input type="button" value="  í
>>>>>> "    onClick="enter('í')"    STYLE='cursor: pointer; font-family: Arial,
>>>>>> Helvetica, sans-serif; font-size: 10px; border-width:
>>>>>> 2;color:#003366;font-weight:600'></td>
>>>>>>     <td bgcolor='lightsteelblue'><input type="button" value="  õ
>>>>>> "    onClick="enter('õ')"    STYLE='cursor: pointer; font-family: Arial,
>>>>>> Helvetica, sans-serif; font-size: 10px; border-width:
>>>>>> 2;color:#003366;font-weight:600'></td>
>>>>>>     <td bgcolor='lightsteelblue'><input type="button" value="  ó
>>>>>> "    onClick="enter('ó')"    STYLE='cursor: pointer; font-family: Arial,
>>>>>> Helvetica, sans-serif; font-size: 10px; border-width:
>>>>>> 2;color:#003366;font-weight:600'></td>
>>>>>>     <td bgcolor='lightsteelblue'><input type="button" value="  ô
>>>>>> "    onClick="enter('ô')"    STYLE='cursor: pointer; font-family: Arial,
>>>>>> Helvetica, sans-serif; font-size: 10px; border-width:
>>>>>> 2;color:#003366;font-weight:600'></td>
>>>>>>     <td bgcolor='lightsteelblue'><input type="button" value="  ú
>>>>>> "    onClick="enter('ú')"    STYLE='cursor: pointer; font-family: Arial,
>>>>>> Helvetica, sans-serif; font-size: 10px; border-width:
>>>>>> 2;color:#003366;font-weight:600'></td>
>>>>>>     <td bgcolor='lightsteelblue'><input type="button" value="  Ç
>>>>>> "    onClick="enter('Ç')"    STYLE='cursor: pointer; font-family: Arial,
>>>>>> Helvetica, sans-serif; font-size: 10px; border-width:
>>>>>> 2;color:#003366;font-weight:600'></td>
>>>>>>     <td bgcolor='lightsteelblue'><input type="button" value="  ç
>>>>>> "    onClick="enter('ç')"    STYLE='cursor: pointer; font-family: Arial,
>>>>>> Helvetica, sans-serif; font-size: 10px; border-width:
>>>>>> 2;color:#003366;font-weight:600'></td>
>>>>>>     <td bgcolor='lightsteelblue'><img
>>>>>> src="/reuniao/imagem/anexo.png"   onClick="anexar()"      WIDTH="20"
>>>>>> HEIGHT="20" style="cursor:pointer" title ="Anexar docto"  STYLE='cursor:
>>>>>> pointer; font-family: Arial, Helvetica, sans-serif; font-size: 10px;
>>>>>> border-width: 2;color:#003366;border-style:outset;font-weight:600'></td>
>>>>>>     <td bgcolor='lightsteelblue'><img
>>>>>> src="/reuniao/imagem/wlink.gif"   onClick="publicar()"    WIDTH="20"
>>>>>> HEIGHT="20" style="cursor:pointer" title ="Publicar um link da internet"
>>>>>> STYLE='cursor: hand; font-family: Arial, Helvetica, sans-serif; font-size:
>>>>>> 10px; border-width:
>>>>>> 2;color:#003366;border-style:outset;font-weight:600'></td>
>>>>>>     <td bgcolor='lightsteelblue'><img
>>>>>> src="/reuniao/imagem/help.gif"    onClick="showMsgHelp()" WIDTH="18"
>>>>>> HEIGHT="18" style="cursor:pointer" title ="Ajuda do sistema"
>>>>>> STYLE='cursor: pointer; font-family: Arial, Helvetica, sans-serif;
>>>>>> font-size: 10px; border-width:
>>>>>> 2;color:#003366;border-style:outset;font-weight:600'></td>
>>>>>> </tr>
>>>>>> </table><br>
>>>>>> <table  align="center">
>>>>>>   <tr>
>>>>>>     <td class="texto"><form name="form" method="post"
>>>>>> action="?escreve2">
>>>>>>           <div align="center"><b><font size=2><label
>>>>>> class='sombra'>  Mensagem   </label></b></fonte>
>>>>>>             <input name="msg"     type="text"      class="campo"
>>>>>> size="120" maxlength="300" onHelp="return showMsgHelp()">
>>>>>>             <input name="login"   type="hidden"    class="campo"
>>>>>> value="$login">
>>>>>>             <input name="tema"    type="hidden"    class="campo"
>>>>>> value="$tema">
>>>>>>             <input type="submit"  value="Enviar"   class="botao"
>>>>>> >
>>>>>>           </div>
>>>>>>     </td>
>>>>>>   </tr>
>>>>>> </table>
>>>>>> </form>
>>>>>> </div>
>>>>>> </body>
>>>>>> |;}
>>>>>>
>>>>>> sub style{
>>>>>> open(STYLE, "$estilos");
>>>>>> @style = <STYLE>;
>>>>>> close(STYLE);
>>>>>> }
>>>>>>
>>>>>> sub todas{
>>>>>> $qs =~ s/todas=//;
>>>>>> $qs =~ tr/+/ /;
>>>>>> $qs =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
>>>>>>
>>>>>> open (LOG, $qs."_".$log);
>>>>>> @log = <LOG>;
>>>>>> close(LOG);
>>>>>>
>>>>>> print qq|
>>>>>> <meta http-equiv="refresh" content="5,?todas"/> #####################
>>>>>> aqui reenvia mensagens para os participantes #############################
>>>>>> @style
>>>>>> <script>
>>>>>> <!--
>>>>>>   function rolar() {
>>>>>>     if( document.body && document.body.clientHeight ) {
>>>>>>       window.innerHeight = document.body.clientHeight
>>>>>>     }
>>>>>>     window.scrollTo( 0, (window.innerHeight/0.1) );
>>>>>>   }
>>>>>> //-->
>>>>>> </script>
>>>>>> <body onLoad="javascript:rolar()">
>>>>>> @log|;}
>>>>>>
>>>>>> sub topo{
>>>>>> open(TOPO,"$topo");
>>>>>> @topo=<TOPO>;
>>>>>> close(TOPO);
>>>>>> print "@topo";
>>>>>> }
>>>>>>
>>>>>> =begin disclaimer
>>>>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>> =end disclaimer
>>>>>>
>>>>>>
>>>>>
>>>>> =begin disclaimer
>>>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>> =end disclaimer
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Thank you very much!
>>>>
>>>> -dom
>>>>
>>>> --
>>>>
>>>> Daniel de Oliveira Mantovani
>>>> Business Analytic Specialist
>>>> Perl Evangelist /Astrophysics hobbyist.
>>>> +55 11 9 8538-9897
>>>> XOXO
>>>>
>>>
>>>
>>>
>>> --
>>> Thank you very much!
>>>
>>> -dom
>>>
>>> --
>>>
>>> Daniel de Oliveira Mantovani
>>> Business Analytic Specialist
>>> Perl Evangelist /Astrophysics hobbyist.
>>> +55 11 9 8538-9897
>>> XOXO
>>> ------------------------------
>>> =begin disclaimer
>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>> =end disclaimer
>>> ------------------------------
>>> =begin disclaimer
>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>> =end disclaimer
>>> ------------------------------
>>> =begin disclaimer
>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>> =end disclaimer
>>>
>>> =begin disclaimer
>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>> =end disclaimer
>>>
>>>
>>
>>
>> --
>> Thank you very much!
>>
>> -dom
>>
>> --
>>
>> Daniel de Oliveira Mantovani
>> Business Analytic Specialist
>> Perl Evangelist /Astrophysics hobbyist.
>> +55 11 9 8538-9897
>> XOXO
>>
>> =begin disclaimer
>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>>
>> ------------------------------
> =begin disclaimer
>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>
> =begin disclaimer
>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>


-- 
YAGNI,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron <http://twitter.com/#!/renato_cron>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20160112/99d0b797/attachment-0001.html>


More information about the SaoPaulo-pm mailing list