[SP-pm] script perl no windows 10
Lucas Mateus
lucasmateus.oliveira at gmail.com
Mon Jan 11 15:26:01 PST 2016
Kleber, de fato é muito difícil te ajudar sem o ambiente propício para
teste e debug. Se estiver disposto, use o SocketIO se começar agora VC
implementa um chat descente em 2h te garanto.
Em 11 de jan de 2016 9:16 PM, "Daniel de Oliveira Mantovani" <
daniel.oliveira.mantovani em gmail.com> escreveu:
> Opa Kleber, desculpa se eu passei a mensagem errada. Na verdade, o que eu
> quis dizer é que independente da qualidade do seu software, hoje existem
> muitas opções de softwares/serviços maduros gratuitos. Apenas se existisse
> uma regra de negócio "fora de série", seria justificável. Inclusive,
> existem ótimas opções que oferecerem a possibilidade do usuário se conectar
> através do aparelho telefônico móvel. Você por exemplo pode criar um canal
> de IRC criptografado e com senha, onde os usuários podem escolher o
> aplicativo do aparelho telefônico móvel que mais lhe agrada.
>
> Eu entendo a sua "perspicácia" em achar esse grupo específico de
> programadores Perl, independente da fonte. Porém, a nossa lista é parecida
> com uma lista de especialistas/apaixonados em/por carros. Onde as pessoas
> perguntam, "Qual o melhor material para construir carros de Fórmula 1 que
> consigam aproveitar mais a chuva em temperaturas entre 10ºC~12ºC ?". E a
> sua pergunta foi, "Pessoal, olha esse carro aqui quebrou... Vocês podem
> arrumar pra mim de graça, por favor ?". Na verdade, você não precisa ser um
> especialista para unir-se a nós. Muita gente que está começando, felizmente
> também nos acha. Que foi o meu caso pessoal, eu queria entender um exploit
> que se eu me lembro bem derrubava servidores de Counter-Strike.
>
> Eu perfeitamente entendo que você não teve má intenção, por isso eu te
> convido à aprender Perl. Nós podemos te orientar em real-time no nosso
> canal de IRC, #sao-paulo.pm irc.perl.org 24H//7 (Nem sempre a resposta é
> imediata, mas é um ambiente colaborativo onde todos são muito bem vindos.
> Nós temos bastante conteúdo em português, incluindo artigo, manuais, livros
> etc.)
>
> Seja muito bem-vindo!
>
>
> 2016-01-11 20:35 GMT-02:00 kleber caetano <payback em 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 em hotmail.com.br>
>> *Sent:* Monday, January 11, 2016 8:09 PM
>> *To:* saopaulo-pm em 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 em hotmail.com.br>
>> *Sent:* Monday, January 11, 2016 7:16 PM
>> *To:* saopaulo-pm em 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 em gmail.com>
>> *Sent:* Monday, January 11, 2016 6:12 PM
>> *To:* saopaulo-pm em 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 em 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 em 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 em 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 em 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 em 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 em 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 em 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 em 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 em pm.org
>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>>
>>
>
>
> --
> Thank you very much!
>
> -dom
>
> --
>
> Daniel de Oliveira Mantovani
> Business Analytic Specialist
> Perl Evangelist /Astrophysics hobbyist.
> +55 11 9 8538-9897
> XOXO
>
> =begin disclaimer
> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
> SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>
-------------- Pr�xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20160111/52501d7d/attachment-0001.html>
More information about the SaoPaulo-pm
mailing list