[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