[SP-pm] script perl no windows 10

kleber caetano payback at hotmail.com.br
Mon Jan 11 11:26:57 PST 2016


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";
}
-------------- Pr�xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20160111/71d8e501/attachment-0001.html>


More information about the SaoPaulo-pm mailing list