[SP-pm] script perl no windows 10
Daniel de Oliveira Mantovani
daniel.oliveira.mantovani at gmail.com
Mon Jan 11 15:15:52 PST 2016
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20160111/2edb894f/attachment-0001.html>
More information about the SaoPaulo-pm
mailing list