<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">#!/usr/bin/perl
use CGI::Carp qw(fatalsToBrowser);
$version="2.2 Pro";
require "/var/www/web15/htdocs/cgi-bin/1a-parkplatztreff/config/megatoplist.cfg";
################################################################################
#### Megatoplist                                                            ####
#### Version 2.2  build3 Date: 05.11.2002                                   ####
#### Support: webmaster@topcgi.de                                           ####
#### Updates: http://www.topcgi.de                                          ####
#### Language: German - Deutsch                                             ####
#### for other language versions, vistit: http://www.topcgi.de              ####
####                                                                        ####
#### Copyright notice:                                                      ####
#### Dieses Programm ist keine Freeware und darf somit nicht an dritte      ####
#### weitergegeben werden. Weiter darf der Programmcode verÄndert werden.   ####
#### Es ist aber untersagt, die Copyrighthinweise zu entfernen.             ####
####                                                                        ####
####  This script is not freeware. Feel free to modify the source-code.     ####
####  It is not allowed to remove the advertising banner or the copyright   ####
####  notices.                                                              ####
################################################################################

if ($ENV{'REQUEST_METHOD'} eq 'POST') {
  read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
} else {
  $buffer = $ENV{'QUERY_STRING'};
}
@pairs = split(/&amp;/, $buffer);
foreach $pair (@pairs) {
  ($name, $value) = split(/=/, $pair);
  $name =~ tr/+/ /;
  $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
  $value =~ tr/+/ /;
  $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
  $value =~ s/\|//eg;
  $FORM{$name} = $value;
}

if    ($FORM{action} eq "new_member")       { &amp;new_member_form;}
elsif ($FORM{action} eq "click_out")        { &amp;checkip;        }
elsif ($FORM{action} eq "click_in")         { &amp;check_gateway_option;  }
elsif ($FORM{action} eq "click_in_gateway") { &amp;check_gateway;  }
elsif ($FORM{action} eq "edit_account")     { &amp;edit_form;      }
elsif ($FORM{action} eq "vote")             { &amp;vote_form;      }
elsif ($FORM{action} eq "vote_final")       { &amp;checkip;        }
elsif ($FORM{action} eq "show_vote")        { &amp;show_vote;      }
elsif ($FORM{action} eq "lostpassform")     { &amp;lost_pass_form; }
elsif ($FORM{action} eq "regeln")           { &amp;regeln;         }
elsif ($FORM{lost_password} eq "ja")        { &amp;search_pass;    }
elsif ($FORM{ID})                           { &amp;awm_click_out   }
else {
      &amp;check_update;
      print "Location: $no_cgi_url/$dateiname.$dateiext\n\n";
      exit;
      }

sub check_gateway {
### delete old gateways
$maxgatetime = ($gateway_maxtime*60);
$zeit = time;
open (IP,"&lt;config/log/session/session.log")||die("Konnte die Datei session.log nicht einlesen");
if ($use_flock eq "1") {flock (IP,1);}
@OLDGW =&lt;IP&gt;;
foreach $line (@OLDGW) {
    @TEMP_GW = split(/\|/,$line);
    if ((($TEMP_GW[1]+$maxgatetime)&gt;$zeit)&amp;&amp;($TEMP_GW[0] ne $FORM{session}))
       {push @NEWGW,"$line";}
    if ($TEMP_GW[0] eq $FORM{session})
       {$usersession="$line"; }
    }
if ($use_flock eq "1") {flock (IP,8);}
close (IP);
open (NEWIP,"&gt;config/log/session/session.log")||die("Konnte die Datei session.log nicht beschreiben");
if ($use_flock eq "1") {flock (NEWIP,1);}
print NEWIP @NEWGW;
if ($use_flock eq "1") {flock (NEWIP,8);}
close (NEWIP);
### check actual gateway
if ($usersession ne"")
{
 @SESSIONDAT = split(/\|/,$usersession);
 $FORM{account}="$SESSIONDAT[2]";
 $FORM{action}="click_in";
 &amp;checkip;
 }
else {
      print "Location: $no_cgi_url/$dateiname.$dateiext\n\n";
      exit;
     }
}

sub check_gateway_option {
if   ($gateway eq "on") {&amp;create_gateway_session;}
else {&amp;checkip;}
}

