#!/usr/bin/perl use strict; use vars qw(%l11ll1lll %l1l1l1ll1 $llll11l1l $VERSION %l1ll1111l $l1111lll1 $lll1lll11 $lll11llll $ll1111l1l); use vars qw($ll1l11ll1 $ll1111l11 $llllll111 $l1l1l1l1l); ##### CONFIG ################################### $VERSION='3.06'; # 18/04/2006 $llll11l1l='pg-bannierespro-data'; ################################################ ############################################################################## # Ceci est un script CGI Perl, fait par Sébastien Joncheray. Entreprise RAYNETTE# # Pour avoir le droit d'utiliser ce CGI, vous devez acquérir une licence sur # # http://www.perl-pro.com. info@perl-gratuit.com. Une licence donne un # # droit d'utilisation sur UN site pour une organisation. # ############################################################################## # EN PERDANT BEAUCOUP DE TEMPS VOUS POURRIEZ TROUVER COMMENT UTILISER CE SCRIPT # SUR D AUTRES SITES WEB SANS PAYER DE LICENCE, EN MODIFIANT CE SCRIPT POUR # # CONTOURNER LE SYSTEME DE VERIFICATION DE LICENCE. SACHEZ QUE PAR UN CERTAIN# # MOYEN NOUS SAURONS CELA CAR LE NUMERO DE LICENCE APPARAIT A CERTAINS MOMENTS # (CGI D ADMINISTRATION UNIQUEMENT). SI NOUS CONSTATONS QU'UN DE NOS SCRIPTS # # CGI PRO EST UTILISE SUR UN SITE AYANT UNE FAUSSE LICENCE, DES POURSUITES # # SERONT IMMEDIATEMENT ENTREPRISES DEVANT LES TRIBUNAUX. # # MERCI DE RESPECTER LE TRAVAIL DE L AUTEUR. CE CGI A DEMANDE DU TRAVAIL, # # EST DE QUALITE QUASI-INEGALEE ET VOUS REND SERVICE... # ############################################################################## # # # En cas de difficultés d'installations veuillez consultez les FAQs et autres# # sections d'aide sur www.perl-gratuit.com, et dans votre compte PRO SVP... # ############################################################################## # Tous droits de distribution/vente/modification réservés. # ############################################################################## %l11ll1lll=&OOOO0O0OOO00000O; %l1l1l1ll1=&O0O0O00OOOO0O000; &OO0O00O00000O0O0; my $ll1111l1l=int($l11ll1lll{'zone'}); $l11ll1lll{'type'}=lc($l11ll1lll{'type'}); if ($l11ll1lll{'type'} eq 'js' or $l11ll1lll{'type'} eq 'popup' or $l11ll1lll{'type'} eq 'popunder' or $l11ll1lll{'type'} eq 'iframe') { my ($l11l111l1,$l1lll1111,%lll111lll)=(); $l11l111l1=&OOO0OOO0O0OOOO0O({'zone' => $ll1111l1l , 'type' => 'all'}); if (!$l11l111l1) { $l1lll1111=' '; } else { &OOO0O00OOOO0O0OO("$llll11l1l/campaign_$l11l111l1.stats",'P') unless (!$l11l111l1); &OOO0O00OOOO0O0OO("$llll11l1l/zone_$ll1111l1l.stats",'P') unless (!$l11ll1lll{'zone'}); &OOOOO00O00OOOOO0("$llll11l1l/campaign_$l11l111l1.conf",\%lll111lll); if ($lll111lll{'CAPPING'} != 0) { &O0O00OOOOO00O00O(name => "campaign_$l11l111l1", value => ($l1l1l1ll1{"campaign_$l11l111l1"}+1), expires => "+1M");} if ($l11ll1lll{'type'} eq 'popup' or $l11ll1lll{'type'} eq 'popunder') { $lll111lll{'DEST_TARGET'}='_blank'; } if ($l11ll1lll{'type'} eq 'iframe' and ($lll111lll{'DEST_TARGET'} eq '' or $lll111lll{'DEST_TARGET'} eq '_self')) { $lll111lll{'DEST_TARGET'}='_top'; } $l1lll1111=&O00O00OOOOO00000($l11l111l1,$ll1111l1l,%lll111lll); } print "Cache-Control: no-store, no-cache, max-age=0, must-revalidate\n"; print "Pragma: no-cache\n"; if ($l11ll1lll{'type'} eq 'js') { print "Content-type: application/x-javascript\n\n"; print &O00OO0OOOOOO0O00($l1lll1111); } elsif ($l11ll1lll{'type'} eq 'popup' or $l11ll1lll{'type'} eq 'popunder' or $l11ll1lll{'type'} eq 'iframe') { print "Content-type: text/html\n\n"; print (''.$l1lll1111.''); } } elsif ($l11ll1lll{'type'} eq 'img') { my ($l11l111l1,$l1lll1111,%lll111lll)=(); $l11l111l1=&OOO0OOO0O0OOOO0O({'zone' => $ll1111l1l , 'type' => 'img'}); if (!$l11l111l1) { &O000000O0OOO0000; } else { &OOO0O00OOOO0O0OO("$llll11l1l/campaign_$l11l111l1.stats",'P') unless (!$l11l111l1); &OOO0O00OOOO0O0OO("$llll11l1l/zone_$ll1111l1l.stats",'P') unless (!$l11ll1lll{'zone'}); &OOOOO00O00OOOOO0("$llll11l1l/campaign_$l11l111l1.conf",\%lll111lll); if ($lll111lll{'CAPPING'} != 0) { &O0O00OOOOO00O00O(name => "campaign_$l11l111l1", value => ($l1l1l1ll1{"campaign_$l11l111l1"}+1), expires => "+1M");} my $l1ll11lll=$lll111lll{'TYPE_IMG_IMGURL1'}; if ($lll111lll{'TYPE_IMG_IMGURL2'}) {$l1ll11lll=($lll111lll{'TYPE_IMG_IMGURL1'},$lll111lll{'TYPE_IMG_IMGURL2'}) [int(rand(2))];} if ($lll111lll{'TYPE_IMG_IMGURL3'}) {$l1ll11lll=($lll111lll{'TYPE_IMG_IMGURL1'},$lll111lll{'TYPE_IMG_IMGURL2'},$lll111lll{'TYPE_IMG_IMGURL3'}) [int(rand(3))];} &OOOOOO0O0000OOOO($l11l111l1,$ll1111l1l); print "Status: 301 Found\n"; print "Cache-Control: no-cache\n"; print "Pragma: no-cache\n"; print "Expires: Tue, 31 Dec 2002 11:59:59 GMT\n"; print "Location: $l1ll11lll\n\n"; } } elsif ($l11ll1lll{'type'} eq 'clic') { my $l11l111l1; if ($l11ll1lll{'id'} ne '') { if (! -e "$llll11l1l/campaign_$l11ll1lll{id}.conf") { &O00OO0O0OOO0OO0O("L'identifiant de la bannière sur laquelle vous avez cliqué n'existe pas ou plus.");} $l11l111l1=$l11ll1lll{'id'}; } else { $l11l111l1=&OOO0OO000000OO0O; } if (!$l11l111l1) { &O00OO0O0OOO0OO0O("Le serveur n'est pas en mesure de vous rediriger vers la destination
de la bannière sur laquelle vous avez cliquée !
La cause probable est que vous avez cliqué sur une bannière ancienne que votre
navigateur a conservé dans son cache, au lieu de la mettre à jour."); } unless ( ($l1ll1111l{'CLICS_IPNORECOUNT'}==1) && (&OOO0OOO0OO00OO0O("$llll11l1l/campaign_$l11l111l1.ips")) ) { &OO000OOOO00000OO($l11l111l1); &OOO0O00OOOO0O0OO("$llll11l1l/campaign_$l11l111l1.stats",'C') unless (!$l11l111l1); &OOO0O00OOOO0O0OO("$llll11l1l/zone_$ll1111l1l.stats",'C') unless (!$ll1111l1l); &OO0OOO000OO0O0OO("$llll11l1l/campaign_$l11l111l1.ips") unless (!$l11l111l1); } my (%lll111lll)=(); &OOOOO00O00OOOOO0("$llll11l1l/campaign_$l11l111l1.conf",\%lll111lll); print "Status: 301 Found\n"; print "Location: $lll111lll{'DEST_URL'}\n\n"; } else { &O00OO0O0OOO0OO0O("Le paramètre type est incorrect."); } sub OO0O00O00000O0O0 { %l1ll1111l=(); $l1ll1111l{'CGI_NAME'}='PG-Bannieres PRO'; ($l1111lll1,$lll1lll11,$lll11llll)=&OO0OO00O0OO00O00(); $ll1l11ll1='A5 A5 A2 A7 A4 A8 A1 A8 A10 A10 A*'; $ll1111l11='A4 A2 A2 A10 A10'; $llllll111='A4A2A2'; $l1l1l1l1l='A4A2A2 A2A2 A23 A*'; if (! -e "$llll11l1l/config.dat") { &O00OO0O0OOO0OO0O("Merci de vous rendre d'abord à l'URL du CGI d'administration, afin de configurer ce script"); } &OOOOO00O00OOOOO0("$llll11l1l/config.dat",\%l1ll1111l); } sub OOO0O000O0O00O0O { my ($lll1111ll,$ll1ll11ll)=@_; if (! -e "$lll1111ll") { open(TESTW,">$lll1111ll") || (&O00OO0O0OOO0OO0O("Impossible de créer le fichier $lll1111ll : $!
Vérifiez le CHMOD 777 du répertoire devant contenir ce fichier.")); close(TESTW); eval{ chmod($ll1ll11ll,"$lll1111ll");}; } } sub OOOOO00O00OOOOO0 { my ($lll1111ll,$ll1lll111)=@_; my ($l1l1l1111); if (open (CONFR,"$lll1111ll")) { eval{flock(CONFR,2);}; while ($l1l1l1111=) { chomp($l1l1l1111); if ( ($l1l1l1111 ne '') && ($l1l1l1111!~ /^\#/) && ($l1l1l1111=~ /^([^\s]+)\s+(.*)/) ) { $$ll1lll111{"$1"}="$2"; $$ll1lll111{"$1"}=~ s/\|\\n\|/\n/gs; } } close (CONFR); } else { &OO0O0OO0O0OO0000; print ("Impossible de lire le fichier de configuration ($lll1111ll) / Cannot read conf file : $!"); exit(0); } 1; } sub OOOO0O0OOO00000O { my (%l1ll11111,$llll11111,$llll1llll); $llll11111=''; if ($ENV{'REQUEST_METHOD'} eq 'POST') { my $l1lll1ll1=$ENV{'CONTENT_LENGTH'}; if (read(STDIN,$llll11111,$l1lll1ll1) != $l1lll1ll1) {&OO0O0OO0O0OO0000; print ("

