#!/usr/bin/perl

# Einlesen der Formulardaten
if($ENV{'REQUEST_METHOD'} eq 'GET') {
  $Daten = $ENV{'QUERY_STRING'};
  @Formularfelder = split(/&/, $Daten);
  foreach $Feld (@Formularfelder) {
    ($name, $value) = split(/=/, $Feld);   
    $value =~ tr/+/ /;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
    $value =~ s/<!--(.|\n)*-->//g;      
    $form[$i] = $name; $i++;
    $form[$i] = $value; $i++;
  }
}

  print "Content-type: text/html\n\n";
  print "<html><head>\n<title>",$form[3],"</title>\n";
  print "<meta http-equiv=\"expires\" content=\"0\">\n</head>\n";
  print "<body bgcolor=\"#ffffff\" background=\"../hgg.gif\" ";
  print "link=\"#ff0000\" vlink=\"#d00000\" alink=\"#0000ff\">";
  print "<center>";

# $form: 1-txt-file 3-ip-addr 5-witznummer 7-vergebene Punkte
# $feld: 0-ipaddr 1-(+3) 2-(+2) 3-(+1) 4-(-1)

  $textfilename="/srv/www/vhosts/kraehseite.de/cgi-bin/daten/".$form[1].".txt";
  $deli1 = "--\n";
  $deli2 = "<>";
  open(FILE,"<".$textfilename || die print $textfilename," nicht gefunden!\n");
  @datei = <FILE>;
  close(FILE);
  $wtext = join('',@datei);
  @votes = split(/$deli1/,$wtext);
  $i=0;
  until (($feld[0] eq $form[3]) || $i>@votes) {
    @feld = split(/$deli2/,$votes[$i]);
    $i++;
  }
  if ($feld[0] eq $form[3]) {
    if ($form[5]==$feld[1]||$form[5]==$feld[2]||$form[5]==$feld[3]||$form[5]==$feld[4]) {
      print "Diesen Witz haben Sie bereits gew&auml;hlt!\n<br><br>";
      $voted=1;
    }
    if ($voted==0) {
      if    ($form[7]==3  && $feld[1]==0) {$feld[1]=$form[5];}
      elsif ($form[7]==2  && $feld[2]==0) {$feld[2]=$form[5];}
      elsif ($form[7]==1  && $feld[3]==0) {$feld[3]=$form[5];}
      elsif ($form[7]==-1 && $feld[4]==0) {$feld[4]=$form[5];}
      else {
        print "Diese Punktzahl haben Sie f&uuml;r diese Kategorie ";
        print "bereits vergeben.\n";
        $voted=1;
      }
    }
  }
  else {
    @feld=("0","0","0","0","0");
    $feld[0]=$form[3];
    if    ($form[7]==3) {$feld[1]=$form[5];}
    elsif ($form[7]==2) {$feld[2]=$form[5];}
    elsif ($form[7]==1) {$feld[3]=$form[5];}
    else {$feld[4]=$form[5];}
  }
  $votes[$i-1] = join("<>",@feld);

# Datei schreiben
  $textfilename="/srv/www/vhosts/kraehseite.de/cgi-bin/daten/".$form[1].".txt";
  open(FILE,">".$textfilename);
  flock(FILE,2);
  for (@votes) {print FILE $_."--\n";}
  flock(FILE,8);
  close(FILE);






print "</script>\n";
print "</div>\n";
# Ausgabe
  if ($voted==0) {
    print "Sie haben dem Witz Nr. ",$form[5]," aus der Sparte ";
    print "\"",$form[1],"\" ",$form[7]," Punkte gegeben.";
  }

  print "<br><br>";
  print "<a href=\"sparte.pl?nr=",int(($form[5]-1)/20),"&sparte=";
  print $form[1],"\">Zur&uuml;ck</a>&nbsp&nbsp;&nbsp;&nbsp;";

  print "<form method=POST action=\"http://www.kraehseite.de/cgi-bin";
  print "/sparte.pl\">\n";
  print "<select name=\"sparte\">\n";
  print "<option>Arzt\n";
  print "<option>Berufe\n";
  print "<option>Blondinen\n";
  print "<option>Bund\n";
  print "<option>Computer\n";
  print "<option>DDR\n";
  print "<option>Sender Erewan\n";
  print "<option>Fies!!!\n";
  print "<option>Geschichte\n";
  print "<option>Jüdische Witze\n";
  print "<option>Kellner\n";
  print "<option>Kinder\n";
  print "<option>Kirche\n";
  print "<option>Männer und Frauen\n";
  print "<option>Manta\n";
  print "<option>Musiker\n";
  print "<option>Nationalitäten\n";
  print "<option>Musiker\n";
  print "<option>Nationalitäten\n";
  print "<option>Ossis und Wessis\n";
  print "<option>Ostfriesen\n";
  print "<option>Polizisten\n";
  print "<option>Schweinskram\n";
  print "<option>Sportler\n";
  print "<option>Profs und Studenten\n";
  print "<option>Tiere\n";
  print "<option>Wanderer\n";
  print "<option>Zeitgeschehen\n";
  print "<option>Sonstiges\n";
  print "<option>in english\n";
  print "</select>\n";
  print "<br>\n";
  print "<input type=submit value=\"Ausw&auml;hlen\">\n";
  print "<br><br>\n";

  print "</center>\n</body>\n</html>\n";