sub create_gateway_session {
  ### create session ID
  @BITS = ('a'..'Z', '0'..'9');
  $session_id="";
   for(0..9) {
    my $BITS = $BITS[ int(rand($#BITS + 1)) ];
    $session_id .="$BITS";
  }
  ### log gatewaysession in session.log
  $sessiontime = time();
  open (SESSIONLOG,"&gt;&gt;config/log/session/session.log")||die("Konnte die Datei session.log nicht beschreiben");
  if ($use_flock eq "1") {flock (SESSIONLOG,1);}
  print SESSIONLOG "$session_id|$sessiontime|$FORM{account}|\n";
  if ($use_flock eq "1") {flock (SESSIONLOG,8);}
  close(SESSIONLOG);
  ### create gatewaypage and redirect user
  print "Content-type: text/html\n\n";
            open (DATEI,"&lt;$cgi_root_path/config/insert/gateway.dat")||die("Konnte die Datei gateway.log nicht einlesen");
            if ($use_flock eq "1") {flock (DATEI,1);}
            @DATEN =&lt;DATEI&gt;;
            if ($use_flock eq "1") {flock (DATEI,8);}
            close (DATEI);
            foreach $line (@DATEN)
            { $line =~ s/\&lt;URL\&gt;/$cgi_root_url\/toplist.pl/gio;
              $line =~ s/\&lt;SESSION\&gt;/$session_id/gio;
            print $line;
            }
exit;
}

sub checkip {

$userip = $ENV{REMOTE_ADDR};
if($ENV{'HTTP_VIA'} || $ENV{'HTTP_X_FORWARDED_FOR'})
   {
   $found_proxy_server="on";
   ## Adminupdate check
   open (UPDATE, "&lt;$cgi_root_path/config/adminproxy.txt");
   if ($use_flock eq "1") {flock (UPDATE,1);}
   $line =&lt;UPDATE&gt;;
   if ($use_flock eq "1") {flock (UPDATE,8);}
   close (UPDATE);
          if ($line eq "adminproxy_on"){
               $found_proxy_server="no";
               open (UPDATE, "&gt;$cgi_root_path/config/adminproxy.txt");
               if ($use_flock eq "1") {flock (UPDATE,1);}
              print UPDATE "";
               if ($use_flock eq "1") {flock (UPDATE,8);}
               close (UPDATE);
               chmod 0777, "$cgi_root_path/config/adminproxy.txt";
               }
    }
else {$found_proxy_server="no";}
$zeit = time;
                                     ##### Festlegung wie alt die IP-Adressen sein duerfen
$minvotetime = ($minzeit_vote*60);
$clickintime =($minzeit_clickin*60);
$clickouttime=($minzeit_clickout*60);
$maxiptime = ($max_log_alter*3600);

                                     ##### alte IP-Eintraege loeschen
open (IP,"&lt;config/log/ip.log")||die("Konnte die Datei ip.log nicht einlesen");
if ($use_flock eq "1") {flock (IP,1);}
@OLDIP =&lt;IP&gt;;
foreach $line (@OLDIP) {
    @TIME = split(/\|/,$line);
    if (($TIME[1]+$maxiptime)&gt;$zeit){push @NEWIP,"$line";}
    }
if ($use_flock eq "1") {flock (IP,8);}
close (IP);
open (NEWIP,"&gt;config/log/ip.log")||die("Konnte die Datei session.log nicht beschreiben");
if ($use_flock eq "1") {flock (NEWIP,1);}
print NEWIP @NEWIP;
if ($use_flock eq "1") {flock (NEWIP,8);}
close (NEWIP);
#### IPCheck CLICK_IN
if  ($FORM{action} eq  "click_in"){
        ### log proxyserver click in (only redirect to toplist.html without update toplist to prevent serveroverload!)
        if (($found_proxy_server eq "on")&amp;&amp;($proxyfilter eq "on"))
        { ### proxylogbuch ein/aus
          if ($do_log_proxy ne "no"){
          open (PROXY_LOG,"&gt;&gt;config/log/proxy.log")||die("Konnte die Datei proxy.log nicht einlesen");
          if ($use_flock eq "1") {flock (PROXY_LOG,1);}
          print PROXY_LOG "$userip|$zeit|$FORM{action}|$FORM{account}|$ENV{'HTTP_VIA'}|$ENV{'HTTP_X_FORWARDED_FOR'}\n";
          if ($use_flock eq "1") {flock (PROXY_LOG,8);}
          close(PROXY_LOG);
          }
                if ($click_option eq alternative_URL)
                  {
                    if ($click_in_url_alternative eq ""){print "Location: $no_cgi_url/$dateiname.$dateiext\n\n";}
                    else{print "Location: $click_in_url_alternative\n\n";}
                  }
              else{print "Location: $no_cgi_url/$dateiname.$dateiext\n\n";};
              exit;
        }
#### click in without proxyserver
else {
        $last_click_in_time=0;
        $click_in_gefunden=0;
        foreach $line (@NEWIP)
            {
             chomp ($line) if ($line =~ /\n/);
             @CLICK_IN_IP = split(/\|/,$line);
                 if (($CLICK_IN_IP[0] eq $userip)&amp;&amp;($CLICK_IN_IP[2] eq $FORM{action})&amp;&amp;($CLICK_IN_IP[3] eq $FORM{account}))
                    {$click_in_gefunden="1";
                    $last_click_in_time=$CLICK_IN_IP[1];
                    }
            }
 ### log doubleclick-in
          if (($click_in_gefunden eq "1")&amp;&amp;($zeit&lt;($last_click_in_time+$clickintime))){
               ### klickin/out logbuch an aus
               if ($do_log_klick ne "no"){
               open (CLICK_LOG,"&gt;&gt;config/log/click.log")||die("Konnte die Datei click.log nicht beschreiben");
               if ($use_flock eq "1") {flock (CLICK_LOG,1);}
               print CLICK_LOG "$userip|$zeit|$FORM{action}|$FORM{account}|\n";
               if ($use_flock eq "1") {flock (CLICK_LOG,8);}
               close(CLICK_LOG);
               }
               &amp;check_update;
               if ($click_option eq alternative_URL)
                  {
                    if ($click_in_url_alternative eq ""){print "Location: $no_cgi_url/$dateiname.$dateiext\n\n";}
                    else{print "Location: $click_in_url_alternative\n\n";}
                   }
                else{print "Location: $no_cgi_url/$dateiname.$dateiext\n\n";}
              }
####
          else {
                open (CLICK_IN_LOG,"&gt;&gt;config/log/ip.log")||die("Konnte die Datei ip.log nicht beschreiben");
                if ($use_flock eq "1") {flock (CLICK_IN_LOG,1);}
                print CLICK_IN_LOG "$userip|$zeit|$FORM{action}|$FORM{account}\n";
                if ($use_flock eq "1") {flock (CLICK_IN_LOG,8);}
                close(CLICK_IN_LOG);
                &amp;check_update;
                &amp;log_click_in;
                if ($click_option eq alternative_URL)
                      {
                        if ($click_in_url_alternative eq ""){print "Location: $no_cgi_url/$dateiname.$dateiext\n\n";}
                        else{print "Location: $click_in_url_alternative\n\n";}
                      }
                else{print "Location: $no_cgi_url/$dateiname.$dateiext\n\n";}
                exit;
               }
        }
 }
#### IPCheck CLICK_out
if  ($FORM{action} eq  "click_out"){
     ##### click out with a proxyserver (only redirect to userpage without update toplist to prevent serveroverload!)
     if (($found_proxy_server eq "on")&amp;&amp;($proxyfilter eq "on"))
        {
         ### Klick in/out Logbuch an/aus
         if($do_log_klick ne "no"){
         open (PROXY_LOG,"&gt;&gt;config/log/proxy.log")||die("Konnte die Datei proxy.log nicht beschreiben");
         if ($use_flock eq "1") {flock (PROXY_LOG,1);}
         print PROXY_LOG "$userip|$zeit|$FORM{action}|$FORM{account}|$ENV{'HTTP_VIA'}|$ENV{'HTTP_X_FORWARDED_FOR'}\n";
         if ($use_flock eq "1") {flock (PROXY_LOG,8);}
         close(PROXY_LOG);
         }
                $datensatz=0;
                open (ALLEACCOUNTS, "&lt;$userdatapath/user.dat")||die("Konnte die Datei user.dat nicht einlesen");
                if ($use_flock eq "1") {flock (ALLEACCOUNTS,1);}
                @ALLEACCOUNTS = &lt;ALLEACCOUNTS&gt;;
                foreach (@ALLEACCOUNTS){
                                         @USER = split(/\|/, $ALLEACCOUNTS[$datensatz]);
                                         if ($USER[4] eq  $FORM{account})
                                               {
                                                $redirect   = "$USER[11]";
                                                $awm_status = "$USER[32]";
                                                $awm_system = "$USER[33]";
                                                $awm_id     = "$USER[34]";
                                               }
                                          $datensatz++;
                                        }
                if ($use_flock eq "1") {flock (ALLEACCOUNTS,8);}
                close (ALLEACCOUNTS);


                 if ($awm_status eq "awm_check_on")
                    {
                     &amp;awm_check;exit;
                    }
                   else {print "Location: $redirect \n\n";exit;}
         }
   ##### click out without a proxyserver
   else {
             $last_click_out_time=0;
             $click_out_gefunden=0;
        foreach $line (@NEWIP) {
             chomp ($line) if ($line =~ /\n/);
             @CLICK_out_IP = split(/\|/,$line);
             if (($CLICK_out_IP[0] eq $userip)&amp;&amp;($CLICK_out_IP[2] eq $FORM{action})&amp;&amp;($CLICK_out_IP[3] eq $FORM{account}))
                {
                 $last_click_out_time=$CLICK_out_IP[1];
                 $click_out_gefunden=1;
                }
             }
          ### log doubleclick-out
          if (($click_out_gefunden eq "1")&amp;&amp;($zeit&lt;($last_click_out_time+$clickouttime))){
               &amp;check_update;
               $datensatz=0;
                open (ALLEACCOUNTS, "&lt;$userdatapath/user.dat")||die("Konnte die Datei user.dat nicht einlesen");
                if ($use_flock eq "1") {flock (ALLEACCOUNTS,1);}
                @ALLEACCOUNTS = &lt;ALLEACCOUNTS&gt;;
                foreach (@ALLEACCOUNTS){
                                         @USER = split(/\|/, $ALLEACCOUNTS[$datensatz]);
                                         if ($USER[4] eq  $FORM{account})
                                               {
                                                $redirect   = "$USER[11]";
                                                $awm_status = "$USER[32]";
                                                $awm_system = "$USER[33]";
                                                $awm_id     = "$USER[34]";
                                               }
                                          $datensatz++;
                                        }
                if ($use_flock eq "1") {flock (ALLEACCOUNTS,8);}
              close (ALLEACCOUNTS);
              ### Klick in/out Logbich an/aus
              if ($do_log_klick ne "no"){
              open (CLICK_LOG,"&gt;&gt;config/log/click.log")||die("Konnte die Datei click.log nicht beschreiben");
              if ($use_flock eq "1") {flock (CLICK_LOG,1);}
              print CLICK_LOG "$userip|$zeit|$FORM{action}|$FORM{account}|\n";
              if ($use_flock eq "1") {flock (CLICK_LOG,8);}
              close(CLICK_LOG);
              }
                if ($awm_status eq "awm_check_on")
                     {
                      &amp;awm_check;exit;
                     }
                else {print "Location: $redirect \n\n";exit;}
              }

          else {
                open (CLICK_out_LOG,"&gt;&gt;config/log/ip.log")||die("Konnte die Datei ip.log nicht beschreiben");
                if ($use_flock eq "1") {flock (CLICK_out_LOG,1);}
                print CLICK_out_LOG "$userip|$zeit|$FORM{action}|$FORM{account}\n";
                if ($use_flock eq "1") {flock (CLICK_out_LOG,8);}
                close(CLICK_out_LOG);
                &amp;check_update;
                &amp;log_click_out;
                exit;
               }
        }
}

#### IPCheck Vote
if  ($FORM{action} eq  "vote_final"){
    if (($found_proxy_server eq "on")&amp;&amp;($proxyfilter eq "on"))
        {
        ### log proxyserver vote
        if ($found_proxy_server eq "on")
             { ### Proxylogbuch an/aus
               if ($do_log_proxy ne "no"){
                open (PROXY_LOG,"&gt;&gt;config/log/proxy.log")||die("Konnte die Datei proxy.log nicht beschreiben");
                if ($use_flock eq "1") {flock (PROXY_LOG,1);}
                print PROXY_LOG "$userip|$zeit|$FORM{action}|$FORM{account}|$ENV{'HTTP_VIA'}|$ENV{'HTTP_X_FORWARDED_FOR'}\n";
                if ($use_flock eq "1") {flock (PROXY_LOG,8);}
                close(PROXY_LOG);
               }
               push @FEHLER , "&lt;p align=\"center\"&gt;&lt;font face\=\"$font\" color\=$error_font_color&gt;\n";
               push @FEHLER , "Sie k&amp;ouml;nnen nicht &amp;uuml;ber einen Proxy-Server bewerten!&lt;br&gt;&lt;br&gt;Proxy-Server: $ENV{'HTTP_VIA'} $ENV{'HTTP_X_FORWARDED_FOR'}&lt;/font&gt;&lt;/p&gt;\n";
               &amp;error;
             }
         }
      ### vote without proxyserver
      else {
            $lastvote_time = "0";
            $votegefunden = "0";

             foreach $line (@NEWIP) {
             chomp ($line) if ($line =~ /\n/);
             @VOTEIP = split(/\|/,$line);
             if (($VOTEIP[0] eq $userip)&amp;&amp;($VOTEIP[2] eq $FORM{action})&amp;&amp;($VOTEIP[3] eq $FORM{account}))
                {$votegefunden++;
                 $lastvote_time=$VOTEIP[1];
                }
             }
     if (($votegefunden &lt;=($maxvote_pro_account-1))&amp;&amp;( $zeit &gt; ($lastvote_time+$minvotetime))){
          open (VOTELOG,"&gt;&gt;config/log/ip.log")||die("Konnte die Datei ip.log nicht beschreiben");
          if ($use_flock eq "1") {flock (VOTELOG,1);}
          print VOTELOG "$userip|$zeit|$FORM{action}|$FORM{account}\n";
          if ($use_flock eq "1") {flock (VOTELOG,8);}
          close(VOTELOG);
          &amp;vote_final;&amp;check_update;
          }
      ### log doublevote
      if (($votegefunden &lt;=($maxvote_pro_account-1))&amp;&amp;( $zeit &lt; ($lastvote_time+$minvotetime))){
          ### Votelogbuch an/aus
          if ($do_log_vote ne "no"){
          open (VOTELOG,"&gt;&gt;config/log/vote.log")||die("Konnte die Datei vote.log nicht beschreiben");
          if ($use_flock eq "1") {flock (VOTELOG,1);}
          print VOTELOG "$userip|$zeit|$FORM{action}|$FORM{account}\n";
          if ($use_flock eq "1") {flock (VOTELOG,8);}
          close(VOTELOG);
          }
          push @FEHLER , "&lt;p align=\"center\"&gt;&lt;font face\=\"$font\" color\=\"$error_font_color\"&gt;\n";
          push @FEHLER , "Sie k&amp;ouml;nnen diesen Account nur alle $minzeit_vote Minuten bewerten!&lt;/font&gt;&lt;/p&gt;\n";
          &amp;error;
          }
      ### log doublevote
      if ($votegefunden &gt; ($maxvote_pro_account-1)) {
          ### Votelogbuch an/aus
          if ($do_log_vote ne "no"){
          open (VOTELOG,"&gt;&gt;config/log/vote.log")||die("Konnte die Datei vote.log nicht beschreiben");
          if ($use_flock eq "1") {flock (VOTELOG,1);}
          print VOTELOG "$userip|$zeit|$FORM{action}|$FORM{account}\n";
          if ($use_flock eq "1") {flock (VOTELOG,8);}
          close(VOTELOG);
          }
          push @FEHLER , "&lt;p align=\"center\"&gt;&lt;font face\=$font color\=\"$error_font_color\"&gt;\n";
          push @FEHLER , "Sie k&amp;ouml;nnen  den  \"$FORM{account}\" Account maximal $maxvote_pro_account mal pro Sitzung bewerten!&lt;/font&gt;&lt;/p&gt;\n";
          &amp;error;
          }
       }
    }
 }

sub check_update {
         $zeit = time();
     if (!-e "$no_cgi_path/$dateiname.$dateiext")
        { &amp;create_new_toplist; }
     if (!-e "$cgi_root_path/config/reset.txt")
        { open (RESET, "&gt;$cgi_root_path/config/reset.txt")||die("Konnte die Datei reset.txt nicht erzeugen");
          if ($use_flock eq "1") {flock (RESET,1);}
          print RESET $zeit;
          if ($use_flock eq "1") {flock (RESET,8);}
          close (RESET);
        }
     if (!-e "$cgi_root_path/config/reset_all.txt")
        { open (RESETALL, "&gt;$cgi_root_path/config/reset_all.txt")||die("Konnte die Datei reset_all.txt nicht erzeugen");
          if ($use_flock eq "1") {flock (RESETALL,1);}
          print RESETALL $zeit;
          if ($use_flock eq "1") {flock (RESETALL,8);}
          close (RESETALL);
        }
     if (!-e "$cgi_root_path/config/update.txt")
        { open (UPDATE, "&gt;$cgi_root_path/config/update.txt")||die("Konnte die Datei update.txt nicht erzeugen");
          if ($use_flock eq "1") {flock (UPDATE,1);}
          print UPDATE $zeit;
          if ($use_flock eq "1") {flock (UPDATE,8);}
          close (UPDATE);
        }
     if (!-e "$cgi_root_path/config/backup.txt")
        { open (BACKUP, "&gt;$cgi_root_path/config/backup.txt")||die("Konnte die Datei backup.txt nicht erzeugen");
          if ($use_flock eq "1") {flock (BACKUP,1);}
          print BACKUP $zeit;
          if ($use_flock eq "1") {flock (BACKUP,8);}
          close (BACKUP);
        }
      open (RESET, "&lt;$cgi_root_path/config/reset.txt")||die("Konnte die Datei reset.txt nicht einlesen");
      if ($use_flock eq "1") {flock (RESET,1);}
      $last_reset = &lt;RESET&gt;;
      if ($use_flock eq "1") {flock (RESET,8);}
      close (RESET);
      open (RESETALL,"&lt;$cgi_root_path/config/reset_all.txt"||die("Konnte die Datei reset_all.txt nicht einlesen"));
      if ($use_flock eq "1") {flock (RESETALL,1);}
      $last_reset_all = &lt;RESETALL&gt;;
      if ($use_flock eq "1") {flock (RESETALL,8);}
      close (RESETALL);
      open (UPDATE,"&lt;$cgi_root_path/config/update.txt")||die("Konnte die Datei update.txt nicht einlesen");
      if ($use_flock eq "1") {flock (UPDATE,1);}
      $last_update =&lt;UPDATE&gt;;
      if ($use_flock eq "1") {flock (UPDATE,8);}
      close (UPDATE);
      open (BACKUP,"&lt;$cgi_root_path/config/backup.txt")||die("Konnte die Datei backup.txt nicht einlesen");
      if ($use_flock eq "1") {flock (BACKUP,1);}
      $last_backup =&lt;BACKUP&gt;;
      if ($use_flock eq "1") {flock (BACKUP,8);}
      close (BACKUP);

 if ($zeit &gt; $last_backup+($backup_day*86400))
    { open (BACKUP,"&gt;$cgi_root_path/config/backup.txt")||die("Konnte die Datei backup.txt nicht beschreiben");
      if ($use_flock eq "1") {flock (BACKUP,1);}
      print BACKUP $zeit;
      if ($use_flock eq "1") {flock (BACKUP,8);}
      close (BACKUP);
      &amp;backup;
    }
 if ($zeit &gt; $last_reset+($reset_time*86400))
     { open (RESET, "&gt;$cgi_root_path/config/reset.txt")||die("Konnte die Datei reset.txt nicht beschreiben");
      if ($use_flock eq "1") {flock (RESET,1);}
      print RESET $zeit;
      if ($use_flock eq "1") {flock (RESET,8);}
      close (RESET);
      &amp;reset_account;
      &amp;create_new_toplist;
     }
     elsif ($zeit &gt; $last_reset_all+($reset_all_time*86400))
     { open (RESETALL, "&gt;$cgi_root_path/config/reset_all.txt")||die("Konnte die Datei reset_all.txt nicht beschreiben");
       if ($use_flock eq "1") {flock (RESETALL,1);}
       print RESETALL $zeit;
       if ($use_flock eq "1") {flock (RESETALL,8);}
       close (RESETALL);
       &amp;reset_all_accounts;
       &amp;create_new_toplist;
     }
     elsif ($zeit &gt; $last_update+($update_time*60))
     { open (UPDATE, "&gt;$cgi_root_path/config/update.txt")||die("Konnte die Datei update.txt nicht beschreiben");
       if ($use_flock eq "1") {flock (UPDATE,1);}
       print UPDATE $zeit;
       if ($use_flock eq "1") {flock (UPDATE,8);}
       close (UPDATE);
       &amp;update_account;
       &amp;create_new_toplist;
     }
}

sub create_new_toplist {
### Userdaten werden ausgelesen und sortiert

open (ACCOUNT, "&lt;$userdatapath/user.dat")||die("Konnte die Datei user.dat nicht einlesen");
            if ($use_flock eq "1") {flock (ACCOUNT,1);}
            @ALLEDATEN = &lt;ACCOUNT&gt;;
            if ($use_flock eq "1") {flock (ACCOUNT,8);}
close (ACCOUNT);
@ALLEDATEN = sort {$b &lt;=&gt; $a} @ALLEDATEN;
### Userdaten werden ueberprueft
    $datensatz = "0";
    $user_found= "0";

foreach (@ALLEDATEN)
    {
     @TEMPARRY = split (/\|/,$ALLEDATEN[$datensatz] );
      ### Array zur Toplistenerstellung
      if (($TEMPARRY[0] &gt;=$min_click) &amp;&amp; ($TEMPARRY[18] ne "0") &amp;&amp; ($user_found &lt; $max_in_list))
          {
             push (@TOPUSER, join ("\|", @TEMPARRY));
             $user_found++;
          }
      ### Array aktive Mitglieder
       if (($TEMPARRY[0] &gt;=$min_click) &amp;&amp; ($TEMPARRY[18] ne "0"))
          {
             push (@AKTIV,$TEMPARRY[4]);
          }

     $datensatz++;
    }
$eingetragene_member=$datensatz++;
$active_member=@AKTIV;
### Berechnung der Seitenanzahl
$temp_page = ($user_found/$user_per_page);
if ($temp_page &lt;= "1")
    {
     $lastpage = "1";
    }
else {
      if ($temp_page =~ /\./)
      {
       $temp_page++;$lastpage =int($temp_page);

      }
      else
      {
       $lastpage=$temp_page;
      }
     }
### Seiten werden erstellt
if ($show_previos_position eq "on")
    {
    open (OLDPOSITION, "&lt;$cgi_root_path/config/position.txt")||die("Konnte die Datei position.txt nicht einlesen");
    if ($use_flock eq "1") {flock (OLDPOSITION,1);}
    @OLDPOSITION =&lt;OLDPOSITION&gt;;
    if ($use_flock eq "1") {flock (OLDPOSITION,8);}
    close (OLDPOSITION);
    }
$time = time(); ### Zur Berechnung der Durschnittshits
$topliste="";
$aktueller_user_in_tabelle="1";
$aktueller_user_auf_seite ="1";
$aktuelle_seite ="1";
$platz="1";
$tabelle_offen="0";
$datensatztopliste="0";
$oldposition="0";
&amp;werbung_auslesen;
### Fehlermeldung falls keine User in der Datenbank fuer die Topliste
#if ((!@TOPUSER)||(@TOPUSER eq "")){
if ($user_found eq "0"){
               $user_found="1";
               $no_user_in_database_fix="on"; ### Activate the Toplisturl on site_description
               $maximale_banneranzahl="0";    ### Dont show any Banner in the Toplist
               $fehlermeldung_user="0|0|0|0|BANNERBLITZ|passwortistgeheim|niemand|niemand|123456\@iuhiuhiuh.de|Keine Topliste Verfügbar|&lt;br&gt;Momentan befindet sich leider kein User in unserer Datenbank, der die Kriterien erfüllt, um in dieser Liste zu erscheinen. Bitte besuchen Sie und später noch einmal.&lt;br&gt; |http://www.bannerblitz.de|http://www.bannerblitz.de/non-cgi/banner/userbanner/bannerblitz.gif|60|468|1012496530|0|0|1|10|10|0|0|0|0|0|0|0|0|0|10|show_normal_banner|awm_check_off|alterskontrolle|1027782003|1|1|1|1|info\@wefdetzggf.de|1|alex|http://www.bannerblitz.de|http://www.bannerblitz.de/non-cgi/banner/userbanner/bannerblitz.gif|1|1|1009547414|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|show_normal_banner|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|";
               push @TOPUSER,$fehlermeldung_user;
               }

foreach (@TOPUSER)
    { @USER = split (/\|/, $TOPUSER[$datensatztopliste]);
     ### Erstellung der neuen position.txt
              $pushposition = "$USER[4]|$platz|\n";
              push @NEWPOSITION ,$pushposition;
      ### Suchen der letzten Position
      foreach $line (@OLDPOSITION){
                                   @TEMP = split (/\|/,$line);
                                   if ($TEMP[0] eq $USER[4]) {$oldposition=$TEMP[1]};
                                  }
      if (($aktuelle_seite eq "1")&amp;&amp;($aktueller_user_auf_seite eq 1)){&amp;open_page;}
      if ($aktueller_user_in_tabelle eq 1){&amp;open_table;}





####################TEST ANFANG#######################################
$topliste .="&lt;div class=\"um-eintrag\"&gt;\n&lt;div class=\"platz\"&gt;\nPlatz $platz ";
if ($show_previos_position eq "on")
    {
    $topliste .="Vorher ($oldposition)\n&lt;/div&gt;\n";
    }

###### Hits
if ($show_hitin_geamt eq "on")
    {
    $topliste .="&lt;div class=\"hits\"&gt;\nKlicks IN $USER[0] Gesamt ($USER[16]) ";
    }
$topliste .=" Klicks OUT $USER[1] ";
if ($show_hitin_geamt eq "on")
    {
    $topliste .=" Gesamt ($USER[17])&lt;br&gt;\n";
    }
$topliste .="&lt;/div&gt;\n";
##### Sterne

if ($show_second_userline eq "on")
    {
####################################################################################
$topliste .=" &lt;div class=\"sterne\"&gt;\n";
	}
if ($show_user_bewertung_grafik eq "on")
    {
     if ($votegrafik eq "darkstars")
        {
       $star_dir="$no_cgi_url/stars/dark_background";$votegrafik_width="51";$votegrafik_height="10";
        }
     if ($votegrafik eq "lightstars")
        {
        $star_dir="$no_cgi_url/stars/light_background";$votegrafik_width="51";$votegrafik_height="10";
        }
     if ($votegrafik eq "other")
        {
        $star_dir="$no_cgi_url/stars/other";
        $votegrafik_width="$votegrafik_width_other";
        $votegrafik_height="$votegrafik_height_other";
        }
         if ($USER[19]&lt;= 10)
            {$bild='5star.gif';
         if ($USER[19]&lt;= 9)
            {$bild='4star.gif';}
         if ($USER[19]&lt;= 8)
            {$bild='3star.gif';}
         if ($USER[19]&lt;= 7)
            {$bild='2star.gif';}
         if ($USER[19]&lt;= 6)
            {$bild='1star.gif';}
         if ($USER[19]&lt;= 5)
            {$bild='0star.gif';}
              }
$topliste .="&lt;div class=\"sternegrafik\"&gt;&lt;center&gt;&lt;div class=\"bewertung-text\"&gt;Bewertungen Gesamt $USER[20]&lt;/div&gt;&lt;div class=\"bewertung-bild\"&gt;&lt;a href=\"$cgi_root_url/toplist.pl?action=show_vote\&amp;account=$USER[4]\" target=\"_blank\"&gt;\n";
$topliste .="  &lt;img border=\"0\" src=\"$star_dir/$bild\" alt=\"Bewertungsergebnisse $USER[9]\" width=\"$votegrafik_width\" height=\"$votegrafik_height\"&gt;&lt;/a&gt;\n&lt;/div&gt;\n";
    }
$topliste .="&lt;/center&gt;&lt;/div&gt;\n";

if ($show_vote_link eq "on")
    {
    $topliste .="&lt;div class=\"clear\"&gt;&lt;/div&gt;&lt;div class=\"sternegrafik\"&gt;&lt;a href=\"$cgi_root_url/toplist.pl?action=vote&amp;account=$USER[4]&amp;bannerurl=$USER[12]&amp;bannerbreite=$USER[14]&amp;bannerhoehe=$USER[13]\" target=\"_blank\" title=\"Diese Seite bewerten\"&gt;Bewerten:&lt;/a&gt;\n";
    }

if ($show_average eq "on")
    {
            $tage = ($time - $USER[15]) / 86400;
             if ($tage &lt; "1") {$tage = 1;}
             $dschnitt_in = int ( $USER[16] / $tage);
             $dschnitt_out = int ( $USER[17] / $tage);
$topliste .=" Tagesdurchschnitt IN / OUT &amp;Oslash; $dschnitt_in\n";
    }
if ($show_average eq "on")
    {
$topliste .=" &amp;Oslash; $dschnitt_out\n";
    }
$topliste .=" &lt;/div&gt;\n&lt;/div&gt;\n";




#### Banner und beschreibung
$topliste .="&lt;div class=\"beschreibung\"&gt;";
if ($platz &lt;= $maximale_banneranzahl)
    { $topliste .="&lt;a href=\"$cgi_root_url/toplist.pl?action=click_out&amp;account=$USER[4]\" target=\"$target\"&gt;\n";
      ### show the userbanner (7 ways :-D)
      if ($USER[31] eq "show_normal_banner")
          {$topliste .="&lt;center&gt;&lt;img target=\"$target\" style=\"border: $borderwidth_userbanner_toplist solid $bodercolor_userbanner_toplist\" src=\"$USER[12]\" alt=\"$USER[9]\"&gt;&lt;/center&gt;&lt;/a&gt; \n";}
      if ($USER[31] eq "show_banner_not_validate")
          {
           if ($alternative_banner_admincheck eq "standard_banner")
              {
              $topliste .="&lt;center&gt;&lt;img target=\"$target\" style=\"border: $borderwidth_userbanner_toplist solid $bodercolor_userbanner_toplist\" src=\"$no_cgi_url/alternative_userbanner/not_validate.gif\" alt=\"Mitgliedsbanner ist noch nicht freigeschaltet\"&gt;&lt;/center&gt;&lt;/a&gt; \n";
              }
           if ($alternative_banner_admincheck eq "user_defined_banner")
              {
              $topliste .="&lt;center&gt;&lt;img target=\"$target\" style=\"border: $borderwidth_userbanner_toplist solid $bodercolor_userbanner_toplist\" src=\"$alternative_banner_admincheck_url\" alt=\"Mitgliedsbanner ist noch nicht freigeschaltet\"&gt;&lt;/center&gt;&lt;/a&gt; \n";
              }
          }
      if ($USER[31] eq "show_no_banner")
          {
           if ($alternative_banner_no_userbanner eq "standard_banner")
              {
              $topliste .="&lt;center&gt;&lt;img target=\"$target\" style=\"border: $borderwidth_userbanner_toplist solid $bodercolor_userbanner_toplist\" src=\"$no_cgi_url/alternative_userbanner/no_banner.gif\" alt=\"Dieses Mitglied hat kein Banner angegeben\"&gt;&lt;/center&gt;&lt;/a&gt; \n";
              }
           if ($alternative_banner_no_userbanner eq "user_defined_banner")
              {
              $topliste .="&lt;center&gt;&lt;img target=\"$target\" style=\"border: $borderwidth_userbanner_toplist solid $bodercolor_userbanner_toplist\" src=\"$alternative_banner_no_userbanner_url\" alt=\"Dieses Mitglied hat kein Banner angegeben\"&gt;&lt;/center&gt;&lt;/a&gt; \n";
              }
          }
      if ($USER[31] eq "show_not_allowed")
          {
           if ($alternative_banner_rules eq "standard_banner")
              {
              $topliste .="&lt;center&gt;&lt;img target=\"$target\" style=\"border: $borderwidth_userbanner_toplist solid $bodercolor_userbanner_toplist\" src=\"$no_cgi_url/alternative_userbanner/against_rules.gif\"  alt=\"Das Mitgliedsbanner verst&amp;ouml;ßt gegen die Regeln\"&gt;&lt;/center&gt;&lt;/a&gt; \n";
              }
           if ($alternative_banner_rules eq "user_defined_banner")
              {
              $topliste .="&lt;center&gt;&lt;img target=\"$target\" style=\"border: $borderwidth_userbanner_toplist solid $bodercolor_userbanner_toplist\" src=\"$alternative_banner_rules_url\" alt=\"Das Mitgliedsbanner verst&amp;ouml;ßt gegen die Regeln\"&gt;&lt;/center&gt;&lt;/a&gt; \n";
              }
           }
    }
if ($show_user_sitename_link eq "on")
    {
    ### Fix the Links if no User is in Database
    if ($no_user_in_database_fix eq "on")
       {$topliste .="&lt;a href=\"$cgi_root_url/toplist.pl\" target=\"_self\" title=\"Topliste neu laden\" target=\"$target\"&gt;&lt;b&gt;$USER[9]&lt;/b&gt;&lt;/a&gt;&lt;br&gt;\n";
       }
    else
        {
         $topliste .="&lt;a href=\"$cgi_root_url/toplist.pl?action=click_out&amp;account=$USER[4]\" target=\"_blank\"&gt;&lt;b&gt;$USER[9]&lt;/b&gt;&lt;/a&gt;&lt;br&gt;\n";
        }

    }
if ($show_user_beschreibung eq "on")
    {
	$USER[10] =~ s/&lt;br&gt;/ /g;
    $topliste .="$USER[10]&lt;/div&gt;\n&lt;/div&gt;\n";
    }












########################TEST ENDE###################################


    if (($show_previos_position eq "on")&amp;&amp;($user_found eq $platz)){&amp;save_new_position;}
    $aktueller_user_in_tabelle++;
    $aktueller_user_auf_seite++;
    $platz++;
    $datensatztopliste++;
    if ($aktueller_user_in_tabelle eq ($user_per_table+1))
          {&amp;close_table; $aktueller_user_in_tabelle="1";}
    if ($aktueller_user_auf_seite eq ($user_per_page+1))
          {&amp;close_table('seiten_menue_einfuegen');&amp;close_page; }
    if ($platz eq $user_found+1)
          {&amp;close_table('seiten_menue_einfuegen');&amp;close_page;}
    }
}

sub open_page {
if ( $aktuelle_seite eq "1")
    {
         open (NEW,"&gt;$no_cgi_path/$dateiname\.$dateiext")||die("Konnte die Datei $dateiname\.$dateiext nicht erzeugen / beschreiben");
         if ($use_flock eq "1") {flock (NEW,1);}
    }
if ( $aktuelle_seite &gt; "1")
    {
         open (NEW,"&gt;$no_cgi_path/$dateiname$aktuelle_seite\.$dateiext")||die("Konnte die Datei $dateiname$aktuelle_seite\.$dateiext nicht erzeugen / beschreiben");
         if ($use_flock eq "1") {flock (NEW,1);}

          }
$topliste .="&lt;html&gt;&lt;head&gt;&lt;title&gt;$title&lt;/title&gt;\n";#### HTML Header wird geoeffnet
    if ($laufleiste) {
                 
                 }
                 #### Metatags werden eingefuegt
                 open (DATEI,"&lt;$cgi_root_path/config/insert/metatag.dat")||die("Konnte die Datei metatag.dat nicht einlesen");
                 if ($use_flock eq "1") {flock (DATEI,1);}
                 @DATEN =&lt;DATEI&gt;;
                 if ($use_flock eq "1") {flock (DATEI,8);}
                 close (DATEI);
                 foreach $line (@DATEN)
                   {
                    $topliste .=$line;
                   }
                   ### HTML-Header wird geschlossen
$topliste .="&lt;/head&gt;\n&lt;body&gt;\n\n";
                ### Header wird eingefuegt
                open (DATEI,"&lt;$cgi_root_path/config/insert/header.dat")||die("Konnte die Datei header.dat nicht einlesen");
                if ($use_flock eq "1") {flock (DATEI,1);}
                @DATEN =&lt;DATEI&gt;;
                if ($use_flock eq "1") {flock (DATEI,1);}
                close (DATEI);
                foreach $line (@DATEN)
                    {
                     $topliste .=$line;
                    }

#### Site of the moment  (show only the userbanner not the alternative banner)
if (($site_of_the_moment eq on)&amp;&amp;($aktuelle_seite eq "1")){
      $datensatz_sotm  = "0";
      $user_found_sotm = "0";
      foreach (@TOPUSER)
              {
               @SOTMTEMPARRY = split (/\|/,$TOPUSER[$datensatz_sotm] );
                if ($SOTMTEMPARRY[31] eq "show_normal_banner")
                    {push (@SOTMUSER, join ("\|", @SOTMTEMPARRY));
                     $user_found_sotm++;
                    }
                 $datensatz_sotm++;
              }
        srand;
        $sotm_user= int ((rand $user_found_sotm));
        @SOTM = split (/\|/,$SOTMUSER[$sotm_user]);
### Fix the Links if no User is in Database
if ($no_user_in_database_fix eq "on"){$sotm_user_link="http://www.bannerblitz.de";}
else {$sotm_user_link="$cgi_root_url/toplist.pl?action=click_out&amp;account=$SOTM[4]";}
$sotm_cell_height=($SOTM[13]+10);
$topliste .="\n";
$topliste .="&lt;div class=\"siteofthemoment\"&gt;Site of the Moment&lt;/div&gt;";
$topliste .="&lt;a href=\"$sotm_user_link\" target=\"_blank\"&gt;\n";
$topliste .="&lt;img style=\"border: $borderwidth_userbanner_toplist solid $bodercolor_userbanner_toplist\" src=\"$SOTM[12]\" alt=\"$SOTM[9]\"&gt;&lt;/a&gt;\n";
$topliste .="&lt;/div&gt;\n";
}
### Usermenue wird eingefuegt
if ($show_usermenue eq "on"){
$topliste .="&lt;center&gt;&lt;a class=\"home\" href=\"$webmasterhomepage\" target=\"_self\"&gt;[Home]&lt;/a&gt;
             &lt;a  class=\"home\" href=\"$cgi_root_url/toplist.pl?action=new_member\" target=\"_self\"&gt;[Anmelden]&lt;/a&gt;
             &lt;a  class=\"home\" href=\"$cgi_root_url/toplist.pl?action=edit_account\" target=\"_self\"&gt;[Userlogin]&lt;/a&gt;&lt;div class=\"clear\"&gt;&lt;/div&gt;";
}
### update und reset Informationen werden eingefuegt
&amp;get_time;
if ($show_update_period eq "on"){
    if ($update_time &gt; 1){$topliste .="&lt;center&gt;Diese Liste wird alle $update_time Minuten aktualisiert.&lt;/center&gt;";}
    else {$topliste .="&lt;center&gt;Diese Liste wird alle 60 Sekunden aktualisiert.&lt;/center&gt;";}
    }
if ($show_reset_period eq "on"){
    if ($reset_time &gt; 1){$topliste .="&lt;center&gt;Ein Reset erfolgt alle $reset_time Tage.&lt;/center&gt;";}
    else {$topliste .="&lt;center&gt;Ein Reset erfolgt jeden Tag. &lt;/center&gt;";}
    }
if ($show_last_update eq "on"){
    $topliste .="&lt;center&gt;Letztes Update: $aktdate um $aktzeit.&lt;/center&gt;\n";
    }
if ($show_next_update eq "on"){
    $topliste .="&lt;center&gt;N&amp;auml;chtes Update: $nextupdatedate um $nextupdatetime.&lt;/center&gt;&lt;div class=\"clear\"&gt;&lt;/div&gt;\n";
    }
if ($show_next_reset eq "on"){
    $topliste .="&lt;center&gt;N&amp;auml;chtes Reset: $nextresetdate um $nextresettime.&lt;/center&gt;\n";
    }
### Eingetrage User werden angezeigt
if ($show_eingetragene_member eq "on"){
    $topliste .="&lt;center&gt;Eingetragene Mitglieder:&lt;b&gt; $eingetragene_member&lt;/b&gt;&lt;/center&gt;\n";
    }
### Aktive User werden angezeigt
if ($show_active_member eq "on"){
    $topliste .="&lt;center&gt;Aktive Mitglieder:&lt;b&gt; $active_member&lt;/b&gt;&lt;/center&gt;&lt;div class=\"clear\"&gt;&lt;/div&gt;\n";
    }
#### Menue wird eingefuegt
&amp;menue;
}

sub close_page {
   #### seiten_menue_einfuegen
           if (($aktueller_user_auf_seite eq ($user_per_page+1))||($platz eq $user_found+1))
                 {&amp;menue;}



### Usermenue wird eingefuegt
if ($show_usermenue_down eq "on"){
$topliste .="&lt;a class=\"home\" href=\"$webmasterhomepage\" target=\"_self\"&gt;[Home]&lt;/a&gt;
             &lt;a class=\"home\" href=\"$cgi_root_url/toplist.pl?action=new_member\" target=\"_self\"&gt;[Anmelden]&lt;/a&gt;
             &lt;a class=\"home\" href=\"$cgi_root_url/toplist.pl?action=edit_account\" target=\"_self\"&gt;[Userlogin]&lt;/a&gt;&lt;div class=\"clear\"&gt;&lt;/div&gt;";
}
if ($show_update_period_down eq "on"){
    if ($update_time &gt; 1){$topliste .="&lt;center&gt;Diese Liste wird alle $update_time Minuten aktualisiert. &lt;/center&gt; ";}
    else {$topliste .="&lt;center&gt;Diese Liste wird alle 60 Sekunden aktualisiert. &lt;/center&gt;";}
    }
if ($show_reset_period_down eq "on"){
    if ($reset_time &gt; 1){$topliste .="&lt;center&gt;Ein Reset erfolgt alle $reset_time Tage.&lt;/center&gt;";}
    else {$topliste .="&lt;center&gt;Ein Reset erfolgt jeden Tag. &lt;/center&gt;";}
    }
if ($show_last_update_down eq "on"){
    $topliste .="&lt;center&gt; Letztes Update: $aktdate um $aktzeit.&lt;/center&gt;\n";
    }
if ($show_next_update_down eq "on"){
    $topliste .="&lt;center&gt; N&amp;auml;chtes Update: $nextupdatedate um $nextupdatetime.&lt;/center&gt;\n";
    }
if ($show_next_reset_down eq "on"){
    $topliste .="&lt;center&gt; N&amp;auml;chtes Reset: $nextresetdate um $nextresettime.&lt;/center&gt;\n";
    }
### Eingetrage User werden angezeigt
if ($show_eingetragene_member_down eq "on"){
    $topliste .="&lt;center&gt; Eingetragene Mitglieder:&lt;b&gt; $eingetragene_member&lt;/b&gt; &lt;/center&gt;\n";
    }
### Aktive User werden angezeigt
if ($show_active_member_down eq "on"){
    $topliste .="&lt;center&gt; Aktive Mitglieder:&lt;b&gt; $active_member&lt;/b&gt; &lt;/center&gt;\n";
    }


 #### Footer wird eingefuegt
 open (DATEI,"&lt;$cgi_root_path/config/insert/footer.dat")||die("Konnte die Datei footer.dat nicht einlesen");
            if ($use_flock eq "1") {flock (DATEI,1);}
            @DATEN =&lt;DATEI&gt;;
            if ($use_flock eq "1") {flock (DATEI,8);}
            close (DATEI);
            foreach $line (@DATEN)
            {
            $topliste .="$line";
            }
 ### Html-Seite wird geschlossen
$topliste .="&lt;/body&gt;&lt;/html&gt;\n";
 ### aktuelle Seite wird geschrieben
 print NEW $topliste;
            if ($use_flock eq "1") {flock (NEW,8);}
         close (NEW);
        if ( $aktuelle_seite eq "1")
            {chmod 0644, "$no_cgi_path/$dateiname\.$dateiext";}
        if ( $aktuelle_seite &gt; "1")
            { $chmod_path = "$no_cgi_path/$dateiname"."$aktuelle_seite\.$dateiext";
            chmod 0644, "$chmod_path";
            }

$aktuelle_seite++;
$aktueller_user_auf_seite ="1";
$aktueller_user_in_tabelle="1";
$topliste="";
    if ($platz &lt; $user_found+1)
        {&amp;open_page;}
}


sub menue {
if ($lastpage &gt; 1){
    $topliste .="&lt;font face=\"Arial, Helvetica, sans-serif\" &gt;&amp;nbsp;&lt;/font&gt;&lt;center&gt;\n";
        if  (($lastpage &gt; 1)&amp;&amp;($aktuelle_seite ne 1))
            { $previous_page=($aktuelle_seite-1);
        if ($previous_page eq 1){$previous_page="";}
              $topliste .="&lt;a class=\"wseiten\" title=\"vorherige Seite\" href=\"$no_cgi_url/$dateiname$previous_page.$dateiext\"&gt;&lt;--&lt;/a&gt;\n";
            }
for ($menue_link = 1;$menue_link&lt;$lastpage+1;$menue_link++)
     {
       if ($menue_link eq 1)
            {
             $topliste .="&lt;a class=\"wseiten\" title=\"TOP $user_per_page\" href=\"$no_cgi_url/$dateiname.$dateiext\"&gt;$menue_link&lt;/a&gt; \n";
            }
      else {
            $top1= ((($menue_link-1)*$user_per_page)+1);
            $top2= (($top1+$user_per_page)-1);
            $topliste .="&lt;a class=\"wseiten\" title=\"TOP $top1-$top2\" href=\"$no_cgi_url/$dateiname$menue_link.$dateiext\"&gt;$menue_link&lt;/a&gt; \n";
            }
     }
if  (($lastpage &gt; 1)&amp;&amp;($aktuelle_seite ne $lastpage))
     { $next_page=($aktuelle_seite+1);
      $topliste .="&lt;a class=\"wseiten\" title=\"n&amp;auml;chste Seite\" href=\"$no_cgi_url/$dateiname$next_page.$dateiext\"&gt;--&gt;&lt;/a&gt;&lt;br&gt;&lt;div class=\"clear\"&gt;&lt;/div&gt;\n";
     }
$topliste .="&lt;/center&gt;&lt;font face=\"Arial, Helvetica, sans-serif\" &gt;&amp;nbsp;&lt;/font&gt;\n";
    }
    #### Zwiechenraum zwischen Usermenue und Topliste falls kein Seitenmenue benoetigt wird.
else {$topliste .="&lt;font face=\"Arial, Helvetica, sans-serif\"&gt;&amp;nbsp;&lt;/font&gt;";}
}

sub open_table {
if ($tabelle_offen eq 0){
$topliste .="\n";
if ($show_hitin_geamt eq "on")
    {
    
    }
if ($show_hitin_geamt eq "on")
    {

    }

$tabelle_offen = "1";
}
}

sub close_table {
 if ($tabelle_offen eq 1)
  {
  $topliste .="\n";
  &amp;insert_werbung;
  $tabelle_offen="0";
  }
}

sub werbung_auslesen{

$werbung="0";
open (META,"&lt;$userdatapath/insert/werbung/werbung.dat");
    if ($use_flock eq "1") {flock (META,1);}
    @WERBUNG = &lt;META&gt;;
    if ($use_flock eq "1") {flock (META,8);}
    close (META);
    foreach $line (@WERBUNG)
    {
    chomp ($line) if ($line =~ /\n/);
    }
open (META,"&lt;$userdatapath/insert/werbung/standardwerbung.dat");
    if ($use_flock eq "1") {flock (META,1);}
    @STANDARDWERBUNG = &lt;META&gt;;
    if ($use_flock eq "1") {flock (META,8);}
    close (META);

}

sub insert_werbung {

if (-e "$userdatapath/insert/werbung/werbung_id_$WERBUNG[$werbung].dat")
    {
    open (META,"&lt;$userdatapath/insert/werbung/werbung_id_$WERBUNG[$werbung].dat");
    if ($use_flock eq "1") {flock (META,1);}
    @AKTUELLE_WERBUNG = &lt;META&gt;;
    if ($use_flock eq "1") {flock (META,8);}
    close (META);
        foreach $line (@AKTUELLE_WERBUNG)
        {
        $topliste .="$line";
        }
    }
else { $topliste .= "@STANDARDWERBUNG";}
$werbung++;
}

sub get_time {
##### Uhrzeit des letzten Updates wird berechnet (mit Serveroffset)
if (($show_last_update eq "on")||($show_last_update_down eq "on")){
      $offsetzeit = time() + ($serveroffset * 3600);
      ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime ($offsetzeit);
      @months = ("space" , "Januar", "Februar", "M&amp;auml;rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
      $mon++;$year = $year + 1900;$monformat = sprintf ("%2d", $mon);$monformat =~tr/ /0/;
      $mdayformat = sprintf ("%2d", $mday);$mdayformat =~tr/ /0/;$USDate = "$monformat-$mdayformat-$year";
      $EuroDate = "$mdayformat-$monformat-$year";$USDateerweitert = "$months[$mon] $mday, $year";
      $EuroDateerweitert = "$mday $months[$mon] $year";$min = sprintf ("%2d", $min);$min =~tr/ /0/;
      $hour = sprintf ("%2d", $hour);$hour =~tr/ /0/;$EuroTime = "$hour:$min Uhr";
      if ($hour &lt; 12) {$ext = "AM";$USHour = "$hour";}if ($hour &gt; 12) {$USHour = $hour - 12;$ext = "PM";}
      if ($hour == 12){$ext = "PM";$USHour = "12";}if ($hour == 0) {$USHour = "12";}
      $USHour = sprintf ("%2d", $USHour);$USHour =~tr/ /0/;$USTime = "$USHour:$min $ext";
      if ($timeformat eq "12") {$aktzeit = $USTime;} else {$aktzeit = $EuroTime;}
      if ($dateformat eq "US") {$aktdate = "$USDate";}elsif ($dateformat eq "USXL") {$aktdate = "$USDateerweitert";}
      elsif ($dateformat eq "EU") {$aktdate = "$EuroDate";}else {$aktdate = "$EuroDateerweitert";}
  }
##### Uhrzeit des naechsten Updates wird berechnet (mit Serveroffset)
if (($show_next_update eq "on")||($show_next_update_down eq "on")){
      $updatezeit = time() + ($serveroffset * 3600) +($update_time * 60);
      ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime ($updatezeit);
      @months = ("space" , "Januar", "Februar", "M&amp;auml;rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
      $mon++;$year = $year + 1900;$monformat = sprintf ("%2d", $mon);$monformat =~tr/ /0/;
      $mdayformat = sprintf ("%2d", $mday);$mdayformat =~tr/ /0/;
      $USDate = "$monformat-$mdayformat-$year";$EuroDate = "$mdayformat-$monformat-$year";
      $USDateerweitert = "$months[$mon] $mday, $year";$EuroDateerweitert = "$mday $months[$mon] $year";
      $min = sprintf ("%2d", $min);$min =~tr/ /0/;$hour = sprintf ("%2d", $hour);$hour =~tr/ /0/;
      $EuroTime = "$hour:$min Uhr";if ($hour &lt; 12) {$ext = "AM";$USHour = "$hour";}if ($hour &gt; 12) {$USHour = $hour - 12;$ext = "PM";}
      if ($hour == 12){$ext = "PM";$USHour = "12";}          if ($hour == 0) {$USHour = "12";}
      $USHour = sprintf ("%2d", $USHour);$USHour =~tr/ /0/;$USTime = "$USHour:$min $ext";
      if ($timeformat eq "12") {$nextupdatetime = $USTime;}else {$nextupdatetime = $EuroTime;}
      if ($dateformat eq "US") {$nextupdatedate = "$USDate";}elsif ($dateformat eq "USXL") {$nextupdatedate = "$USDateerweitert";}
      elsif ($dateformat eq "EU") {$nextupdatedate = "$EuroDate";}else {$nextupdatedate = "$EuroDateerweitert";}
    }
###### Uhrzeit das naechste Reset wird berechnet (mit Serveroffeset)
if (($show_next_reset eq "on")||($show_next_reset_down eq "on")){
      $resetzeit = $last_reset + ($serveroffset * 3600) + ($reset_time*86400);
      ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime ($resetzeit);
      @months = ("space" , "Januar", "Februar", "M&amp;auml;rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
      $mon++;$year = $year + 1900;$monformat = sprintf ("%2d", $mon);$monformat =~tr/ /0/;
      $mdayformat = sprintf ("%2d", $mday);$mdayformat =~tr/ /0/;
      $USDate = "$monformat-$mdayformat-$year";$EuroDate = "$mdayformat-$monformat-$year";
      $USDateerweitert = "$months[$mon] $mday, $year";$EuroDateerweitert = "$mday $months[$mon] $year";
      $min = sprintf ("%2d", $min);$min =~tr/ /0/;$hour = sprintf ("%2d", $hour);$hour =~tr/ /0/;
      $EuroTime = "$hour:$min Uhr";if ($hour &lt; 12) {$ext = "AM";$USHour = "$hour";}if ($hour &gt; 12) {$USHour = $hour - 12;$ext = "PM";}
      if ($hour == 12){$ext = "PM";$USHour = "12";}          if ($hour == 0) {$USHour = "12";}
      $USHour = sprintf ("%2d", $USHour);$USHour =~tr/ /0/;$USTime = "$USHour:$min $ext";
      if ($timeformat eq "12") {$nextresettime = $USTime;}else {$nextresettime = $EuroTime;}
      if ($dateformat eq "US") {$nextresetdate = "$USDate";}elsif ($dateformat eq "USXL") {$nextresetdate = "$USDateerweitert";}
      elsif ($dateformat eq "EU") {$nextresetdate = "$EuroDate";}else {$nextresetdate = "$EuroDateerweitert";}
    }
}

sub save_new_position {

    open (NEWPOSITION, "&gt;$cgi_root_path/config/position.txt")||die("Konnte die Datei podition.txt nicht beschreiben");
    if ($use_flock eq "1") {flock (NEWPOSITION,1);}
    foreach $line (@NEWPOSITION)
    {
    print NEWPOSITION "$line";
    }
    if ($use_flock eq "1") {flock (NEWPOSITION,8);}
    close (NEWPOSITION);
    }



sub log_click_out {
                     $datensatz=0;

        open (ALLEACCOUNTS, "+&lt;$userdatapath/user.dat")||die("Konnte die Datei user.dat nicht einlesen");
              if ($use_flock eq "1") {flock (ALLEACCOUNTS,1);}
                @ALLEACCOUNTS = &lt;ALLEACCOUNTS&gt;;

        foreach (@ALLEACCOUNTS)
           {
             @USER = split(/\|/, $ALLEACCOUNTS[$datensatz]);
             if ($USER[4] eq  $FORM{account})
               {
                 $USER[3]++;  $USER[17]++;
                 $redirect   = "$USER[11]";
                 $awm_status = "$USER[32]";
                 $awm_system = "$USER[33]";
                 $awm_id     = "$USER[34]";
                 $ALLEACCOUNTS[$datensatz] = join ("\|",@USER);
               }
               $datensatz++;
            }
        seek (ALLEACCOUNTS, 0, 0);
        print ALLEACCOUNTS @ALLEACCOUNTS;
        if ($use_flock eq "1") {flock (ALLEACCOUNTS,8);}
        close (ALLEACCOUNTS);

    if ($awm_status eq "awm_check_on")
       {
       &amp;awm_check;
       }
    else {print "Location: $redirect \n\n";}

}

sub awm_check {
if ($awm_system eq "alterskontrolle")
   {


   &amp;header;
print "&lt;div align=\"center\"&gt;\n";
print "&lt;center&gt;\n";
print "&lt;table width=\"600\" border=\"$toplist_border_width\" bordercolor=\"$toplist_border_color\" cellspacing=\"$toplist_cellspacing\" cellpadding=\"$toplist_cellpadding\" bgColor=\"$table_bg_color\"&gt;\n";
print "&lt;tr&gt;\n";
print "&lt;td width=\"600\" bgcolor=\"$table_head_color\" colspan=\"2\"&gt;\n";
print "&lt;center&gt;&lt;font face\=\"$font\" color=\"$font_color_table_header\"&gt;&lt;b&gt;Die Seite wird durch ein Jugendschutzsystem gesch&amp;uuml;tzt!&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;\n";
print "&lt;/tr&gt;\n";
print "&lt;tr&gt;\n";
print "&lt;td width=\"600\" bgcolor=\"$table_body_color\"  height=\"25\" colspan=\"2\"&gt;\n";
print&lt;&lt;"TOR";
&lt;!-- BEGIN ALTERSKONTROLLE.DE TOR CODE --&gt;

&lt;table border="0" width="100%" cellpadding="2"&gt;

  &lt;table border="0" width="100%" cellpadding="2"&gt;
    &lt;tr&gt;
     &lt;td width="100%"&gt;
     &lt;p align="center"&gt;&lt;font face="Arial"&gt;&lt;br&gt;
     Damit wir Ihr Alter feststellen können, geben Sie bitte Ihre Alterskontrolle - Zugangsdaten ein ! &lt;/font&gt;&lt;/p&gt;
    &lt;p&gt;&lt;font face="Arial" &gt;Wenn Sie noch keine Zugangsdaten haben, können Sie sich
    &lt;a href="http://www.alterskontrolle.de?wid=$webmasterID&amp;sid=$siteID" target="_blank"&gt;hier in wenigen
     Minuten registrieren !&lt;/a&gt;&lt;/font&gt;&lt;br&gt;
&amp;nbsp;&lt;/td&gt;
&lt;/table&gt;
&lt;form method="POST" action="http://www.alterskontrolle.de/cgi-mod/tor2.cgi"&gt;
&lt;input type="hidden" name="pname" value="ID"&gt;
&lt;input type="hidden" name="pvalue" value="$awm_id"&gt;
&lt;input type="hidden" name="id" value="$siteID"&gt;
&lt;input type="hidden" name="wid" value="$webmasterID"&gt;
  &lt;div align="center"&gt;
    &lt;table cellspacing="0" cellpadding="0" bgcolor="#e5e5e9" border="0" ?&gt;
      &lt;tbody&gt;
        &lt;tr&gt;
          &lt;td&gt;&lt;a
href="http://www.alterskontrolle.de/?wid=$webmasterID&amp;sid=$siteID"
target="_blank"&gt;&lt;img border="0"
src="http://www.alterskontrolle.de/images/tor.gif" width="348"
height="93"&gt;&lt;/a&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
          &lt;td valign="bottom" bgcolor="#E5E5E9"&gt;
            &lt;table border="0" width="100%" cellspacing="4" cellpadding="0"&gt;
              &lt;tr&gt;
                &lt;td&gt;&lt;b&gt;&lt;font face="Arial,Helvetica,sans-serif" 
color="#000080"&gt;User-ID:&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;
                &lt;td&gt;&lt;input name="userid"&gt;&lt;/td&gt;
                &lt;td&gt;
                  &lt;p align="center"&gt;&lt;img border="0"
src="http://www.alterskontrolle.de/images/infos.gif" width="80"
height="24"&gt;&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td&gt;&lt;b&gt;&lt;font face="Arial,Helvetica,sans-serif" 
color="#000080"&gt;Passwort:&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;
                &lt;td&gt;&lt;input name="pw" type="password"&gt;&lt;/td&gt;
                &lt;td&gt;
                  &lt;p align="center"&gt;&lt;input type="submit" value="START"
style="font-weight: bold; color: #000066"&gt;&lt;/td&gt;
              &lt;/tr&gt;
            &lt;/table&gt;
          &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
          &lt;td align="middle" bgcolor="#000066"&gt;
            &lt;table border="0" width="100%" cellspacing="0" cellpadding="4"&gt;
              &lt;tr&gt;
                &lt;td width="100%" class="foot"&gt;&lt;font
face="Arial,Helvetica,sans-serif" &gt;&lt;font color="#E5E5E9"&gt;Diese
                  Seite wird durch&lt;/font&gt; &lt;a
href="http://www.alterskontrolle.de?wid=$webmasterID&amp;sid=$siteID"
target="_blank" class="whitelink"&gt;&lt;font
color="#E5E5E9"&gt;Alterskontrolle.de&lt;/font&gt;&lt;/a&gt;
                  &lt;font color="#E5E5E9"&gt;geschützt !&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;
              &lt;/tr&gt;
            &lt;/table&gt;
          &lt;/td&gt;
        &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/form&gt;

                &lt;!-- END ALTERSKONTROLLE.DE TOR CODE --&gt;
TOR
print "&lt;/td&gt;\n";
print "&lt;/tr&gt;\n";
print "&lt;/table&gt;\n";
print "&lt;/center&gt;\n";
print "&lt;/div&gt;\n";
&amp;footer;
   }

}

sub awm_click_out {


        open (ALLEACCOUNTS, "&lt;$userdatapath/user.dat")||die("Konnte die Datei user.dat nicht einlesen");
              if ($use_flock eq "1") {flock (ALLEACCOUNTS,1);}
                @ALLEACCOUNTS = &lt;ALLEACCOUNTS&gt;;

        foreach (@ALLEACCOUNTS)
           {
             @USER = split(/\|/, $ALLEACCOUNTS[$datensatz]);
             if ($USER[34] eq  $FORM{ID})
               {
                 $redirect   = "$USER[11]";
               }
               $datensatz++;
            }

        if ($use_flock eq "1") {flock (ALLEACCOUNTS,8);}
        close (ALLEACCOUNTS);
print "Location: $redirect \n\n";
}

sub log_click_in {

        $datensatz=0;
              open (ALLEACCOUNTS, "+&lt;$userdatapath/user.dat")||die("Konnte die Datei user.dat nicht einlesen");
              if ($use_flock eq "1") {flock (ALLEACCOUNTS,1);}
                   @ALLEACCOUNTS = &lt;ALLEACCOUNTS&gt;;

        foreach (@ALLEACCOUNTS)
           {
             @USER = split(/\|/, $ALLEACCOUNTS[$datensatz]);
             if ($USER[4] eq  $FORM{account})
               {
                 $USER[2]++; $USER[16]++;
                 $ALLEACCOUNTS[$datensatz] = join ("\|",@USER);
               }
               $datensatz++;
            }
        seek (ALLEACCOUNTS, 0, 0);
        print ALLEACCOUNTS @ALLEACCOUNTS;
        if ($use_flock eq "1") {flock (ALLEACCOUNTS,8);}
        close (ALLEACCOUNTS);



}

sub update_account {
             #  $datensatz=0;
#
#
#               open (ALLEACCOUNTS, "&lt;$userdatapath/user.dat")||die("Konnte die Datei user.dat nicht einlesen");
#               if ($use_flock eq "1") {flock (ALLEACCOUNTS,1);}
#               @ALLEACCOUNTS = &lt;ALLEACCOUNTS&gt;;
#               if ($use_flock eq "1") {flock (ALLEACCOUNTS,8);}
#               close (ALLEACCOUNTS);
#         foreach (@ALLEACCOUNTS)
#            {
#              @USER = split(/\|/, $ALLEACCOUNTS[$datensatz]);
#              $USER[0] = $USER[0] + $USER[2];
#              $USER[1] = $USER[1] + $USER[3];
#              $USER[2] = 0;
#              $USER[3] = 0;
#              $v1 = $USER[21]* 10;
#              $v2 = $USER[22]* 20;
#              $v3 = $USER[23]* 30;
#              $v4 = $USER[24]* 40;
#              $v5 = $USER[25]* 50;
#              $v6 = $USER[26]* 60;
#              $v7 = $USER[27]* 70;
#              $v8 = $USER[28]* 80;
#              $v9 = $USER[29]* 90;
#              $v10 =$USER[30]* 100;
# if (($USER[20] eq "0")||($USER[20] eq "")||($USER[20] eq "\n"))
#    {$stimmen = "1";}
# else {$stimmen = $USER[20];}
#  $vote = (($v1+$v2+$v3+$v4+$v5+$v6+$v7+$v8+$v9+$v10) / $stimmen)/10;
#  $USER[19] = $vote;
#
#             $ALLEACCOUNTS[$datensatz] = join ("\|",@USER);
#             $datensatz++;
#             }
#
#
#         open (ALLEACCOUNTS, "&gt;$userdatapath/user.dat")||die("Konnte die Datei user.dat nicht beschreiben");
#           if ($use_flock eq "1") {flock (ALLEACCOUNTS,1);}
#           print ALLEACCOUNTS @ALLEACCOUNTS;
#           if ($use_flock eq "1") {flock (ALLEACCOUNTS,8);}
#         close (ALLEACCOUNTS);
### neue updateroutine entfernt \n und leere Zeilen
open (ALLEACCOUNTS, "&lt;$userdatapath/user.dat")||die("Konnte die Datei user.dat nicht einlesen");
if ($use_flock eq "1") {flock (ALLEACCOUNTS,1);}
@ALLEACCOUNTS = &lt;ALLEACCOUNTS&gt;;
if ($use_flock eq "1") {flock (ALLEACCOUNTS,8);}
close (ALLEACCOUNTS);
        foreach (@ALLEACCOUNTS)
           { if (($_ ne "")&amp;&amp;($_ ne "\n"))
             {
              @USER = split(/\|/, $_);
              $USER[0] = $USER[0] + $USER[2];
              $USER[1] = $USER[1] + $USER[3];
              $USER[2] = 0;
              $USER[3] = 0;
              $v1 = $USER[21]* 10;
              $v2 = $USER[22]* 20;
              $v3 = $USER[23]* 30;
              $v4 = $USER[24]* 40;
              $v5 = $USER[25]* 50;
              $v6 = $USER[26]* 60;
              $v7 = $USER[27]* 70;
              $v8 = $USER[28]* 80;
              $v9 = $USER[29]* 90;
              $v10 =$USER[30]* 100;
               if (($USER[20] eq "0")||($USER[20] eq "")||($USER[20] eq "\n"))
                   {$stimmen = "1";}
                   else {$stimmen = $USER[20];}
              $vote = (($v1+$v2+$v3+$v4+$v5+$v6+$v7+$v8+$v9+$v10) / $stimmen)/10;
              $USER[19] = $vote;
             push @UPDATE_ACCOUNT ,join ("\|",@USER);
              }
}
open (ALLEACCOUNTS, "&gt;$userdatapath/user.dat")||die("Konnte die Datei user.dat nicht beschreiben");
if ($use_flock eq "1") {flock (ALLEACCOUNTS,1);}
print ALLEACCOUNTS @UPDATE_ACCOUNT;
if ($use_flock eq "1") {flock (ALLEACCOUNTS,8);}
close (ALLEACCOUNTS);
}

sub reset_account {
###neue resetroutine entfernt \n und leere Zeilen

              open (ALLEACCOUNTS, "&lt;$userdatapath/user.dat")||die("Konnte die Datei user.dat nicht einlesen");
              if ($use_flock eq "1") {flock (ALLEACCOUNTS,1);}
              @ALLEACCOUNTS = &lt;ALLEACCOUNTS&gt;;
              if ($use_flock eq "1") {flock (ALLEACCOUNTS,8);}
              close (ALLEACCOUNTS);
   foreach (@ALLEACCOUNTS)
           {if (($_ ne "")&amp;&amp;($_ ne "\n"))
             {
              @USER = split(/\|/,$_);
              $USER[0] = 0;
              $USER[1] = 0;
              $USER[2] = 0;
              $USER[3] = 0;
              push @RESET_USER, join ("\|",@USER);
              }
          }
        open (ALLEACCOUNTS, "&gt;$userdatapath/user.dat")||die("Konnte die Datei user.dat nicht beschreiben");
        if ($use_flock eq "1") {flock (ALLEACCOUNTS,1);}
        print ALLEACCOUNTS @RESET_USER;
        if ($use_flock eq "1") {flock (ALLEACCOUNTS,8);}
        close (ALLEACCOUNTS);
}

sub reset_all_accounts {
### neue Reset_all Routine entfernt \n und leere Zeilen!

              open (ALLEACCOUNTS, "&lt;$userdatapath/user.dat")||die("Konnte die Datei user.dat nicht einlesen");
              if ($use_flock eq "1") {flock (ALLEACCOUNTS,1);}
              @ALLEACCOUNTS = &lt;ALLEACCOUNTS&gt;;
              if ($use_flock eq "1") {flock (ALLEACCOUNTS,8);}
              close (ALLEACCOUNTS);
   foreach (@ALLEACCOUNTS)
           {if (($_ ne "")&amp;&amp;($_ ne "\n"))
             {
              @USER = split(/\|/, $_);
              ### reset Klick in / out
              if ($reset_all_option_klick eq "on")
              {
               $USER[0]  = 0;
               $USER[1]  = 0;
               $USER[2]  = 0;
               $USER[3]  = 0;
              }
             ### reset Klick in / out all
              if ($reset_all_option_klick_all eq "on")
              {
               $USER[15] = time();
               $USER[16] = 0;
               $USER[17] = 0;
              }
             ### reset vote data
             if ($reset_all_option_vote eq "on")
             {
              $USER[19] = 0;
              $USER[20] = 0;
              $USER[21] = 0;
              $USER[22] = 0;
              $USER[23] = 0;
              $USER[24] = 0;
              $USER[25] = 0;
              $USER[26] = 0;
              $USER[27] = 0;
              $USER[28] = 0;
              $USER[29] = 0;
              $USER[30] = 0;
              }
            push @RESET_ALL_USER , join ("\|",@USER);
             }
            }
        open (ALLEACCOUNTS, "&gt;$userdatapath/user.dat")||die("Konnte die Datei user.dat nicht beschreiben");
        if ($use_flock eq "1") {flock (ALLEACCOUNTS,1);}
        print ALLEACCOUNTS @RESET_ALL_USER;
        if ($use_flock eq "1") {flock (ALLEACCOUNTS,8);}
        close (ALLEACCOUNTS);


}

sub show_vote {

&amp;header;
                $datensatz = "0";
                    open (ACCOUNT, "&lt;$userdatapath/user.dat")||die("Konnte die Datei user.dat nicht einlesen");
                    if ($use_flock eq "1") {flock (ACCOUNT,1);}
                    @ALLEDATEN = &lt;ACCOUNT&gt;;
                    if ($use_flock eq "1") {flock (ACCOUNT,8);}
                    close (ACCOUNT);
                    foreach (@ALLEDATEN)
                    {
                    @ACCOUNTDATEN = split (/\|/, $ALLEDATEN[$datensatz]);
                    if ($ACCOUNTDATEN[4] eq $FORM{account})
                    {@ACCOUNT =@ACCOUNTDATEN;
 $voteanzahl = $ACCOUNT[20];
 $v1 = $ACCOUNT[21]* 10;
 $v2 = $ACCOUNT[22]* 20;
 $v3 = $ACCOUNT[23]* 30;
 $v4 = $ACCOUNT[24]* 40;
 $v5 = $ACCOUNT[25]* 50;
 $v6 = $ACCOUNT[26]* 60;
 $v7 = $ACCOUNT[27]* 70;
 $v8 = $ACCOUNT[28]* 80;
 $v9 = $ACCOUNT[29]* 90;
 $v10 = $ACCOUNT[30]* 100;
$stimmen = $voteanzahl;
if ($voteanzahl eq 0)
   {$voteanzahl = 1;$stimmen=0;}
 $vote_percent = ($v1+$v2+$v3+$v4+$v5+$v6+$v7+$v8+$v9+$v10) / $voteanzahl;
 $vote_percent = int $vote_percent;



}

                    $datensatz++;
                    }

print "&lt;div align=\"center\"&gt;\n";
print "  &lt;center&gt;\n";
print "  &lt;table width=\"451\" border=\"$toplist_border_width\" bordercolor=\"$toplist_border_color\" cellspacing=\"$toplist_cellspacing\" cellpadding=\"$toplist_cellpadding\" bgColor=\"$table_bg_color\"&gt;\n";
print "    &lt;tr&gt;\n";
print "      &lt;td width=439 bgcolor=$table_head_color &gt;\n";
print "        &lt;p align=\"center\"&gt;&lt;b&gt;&lt;font face\=$font color=\"$font_color_table_header\"&gt;Bewertung des &amp;quot; $FORM{account} &amp;quot;\n";
print "        Accounts&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;\n";
print "    &lt;/tr&gt;\n";
print "    &lt;tr&gt;\n";
print "      &lt;td width=\"431\" bgcolor=\"$table_body_color\" align=\"right\" height=\"25\"&gt;\n";
print "        &lt;p align=\"center\"&gt;&amp;nbsp;\n";
print "        &lt;/p&gt;\n";
print "        \n";
print "        &lt;div align=\"center\"&gt;\n";
print "          &lt;center&gt;\n";
print "          &lt;table border=\"0\" cellspacing=\"0\" width=\"200\"&gt;\n";
print "            &lt;tr&gt;\n";
print "              &lt;td width=\"100\" align=\"right\"&gt;&lt;font face\=\"$font\" $font_color &gt;&amp;nbsp;10 Punkte&lt;/font&gt;&lt;/td&gt;\n";
print "              &lt;td width=\"100\"&gt;&lt;font face\=\"$font\" $font_color &gt;&amp;nbsp;\= $ACCOUNT[30] mal&lt;/font&gt;&lt;/td&gt;\n";
print "            &lt;/tr&gt;\n";
print "            &lt;tr&gt;\n";
print "              &lt;td width=\"100\" align=\"right\"&gt;&lt;font face\=\"$font\" $font_color &gt;&amp;nbsp;9 Punkte&lt;/font&gt;&lt;/td&gt;\n";
print "              &lt;td width=\"100\"&gt;&lt;font face\=\"$font\" $font_color &gt;&amp;nbsp;\= $ACCOUNT[29] mal&lt;/font&gt;&lt;/td&gt;\n";
print "            &lt;/tr&gt;\n";
print "            &lt;tr&gt;\n";
print "              &lt;td width=\"100\" align=\"right\"&gt;&lt;font face\=\"$font\" $font_color &gt;&amp;nbsp;8 Punkte&lt;/font&gt;&lt;/td&gt;\n";
print "              &lt;td width=\"100\"&gt;&lt;font face\=\"$font\" $font_color &gt;&amp;nbsp;\= $ACCOUNT[28] mal&lt;/font&gt;&lt;/td&gt;\n";
print "            &lt;/tr&gt;\n";
print "            &lt;tr&gt;\n";
print "              &lt;td width=\"100\" align=\"right\"&gt;&lt;font face\=\"$font\" $font_color &gt;&amp;nbsp;7 Punkte&lt;/font&gt;&lt;/td&gt;\n";
print "              &lt;td width=\"100\"&gt;&lt;font face\=\"$font\" $font_color &gt;&amp;nbsp;\= $ACCOUNT[27] mal&lt;/font&gt;&lt;/td&gt;\n";
print "            &lt;/tr&gt;\n";
print "            &lt;tr&gt;\n";
print "              &lt;td width=\"100\" align=\"right\"&gt;&lt;font face\=\"$font\" $font_color &gt;&amp;nbsp;6 Punkte&lt;/font&gt;&lt;/td&gt;\n";
print "              &lt;td width=\"100\"&gt;&lt;font face\=\"$font\" $font_color &gt;&amp;nbsp;\= $ACCOUNT[26] mal&lt;/font&gt;&lt;/td&gt;\n";
print "            &lt;/tr&gt;\n";
print "            &lt;tr&gt;\n";
print "              &lt;td width=\"100\" align=\"right\"&gt;&lt;font face\=\"$font\" $font_color &gt;&amp;nbsp;5 Punkte&lt;/font&gt;&lt;/td&gt;\n";
print "              &lt;td width=\"100\"&gt;&lt;font face\=\"$font\" $font_color &gt;&amp;nbsp;\= $ACCOUNT[25] mal&lt;/font&gt;&lt;/td&gt;\n";
print "            &lt;/tr&gt;\n";
print "            &lt;tr&gt;\n";
print "              &lt;td width=\"100\" align=\"right\"&gt;&lt;font face\=\"$font\" $font_color &gt;&amp;nbsp;4 Punkte&lt;/font&gt;&lt;/td&gt;\n";
print "              &lt;td width=\"100\"&gt;&lt;font face\=\"$font\" $font_color &gt;&amp;nbsp;\= $ACCOUNT[24] mal&lt;/font&gt;&lt;/td&gt;\n";
print "            &lt;/tr&gt;\n";
print "            &lt;tr&gt;\n";
print "              &lt;td width=\"100\" align=\"right\"&gt;&lt;font face\=\"$font\" $font_color &gt;&amp;nbsp;3 Punkte&lt;/font&gt;&lt;/td&gt;\n";
print "              &lt;td width=\"100\"&gt;&lt;font face\=\"$font\" $font_color &gt;&amp;nbsp;\= $ACCOUNT[23] mal&lt;/font&gt;&lt;/td&gt;\n";
print "            &lt;/tr&gt;\n";
print "            &lt;tr&gt;\n";
print "              &lt;td width=\"100\" align=\"right\"&gt;&lt;font face\=\"$font\" $font_color &gt;&amp;nbsp;2 Punkte&lt;/font&gt;&lt;/td&gt;\n";
print "              &lt;td width=\"100\"&gt;&lt;font face\=\"$font\" &gt;&amp;nbsp;\= $ACCOUNT[22] mal&lt;/font&gt;&lt;/td&gt;\n";
print "            &lt;/tr&gt;\n";
print "            &lt;tr&gt;\n";
print "              &lt;td width=\"100\" align=\"right\"&gt;&lt;font face\=\"$font\" $font_color &gt;&amp;nbsp;1 Punkt&lt;/font&gt;&lt;/td&gt;\n";
print "              &lt;td width=\"100\"&gt;&lt;font face\=\"$font\" $font_color &gt;&amp;nbsp;\= $ACCOUNT[21] mal&lt;/font&gt;&lt;/td&gt;\n";
print "            &lt;/tr&gt;\n";
print "          &lt;/table&gt;\n";
print "          &lt;/center&gt;\n";
print "        &lt;/div&gt;\n";
print "        \n";
print "        &lt;p align=\"center\"&gt;&lt;font face\=\"$fon\"t $font_color &gt;Anzahl der Stimmen \= &lt;b&gt;$stimmen&lt;/b&gt; &lt;/font&gt;";
print "        \n";
print "        &lt;p align=\"center\"&gt;&lt;font face\=\"$font\" $font_color &gt;&amp;nbsp;Gesamtergebnis \ = \&lt;b&gt;$vote_percent&lt;/b&gt;%&lt;/font&gt;";
print "        \n";
print "        &lt;p align=\"center\"&gt;&amp;nbsp;&lt;/td&gt;\n";
print "    &lt;/tr&gt;\n";
print "    &lt;tr&gt;      &lt;td width=\"431\" bgcolor=\"$table_body_color\" align=\"right\" height=\"50\"&gt;\n";
print "        &lt;p align=\"center\"&gt;&lt;input TYPE=\"BUTTON\" VALUE=\"Schliessen\" onClick=window.close()&gt;&lt;/td&gt;\n";
print "    &lt;/tr&gt;\n";
print "  &lt;/table&gt;\n";
print "  &lt;/center&gt;\n";
print "&lt;/div&gt;\n";
&amp;footer;


}

sub header {

            print "Content-type: text/html\n\n";
            print "&lt;html&gt;&lt;head&gt;&lt;title&gt;$title&lt;/title&gt;\n";
            if ($laufleiste) {
                
                }
            open (DATEI,"&lt;$cgi_root_path/config/insert/metatag.dat")||die("Konnte die Datei metatag.dat nicht einlesen");
            if ($use_flock eq "1") {flock (DATEI,1);}
            @DATEN =&lt;DATEI&gt;;
            if ($use_flock eq "1") {flock (DATEI,8);}
            close (DATEI);
            foreach $line (@DATEN)
            {
            print $line;
            }
            print "&lt;/head&gt;\n";
            print "&lt;body background\=\"$background\" bgcolor\=$backcolor text\=\"$text_link_text\" link\=\"$text_link_link\" vlink\=\"$text_link_vlink\" alink\=\"$text_link_alink\"&gt;\n";
            open (DATEI,"&lt;$cgi_root_path/config/insert/header.dat")||die("Konnte die Datei header.dat nicht einlesen");
            if ($use_flock eq "1") {flock (DATEI,1);}
            @DATEN =&lt;DATEI&gt;;
            if ($use_flock eq "1") {flock (DATEI,8);}
            close (DATEI);
            foreach $line (@DATEN)
            {
            print $line;
            }
           }

sub footer {

            open (DATEI,"&lt;$cgi_root_path/config/insert/footer.dat")||die("Konnte die Datei footer.dat nicht einlesen");
            if ($use_flock eq "1") {flock (DATEI,1);}
            @DATEN =&lt;DATEI&gt;;
            if ($use_flock eq "1") {flock (DATEI,8);}
            close (DATEI);
            foreach $line (@DATEN)
            {
            print $line;
            }
            print "&lt;br&gt;&lt;br&gt;&lt;center&gt;&lt;font face=\"Arial\" color=\"$text_link_text\"&gt;&lt;b&gt;Megatoplist V$version&lt;/b&gt; &amp;#169; by&lt;a &lt;font target=\"_blank\" href=\"http://www.topcgi.de\"&gt;&lt;font face=\"Arial\" color=\"$text_link_text\"&gt;Topcgi.de&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/center&gt;\n";
            print "&lt;/body&gt;&lt;/html&gt;\n";
            }

sub backup {

  open (BACKUP,"&lt;$cgi_root_path/config/backup/backup.log")||die("Konnte die Datei backup.log nicht einlesen");
      if ($use_flock eq "1") {flock (BACKUP,1);}
      @BACKUPLOG =&lt;BACKUP&gt;;
      if ($use_flock eq "1") {flock (BACKUP,8);}
      close (BACKUP);

      #### Freie Backupnummer finden und Datei speichern
      $backupnumberneu="1001";
      while (-e "$cgi_root_path/config/backup/backup$backupnumberneu.dat")
            {
            $backupnumberneu++;
            }
    open (BACKUPLOG, "&gt;&gt;$cgi_root_path/config/backup/backup.log")||die("Konnte die Datei backup.log nicht beschreiben");
    if ($use_flock eq "1") {flock (BACKUPLOG,1);}
    print BACKUPLOG "$zeit|$cgi_root_path/config/backup/backup$backupnumberneu.dat|\n";
    if ($use_flock eq "1") {flock (BACKUPLOG,8);}
    close (BACKUPLOG);
    open (ACCOUNT, "&lt;$userdatapath/user.dat")||die("Konnte die Datei user.dat nicht einlesen");
    if ($use_flock eq "1") {flock (ACCOUNT,1);}
    @ALLEDATEN = &lt;ACCOUNT&gt;;
    if ($use_flock eq "1") {flock (ACCOUNT,8);}
    close (ACCOUNT);

    open (NEWBACKUP, "&gt;$cgi_root_path/config/backup/backup$backupnumberneu.dat")||die("Konnte die Datei backup$backupnumberneu.dat nicht beschreiben");
    if ($use_flock eq "1") {flock (NEWBACKUP,1);}
    foreach $line (@ALLEDATEN){
    print NEWBACKUP "$line";
    }
    if ($use_flock eq "1") {flock (NEWBACKUP,8);}
    close (NEWBACKUP);
    chmod 0777, "$cgi_root_path/config/backup/backup$backupnumberneu.dat";

    if ($backup_mail eq on){
    @MAIL = split(/\@/, $backup_mail_adress);
    open (MAIL,"|$mailpath -t");
    print MAIL "To: $MAIL[0]\@$MAIL[1]\n";
    print MAIL "From: $your_mail\n";
    print MAIL "Subject: Backup der $title erstellt \n";
    print MAIL "Content-type: text/plain\n\n";
    print MAIL "Hallo Webmaster\n\n";
    print MAIL "Ihre Topliste: $title wurde soeben gesichert.\n\n";
    print MAIL "Sie finden Ihr Backup in der Administrationskonsole unter:\n\n";
    print MAIL "$cgi_root_url/config/admin.pl\n\n";
    close (MAIL);
    }
}

sub new_member_form {
&amp;header;
print "&lt;div align=\"center\"&gt;\n";
print "  &lt;center&gt;\n";
print "  &lt;table width=\"600\" border=\"$toplist_border_width\" bordercolor=\"$toplist_border_color\" cellspacing=\"$toplist_cellspacing\" cellpadding=\"$toplist_cellpadding\" bgColor=\"$table_bg_color\"&gt;\n";
print "    &lt;tr&gt;\n";
print "      &lt;td width=\"600\" bgcolor=\"$table_head_color\" colspan=\"2\"&gt;\n";
print "        &lt;p align=\"center\"&gt;&lt;font face\=\"$font\" color=\"$font_color_table_header\"&gt;&lt;b&gt;&lt;big&gt;Neuen Account erstellen&lt;/big&gt;&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;\n";
print "    &lt;/tr&gt;\n";
print "    &lt;tr&gt;&lt;form method=\"POST\" action=\"$new_member_url\"&gt;\n";
print "      &lt;td width=\"220\" bgcolor=\"$table_body_color\" align=\"right\" height=\"25\"&gt;&lt;font face\=\"$font\" $font_color &gt;Account Name&lt;/font&gt;&lt;/td&gt;\n";
print "      &lt;td width=\"380\" bgcolor=\"$table_body_color\" height=\"25\"&gt;&lt;input type=\"text\" name=\"account\" &gt;&lt;/td&gt;\n";
print "    &lt;/tr&gt;\n";
print "    &lt;tr&gt;\n";
print "      &lt;td width=\"220\" bgcolor=\"$table_body_color\" align=\"right\" height=\"25\"&gt;&lt;font face\=\"$font\" $font_color &gt;Passwort&lt;/font&gt;&lt;/td&gt;\n";
print "      &lt;td width=\"380\" bgcolor=\"$table_body_color\" height=\"25\"&gt;&lt;input type=\"text\" name=\"passwort\"&gt;&lt;/td&gt;\n";
print "    &lt;/tr&gt;\n";
print "    &lt;tr&gt;\n";
print "      &lt;td width=\"220\" bgcolor=\"$table_body_color\" align=\"right\" height=\"25\"&gt;&lt;font face\=\"$font\" $font_color &gt;Wiederhohlung Passwort&lt;/font&gt;&lt;/td&gt;\n";
print "      &lt;td width=\"380\" bgcolor=\"$table_body_color\" height=\"25\"&gt;&lt;input type=\"text\" name=\"confirm_passwort\"&gt;&lt;/td&gt;\n";
print "    &lt;/tr&gt;\n";
print "    &lt;tr&gt;\n";
print "      &lt;td width=\"220\" bgcolor=\"$table_body_color\" align=\"right\" height=\"25\"&gt;&lt;font  face\=\"$font\" $font_color &gt;Vorname&lt;/font&gt;&lt;/td&gt;\n";
print "      &lt;td width=\"380\" bgcolor=\"$table_body_color\" height=\"25\"&gt;&lt;input type=\"text\" name=\"vorname\" &gt;&lt;/td&gt;\n";
print "    &lt;/tr&gt;\n";
print "    &lt;tr&gt;\n";
print "      &lt;td width=\"220\" bgcolor=\"$table_body_color\" align=\"right\" height=\"25\"&gt;&lt;font face\=\"$font\" $font_color &gt;Nachname&lt;/font&gt;&lt;/td&gt;\n";
print "      &lt;td width=\"380\" bgcolor=\"$table_body_color\" height=\"25\"&gt;&lt;input type=\"text\" name=\"nachname\" &gt;&lt;/td&gt;\n";
print "    &lt;/tr&gt;\n";
print "    &lt;tr&gt;\n";
print "      &lt;td width=\"220\" bgcolor=\"$table_body_color\" align=\"right\" height=\"25\"&gt;&lt;font face\=\"$font\" $font_color &gt;Email&lt;/font&gt;&lt;/td&gt;\n";
print "      &lt;td width=\"380\" bgcolor=\"$table_body_color\" height=\"25\"&gt;&lt;input type=\"text\" name=\"email\"&gt;&lt;/td&gt;\n";
print "    &lt;/tr&gt;\n";
print "    &lt;tr&gt;\n";
print "      &lt;td width=\"220\" bgcolor=\"$table_body_color\" align=\"right\" height=\"25\"&gt;&lt;font face\=\"$font\" $font_color &gt;Seitenname&lt;/font&gt;&lt;/td&gt;\n";
print "      &lt;td width=\"380\" bgcolor=\"$table_body_color\" height=\"25\"&gt;&lt;input type=\"text\" name=\"seitenname\" &gt;&lt;/td&gt;\n";
print "    &lt;/tr&gt;\n";
print "    &lt;tr&gt;\n";
print "      &lt;td width=\"220\" bgcolor=\"$table_body_color\" align=\"right\" height=\"62\"&gt;&lt;font face\=\"$font\" $font_color &gt;Beschreibung&lt;/font&gt;&lt;/td&gt;\n";
print "      &lt;td width=\"380\" bgcolor=\"$table_body_color\" height=\"62\"&gt;\n";
print "                          &lt;textarea rows=\"3\" name=\"beschreibung\" cols=\"28\"&gt;&lt;/textarea&gt;&lt;/td&gt;\n";
print "    &lt;/tr&gt;\n";
print "    &lt;tr&gt;\n";
print "      &lt;td width=\"220\" bgcolor=\"$table_body_color\" align=\"right\" height=\"25\"&gt;&lt;font face\=\"$font\" $font_color &gt;Seiten-Url&lt;/font&gt;&lt;/td&gt;\n";
print "      &lt;td width=\"380\" bgcolor=\"$table_body_color\" height=\"25\"&gt;&lt;input type=\"text\" name=\"seitenurl\" size=\"33\" &gt;&lt;/td&gt;\n";
print "    &lt;/tr&gt;\n";
print "    &lt;tr&gt;\n";
print "      &lt;td width=\"220\" bgcolor=\"$table_body_color\" align=\"right\" height=\"25\"&gt;&lt;font face\=\"$font\" $font_color  &gt;Bannerurl&lt;/font&gt;&lt;/td&gt;\n";
print "      &lt;td width=\"380\" bgcolor=\"$table_body_color\" height=\"25\"&gt;&lt;input type=\"text\" name=\"bannerurl\" size=\"33\" &gt;&lt;/td&gt;\n";
print "    &lt;/tr&gt;\n";
print "    &lt;tr&gt;\n";
print "      &lt;td width=\"220\" bgcolor=\"$table_body_color\" align=\"right\" height=\"25\"&gt;&lt;font face\=\"$font\" $font_color  &gt;Bannerbreite&lt;/font&gt;&lt;/td&gt;\n";
print "      &lt;td width=\"380\" bgcolor=\"$table_body_color\" height=\"25\"&gt;&lt;input type=\"text\" name=\"bannerbreite\" size=\"33\"&gt;&lt;font face\=\"$font\" $font_color &gt; (max. $user_banner_width Pixel)&lt;/td&gt; \n";
print "    &lt;/tr&gt;\n";
print "    &lt;tr&gt;\n";
print "      &lt;td width=\"220\" bgcolor=\"$table_body_color\" align=\"right\" height=\"25\"&gt;&lt;font face\=\"$font\" $font_color &gt;Bannerh&amp;ouml;he&lt;/font&gt;&lt;/td&gt;\n";
print "      &lt;td width=\"380\" bgcolor=\"$table_body_color\" height=\"25\"&gt;&lt;input type=\"text\" name=\"bannerhoehe\" size=\"33\"&gt;&lt;font face\=\"$font\" $font_color &gt; (max. $user_banner_height Pixel) &lt;/td&gt;\n";
print "    &lt;/tr&gt;\n";
print "    &lt;tr&gt;\n";
print "      &lt;td width=\"220\" bgcolor=\"$table_body_color\" align=\"right\" height=\"25\"&gt;&lt;input type=\"checkbox\" name=\"regeln\" value=ja&gt;&lt;/td&gt;\n";
print "      &lt;td width=\"380\" bgcolor=\"$table_body_color\" height=\"25\"&gt;&lt;font face\=\"$font\" $font_color  &gt;Ich stimme den &lt;a href\=\"$cgi_root_url/toplist.pl?action\=regeln\" target\=\"_blank\"&gt;Regeln&lt;/a&gt; zu&lt;/font&gt; &lt;/td&gt;\n";
print "    &lt;/tr&gt;\n";
print "    &lt;tr&gt;\n";
print "      &lt;td width=\"220\" bgcolor=\"$table_body_color\" height=\"27\"&gt;&amp;nbsp;&lt;/td&gt;\n";
print "      &lt;td width=\"380\" bgcolor=\"$table_body_color\" height=\"27\"&gt;&lt;input type=\"hidden\" name=\"newuser\" value=\"ja\"&gt;&lt;input type=\"submit\" value=\"Abschicken\"&gt;\&amp;nbsp;\&amp;nbsp;&amp;nbsp;\n";
print "        &lt;input type=\"reset\" value=\"&amp;Auml;nderungen verwerfen\"&gt;&lt;/td&gt;\n";
print "    &lt;/tr&gt;&lt;/form&gt;\n";
print "  &lt;/table&gt;\n";
print "  &lt;/center&gt;\n";
print "&lt;/div&gt;\n";
&amp;footer;
    }
sub edit_form {
&amp;header;
print "&lt;div align=\"center\"&gt;\n";
print "&lt;center&gt;\n";
print "&lt;table width=\"600\" border=\"$toplist_border_width\" bordercolor=\"$toplist_border_color\" cellspacing=\"$toplist_cellspacing\" cellpadding=\"$toplist_cellpadding\" bgColor=\"$table_bg_color\"&gt;\n";
print "&lt;tr&gt;\n";
print "&lt;td width=\"600\" bgcolor=\"$table_head_color\" colspan=\"2 \"&gt;\n";
print "&lt;p align=\"center\"&gt;&lt;font face\=\"$font\" color=\"$font_color_table_header\"&gt;&lt;b&gt;&lt;big&gt;Login\: Account bearbeiten&lt;/big&gt;&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;\n";
print "&lt;/tr&gt;\n";
print "&lt;tr&gt;\n";
print "&lt;td width=\"600\" bgcolor=\"$table_body_color\" align=\"right\" height=\"25\" colspan=\"2\"&gt;&amp;nbsp;&lt;/td&gt;\n";
print "&lt;/tr&gt;\n";
print "&lt;tr&gt;&lt;form method=\"POST\" action=\"$edit_member_url\"&gt;\n";
print "&lt;td width=\"220\" bgcolor=\"$table_body_color\" align=\"right\" height=\"25\"&gt;&lt;font face\=\"$font\" $font_color  &gt;Account Name&lt;/font&gt;&lt;/td&gt;\n";
print "&lt;td width=\"380\" bgcolor=\"$table_body_color\" height=\"25\"&gt;&lt;input type=\"text\" name=\"editaccount\" size=\"33\"&gt;&lt;/td&gt;\n";
print "&lt;/tr&gt;\n";
print "&lt;tr&gt;\n";
print "&lt;td width=\"220\" bgcolor=\"$table_body_color\" align=\"right\" height=\"25\"&gt;&lt;font face\=\"$font\" $font_color  &gt;Passwort&lt;/font&gt;&lt;/td&gt;\n";
print "&lt;td width=\"380\" bgcolor=\"$table_body_color\" height=\"25\"&gt;&lt;input type=\"password\" name=\"editpass\" size=\"33\"&gt;&lt;/td&gt;\n";
print "&lt;/tr&gt;\n";
print "&lt;tr&gt;\n";
print "&lt;td width=\"600\" bgcolor=\"$table_body_color\" height=\"27\" colspan=\"2\"&gt;\n";
print "&lt;p align=\"center\"&gt;\n";
print "&lt;input type=\"hidden\" name=\"edit_account\" value=\"ja\"&gt;\n";
print "&lt;center&gt;&lt;input type=\"submit\" value=' login ' &gt;&lt;/center&gt;\n";
if ($email_on eq 1){
print "&lt;br&gt;&lt;br&gt;&lt;center&gt;&lt;a href=\"$cgi_root_url/toplist.pl\?action\=lostpassform\"&gt;&lt;font face\=\"$font\" $font_color &gt;Passwort vergessen\?&lt;/font&gt;&lt;/a&gt;&lt;center&gt;\n";
}
print "&lt;/p&gt;&lt;/form&gt;\n";
print "&lt;/td&gt;\n";
print "&lt;/tr&gt;\n";
print "&lt;/table&gt;\n";
print "&lt;/center&gt;\n";
print "&lt;/div&gt;\n";
&amp;footer;
}

sub vote_form {
&amp;header;
print "&lt;p&gt;&amp;nbsp;&lt;/p&gt;\n";
print "&lt;div align=\"center\"&gt;\n";
print "&lt;center&gt;\n";
print "&lt;table width=\"560\" border=\"$toplist_border_width\" bordercolor=\"$toplist_border_color\" cellspacing=\"$toplist_cellspacing\" cellpadding=\"$toplist_cellpadding\" bgColor=\"$table_bg_color\"&gt;\n";
print "&lt;tr&gt;\n";
print "&lt;td width=\"560\" bgcolor=\"$table_head_color\" &gt;\n";
print "&lt;p align=\"center\"&gt;&lt;font face\=\"$font\" color=\"$font_color_table_header\" &gt;&lt;b&gt;&lt;big&gt;\"$FORM{account}\" -&amp;nbsp; Account bewerten&lt;big&gt;&lt;/b&gt;&lt;/font&gt;&lt;/big&gt;&lt;/big&gt;&lt;/td&gt;\n";
print "&lt;/tr&gt;\n";
print "&lt;tr&gt;\n";
print "&lt;td width=\"560\" bgcolor=\"$table_body_color\" align=\"right\"&gt;\n";
print "&lt;p align=\"center\"&gt;&amp;nbsp;&lt;/p&gt;\n";
print "&lt;p align=\"center\"&gt;\n";
print "&lt;img border=\"0\" src=\"$FORM{bannerurl}\" alt=\"Userbanner des $FORM{account} Accounts\" width=\"$FORM{bannerbreite}\" height=\"$FORM{bannerhoehe}\"&gt;&lt;/p&gt;\n";
print "&lt;p align=\"center\"&gt;&amp;nbsp;&lt;/td&gt;\n";
print "&lt;/tr&gt;\n";
print "&lt;tr&gt;\n";
print "&lt;td width=\"560\" bgcolor=\"$table_body_color\" align=\"right\"&gt;\n";
print "&lt;p align=\"center\"&gt;&amp;nbsp;&lt;/p&gt;\n";
print "&lt;form method=\"GET\" action=\"$cgi_root_url/toplist.pl\"&gt;\n";
print "&lt;input type=\"hidden\" name=\"action\" value=\"vote_final\"&gt;\n";
print "&lt;input type=\"hidden\" name=\"account\" value=\"$FORM{account}\"&gt;\n";
print "&lt;p align=\"center\"&gt;&lt;select size=\"1\" name=\"bewertung\"&gt;\n";
print "&lt;option selected value=\"30\"&gt;10 - SUPER&lt;/option&gt;\n";
print "&lt;option value=\"29\"&gt;9&lt;/option&gt;\n";
print "&lt;option value=\"28\"&gt;8&lt;/option&gt;\n";
print "&lt;option value=\"27\"&gt;7&lt;/option&gt;\n";
print "&lt;option value=\"26\"&gt;6 - mittel&lt;/option&gt;\n";
print "&lt;option value=\"25\"&gt;5&lt;/option&gt;\n";
print "&lt;option value=\"24\"&gt;4&lt;/option&gt;\n";
print "&lt;option value=\"23\"&gt;3&lt;/option&gt;\n";
print "&lt;option value=\"22\"&gt;2&lt;/option&gt;\n";
print "&lt;option value=\"21\"&gt;1 - schlecht&lt;/option&gt;\n";
print "&lt;/select&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;input type=\"submit\" value=\"Bewerten\" &gt;&lt;/p&gt;\n";
print "&lt;/form&gt;\n";
print "&lt;p align=\"center\"&gt;&amp;nbsp;&lt;/td&gt;\n";
print "&lt;/tr&gt;\n";
print "&lt;/table&gt;\n";
print "&lt;/center&gt;\n";
print "&lt;/div&gt;\n";
&amp;footer;
}

sub vote_final {
                $datensatz = "0";
                   open (ACCOUNT, "&lt;$userdatapath/user.dat")||die("Konnte die Datei user.dat nicht einlesen");
                   if ($use_flock eq "1") {flock (ACCOUNT,1);}
                   @ALLEDATEN = &lt;ACCOUNT&gt;;
                   if ($use_flock eq "1") {flock (ACCOUNT,8);}
                   close (ACCOUNT);
                   foreach (@ALLEDATEN)
                   {
                   @ACCOUNTDATEN = split (/\|/, $ALLEDATEN[$datensatz]);
                   if ($ACCOUNTDATEN[4] eq $FORM{account})
                   {$ACCOUNTDATEN[$FORM{bewertung}]++ ;
                    $ACCOUNTDATEN[20]++ ;
                    $vote_erfolgreich=1;}
                   $ALLEDATEN[$datensatz] = join ("\|",@ACCOUNTDATEN);
                   $datensatz++;
                   }
                        open (ACCOUNT, "&gt;$userdatapath/user.dat")||die("Konnte die Datei user.dat nicht beschreiben");
                        if ($use_flock eq "1") {flock (ACCOUNT,1);}
                        print ACCOUNT @ALLEDATEN;
                        if ($use_flock eq "1") {flock (ACCOUNT,8);}
                        close (ACCOUNT);
 &amp;show_vote;
}

sub lost_pass_form {
&amp;header;
print "&lt;div align=\"center\"&gt;\n";
print "&lt;center&gt;\n";
print "&lt;table width=\"600\" border=\"$toplist_border_width\" bordercolor=\"$toplist_border_color\" cellspacing=\"$toplist_cellspacing\" cellpadding=\"$toplist_cellpadding\" bgColor=\"$table_bg_color\"&gt;\n";
print "&lt;tr&gt;\n";
print "&lt;td width=\"600\" bgcolor=\"$table_head_color\" colspan=\"2\"&gt;\n";
print "&lt;p align=\"center\"&gt;&lt;font face\=\"$font\" color=\"$font_color_table_header\"&gt;&lt;b&gt;&lt;big&gt;Passwort vergessen \?&lt;/big&gt;&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;\n";
print "&lt;/tr&gt;\n";
print "&lt;tr&gt;\n";
print "&lt;td width=\"600\" bgcolor=\"$table_body_color\" align=\"right\" height=\"25\" colspan=\"2\"&gt;\n";
print "&lt;center&gt;&lt;font face\=\"$font\" $font_color &gt;Bitte geben Sie Ihren Accountnamen ein.&lt;/font&gt;&lt;/center&gt;";
print "&lt;/td&gt;&lt;/tr&gt;\n";
print "&lt;tr&gt;&lt;form method=\"GET\" action=\"$cgi_root_url/toplist.pl\"&gt;\n";
print "&lt;input type=\"hidden\" name=\"lost_password\" value=\"ja\"&gt;\n";
print "&lt;td width=\"220\" bgcolor=\"$table_body_color\" align=\"right\" height=\"25\"&gt;&lt;font face\=\"$font\" $font_color &gt;Account Name&lt;/font&gt;&lt;/td&gt;\n";
print "&lt;td width=\"380\" bgcolor=\"$table_body_color\" height=\"25\"&gt;&lt;input type=\"text\" name=\"account\" size=\"33\"&gt;&lt;/td&gt;\n";
print "&lt;/tr&gt;\n";
print "&lt;tr&gt;\n";
print "&lt;td width=\"600\" bgcolor=\"$table_body_color\" height=\"27\" colspan=\"2\"&gt;\n";
print "&lt;p align=\"center\"&gt;\n";
print "&lt;input type=\"submit\" value=' login ' &gt;\n";
print "&lt;/p&gt;&lt;/form&gt;\n";
print "&lt;/td&gt;\n";
print "&lt;/tr&gt;\n";
print "&lt;/table&gt;\n";
print "&lt;/center&gt;\n";
print "&lt;/div&gt;\n";
&amp;footer;
}

sub search_pass {
$datensatz = "0";
                   open (ACCOUNT, "&lt;$userdatapath/user.dat")||die("Konnte die Datei user.dat nicht einlesen");
                   if ($use_flock eq "1") {flock (ACCOUNT,1);}
                   @ALLEDATEN = &lt;ACCOUNT&gt;;
                   if ($use_flock eq "1") {flock (ACCOUNT,8);}
                   close (ACCOUNT);
                   foreach (@ALLEDATEN)
                   {
                   @ACCOUNTDATEN = split (/\|/, $ALLEDATEN[$datensatz]);
                   if ($ACCOUNTDATEN[4] eq $FORM{account})
                   {$ACCOUNTDATEN[$FORM{bewertung}]++ ;
                    $pass=$ACCOUNTDATEN[5];
                    $email=$ACCOUNTDATEN[8] ;
                    $suche_erfolgreich=1;}

                   $datensatz++;
                   }
if ($suche_erfolgreich eq 1){
@MAIL = split(/\@/, $email);
open (MAIL,"|$mailpath -t");
print MAIL "To: $MAIL[0]\@$MAIL[1]\n";
print MAIL "From: $your_mail\n";
print MAIL "Subject: Ihre Passwort fuer die $title \n";
print MAIL "Content-type: text/plain\n\n";
print MAIL "Sie haben Ihr Passwort bei uns angefordert.\n\n";
print MAIL "Folgende Zugangsdaten haben wir gefunden:\n\n";
print MAIL "Accountname: $FORM{account} \n";
print MAIL "Passwort: $pass\n\n";
print MAIL "Sie finden Ihren Eintrag unter:\n\n";
print MAIL "$cgi_root_url/toplist.pl\n\n";
print MAIL "Sollten Ihre Daten fehlerhaft sein koennen Sie diese hier aendern:\n\n";
print MAIL "$cgi_root_url/toplist.pl?action=edit_account\n\n";
close (MAIL);

&amp;header;
print "&lt;div align=\"center\"&gt;\n";
print "&lt;center&gt;\n";
print "&lt;table width=\"600\" border=\"$toplist_border_width\" bordercolor=\"$toplist_border_color\" cellspacing=\"$toplist_cellspacing\" cellpadding=\"$toplist_cellpadding\" bgColor=\"$table_bg_color\"&gt;\n";
print "&lt;tr&gt;\n";
print "&lt;td width=\"600\" bgcolor=\"$table_head_color\" colspan=\"2\"&gt;\n";
print "&lt;center&gt;&lt;font face\=\"$font\" size\=\"$font_size_table\" color=\"$font_color_table_header\"&gt;&lt;b&gt;&lt;big&gt;Passwort wurde verschickt&lt;/big&gt;&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;\n";
print "&lt;/tr&gt;\n";
print "&lt;tr&gt;\n";
print "&lt;td width=\"600\" bgcolor=\"$table_body_color\" align=\"right\" height=\"25\" colspan=\"2\"&gt;\n";
print "&lt;center&gt;&lt;br&gt;&lt;br&gt;&lt;font face\=\"$font\" size\=\"$font_size_table\" $font_color &gt;&lt;b&gt;Ihr Passwort wurde an folgende Email verschickt:&lt;/b&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;";
print "&lt;font face\=\"$font\" size\=\"$font_size_table\" $font_color &gt;&lt;b&gt;&lt;big&gt;$email&lt;/big&gt;&lt;/b&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/td&gt;\n";
print "&lt;/tr&gt;\n";
print "&lt;/table&gt;\n";
print "&lt;br&gt;&lt;br&gt;&lt;p align=\"center\"&gt;&lt;font face\=\"$font\" $font_color&gt;&lt;a href=\"$cgi_root_url/toplist.pl\"&gt;Zur&amp;uuml;ck zur $title &lt;/a&gt;&lt;/font&gt;&lt;/p&gt;\n";
print "&lt;/center&gt;\n";
print "&lt;/div&gt;\n";
&amp;footer;
}
else {
&amp;header;
print "&lt;div align=\"center\"&gt;\n";
print "&lt;center&gt;\n";
print "&lt;table width=\"600\" border=\"$toplist_border_width\" bordercolor=\"$toplist_border_color\" cellspacing=\"$toplist_cellspacing\" cellpadding=\"$toplist_cellpadding\" bgColor=\"$table_bg_color\"&gt;\n";
print "&lt;tr&gt;\n";
print "&lt;td width=\"600\" bgcolor=\"$table_head_color\" colspan=\"2\"&gt;\n";
print "&lt;center&gt;&lt;font face\=\"$font\" size\=\"$font_size_table\" color=\"$font_color_table_header\"&gt;&lt;b&gt;Accountdaten nicht gefunden\!&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;\n";
print "&lt;/tr&gt;\n";
print "&lt;tr&gt;\n";
print "&lt;td width=\"600\" bgcolor=\"$table_body_color\" align=\"right\" height=\"25\" colspan=\"2\"&gt;\n";
print "&lt;center&gt;&lt;br&gt;&lt;br&gt;&lt;font $font size\=\"$error_font_size\" color\=\"$error_font_color\"&gt;&lt;b&gt;Leider haben wir Ihre Accountdaten nicht gefunden!&lt;/b&gt;&lt;/font&gt;&lt;br&gt;";
print "&lt;font $font size\=\"$error_font_size\" color\=\"$error_font_color\"&gt;&lt;b&gt;Bitte &amp;uuml;berpr&amp;uuml;fen Sie Ihre Eingabe\!&lt;/b&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/td&gt;\n";
print "&lt;/tr&gt;\n";
print "&lt;/table&gt;\n";
print "&lt;br&gt;&lt;br&gt;&lt;p align=\"center\"&gt;&lt;font size=\"4\" face=\"Arial\" &gt;&lt;a href=javascript:history.go(-1);&gt;&lt;font face=\"Arial\" color=\"$text_link_text\"&gt;Zur&amp;uuml;ck&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;\n";
print "&lt;/center&gt;\n";
print "&lt;/div&gt;\n";
&amp;footer;
}
}

sub regeln {
&amp;header;
print "&lt;div align=\"center\"&gt;\n";
print "&lt;center&gt;\n";
print "&lt;table width=\"600\" border=\"$toplist_border_width\" bordercolor=\"$toplist_border_color\" cellspacing=\"$toplist_cellspacing\" cellpadding=\"$toplist_cellpadding\" bgColor=\"$table_bg_color\"&gt;\n";
print "&lt;tr&gt;\n";
print "&lt;td width=\"600\" bgcolor=\"$table_head_color\" colspan=\"2\" &gt;\n";
print "&lt;center&gt;&lt;font face\=\"$font\" color=\"$font_color_table_header\"&gt;&lt;b&gt;Regeln f&amp;uuml;r den Beitritt in die $title&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;\n";
print "&lt;/tr&gt;\n";
print "&lt;tr&gt;\n";
print "&lt;td width=\"600\" bgcolor=\"$table_body_color\"  height=\"25\" colspan=\"2\"&gt;\n";
print "&lt;font face\=\"$font\" $font_color&gt;\n";
open (DATEI,"&lt;$cgi_root_path/config/insert/regeln.txt")||die("Konnte die Datei regeln.txt nicht einlesen");
            if ($use_flock eq "1") {flock (DATEI,1);}
            @DATEN =&lt;DATEI&gt;;
            if ($use_flock eq "1") {flock (DATEI,8);}
            close (DATEI);
            foreach $line (@DATEN)
            {
            print "$line" ;
            }
print "&lt;/font&gt;\n";
print "&lt;/td&gt;\n";
print "&lt;/tr&gt;\n";
print "&lt;/table&gt;\n";
print "&lt;/center&gt;\n";
print "&lt;/div&gt;\n";
&amp;footer;
}

sub error {
    &amp;header;
    print "&lt;div align=\"center\"&gt;\n";
    print "&lt;center&gt;\n";
    print "&lt;table width=\"600\" border=\"$toplist_border_width\" bordercolor=\"$toplist_border_color\" cellspacing=\"$toplist_cellspacing\" cellpadding=\"$toplist_cellpadding\" bgColor=\"$table_bg_color\"&gt;\n";
    print "&lt;tr&gt;\n";
    print "&lt;td width=\"600\" bgcolor=\"$table_head_color\" colspan=\"2\" height=\"40\"&gt;\n";
    print "&lt;p align=\"center\"&gt;&lt;font face\=\"$font\" color=\"$font_color_table_header\"&gt;&lt;b&gt;&lt;big&gt;Folgende Fehler wurden gefunden&lt;/big&gt;&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;\n";
    print "&lt;/tr&gt;\n";
    print "&lt;tr&gt;&lt;td width=\"600\" bgcolor=\"$table_body_color\"&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;\n";
    print "@FEHLER";
    print "&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;";
    print "&lt;/table&gt;\n";
    print "&lt;/center&gt;\n";
    print "&lt;p&gt;\&amp;nbsp;&lt;/p&gt;&lt;center&gt;&lt;input TYPE=BUTTON VALUE=Schliessen onClick=window.close()&gt; &lt;center&gt;\n";
    print "&lt;/div&gt;\n";
    &amp;footer;

}
1;</pre></body></html>