error reading post data

"); die("Error reading 'POST' data\n"); } } elsif ($ENV{'REQUEST_METHOD'} eq 'GET') { $llll11111=$ENV{'QUERY_STRING'}; } foreach $llll1llll (split('&',$llll11111)) { my ($l111ll1l1,$l1ll1llll)=split('=',$llll1llll); $l111ll1l1=~ tr/\0//d; $l1ll1llll=~ tr/\0//d; $l111ll1l1 =~ tr/+/ /; $l111ll1l1 =~ s/%([0-9a-fA-F]{2})/chr hex($1)/ge; $l1ll1llll=~ tr/+/ /; $l1ll1llll=~ s/%([0-9a-fA-F]{2})/chr hex($1)/ge; $l1ll11111{$l111ll1l1}=$l1ll1llll; } return %l1ll11111; } sub O0O0O000OO0O0000 { my ($s) = @_; $s=~ s/ /+/g; $s=~ s/([^a-zA-Z0-9\_\.\-\+])/uc sprintf("%%%02x",ord($1))/eg; return $s; } sub OO0O0O00O00O00O0 { my ($s)=@_; $s=~ s/&/&/gso; $s=~ s//>/gso; $s=~ s/"/"/gso; $s; } sub O0O0O00OOOO0O000 { my (%l1l1l1ll1,$l111ll1l1,$l1ll1llll); if ($ENV{'HTTP_COOKIE'} ne '') { foreach (split(/; /,$ENV{'HTTP_COOKIE'})) { ($l111ll1l1,$l1ll1llll) = split(/=/); $l111ll1l1=~ tr/+/ /; $l111ll1l1=~ s/%([0-9a-fA-F]{2})/chr hex($1)/ge; $l1ll1llll=~ tr/+/ /; $l1ll1llll=~ s/%([0-9a-fA-F]{2})/chr hex($1)/ge; $l1l1l1ll1{"$l111ll1l1"}=$l1ll1llll; } } return (%l1l1l1ll1); } sub OO0O0OO0O0OO0000 { print "Content-type: text/html; charset=ISO-8859-1\n\n" unless ($l1ll1111l{'headers_sent'}); $l1ll1111l{'headers_sent'}=1; } sub O00OO0O0OOO0OO0O { my ($ll1llll1l)=@_; &OO0O0OO0O0OO0000; print ("$ll1llll1l"); exit(0); } sub O0O00OOOOO00O00O { my (%ll1l1lll1)=@_; my @lll1ll1ll; $ll1l1lll1{'name'} =~ s/ /+/g; $ll1l1lll1{'name'} =~ s/([^a-zA-Z0-9\_\.\-\+])/uc sprintf("%%%02x",ord($1))/eg; $ll1l1lll1{'value'}=~ s/ /+/g; $ll1l1lll1{'value'}=~ s/([^a-zA-Z0-9\_\.\-\+])/uc sprintf("%%%02x",ord($1))/eg; push (@lll1ll1ll,"$ll1l1lll1{'name'}=$ll1l1lll1{'value'}"); push (@lll1ll1ll,"domain=$ll1l1lll1{'domain'}") if ($ll1l1lll1{'domain'} ne ''); if ($ll1l1lll1{'path'} eq '') { $ll1l1lll1{'path'}='/'; } push (@lll1ll1ll,"path=$ll1l1lll1{'path'}"); if ($ll1l1lll1{'expires'} ne '') { my $llll111ll; { my(%ll1l11l1l) = ('s'=>1, 'm'=>60, 'h'=>60*60, 'd'=>60*60*24, 'M'=>60*60*24*30, 'y'=>60*60*24*365); if (!$ll1l1lll1{'expires'} || (lc($ll1l1lll1{'expires'}) eq 'now')){ $llll111ll=time; } elsif ($ll1l1lll1{'expires'}=~/^\d+/) { $llll111ll=$ll1l1lll1{'expires'}; } elsif ($ll1l1lll1{'expires'}=~/^([+-]?(?:\d+|\d*\.\d*))([smhdMy]?)/) { $llll111ll=time + ($ll1l11l1l{$2} || 1)*$1; } else { $llll111ll=$ll1l1lll1{'expires'}; } } my $l1ll1ll11; { my(@l11111lll)=qw/Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec/; my(@llll1l1ll) = qw/Sun Mon Tue Wed Thu Fri Sat/; my($ll1ll1ll1,$l1lll11l1,$ll1ll11l1,$ll1ll111l,$l11l1lll1,$l1l11111l,$llll1l1l1) = gmtime($llll111ll); $l1ll1ll11=sprintf("%s, %02d-%s-%04d %02d:%02d:%02d GMT", $llll1l1ll[$llll1l1l1],$ll1ll111l,$l11111lll[$l11l1lll1],$l1l11111l+1900,$ll1ll11l1,$l1lll11l1,$ll1ll1ll1); } push (@lll1ll1ll,"expires=$l1ll1ll11"); } push (@lll1ll1ll,"secure") if ($ll1l1lll1{'secure'}); print "Set-Cookie: ".join('; ',@lll1ll1ll)."\n"; } sub OO0OO00O0OO00O00 { my ($lll111111)=@_; $lll111111 ||= time(); $lll111111+=3600*$l1ll1111l{'TIME_OFFSET'}; my ($l1l11111l,$l11lllll1,$l111l1l11,$ll1ll11l1,$l1lll11l1)=(localtime($lll111111))[5,4,3,2,1]; $l1l11111l+=1900; $l11lllll1++; return (sprintf("%04d%02d%02d",$l1l11111l,$l11lllll1,$l111l1l11),sprintf("%04d%02d%02d%02d%02d",$l1l11111l,$l11lllll1,$l111l1l11,$ll1ll11l1,$l1lll11l1),$lll111111); } sub OOO0OOO0O0OOOO0O { my ($l1l1l11l1)=@_; my ($l1111l1ll,$l1l1l1111,@l11l1ll1l,$l11l11lll,$l111l111l,%l111l111l); my ($ll111lll1,$ll1lll1ll,$l1l1ll1ll,$ll11ll1ll,$lll1l11l1,$l11ll11l1,$l11l111ll,$lllll11ll,$lllll1l11,$ll1l1l111,$l1l1l11ll); srand(); open (ADLISTRW,"+<$llll11l1l/adlist.dat") || (&O00OO0O0OOO0OO0O("Impossible de lire $llll11l1l/adlist.dat: $!")); eval{flock(ADLISTRW,2);}; seek(ADLISTRW,0,0); $l111l111l=tell(ADLISTRW); while ($l1l1l1111=) { chomp($l1l1l1111); ($ll111lll1,$ll1lll1ll,$l1l1ll1ll,$ll11ll1ll,$lll1l11l1,$l11ll11l1,$l11l111ll,$lllll11ll,$lllll1l11,$ll1l1l111,$l1l1l11ll)=unpack($ll1l11ll1,$l1l1l1111); $l111l111l{"$ll111lll1"}=$l111l111l; $l111l111l=tell(ADLISTRW); next if ( ($l1l1l11l1->{zone}) && ($l1l1l11ll!~ /\b$l1l1l11l1->{zone}\b/) ); next if ( ($l1l1l11l1->{type} eq 'img') && ($ll11ll1ll ne 'IMG')); next if (($lll1l11l1!=0) && ($l1l1l1ll1{"campaign_$ll111lll1"} >= $lll1l11l1) ); next if ($l11ll11l1 > $l1111lll1); next if ( ( ($l11l111ll eq 'D') && ($l1111lll1 > $lllll11ll) ) || ( ($l11l111ll eq 'C') && ($ll1l1l111 >= $lllll11ll) ) || ( ($l11l111ll eq 'P') && ($lllll1l11 >= $lllll11ll) ) ); for ($l11l11lll=1;$l11l11lll<=$l1l1ll1ll;$l11l11lll++) {push(@l11l1ll1l,$ll111lll1);} } if (@l11l1ll1l == 0) { $l1111l1ll=''; } else { $l1111l1ll = $l11l1ll1l[int(rand($#l11l1ll1l+1))]; } if ($l1111l1ll ne '') { seek(ADLISTRW,$l111l111l{"$l1111l1ll"},0); $l1l1l1111=; chomp($l1l1l1111); ($ll111lll1,$ll1lll1ll,$l1l1ll1ll,$ll11ll1ll,$lll1l11l1,$l11ll11l1,$l11l111ll,$lllll11ll,$lllll1l11,$ll1l1l111,$l1l1l11ll)=unpack($ll1l11ll1,$l1l1l1111); $lllll1l11++; $l1l1l1111=pack($ll1l11ll1,$ll111lll1,$ll1lll1ll,$l1l1ll1ll,$ll11ll1ll,$lll1l11l1,$l11ll11l1,$l11l111ll,$lllll11ll,$lllll1l11,$ll1l1l111,$l1l1l11ll); seek(ADLISTRW,$l111l111l{"$l1111l1ll"},0); print ADLISTRW "$l1l1l1111\n"; } close(ADLISTRW); return ($l1111l1ll); } sub OO000OOOO00000OO { my ($l11l111l1)=@_; my ($ll111lll1,$ll1lll1ll,$l1l1ll1ll,$ll11ll1ll,$lll1l11l1,$l11ll11l1,$l11l111ll,$lllll11ll,$lllll1l11,$ll1l1l111,$l1l1l11ll); my ($l1l1l1111,$l111l111l); open (ADLISTT,"+<$llll11l1l/adlist.dat") || (&O00OO0O0OOO0OO0O("Impossible d'ouvrir adlist.dat: $!")); eval{flock(ADLISTT,2);}; seek(ADLISTT,0,0); $l111l111l=tell(ADLISTT); while ($l1l1l1111=) { chomp($l1l1l1111); ($ll111lll1,$ll1lll1ll,$l1l1ll1ll,$ll11ll1ll,$lll1l11l1,$l11ll11l1,$l11l111ll,$lllll11ll,$lllll1l11,$ll1l1l111,$l1l1l11ll)=unpack($ll1l11ll1,$l1l1l1111); if ($ll111lll1 eq $l11l111l1) { $ll1l1l111++; $l1l1l1111=pack($ll1l11ll1,$ll111lll1,$ll1lll1ll,$l1l1ll1ll,$ll11ll1ll,$lll1l11l1,$l11ll11l1,$l11l111ll,$lllll11ll,$lllll1l11,$ll1l1l111,$l1l1l11ll); seek(ADLISTT,$l111l111l,0); print ADLISTT "$l1l1l1111\n"; last; } $l111l111l=tell(ADLISTT); } close (ADLISTT); } sub OOO0O00OOOO0O0OO { my ($lll1111ll,$l1111l1l1)=@_; my (@ll1111111,$l1l1l1111); my ($l1l11111l,$l11lllll1,$l111l1l11,$lll1l1lll,$ll11llll1); &OOO0O000O0O00O0O($lll1111ll,0666); ($l1l11111l,$l11lllll1,$l111l1l11)=unpack($llllll111,$l1111lll1); open (STATRW,"+<$lll1111ll") || (&O00OO0O0OOO0OO0O("Impossible de lire/écrire dans $lll1111ll: $!")); eval{flock(STATRW,2);}; seek(STATRW,0,0); my $l111l111l=tell(STATRW); while () { push(@ll1111111,$_); $l111l111l=tell(STATRW) unless eof(STATRW); } if ( (scalar(@ll1111111)==0) || (substr($ll1111111[$#ll1111111],0,8) ne $l1111lll1) ) { seek(STATRW,0,2); if ($l1111l1l1 eq 'P') { $lll1l1lll=1; $ll11llll1=0; } elsif ($l1111l1l1 eq 'C') { $lll1l1lll=0; $ll11llll1=1; } $l1l1l1111=pack($ll1111l11,$l1l11111l,$l11lllll1,$l111l1l11,$lll1l1lll,$ll11llll1); print STATRW "$l1l1l1111\n"; } else { seek(STATRW,$l111l111l,0); chomp($ll1111111[$#ll1111111]); (undef,undef,undef,$lll1l1lll,$ll11llll1)=unpack($ll1111l11,$ll1111111[$#ll1111111]); if ($l1111l1l1 eq 'P') { $lll1l1lll++; } elsif ($l1111l1l1 eq 'C') { $ll11llll1++; } $l1l1l1111=pack($ll1111l11,$l1l11111l,$l11lllll1,$l111l1l11,$lll1l1lll,$ll11llll1); print STATRW "$l1l1l1111\n"; } close(STATRW); } sub O00O00OOOOO00000 { my ($l11l111l1,$ll11l11l1,%lll111lll)=@_; my $ll1l1l1l1=''; my $l1l1l111l="$l1ll1111l{'CGIURL_ADS'}?type=clic&id=$l11l111l1&zone=$ll11l11l1"; if ($lll111lll{'TYPE'} eq 'IMG') { my $l1l11ll1l=$lll111lll{'TYPE_IMG_IMGURL1'}; if ($lll111lll{'TYPE_IMG_IMGURL2'}) {$l1l11ll1l=($lll111lll{'TYPE_IMG_IMGURL1'},$lll111lll{'TYPE_IMG_IMGURL2'}) [int(rand(2))];} if ($lll111lll{'TYPE_IMG_IMGURL3'}) {$l1l11ll1l=($lll111lll{'TYPE_IMG_IMGURL1'},$lll111lll{'TYPE_IMG_IMGURL2'},$lll111lll{'TYPE_IMG_IMGURL3'}) [int(rand(3))];} $ll1l1l1l1=""; $ll1l1l1l1.=""; $ll1l1l1l1.=""; } elsif ($lll111lll{'TYPE'} eq 'FLA') { my $ll11ll11l=&O0O0O000OO0O0000($l1l1l111l); my $l11llll1l=$lll111lll{'DEST_TARGET'} ne '' ? $lll111lll{'DEST_TARGET'} : '_self'; $ll1l1l1l1=""; $ll1l1l1l1.=""; $ll1l1l1l1.=""; $ll1l1l1l1.=""; $ll1l1l1l1.=""; } elsif ($lll111lll{'TYPE'} eq 'TXT') { my ($l111llll1,$l1l11l11l)=(); if ($lll111lll{'TYPE_TXT_FACE'}) { $l111llll1.="font-family: $lll111lll{'TYPE_TXT_FACE'}; "; } if ($lll111lll{'TYPE_TXT_SIZE'}) { $l111llll1.="font-size: $lll111lll{'TYPE_TXT_SIZE'}px; "; } if ($lll111lll{'TYPE_TXT_COLOR'}) { $l111llll1.="color: $lll111lll{'TYPE_TXT_COLOR'}; "; } if ($lll111lll{'TYPE_TXT_BGCOLOR'}) { $l1l11l11l.="background-color: $lll111lll{'TYPE_TXT_BGCOLOR'}; "; } if ($lll111lll{'TYPE_TXT_BOLD'}) { $l111llll1.="font-weight: bold; "; } else { $l111llll1.="font-weight: normal; ";} if ($lll111lll{'TYPE_TXT_UNDERLINE'}){$l111llll1.="text-decoration: underline; "; } else { $l111llll1.="text-decoration: none; "; } if ($lll111lll{'TYPE_TXT_ITALIC'}) { $l111llll1.="font-style: italic; "; } else { $l111llll1.="font-style: normal; ";} if ($lll111lll{'TYPE_TXT_HALIGN'}) { $l1l11l11l.="text-align: $lll111lll{'TYPE_TXT_HALIGN'}; "; } my $llllll11l=&OO0O0O00O00O00O0($lll111lll{'TYPE_TXT_CONTENT'}); $llllll11l=~ s/\n/
/gs; $ll1l1l1l1="
".$llllll11l."
"; } elsif ($lll111lll{'TYPE'} eq 'HTML') { $ll1l1l1l1=$lll111lll{'TYPE_HTML_CONTENT'}; } return $ll1l1l1l1; } sub O00OO0OOOOOO0O00 { my ($ll1111111)=@_; my $ll1l1l1l1=''; $ll1111111 =~ s/\\/\\\\/g; $ll1111111 =~ s/\"/\\"/g; $ll1111111 =~ s/\r//g; $ll1111111 =~ s/\t/\\t/g; $ll1111111 =~ s/; chomp(@ll1111111); push(@ll1111111, join $ll1lll1l1, ($lll11llll,$ENV{'REMOTE_ADDR'},$l1lll1l11,$l11l111l1,$ll11l11l1)); seek(DELIV,0,0); foreach (@ll1111111) { print DELIV "$_\n"; } truncate(DELIV,tell(DELIV)); close(DELIV); } sub OOO0OO000000OO0O { my ($l1l1l1111,$ll11l1l1l,$l1ll1l1ll,$llllll1l1,$lll11111l,$lll11l111); my $l1lll1l11=substr($ENV{'HTTP_REFERER'},0,130); my $ll1lll1l1='| |'; my ($ll1llllll)=(); open (DELIVR,"$llll11l1l/nonjs_log.dat") || (&O00OO0O0OOO0OO0O("Impossible de lire le fichier nonjs_log.dat: $!")); eval{flock(DELIVR,2);}; seek(DELIVR,0,0); while ($l1l1l1111=) { chomp($l1l1l1111); ($ll11l1l1l,$l1ll1l1ll,$llllll1l1,$lll11111l,$lll11l111)=split(/\Q$ll1lll1l1\E/,$l1l1l1111); if ( ($l1ll1l1ll eq $ENV{'REMOTE_ADDR'}) && ($llllll1l1 eq $l1lll1l11) && ($lll11l111 eq $ll1111l1l) ) { $ll1llllll=$lll11111l; } } close(DELIVR); return ($ll1llllll); } sub OO0OOO000OO0O0OO { my ($lll1111ll)=@_; my ($l1l1lllll,$l111l1ll1,$ll111l1ll,$ll11111ll,$llll1ll1l,$l1l1ll111,$l1llll1ll); &OOO0O000O0O00O0O($lll1111ll,0666); ($l1l1lllll,$l111l1ll1,$ll111l1ll,$ll11111ll,$llll1ll1l)=unpack("A4A2A2 A2A2",$lll1lll11); $l1l1ll111=$ENV{'REMOTE_ADDR'}; $l1llll1ll=&O0O0000OOOOOO0OO; open (CLOG,">>$lll1111ll") or &O00OO0O0OOO0OO0O("Impossible d'écrire dans le fichier $lll1111ll: $!"); eval{flock(CLOG,2);}; my $l1l1l1111=pack($l1l1l1l1l,$l1l1lllll,$l111l1ll1,$ll111l1ll,$ll11111ll,$llll1ll1l,$l1l1ll111,$l1llll1ll); print CLOG "$l1l1l1111\n"; close(CLOG); } sub OOO0OOO0OO00OO0O { my ($lll1111ll)=@_; my $llll1lll1=0; my ($l1l1lllll,$l111l1ll1,$ll111l1ll,$ll11111ll,$llll1ll1l,$l1l1ll111,$l1llll1ll); if (open (CLOGR,"$lll1111ll")) { $llll1lll1= grep{ ($l1l1lllll,$l111l1ll1,$ll111l1ll,$ll11111ll,$llll1ll1l,$l1l1ll111,$l1llll1ll)=unpack($l1l1l1l1l,$_); (("$l1l1lllll$l111l1ll1$ll111l1ll" eq $l1111lll1) && ($l1l1ll111 eq $ENV{'REMOTE_ADDR'})); } ; close(CLOGR); } return ($llll1lll1); } sub O0O0000OOOOOO0OO { my $l1l111l11; if (($ENV{'REMOTE_HOST'} ne '') && ($ENV{'REMOTE_HOST'} ne $ENV{'REMOTE_ADDR'})) { $l1l111l11=$ENV{'REMOTE_HOST'}; } else { my $l1l11lll1=$ENV{'REMOTE_ADDR'}; $l1l11lll1 =~ s/^\s+|\s+$//g; my ($l111ll1l1,@llllll11l); if (!(($l111ll1l1,@llllll11l) =gethostbyaddr (pack ("C4", (split (/\./, $l1l11lll1))), 2))) { $l1l111l11='-'; }else{ $l1l111l11=$l111ll1l1; } } return ($l1l111l11); } #rq_54875932175141952635689_topazeottypmmo_FR 1;