#!/usr/bin/perl
use CGI::Carp qw(fatalsToBrowser);
require "config/megatoplist.cfg";
$version="2.2 Pro";
################################################################################
#### Megatoplist - Edit-Member-Script                                       ####
#### Version 2.2 Pro build 3 Date: 05.11.2002                               ####
################################################################################

#### Programmablauf
&get_form;

if ($FORM{edit_account} eq "ja"){&validate_form_input;}
if ($FORM{edit_final} eq "ja"){&validate_edit_final;}
if ($FORM{delete_form} eq "ja") {&delete_form;}
if ($FORM{delete_account_final} eq "ja") {&delete_account_final;}
#### Formulardaten werden ausgelesen
sub get_form {

read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
        @pairs = split(/&/, $buffer);
        foreach $pair (@pairs) {
                ($name, $value) = split(/=/, $pair);

if ($name eq "beschreibung"){
                        $value =~s /%0D/<br>/gio;
                        $value =~s /%0A//gio;
                        $value =~ tr/+/ /;
                        $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/ge;
                        $value =~ s/\|//ge;
                        if ($value =~ m/\</,gio){
                            $value =~ s/\</'&#091'/ge;
                            $value =~ s/\>/'&#093'/ge;
                            $value =~ s/&#091br&#093/<br>/gio;
                           }
                        $FORM{$name} = $value;
                        }
                else {
                $name =~ tr/+/ /;
                $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/ge;
                $value =~ tr/+/ /;
                $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/ge;
                $value =~ s/\|//ge;
                $value =~ s/\</'&#091'/ge;
                $value =~ s/\>/'&#093'/ge;
                $FORM{$name} = $value;
                chomp ($value) if ($value =~ /\n/);
           }
     }
}
sub validate_form_input {

if ( $FORM{editaccount} eq "")
    { push @FEHLER , "<p align=center><font face\=$font size\=$error_font_size color\=$error_font_color>\n";
      push @FEHLER , "Sie haben keinen Accountnamen angegeben!</font></p>\n";$fehler =1;}
if ( $FORM{editpass} eq "")
    { push @FEHLER , "<p align=center><font face\=$font size\=$error_font_size color\=$error_font_color>\n";
      push @FEHLER , "Sie haben kein Passwort angegeben!</font></p>\n";$fehler =1;}
if ($FORM{editaccount} && $FORM{editpass})
   {&check_permission;}


if ($fehler){ &error;}

}
#### Eingabe wird mit der Datenbank verglichen
sub check_permission {
           open (ACCOUNT, "<$userdatapath/user.dat")||die("Konnte die Datei user.dat nicht einlesen");
           if ($use_flock eq "1") {flock (ACCOUNT,1);}
           @DATEN = <ACCOUNT>;
           if ($use_flock eq "1") {flock (ACCOUNT,8);}
           close (ACCOUNT);
           $gefunden = "nein";

           foreach $line ( @DATEN )
                        { chop ($line) if ($line =~ /\n/);
                          @AKTDATEN = split (/\|/, $line);
                          if (($AKTDATEN[4] eq $FORM{editaccount})&&($AKTDATEN[5] eq $FORM{editpass}))
                          { $gefunden ="ja"; @DATEN = @AKTDATEN ;}
                        }
if ($gefunden eq "ja")
                  {&editform;

                  }
               else
                   {
                       push @FEHLER , "<p align=center><font face\=$font size\=$error_font_size color\=$error_font_color>\n";
                       push @FEHLER , "Diese Daten wurden nicht gefunden!<br><br>\n";
                       push @FEHLER , "Bitte &uuml;berpr&uuml;fen Sie Ihre Eingabe.</font></p> ";
                       &error;
                   }
}
#### Formular zum editieren wird erstellt
sub editform {
$beschreibung = $DATEN[10];
$beschreibung =~s /<br>/\n/gio;
&header;
print "<div align=center>\n";
print "  <center>\n";
print "  <table width=\"600\" border=\"$toplist_border_width\" bordercolor=\"$toplist_border_color\" cellspacing=\"$toplist_cellspacing\" cellpadding=\"$toplist_cellpadding\" bgColor=\"$table_bg_color\">\n";
print "    <tr>\n";
print "      <td width=\"600\" bgcolor=\"$table_head_color\" colspan=\"2\">\n";
print "        <p align=\"center\"><font face=\"$font\" size=\"$font_size_table\" color=\"$font_color_table_header\"><b><big>\"$DATEN[4]\" Account editieren</big></b></font></td>\n";
print "    </tr>\n";
print "    <tr><form method=\"POST\" action=\"$edit_member_url\">\n";
print "      <td width=\"280\" bgcolor=\"$table_body_color\" align=\"right\"><font face=\"$font\" size=\"$font_size_table\" $font_color>&nbsp;</font></td>\n";
print "      <td width=\"480\" bgcolor=\"$table_body_color\" >&nbsp;</td>\n";
print "    </tr>\n";
print "    <tr>\n";
print "      <td width=\"280\" bgcolor=\"$table_body_color\" align=\"right\" ><font face=\"$font\" size=\"$font_size_table\" $font_color>Passwort</font></td>\n";
print "      <td width=\"480\" bgcolor=\"$table_body_color\" ><input type=\"text\" name=\"passwort\" size=\"33\" value=\"$DATEN[5]\"></td>\n";
print "    </tr>\n";
print "    <tr>\n";
print "      <td width=\"280\" bgcolor=\"$table_body_color\" align=\"right\" ><font face=\"$font\" size=\"$font_size_table\" $font_color>Wiederhohlung Passwort</font></td>\n";
print "      <td width=\"480\" bgcolor=\"$table_body_color\" ><input type=\"text\" name=\"confirm_passwort\" size=\"33\" value=\"$DATEN[5]\"></td>\n";
print "    </tr>\n";
print "    <tr>\n";
print "      <td width=\"280\" bgcolor=\"$table_body_color\" align=\"right\" ><font face=\"$font\" size=\"$font_size_table\" $font_color>Ihr Vorname</font></td>\n";
print "      <td width=\"480\" bgcolor=\"$table_body_color\" ><input type=\"text\" name=\"vorname\" size=\"33\" value=\"$DATEN[6]\"></td>\n";
print "    </tr>\n";
print "    <tr>\n";
print "      <td width=\"280\" bgcolor=\"$table_body_color\" align=\"right\" height=\"25\"><font face=\"$font\" size=\"$font_size_table\" $font_color>Ihr Nachname</font></td>\n";
print "      <td width=\"480\" bgcolor=\"$table_body_color\" ><input type=\"text\" name=\"nachname\" size=\"33\" value=\"$DATEN[7]\"></td>\n";
print "    </tr>\n";
print "    <tr>\n";
print "      <td width=\"280\" bgcolor=\"$table_body_color\" align=\"right\" ><font face=\"$font\" size=\"$font_size_table\" $font_color>Email</font></td>\n";
print "      <td width=\"480\" bgcolor=\"$table_body_color\"><input type=\"text\" name=\"email\" size=\"33\" value=\"$DATEN[8]\"></td>\n";
print "    </tr>\n";
print "    <tr>\n";
print "      <td width=\"280\" bgcolor=\"$table_body_color\" align=\"right\" ><font face=\"$font\" size=\"$font_size_table\" $font_color>Seitenname</font></td>\n";
print "      <td width=\"480\" bgcolor=\"$table_body_color\"><input type=\"text\" name=\"seitenname\" size=\"33\" value=\"$DATEN[9]\"></td>\n";
print "    </tr>\n";
print "    <tr>\n";
print "      <td width=\"280\" bgcolor=\"$table_body_color\" align=\"right\" height=\"62\"><font face=\"$font\" size=\"$font_size_table\" $font_color>Beschreibung</font></td>\n";
print "      <td width=\"480\" bgcolor=\"$table_body_color\" height=\"62\">\n";
print "                          <textarea rows=\"5\" name=\"beschreibung\" cols=\"45\" >$beschreibung</textarea></td>\n";
print "    </tr>\n";
print "    <tr>\n";
print "      <td width=\"280\" bgcolor=\"$table_body_color\" align=\"right\" ><font face=\"$font\" size=\"$font_size_table\" $font_color>Seiten-Url</font></td>\n";
print "      <td width=\"480\" bgcolor=\"$table_body_color\"><input type=text\" name=\"seitenurl\" size=\"33\" value=\"$DATEN[11]\"></td>\n";
print "    </tr>\n";
print "    <tr>\n";
print "      <td width=\"280\" bgcolor=\"$table_body_color\" align=\"right\"><font face=\"$font\" size=\"$font_size_table\" $font_color>Bannerurl</font></td>\n";
print "      <td width=\"480\" bgcolor=\"$table_body_color\"><input type=\"text\" name=\"bannerurl\" size=\"33\" value=\"$DATEN[12]\"></td>\n";
print "    </tr>\n";
print "    <tr>\n";
print "      <td width=\"280\" bgcolor=\"$table_body_color\" align=\"right\" ><font face=\"$font\" size=\"$font_size_table\" $font_color>Bannerbreite</font></td>\n";
print "      <td width=\"480\" bgcolor=\"$table_body_color\"><input type=\"text\" name=\"bannerbreite\" size=\"33\" value=\"$DATEN[14]\"><font face=\"$font\" size=\"$font_size_table\" $font_color> (max. $user_banner_width Pixel)</td> \n";
print "    </tr>\n";
print "    <tr>\n";
print "      <td width=\"280\" bgcolor=\"$table_body_color\" align=\"right\"><font face=\"$font\" size=\"$font_size_table\" $font_color>Bannerh&ouml;he</font></td>\n";
print "      <td width=\"480\" bgcolor=\"$table_body_color\"><input type=\"text\" name=\"bannerhoehe\" size=\"33\" value=\"$DATEN[13]\"><font face=\"$font\" size=\"$font_size_table\" $font_color> (max. $user_banner_height Pixel) </td>\n";
print "    </tr>\n";
print "    <tr>\n";
print "      <td width=\"600\" colspan=\"2\" bgcolor=\"$table_body_color\" height=\"40\"><center>\n";
print "<input type=\"hidden\" name=\"edit_final_account\" value=\"$DATEN[4]\">\n";
print "<input type=\"hidden\" name=\"edit_final_pass\"    value=\"$DATEN[5]\">\n";
print "<input type=\"hidden\" name=\"edit_final\" value=\"ja\">\n";
print "<input type=\"submit\" value=\"&Auml;nderungen speichern\">\&nbsp;\&nbsp;&nbsp;\n";
print "<input type=\"reset\" value=\"&Auml;nderungen verwerfen\"></form>";
if ($userselfdelete eq "YES"){
print "<form method=\"POST\" action=\"$edit_member_url\">";
print "<input type=\"hidden\" name=\"delete_account\" value=\"$DATEN[4]\">";
print "<input type=\"hidden\" name=\"delete_form\" value=\"ja\">";
print "<input type=\"submit\" value=\"Account l&ouml;schen\">";
print "</form>";
}
print "</center></td></tr>\n";
print "    <tr>\n";
print "      <td width=\"600\"  align=\"center\"  bgcolor=\"$table_body_color\" colspan=\"2\"><font face=\"$font\" size=\"$font_size_table\" $font_color>";
print "        <b>Folgendes Banner blenden wir f&uuml;r Sie ein:</b><br><br>\n";
print " <p><img border=\"0\" src=\"$DATEN[12]\" width=\"$DATEN[14]\" height=\"$DATEN[13]\" alt=\"Ihr Banner\"></p>\n";
print "        </font></td>\n";
print "    </tr>\n";
print "    <tr>\n";
print "      <td width=\"600\"  align=\"center\"  bgcolor=\"$table_body_color\" colspan=\"2\"><font face=\"$font\" size=\"$font_size_table\" $font_color>";
print "        <b>Systeminformationen:</b><br><br>\n";
print " <p>IP-Sperre Klick in: $minzeit_clickin Minuten<br>IP-Sperre Klick out: $minzeit_clickout Minuten<br>IP-Sperre Bewertung: $minzeit_vote Minuten<br>max. Bewertung pro Account: $maxvote_pro_account pro IP</p>\n";
print "        </font></td>\n";
print "    </tr>\n";
print "<tr><td width=\"600\" colspan=\"2\" bgcolor=\"$table_body_color\" align=\"right\"><font face\=\"$font\" size\=\"$font_size_table\" $font_color><center><b><big>HTML\-Code</big></b></center></font>\n";


### image links
if ($allow_image_link eq "on") {
 print "<p align=\"center\">\n";
 print "<font face=\"$font\" size=\"$font_size_table\" $font_color >\n";
 print "F&uuml;r einen Bildlink f&uuml;gen Sie bitte einen der folgenden\n";
 print "HTML-Code´s in Ihre Webseite ein:</font>\n";
 print "</p>\n";

    ### votebuttons auslesen
    open (ACCOUNT, "<$userdatapath/votebutton.txt")||die("Konnte die Datei votebutton.txt nicht einlesen");if ($use_flock eq "1") {flock (ACCOUNT,1);}@VOTEBUTTONS_1=<ACCOUNT>;if ($use_flock eq "1") {flock (ACCOUNT,8);}close (ACCOUNT);
    ### Leerzeichen etc. entfernen
    foreach (@VOTEBUTTONS_1){if (($_ ne "")&&($_ ne "\n")){push @VOTEBUTTONS ,$_;}}

foreach (@VOTEBUTTONS){
my @TEMP=split(/\|/,$_);
if ($TEMP[1] eq "on") {
### Vorschaubild
print "<center>\n";
print "<a href=\"$cgi_root_url/toplist.pl?action=click_in&account=$DATEN[4]\" target=\"_blank\">\n";
print "<img border=\"0\" src=\"$TEMP[2]\" width=\"$TEMP[3]\" height=\"$TEMP[4]\" alt=\"$TEMP[5]\">\n";
print "</a>\n";
print "</center>\n";
#### Codebox
print<<"LINK";
<center><textarea name="textarea" cols="50" rows="5">
<!-- $title Code Start -->
<center>
<a href=\"$cgi_root_url/toplist.pl?action=click_in&account=$DATEN[4]\" target=\"_blank\">
<img border=\"0\" src=\"$TEMP[2]\" width=\"$TEMP[3]\" height=\"$TEMP[4]\" alt=\"$TEMP[5]\">
</a></center>
<!-- $title Code Ende -->
</textarea></center><br><br>
LINK
}
}
print "<hr width=\"550\" align=\"center\">\n";
}
if ($allow_text_link eq "on"){
print "<p align=center><font face\=$font size\=$font_size_table $font_color>F&uuml;r einen Textlink f&uuml;gen Sie bitte folgenden HTML-Code in\n";
print "Ihre Webseite ein:</p>\n";
print "<p align=\"center\">\&nbsp;Beispiel: <a href=\"$cgi_root_url/toplist.pl?action=click_in&account=$DATEN[4]\" target=\"_blank\">$text_link_linktext</a></p></font>\n";
print "\n";
print "\n";
print "<p align=\"center\"><font $font_color face=\"Arial\" size=\"2\">\&lt;p align=\"center\"\&gt;<br>\n";
print "\&nbsp;\&lt;a href=\"$cgi_root_url/toplist.pl?action=click_in&account=$DATEN[4]\" target=\"_blank\"\&gt;<br>$text_link_linktext<br>\n";
print "\&lt;/a\&gt;\&lt;/p\&gt;</font></p>\n";
print "<hr width=\"550\" align=\"center\">\n";
}

if ($allow_iframe_link eq "on"){
print "<p align=\"center\">\n";
print "<font face\=\"$font\" size\=\"$font_size_table\" $font_color >\n";
print "F&uuml;r einen I-Frame f&uuml;gen Sie bitte folgenden\n";
print "\&nbsp;HTML-Code in Ihre Webseite ein :</font>\n";
print "</p>\n";
print "<p align=\"center\">\n";
print "<font $font_color face=\"Arial\" size=\"2\"><br>\n";
print "\&lt;!-- $title I-Frame Code Start --\&gt;<br>\n";
print "\&lt;p align\=\"center\"\&gt;<br>\n";
print "\&lt;iframe src=\"$cgi_root_url/toplist.pl?action=click_in&account=$DATEN[4]\" width=\"$iframe_width\" height=\"$iframe_height\" border=\"0\"\&gt;\&lt;/iframe\&gt;\&lt;/p&gt; <br>\n";
print "\&lt;!-- $title I-Frame Code Ende --\&gt;\n";
print "</font></p>\n";
print "<hr width=\"550\" align=\"center\">\n";
}
if ($allow_popup_link eq "on"){
print "<p align=\"center\">\n";
print "<font face\=\"$font\" size\=\"$font_size_table\" $font_color >\n";
print "F&uuml;r ein PopUp-Fenster  f&uuml;gen Sie bitte folgenden\n";
print "\&nbsp;HTML-Code in Ihre Webseite ein :</font>\n";
print "</p>\n";
print "<p align=\"center\">\n";
print "<font $font_color face=\"Arial\" size=\"2\"><br>\n";
print "\&lt;!-- $title Code Start --\&gt;<br>\n";
print "\&lt;script\&gt;megatoplist=window.open(\&quot;$cgi_root_url/toplist.pl?action=click_in&account=$DATEN[4]\&quot;,\&quot;megatoplist\&quot;,<br>\&quot;resizable=1,toolbar=0,location=0,status=0,menubar=0,scrollbars=1,width=$popup_link_width,height=$popup_link_height\&quot;)\&lt;/script\&gt;<br>\n";
print "\&lt;!-- $title Code Ende --\&gt;\n";
print "</font></p>\n";
print "<hr width=\"550\" align=\"center\">\n";
}
if ($allow_popdown_link eq "on"){
print "<p align=\"center\">\n";
print "<font face\=\"$font\" size\=\"$font_size_table\" $font_color >\n";
print "F&uuml;r ein PopDown-Fenster f&uuml;gen Sie bitte folgenden\n";
print "\&nbsp;HTML-Code in den <b>BODY-TAG</b> Ihre Webseite ein :<br>\n";
print "(also hinter <b>\&lt;BODY</b> und vor <b>\&gt;</b> mit einem Leerzeichen hinter BODY)</font>\n";
print "</p>\n";
print "<p align=\"center\">\n";
print "<font $font_color face=\"Arial\" size=\"2\"><br>\n";
print "onUnload=\"window.open('$cgi_root_url/toplist.pl?action=click_in&account=$DATEN[4]','megatoplist',\n\n'resizable=1,toolbar=0,location=0,status=0,menubar=0,scrollbars=1,width=$popdown_link_width,height=$popdown_link_height')\"<br>\n";
print "</font></p>\n";
print "<br><br>";
}
print "     </td>\n";
print "  </table>\n";
print "<br><br><p align=\"center\"><font face\=\"$font\" size\=\"$font_size_table\" $font_color><a href=\"$cgi_root_url/toplist.pl\">$title betreten</font></a></font></p>\n";
print "  </center>\n";
print "</div>\n";
&footer;
}
#### Accountdaten werden aktualisiert
sub edit_final {
                 $datensatz = "0";

                 open (ACCOUNT, "<$userdatapath/user.dat")||die("Konnte die Datei user.dat nicht einlesen");
                 if ($use_flock eq "1") {flock (ACCOUNT,1);}
                 @ALLEDATEN = <ACCOUNT>;
                 if ($use_flock eq "1") {flock (ACCOUNT,8);}
                 close (ACCOUNT);
                 foreach (@ALLEDATEN) {

                 @ACCOUNTDATEN = split (/\|/, $ALLEDATEN[$datensatz]);

                 if ($ACCOUNTDATEN[4] eq $FORM{edit_final_account})
                    {  $changed_data = "0";
                       $changed_banner = "0";
                    ### check if something impotant changes! ==> needs to validate from toplist-webmaster
                      if ($show_userbanner_after_registration eq "NO"){
                           if ($ACCOUNTDATEN[8]  ne  $FORM{email})    {$changed_data = "1";}
                           if ($ACCOUNTDATEN[11] ne  $FORM{seitenurl}){$changed_data = "1";}
                           if ($ACCOUNTDATEN[12] ne  $FORM{bannerurl}){$changed_data = "1";$changed_banner = "1";}
                          }
                      if ($changed_data eq "1") {$accountstatus = "0";}
                      else {$accountstatus ="$ACCOUNTDATEN[18]";}
                      if ($ACCOUNTDATEN[31] eq ""){$bannerstatus = "show_normal_banner";}

                      if (($changed_banner  eq "1")&&($show_userbanner_after_registration eq "NO"))
                          {$bannerstatus ="show_banner_not_validate";}
                      if ($FORM{bannerurl} eq ""){$bannerstatus="show_no_banner";}
                      if ($changed_banner eq "0"){$bannerstatus ="$ACCOUNTDATEN[31]";}

                     $ACCOUNTDATEN[5] =  $FORM{passwort};
                     $ACCOUNTDATEN[6] =  $FORM{vorname};
                     $ACCOUNTDATEN[7] =  $FORM{nachname};
                     $ACCOUNTDATEN[8] =  $FORM{email};
                     $ACCOUNTDATEN[9] =  $FORM{seitenname};
                     $ACCOUNTDATEN[10] =  $FORM{beschreibung};
                     $ACCOUNTDATEN[11] =  $FORM{seitenurl};
                     $ACCOUNTDATEN[12] =  $FORM{bannerurl};
                     $ACCOUNTDATEN[13] =  $FORM{bannerhoehe};
                     $ACCOUNTDATEN[14] =  $FORM{bannerbreite};
                     $ACCOUNTDATEN[18] =  $accountstatus;
                     $ACCOUNTDATEN[31] =  $bannerstatus;
                    }
                        $ALLEDATEN[$datensatz] = join ("\|",@ACCOUNTDATEN);
                        $datensatz++;
                 }
                        open (ACCOUNT, ">$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);
### mail to webmaster that an account has changed
#### Mail an den Webmaster
if (($changed_data eq "1")||($changed_banner eq "1"))
{
      if (($email_on eq 1)&&($email_webmaster eq 1))
      {
      open (MAIL,"|$mailpath -t");
      print MAIL "To: $your_mail\n";
      print MAIL "From: $your_mail\n";
      print MAIL "Subject: Ein User muss freigeschaltet werden \n";
      print MAIL "Content-type: text/plain\n\n";
      print MAIL "Soeben hat ein Mitglied seine Daten in der Topliste geaendert.\n\n";
      print MAIL "Damit dieses Mitglied wieder in der Topliste erscheint, ist es\n notwendig,";
      print MAIL "dieses Mitglied in der Administrationskonsole freizuschalten\n\n";
      print MAIL "Hier sind seine neue Mitgliedsdaten:\n\n";
      print MAIL "Accountname: $FORM{edit_final_account} \n";
      print MAIL "Passwort: $FORM{passwort}\n\n";
      print MAIL "Name: $FORM{vorname},$FORM{nachname}\n";
      print MAIL "Email: $FORM{email}\n";
      print MAIL "Seitenurl: $FORM{seitenurl}\n";
      print MAIL "Bannerurl: $FORM{bannerurl}\n\n";
      print MAIL "Seitenname: $FORM{seitenname}\n";
      print MAIL "Beschreibung der Seite:\n\n";
      print MAIL "$FORM{beschreibung}\n\n";
      print MAIL "Sie finden den neuen Eintrag in Ihrer $title: \n\n";
      print MAIL "$cgi_root_url/config/admin.pl \n";
      close (MAIL);
      }
}
&header;
print "<div align=center>\n";
print "<center>\n";
print "<table width=\"600\" border=\"$toplist_border_width\" bordercolor=\"$toplist_border_color\" cellspacing=\"$toplist_cellspacing\" cellpadding=\"$toplist_cellpadding\" bgColor=\"$table_bg_color\">\n";
print "<tr>\n";
print "<td width=\"600\" bgcolor=\"$table_head_color\" colspan=\"2\" >\n";
print "<p align=\"center\"><font face=\"$font\" size=\"2\" color=\"$font_color_table_header\">\n<b><big>\"$FORM{edit_final_account}\"- Account erfolgreich ge&auml;ndert</big></b></font></td>\n";
print "</tr>\n";
print "<tr><td width=\"100\%\" bgcolor=\"$table_body_color\"></p><br><br><center>\n";
print "<font $font_color face=\"$font\" size=\"2\">Ihre Accountdaten wurden erfolgreich gespeichert<br></font><br><br></td>";
print "</center></td></tr>";
print "</table>\n";
print "</center>\n";
print "<br><br><p align=\"center\"><font size=\"4\" face=\"Arial\"><a href=\"$cgi_root_url/toplist.pl\">Zur&uuml;ck zur $title </a></font></p>\n";
print "</div>\n";
&footer;


}
#### Daten werden ueberprueft
sub validate_edit_final {

@FEHLER = "";
$error = 0;

if ($FORM{passwort} eq "")
    { push @FEHLER , "<p align=\"center\"><font face\=\"$font\"  size\=\"$error_font_size\" color\=\"$error_font_color\">\n";
      push @FEHLER , "Sie haben kein Passwort angegeben!</font></p>\n";$error =1;}
if ($FORM{confirm_passwort} eq "")
    { push @FEHLER , "<p align=\"center\"><font face\=\"$font\"  size\=\"$error_font_size\" color\=\"$error_font_color\">\n";
      push @FEHLER , "Sie haben Ihr Passwort nicht best&auml;tigt!</font></p>\n";$error =1;}
unless ($FORM{passwort} eq  $FORM{confirm_passwort})
    { push @FEHLER , "<p align=\"center\"><font face\=\"$font\"  size\=\"$error_font_size\" color\=\"$error_font_color\">\n";
      push @FEHLER , "Ihre Passw&ouml;rter stimmen nicht &uuml;berein !</font></p>\n";$error =1;}
if ($FORM{vorname} eq "")
    { push @FEHLER , "<p align=\"center\"><font face\=\"$font\"  size\=\"$error_font_size\" color\=\"$error_font_color\">\n";
      push @FEHLER , "Sie haben keinen Vornamen angegeben!</font></p>\n";$error =1;}
if ($FORM{nachname} eq "")
    { push @FEHLER , "<p align=\"center\"><font face\=\"$font\"  size\=\"$error_font_size\" color\=\"$error_font_color\">\n";
      push @FEHLER , "Sie haben keinen Nachnamen angegeben!</font></p>\n";$error =1;}
if ($FORM{email} eq "")
    { push @FEHLER , "<p align=\"center\"><font face\=\"$font\"  size\=\"$error_font_size\" color\=\"$error_font_color\">\n";
      push @FEHLER , "Sie haben keine E-Mailadresse angegeben!</font></p>\n";$error =1;}
unless ($FORM{email} =~ /^[\w-.]+\@[\w-.]+$/ )
    { push @FEHLER , "<p align=\"center\"><font face\=\"$font\" size\=\"$error_font_size\" color\=\"$error_font_color\">\n";
      push @FEHLER , "Sie haben keine g&uuml;ltige E-Mailadresse angegeben!</font></p>\n";$error =1;}
if ($FORM{seitenname} eq "")
    { push @FEHLER , "<p align=\"center\"><font face\=\"$font\"  size\=\"$error_font_size\" color\=\"$error_font_color\">\n";
      push @FEHLER , "Sie haben keinen Seitennamen angegeben!</font></p>\n";$error =1;}
if ($FORM{beschreibung} eq "")
    { push @FEHLER , "<p align=\"center\"><font face\=\"$font\"  size\=\"$error_font_size\" color\=\"$error_font_color\">\n";
      push @FEHLER , "Sie haben keine Beschreibung angegeben!</font></p>\n";$error =1;}
if ($FORM{seitenurl} eq "")
    { push @FEHLER , "<p align=\"center\"><font face\=\"$font\"  size\=\"$error_font_size\" color\=\"$error_font_color\">\n";
      push @FEHLER , "Sie haben keine Seiten-URL angegeben!</font></p>\n";$error =1;}
unless ($FORM{seitenurl} =~ /http:\/\//  )
    { push @FEHLER , "<p align=\"center\"><font face\=\"$font\" size\=\"$error_font_size\" color\=\"$error_font_color\">\n";
      push @FEHLER , "Sie haben keine g&uuml;ltige Seiten-URL angegeben!</font></p>\n";$error =1;}
if ($need_banner_to_register eq "YES")
{

     if ($FORM{bannerurl} eq "")
        { push @FEHLER , "<p align=\"center\"><font face\=\"$font\" size\=\"$error_font_size\" color\=\"$error_font_color\">\n";
          push @FEHLER , "Sie haben keine Banner-URL angegeben!</font></p>\n";$error =1;}

}
if ($FORM{bannerurl})
{
unless ($FORM{bannerurl} =~ /http:\/\//  ){ push @FEHLER , "<p align=\"center\"><font face\=\"$font\" size\=\"$error_font_size\" color\=\"$error_font_color\">\n";
      push @FEHLER , "Sie haben keine g&uuml;ltige Banner-URL angegeben!</font></p>\n";$error =1;}
}
if ($FORM{bannerurl} && $FORM{bannerhoehe} eq "")
    { push @FEHLER , "<p align=\"center\"><font face\=\"$font\" size\=\"$error_font_size\" color\=\"$error_font_color\">\n";
      push @FEHLER , "Sie haben keine Bannerh&ouml;he angegeben!</font></p>\n";$error =1;}
if ($FORM{bannerurl} && ($FORM{bannerhoehe} > $user_banner_height))
    { push @FEHLER , "<p align=\"center\"><font face\=\"$font\" size\=\"$error_font_size\" color\=\"$error_font_color\">\n";
      push @FEHLER , "Ihr Banner darf nicht h&ouml;her als $user_banner_height Pixel sein!</font></p>\n";$error =1;}
if ($FORM{bannerhoehe} =~ m/\D/ )
    { push @FEHLER , "<p align=\"center\"><font face\=\"$font\"  size\=\"$error_font_size\" color\=\"$error_font_color\">\n";
      push @FEHLER , "Bitte geben Sie als Bannerh&ouml;he nur Zahlenwerte ein!</font></p>\n";$error =1;}
if ($FORM{bannerurl} && $FORM{bannerbreite} eq "")
    { push @FEHLER , "<p align=\"center\"><font face\=$font size\=\"$error_font_size\" color\=\"$error_font_color\">\n";
      push @FEHLER , "Sie haben keine Bannerbreite angegeben!</font></p>\n";$error =1;}
if ($FORM{bannerurl} && ($FORM{bannerbreite} > $user_banner_width))
    { push @FEHLER , "<p align=\"center\"><font face\=\"$font\" size\=\"$error_font_size\" color\=\"$error_font_color\">\n";
      push @FEHLER , "Ihr Banner darf nicht breiter als $user_banner_width Pixel sein!</font></p>\n";$error =1;}
if ($FORM{bannerbreite} =~ m/\D/)
    { push @FEHLER , "<p align=\"center\"><font face\=\"$font\"  size\=\"$error_font_size\" color\=\"$error_font_color\">\n";
      push @FEHLER , "Bitte geben Sie als Bannerbreite nur Zahlenwerte ein!</font></p>\n";$error =1;}


if ($error){&error;}
else { &edit_final;}


}
#### delete user form
sub delete_form {
&header;
print "<div align=\"center\">\n";
print "<center>\n";
print "<table width=\"600\" border=\"$toplist_border_width\" bordercolor=\"$toplist_border_color\" cellspacing=\"$toplist_cellspacing\" cellpadding=\"$toplist_cellpadding\" bgColor=\"$table_bg_color\">\n";
print "<tr>\n";
print "<td width=\"600\" bgcolor=\"$table_head_color\" colspan=\"2\" >\n";
print "<p align=\"center\"><font face\=\"$font\" size\=\"$font_size_table\" color=\"$font_color_table_header\"><b><big>\" $FORM{delete_account} \"-Account l&ouml;schen\?</big></b></font></td>\n";
print "</tr>\n";
print "<tr>\n";
print "<td width=\"600\" bgcolor=\"$table_body_color\" align=\"right\" height=\"25\" colspan=\"2\">\n";
print "<center><font face\=\"$font\" size\=\"$font_size_table\" $font_color ><br>Bitte geben Sie zur Best&auml;tigung Ihr Passwort ein.<br>Das L&ouml;schen Ihres Accounts kann sp&auml;ter nicht mehr r&uuml;ck&auml;ngig gemacht werden!<br><br></font></center>";
print "</td></tr>\n";
print "<tr><form method=\"POST\" action=\"$edit_member_url\">\n";
print "<input type=\"hidden\" name=\"delete_account_final\" value=\"ja\">\n";
print "<input type=\"hidden\" name=\"account\" value=\"$FORM{delete_account}\">\n";
print "<td width=\"220\" bgcolor=\"$table_body_color\" align=\"right\" height=\"25\"><font face\=\"$font\" size\=\"$font_size_table\" $font_color >Passwort:</font></td>\n";
print "<td width=\"380\" bgcolor=\"$table_body_color\" height=\"25\"><input type=\"password\" name=\"password\" size=\"33\"></td>\n";
print "</tr>\n";
print "<tr>\n";
print "<td width=\"600\" bgcolor=\"$table_body_color\" height=\"27\" colspan=\"2\">\n";
print "<p align=\"center\"><br> \n";
print "<input type=\"submit\" value=' Account l&ouml;schen ' >\n";
print "</p></form>\n";
print "</td>\n";
print "</tr>\n";
print "</table>\n";
print "</center>\n";
print "</div>\n";
&footer;
}
### validate delete
sub delete_account_final {
if ($FORM{password} eq "")
{push @FEHLER , "<p align=\"center\"><font face\=\"$font\"  size\=\"$error_font_size\" color\=\"$error_font_color\">\n";
 push @FEHLER , "Sie m&uuml;ssen ein Passwort eingeben !</font></p>\n";
 &error;
 exit;
}
 open (ACCOUNT, "<$userdatapath/user.dat")||die("Konnte die Datei user.dat nicht einlesen");
 if ($use_flock eq "1") {flock (ACCOUNT,1);}
 @ALLEDATEN = <ACCOUNT>;
 if ($use_flock eq "1"){flock (ACCOUNT,8);}
 close (ACCOUNT);
 foreach $line (@ALLEDATEN) {
                      @ACCOUNTDATEN = split (/\|/, $line);

                      if ($ACCOUNTDATEN[4] eq $FORM{account})
                         {
                          if ($ACCOUNTDATEN[5] eq $FORM{password}){$delete=yes;}
                          else {push @FEHLER , "<p align=\"center\"><font face\=\"$font\"  size\=\"$error_font_size\" color\=\"$error_font_color\">\n";
                                push @FEHLER , "Das Passwort ist falsch\!</font></p>\n";
                                $delete="no";
                                &error;
                                exit;
                                }
                         }
                  }
if ($delete eq "yes"){
open (ACCOUNT, ">$userdatapath/user.dat")||die("Konnte die Datei user.dat nicht beschreiben");
                  if ($use_flock eq "1") {flock (ACCOUNT,1);}
                  foreach $line (@ALLEDATEN) {

                      @ACCOUNTDATEN = split (/\|/, $line);

                      if ($ACCOUNTDATEN[4] ne $FORM{account})
                         {
                         print ACCOUNT "$line";
                         }
                  }
                  if ($use_flock eq "1") {flock (ACCOUNT,8);}
                  close (ACCOUNT);
                    }
&header;
print "<div align=\"center\">\n";
print "<center>\n";
print "<table width=\"600\" border=\"$toplist_border_width\" bordercolor=\"$toplist_border_color\" cellspacing=\"$toplist_cellspacing\" cellpadding=\"$toplist_cellpadding\" bgColor=\"$table_bg_color\">\n";
print "<tr>\n";
print "<td width=\"600\" bgcolor=\"$table_head_color\" colspan=\"2\" >\n";
print "<p align=\"center\"><font face=\"$font\" size=\"2\" color=\"$font_color_table_header\">\n<b><big>\"$FORM{account}\"- Account erfolgreich gel&ouml;scht</big></b></font></td>\n";
print "</tr>\n";
print "<tr><td width=\"100\%\" bgcolor=\"$table_body_color\"></p><br><br><center>\n";
print "<font $font_color face=\"$font\" size=\"2\">Ihre Accountdaten wurden erfolgreich gel&ouml;scht<br></font><br><br></td>";
print "</center></td></tr>";
print "</table>\n";
print "</center>\n";
print "<br><br><p align=\"center\"><font size=\"4\" face=\"Arial\"><a href=\"$cgi_root_url/toplist.pl\">Zur&uuml;ck zur $title </a></font></p>\n";
print "</div>\n";
&footer;

}

#### Fehlermeldung wird erstellt
sub error {
&header;
print "<div align=\"center\">\n";
print "<center>\n";
print "<table width=\"600\" border=\"$toplist_border_width\" bordercolor=\"$toplist_border_color\" cellspacing=\"$toplist_cellspacing\" cellpadding=\"$toplist_cellpadding\" bgColor=\"$table_bg_color\">\n";
print "<tr>\n";
print "<td width=\"600\" bgcolor=\"$table_head_color\" colspan=\"2\">\n";
print "<p align=\"center\"><font face\=$font size\=$font_size_table color=\"$font_color_table_header\">\n<b><big>Folgende Fehler wurden gefunden</big></b></font></td>\n";
print "</tr>\n";
print "<tr><td width=\"100\%\" bgcolor=\"$table_body_color\"><p>&nbsp;</p>\n";
print "@FEHLER";
print "<p>&nbsp;</p></td></tr>";
print "</table>\n";
print "</center>\n";
print "<p>\&nbsp;</p><center><input TYPE=\"BUTTON\" VALUE=\"Zur\&uuml;ck\" onClick=\"history.go(-1)\"> <center>\n";
print "</div>\n";
&footer;
        }
#### Html Header
sub header {
           print "Content-type: text/html\n\n";
            print "<html><head><title>$title</title>\n";
            if ($laufleiste) {
                print "<style>body \{scrollbar-arrow-color : $scrollbar_arrow_color\; ";
                print "scrollbar-base-color: $scrollbar_base_color \;  \}</style>";
                }
            open (DATEI,"<$cgi_root_path/config/insert/metatag.dat")||die("Konnte die Datei metatag.dat nicht einlesen");
            if ($use_flock eq "1") {flock (DATEI,1);}
            @METATAG =<DATEI>;
            if ($use_flock eq "1") {flock (DATEI,8);}
            close (DATEI);
            foreach $line (@METATAG)
            {
            print $line;
            }
            print "</head>\n";
            print "<body background\=\"$background\" bgcolor\=\"$backcolor\" text\=\"$text_link_text \"link\=\"$text_link_link\" vlink\=\"$text_link_vlink\" alink\=\"$text_link_alink\">\n";
            open (DATEI,"<$cgi_root_path/config/insert/header.dat")||die("Konnte die Datei header.dat nicht einlesen");
            if ($use_flock eq "1") {flock (DATEI,1);}
            @HEADERINSERT =<DATEI>;
            if ($use_flock eq "1") {flock (DATEI,8);}
            close (DATEI);
            foreach $line (@HEADERINSERT)
            {
            print $line;
            }
        }
#### Html Footer
sub footer {
            open (DATEI,"<$cgi_root_path/config/insert/footer.dat")||die("Konnte die Datei footer.dat nicht einlesen");
            if ($use_flock eq "1") {flock (DATEI,1);}
            @DATEN =<DATEI>;
            if ($use_flock eq "1") {flock (DATEI,8);}
            close (DATEI);
            foreach $line (@DATEN)
            {
            print $line;
            }
            print "<br><br><center><font face=\"Arial\" size=\"2\" color=\"$text_link_text\"><b>Megatoplist V$version</b> &#169; by<a target=\"_blank\" href=\"http://www.topcgi.de\"><font face=\"Arial\" size=\"2\" color=\"$text_link_text\">Topcgi.de</font></a></font></center>\n";
            print "</body></html>\n";
            }