#!/bin/perl -w -T
#  Generar popup de aviso para los de IE
#  Versión Perl por Daniel Clemente.
#  Ésta es la versión 2, Septiembre 2005 (y esta vez ya sé Perl).
#  La 1 está en genpopup1.html, es de Julio 2004
#  
#  Esto es GPL.
#  Se necesita: popup.t2t, txt2tags.   dislines no es necesario, pero muy útil
#
#  

#use strict;
# no está en mi chroot




my ($buffer, @pairs, $pair, %FORM);


# filtrar entrada
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
#print STDERR "He leído array @pairs \n";

foreach $pair (@pairs) {
        my ($name, $value) = split(/=/, $pair);
        $value =~ tr/+/ /;
        $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
        $value =~ s/<([^>]|\n)*>//g; 
        $value =~ s/<//g;
        $value =~ s/>//g;
        $FORM{$name} = $value;
#	print STDERR "FORM de $name vale $value\n";
}



#my $orden = substr($FORM{'orden'},0,10);
#$orden =~ s/\D//g;

my ($orden) =  $FORM{'orden'} =~ /^(\d{0,10})/;
$orden||='';

#print STDERR "Orden: $orden\n";

my %loc=(); # largo o corto. Se va a llenar con lo que hay en $FORM{o1,...}

for my $opc (1..5) {
	$loc{$opc}='';
	if (defined $FORM{"o$opc"}) {
		$loc{$opc}= ( $FORM{"o$opc"} eq 'c' ? 'c':'l' );
	}
}

undef %FORM;



my $TEMP="/tmp/genpopup.t2t";
my $DONDE_PYTHON="/bin/python";
my $DONDE_TXT2TAGS="/bin/txt2tags";

$ENV{'PATH'}=''; # los pondré absolutos


# Para probarlo fuera de mi servidor
# for my $a ( \($DONDE_PYTHON, $DONDE_TXT2TAGS) ) {$$a="/usr$$a";};
# Y esto para amarok:
$ENV{PYTHONPATH}=$ENV{PYTHONHOME}="/lib/python";



my @nom= (qw/ intr malo alts otrs coms /);




print <<'FINAL_TEXTO';
Content-type: text/plain; charset=utf-8



Popup creado. El código HTML está al final del archivo


-----------------------------------------------------------------------



 Código JavaScript para abrirlo 
================================


   Este código hace que el popup sólo se muestre a los que usan IE, y además
escribe un texto (por si tienen bloqueador de popups). Quita alguna
línea si no te gusta.
   Debes pegarlo en tu web después del <BODY> o donde quieras que salga el
mensaje.


-------------8<-------------------------8<--------------------

<SCRIPT TYPE="text/javascript">
<!--
var ua=navigator.userAgent;
if( ua.indexOf("MSIE")!=-1 && ua.indexOf("Opera")==-1 ) {
  document.write('<p>¿Aún usas Internet Explorer? '.
    'Pero si es de los peores... Te propongo que conozcas '.
    '<a href="popup.html">otros</a> que seguro que te gustan más. '.
    'Recuerda que <em>tu navegador tienes que elegirlo tú</em>.</p>');
  window.open('popup.html','aviso','status=yes,scrollbars=yes,resizable=yes');
}
-->
</SCRIPT>

-------------8<-------------------------8<--------------------



 Imágenes y CSS
================

   Descomprime este archivo en el mismo directorio en el que colocarás el
popup.html

http://www.danielclemente.com/navega/imagenes.tar.gz

   Puedes borrar las que no has usado.



 popup.html
============

   Recuerda adaptarlo a tu opinión; puedes modificarlo, pero recuerda que
el trabajo derivado también debe ser "documentación libre", licencia FDL.


popup.html desde aquí hasta el final (puede tardar en cargar):




FINAL_TEXTO



my @quiero=(); # etiquetas a extraer

push @quiero, 'cabe';

foreach my $car (split //,$orden) {
	
	my $tag=$nom[ $car - 1 ];
	$tag .= '-' . $loc{$car} ;
	push @quiero, $tag;

}

push @quiero,'firm-t';



# Pensaba usar http://www.danielclemente.com/dislines/
# pero esto valdrá:


#open (T2T,"|-",$DONDE_PYTHON,"-S",$DONDE_TXT2TAGS,"-o","/tmp/a","-i","-");
open (T2T,"|-",
"/bin/nice -n10 $DONDE_PYTHON -S $DONDE_TXT2TAGS -o - -i - ".
' --encoding=utf-8'.
( (grep /^coms-l$/,@quiero) ? ' --toc':'' )

);

open DI, "<", "../navega/popup.t2t";

while(<DI>){
	my $l=$_;
	if (    ( grep { $l=~/^\@{.*\b$_\b/ } @quiero   ).../^\@}/     ) {
		print T2T unless /^\@/;
	}
}
close DI;

close T2T;


# fin de todo



syntax highlighted by Code2HTML, v. 0.9.1