Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl
- read(STDIN,$temp,$ENV{'CONTENT_LENGTH'});
- {$temp = "$temp\&$ENV{'QUERY_STRING'}";}
- @pairs=split(/&/,$temp);
- foreach $item(@pairs)
- {
- ($mots,$content)=split(/=/,$item,2);
- $content=~tr/+/ /;
- $content=~s/%(..)/pack("c",hex($1))/ge;
- $content =~ s/\</</g;
- $content =~ s/\>/>/g;
- $content{$mots}="$content";
- $champs{$mots} .= "\0" if (defined($champs{$mots}));
- $champs{$mots} .= "$content";
- }
- require "config.pl";
- $num_lot = $champs{'lot'};
- open(FICHIER, "<$fic_lots");
- flock (FICHIER, 1);
- @FICHIER = <FICHIER>;
- flock (FICHIER, 8);
- close(FICHIER);
- if (($FICHIER[$num_lot] eq '') || ($num_lot eq '')) { print "Content-type: text/html\n\n"; print "<b>ERREUR !!!<br>LOT INEXISTANT !!</b>"; exit; }
- ($nom,$num_gagnant,$num_en_cours,$aff_num) = split(/\|/, $FICHIER[$num_lot]);
- $num_en_cours++; $i = @FICHIER; $i--;
- if ($num_en_cours == $num_gagnant)
- {
- foreach $i(0..$i)
- {
- if ($i == $num_lot) { $news .= "$nom\|$num_gagnant\|0\|$aff_num\|\n"; }
- else { $news .= $FICHIER[$i]; }
- }
- open(DATA2, ">$fic_lots");
- flock (DATA2, 2);
- print DATA2 $news;
- close (DATA2);
- flock (DATA2, 8);
- print "Location: $cgi_aff_gain?lot=$num_lot\n\n";
- exit;
- }
- else {
- foreach $i(0..$i)
- {
- if ($i == $num_lot) { $news .= "$nom\|$num_gagnant\|$num_en_cours\|$aff_num\|\n"; }
- else { $news .= $FICHIER[$i]; }
- }
- open(DATA2, ">$fic_lots");
- flock (DATA2, 2);
- print DATA2 $news;
- close (DATA2);
- flock (DATA2, 8);
- print "Location: $cgi_aff_perdu?lot=$num_lot\n\n";
- exit;
- }
Add Comment
Please, Sign In to add comment