#!/usr/bin/perl
use CGI::Carp "fatalsToBrowser";

# Anfang Benutzersetup

$Cookie_Exp_Date = "Mon, 01-Jan-2030 00:00:00 GMT";
require "data/stgset.cgi";
$cgi = "$url/vote.cgi";

# Ende Benutzersetup


##############################################################################################################
# Nutzungsbedingungen (Umfragescript): Lizenz: Stand: 3.09.2001
#
# Durch Download der Software erklären Sie sich mit diesen Lizenzabkommen einverstanden.
# Der Umfragescript ist Freeware, jedoch nicht zum GPU/GPL - Abkommen zuzuordnen.
# Diese Lizenz erlaubt es Ihnen, Umfragescript zu benutzen.
# Als Nutzer des Umfragescript können Sie auf eigenes Risiko die Software verändern und/oder auf Ihre Bedürfnisse anpassen.
# Sie können auch Dritte mit der Anpassung/Veränderung beauftragen.
# Die Original-Software unverändert darf weitergegeben werden jedoch nicht verkauft oder wiederverkauft werden.
#
# Die angepasste/veränderte Software und Teile dieser dürfen nicht weitergegeben ,verkauft oder wiederverkauft werden.
#
# Alle Copyright- und Versions-Hinweise, die im Umfragescript oder deren HTML-Seiten verwendet, erstellt und/oder gezeigt
# werden, dürfen nicht entfernt werden. Die Copyright- und Versions-Hinweise müssen für Benutzer sichtbar und in
# ungeänderter Form dargestellt werden.
#
# Dieses Lizenzabkommen beruht sich auf der aktuellen internationalen Gesetzeslage.
#
# Bei einem Verstoß gegen diesen Lizenzvertrag durch die Firma Coder-World oder deren Beauftragten die erworbene Lizenz
# jederzeit zurückgezogen und für nichtig erklärt werden sowie die Benutzung untersagt werden.
# Umfragescript und die dazugehörenden Dateien werden ohne Funktionsgarantie für die im Umfeld verwendete Hardware
# oder Software verkauft.
#
# Coder-World oder deren Beauftragten sind in keiner Form für Inhalte oder Verfasser verantwortlich, die durch diese
# Software erstellt wurden.
#
# Das Risiko der Benutzung vom Umfragescript obliegt dem Lizenznehmer, jegliche Erstattungen im Rechtsfall sind ausgeschlossen.
# Eine Lizenz ist zeitlich unbegrenzt nutzbar, in der Lizenz ist grundsätzlich der Zugriff auf alle neuen Versionen für
# einen unbegrenzten Zeitraum enthalten.
#
# Hinweis: Es existieren keine Reseller-, Wiederverkaufs- oder Schüler-/Studenten - Versionen. Nach den Lizenzbedingungen muß der Website-Besitzer die Lizenz selbst erhalten.
#
# Verfasser: Stefan Gipper (Stefanos)
# E-Mail: support@coder-world.de
# Webseite: http://www.coder-world.de
#
# Bei Veröffentlichung dieses Dokuments ist es eine feine Geste, mir eine Nachricht zukommen zu lassen.
##############################################################################################################

sub lock {local($file)=@_;if($use_flock) {flock($file, 2);}}
sub unlock {local($file)=@_;if($use_flock) {flock($file, 8);}}
read(STDIN, $input, $ENV{'CONTENT_LENGTH'});@pairs = split(/&/, $input);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;$FORM{$name} = $value;}@vars = split(/&/, $ENV{QUERY_STRING});foreach $var (@vars) {($v,$i) = split(/=/, $var);$v =~ tr/+/ /;$v =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;$i =~ tr/+/ /;$i =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;$i =~ s/<!--(.|\n)*-->//g;$INFO{$v} = $i;}

if($INFO{'action'} ne ""){
        $action = $INFO{'action'};
}else{
        $action = $FORM{'action'};
}

if($action =~ /vote/) {&$action;}
elsif($action eq "auswertung") {&auswertung;}
elsif($action =~ /admin/) {&$action;}
&vote;


sub adminlogin {
        open(T,"templates/admin.html");
        &lock(T);
        $i = join("",<T>);
        $i =~ s/<_cgi>/$cgi/g;
        $i =~ s!</body>!<br><center><table border="0" cellspacing="1" cellpadding="1"><tr><td><center><font face="Verdana,Arial" size="1"><b>Betriebsrat Salzburg</b></font></center></td></tr><tr><td><center><font face="Verdana,Arial" size="1">&copy; <a href="http://intranet.ams.or.at/0/za/fa_sbg/index.htm" target="_blank"><b>Kurt Hanke</b></a>, 2002</font></center></td></tr></table></center></body>!g;
        &unlock(T);
        close(T);

        print "Content-type: text/html\n\n";
        print $i;
        exit(0);
}

sub admincenter {
        unless($FORM{'pass'}){
                $pass = $INFO{'pass'};
        }else{
                $pass = $FORM{'pass'};
        }

        if($pass ne $passwort){
                &error("Falsches Passwort.")
        }

        open(T,"<templates/admin2.html");
        &lock(T);
        ($split , $split2 , $split3) = split(/<!-- SPLIT -->/ , (join("",<T>)));
        &unlock(T);
        close(T);

        opendir(V,"data");
        @user = readdir(V);
        closedir(V);

        foreach $line (@user){
                $line =~ s/[\n\r]//g;
                if($line =~ /\.dat$/){

                        open(F, "data/$line");
                        &lock(F);
                        @file = <F>;
                        &unlock(F);
                        close(F);

                        ($titel,$ip) = split(/\|/ , $file[0]);

                        $line2 = $split2;
                        $line2 =~ s!<_cgi>!$cgi!g;
                        if($titel eq ""){$titel = "Keine Name vorhanden!";}
                        $line2 =~ s!<_titel>!$titel!g;
                        $line2 =~ s!<_pass>!$passwort!g;

                        $line =~ s/\.dat$//g;
                        $line2 =~ s!<_line>!$line!g;
                        $line =~ s!</body>!<br><center><table border="0" cellspacing="1" cellpadding="1"><tr><td><center><font face="Verdana,Arial" size="1"><b>Betriebsrat Salzburg</b></font></center></td></tr><tr><td><center><font face="Verdana,Arial" size="1">&copy; <a href="http://intranet.ams.or.at/0/za/fa_sbg/index.htm" target="_blank"><b>Kurt Hanke</b></a>, 2002</font></center></td></tr></table></center></body>!g;
                        $ausgabe .= "$line2";
                }
        }

        $m = "Keine";
        if($INFO{'m'} eq "new"){
                $m = "Neue Umfrage wurde erstellt.";
        }elsif($INFO{'m'} eq "delete"){
                $m = "Umfrage wurde gel&ouml;scht.";
        }elsif($INFO{'m'} eq "gen"){
                $m = "Generelle Einstellungen wurden gespeichert.";
        }elsif($INFO{'m'} eq "edit"){
                $m = "Umfrage wurde erfolgreich Editiert.";
        }elsif($INFO{'m'} eq "temp"){
                $m = "Template wurde erfolgreich gespeichert.";
        }elsif($INFO{'m'} eq "reset"){
                $m = "Umfrage wurde erfolgreich erneut gestartet.";
        }

        if($proxy == 1){$nox = "checked";}else{$nox2 = "checked";}

        $split = $split . $ausgabe . $split3;

        $split =~ s!<_cgi>!$cgi!g;
        $split =~ s!<_titel>!$titel!g;
        $split =~ s!<_proxy>!$nox!g;
        $split =~ s!<_proxy2>!$nox2!g;
        $split =~ s!<_email>!$webmasteremail!g;
        $split =~ s!<_webseite>!$url!g;
        $split =~ s!<_pass>!$passwort!g;
        $split =~ s!<_meldung>!$m!g;
        $split =~ s!<_ausgabe>!$ausgabe!g;
        $split =~ s!</body>!<br><center><table border="0" cellspacing="1" cellpadding="1"><tr><td><center><font face="Verdana,Arial" size="1"><b>Betriebsrat Salzburg</b></font></center></td></tr><tr><td><center><font face="Verdana,Arial" size="1">&copy; <a href="http://intranet.ams.or.at/0/za/fa_sbg/index.htm" target="_blank"><b>Kurt Hanke</b></a>, 2002</font></center></td></tr></table></center></body>!g;

        print "Content-type: text/html\n\n";
        print $split;
        exit(0);
}

sub admingen {
        if($FORM{'pass'} ne $passwort){
                &error("Falsches Passwort.")
        }

        if(-e("data/stgset.cgi")){
                $FORM{'email'} =~ s/\@/\\\@/g;

                open(F, ">data/stgset.cgi");
                &lock(F);
                print F qq~\$webmasteremail = "$FORM{'email'}";\n\$passwort = "$FORM{'pass2'}";\n\$proxy = "$FORM{'proxy'}";\n\$url = "$FORM{'webseite'}";\n1;~;
                &unlock(F);
                close(F);
        }

        print "Location: $cgi\?action=admincenter&pass=$FORM{'pass2'}&m=gen\n\n";exit(0);
}

sub adminreset {
        if($INFO{'pass'} ne $passwort){
                &error("Falsches Passwort.")
        }

        open(F, "data/$INFO{'line'}.dat");
        &lock(F);
        @f = <F>;
        &unlock(F);
        close(F);

        ($titel , $ip) = split(/\|/ , $f[0]);
        shift @f;

        foreach my $i (@f){
                $i =~ s/[\n\r]//g;
                ($one , $two) = split(/\|/ , $i);
                if($i ne ""){
                        $text .= "0\|$two\n";
                }
        }
        $text = "$titel\|$ip$text";

        open(F, ">data/$INFO{'line'}.dat");
        &lock(F);
        print F "$text";
        &unlock(F);
        close(F);

        print "Location: $cgi\?action=admincenter&pass=$passwort&m=reset\n\n";exit(0);
}

sub admintemp {
        if($FORM{'pass'} ne $passwort){
                &error("Falsches Passwort.")
        }

        open(F, "templates/$FORM{'template'}");
        &lock(F);
        @f = <F>;
        &unlock(F);
        close(F);

        foreach $i (@f){
                $i =~ s/</&lt;/isg;
                $i =~ s/>/&gt;/isg;
                $i =~ s/\|/\&\#124\;/g;
                $text .= "$i";
        }

        open(F, "templates/edit-template.html");
        &lock(F);
        foreach $i (<F>){
                $i =~ s!<_cgi>!$cgi!g;
                $i =~ s/<_pass>/$FORM{'pass'}/g;
                $i =~ s/<_name>/$FORM{'template'}/g;
                $i =~ s/<_text>/$text/g;
                $i =~ s!</body>!<br><center><table border="0" cellspacing="1" cellpadding="1"><tr><td><center><font face="Verdana,Arial" size="1"><b>Betriebsrat Salzburg</b></font></center></td></tr><tr><td><center><font face="Verdana,Arial" size="1">&copy; <a href="http://intranet.ams.or.at/0/za/fa_sbg/index.htm" target="_blank"><b>Kurt Hanke</b></a>, 2002</font></center></td></tr></table></center></body>!g;
                $a_a .= "$i";
        }
        &unlock(F);
        close(F);

        print "Content-Type: text/html\n\n";
        print $a_a;
        exit;
}

sub admintemp2 {
        if($FORM{'pass'} ne $passwort){
                &error("Falsches Passwort.")
        }

        if(-e("templates/$FORM{'name'}")){

                open(F, ">templates/$FORM{'name'}");
                &lock(F);
                print F "$FORM{'temp'}";
                &unlock(F);
                close(F);
        }

        print "Location: $cgi\?action=admincenter&pass=$passwort&m=temp\n\n";exit(0);
}

sub adminedit {
        if($INFO{'pass'} ne $passwort){
                &error("Falsches Passwort.")
        }

        open(F, "data/$INFO{'line'}.dat");
        &lock(F);
        @f = <F>;
        &unlock(F);
        close(F);

        ($titel , $ip) = split(/\|/ , $f[0]);
        shift @f;

        foreach $i (@f){
                $i =~ s/[\n\r]//g;
                $i =~ s/\|/\&\#124\;/g;
                $text .= "$i\n";
        }

        open(F, "templates/edit.html");
        &lock(F);
        foreach $i (<F>){
                $i =~ s!<_cgi>!$cgi!g;
                $i =~ s/<_pass>/$INFO{'pass'}/g;
                $i =~ s/<_frage>/$titel/g;
                $i =~ s/<_name>/$INFO{'line'}/g;
                $i =~ s/<_text>/$text/g;
                $i =~ s!</body>!<br><center><table border="0" cellspacing="1" cellpadding="1"><tr><td><center><font face="Verdana,Arial" size="1"><b>Betriebsrat Salzburg</b></font></center></td></tr><tr><td><center><font face="Verdana,Arial" size="1">&copy; <a href="http://intranet.ams.or.at/0/za/fa_sbg/index.htm" target="_blank"><b>Kurt Hanke</b></a>, 2002</font></center></td></tr></table></center></body>!g;
                $a_a .= "$i";
        }
        &unlock(F);
        close(F);

        print "Content-Type: text/html\n\n";
        print $a_a;
        exit;
}

sub adminedit2 {
        if($FORM{'pass'} ne $passwort){
                &error("Falsches Passwort.")
        }

        if(-e("data/$FORM{'name'}.dat")){

                open(F, ">data/$FORM{'name'}.dat");
                &lock(F);
                print F "$FORM{'frage'}\|0.0.0.0\n$FORM{'antworten'}";
                &unlock(F);
                close(F);
        }

        print "Location: $cgi\?action=admincenter&pass=$passwort&m=edit\n\n";exit(0);
}

sub adminnew {

        if($FORM{'pass'} ne $passwort){
                &error("Falsches Passwort.")
        }

        $time = time;

        if(-e("data/$time.dat")){
                &error("Diese Datei existiert schon. Bitte anderen Dateinamen nehmen.");
        }else{
                open(F, ">data/$time.dat");
                &lock(F);
                print F "$FORM{'frage'}\|0.0.0.0\n$FORM{'antworten'}";
                &unlock(F);
                close(F);
        }

        print "Location: $cgi\?action=admincenter&pass=$passwort&m=new\n\n";
}

sub admindelete {

        if($INFO{'pass'} ne $passwort){
                &error("Falsches Passwort.")
        }

        if(-e("data/$INFO{'line'}.dat")){
                chmod(0777,"data/$INFO{'line'}.dat");
                unlink("data/$INFO{'line'}.dat");
                unlink("data/$INFO{'line'}.ip");
        }else{
                &error("Diese Umfrage existiert nciht.");
        }

        print "Location: $cgi\?action=admincenter&pass=$passwort&m=delete\n\n";exit(0);
}

sub voten2 {

        #if($ENV{'REMOTE_ADDR'} ne ""){
        #        $ip1 = "$ENV{'REMOTE_ADDR'}";
        #}else{
        #        $ip1 = "$ENV{HTTP_X_FORWARDED_FOR}";
        #}

        if($proxy eq "1" && $ENV{HTTP_VIA} ne ""){
                if ( $ENV{HTTP_VIA} ){
                        if( $ENV{HTTP_X_FORWARDED_FOR} ){
                                $prox = 0;
                        }else{
                                $prox = 1;
                        }
                }
        }else{
                $prox = 0;
        }

        #open(F, "data/$FORM{'daten'}.ip");
        #&lock(F);
        #foreach my $i (<F>){
        #        $i =~ s/[\n\r]//g;
        #        if($ip1 eq $i){
        #                $ipx = 1;
        #        }
        #}
        #&unlock(F);
        #close(F);

        if($prox eq "0" && $ipx ne "1"){
                open(F, "data/$FORM{'daten'}.dat");
                &lock(F);
                @file = <F>;
                &unlock(F);
                close(F);

                $zeile = "0";
                open(F, ">data/$FORM{'daten'}.dat");
                &lock(F);
                foreach $line (@file){

                        if($zeile eq $FORM{'vote'} && $zeile ne "0" && $FORM{'vote'} ne "" && $bekannt ne "1"){
                                @ab = split(/\|/, $file[$zeile]);
                                $nummer = $ab[0] + 1;
                                print F "$nummer\|$ab[1]";
                        }elsif($zeile eq "0"){
                                $file[0] =~ s/[\n\r]//g;
                                ($titel , $ip) = split(/\|/ , $file[0]);

                                #if($ip ne $ip1){
                                #        $ip = "$ip1";
                                #}else{
                                #        $bekannt = "1";
                                #}

                                print F "$titel\|$ip\n";
                        }elsif($zeile ne $FORM{'vote'}){
                                print F $line;
                        }else{
                                print F $line;
                        }
                        $zeile++;
                }
                &unlock(F);
                close(F);

                #if($ENV{'HTTP_X_FORWARDED_FOR'} ne ""){
                #        $ip = "$ENV{'HTTP_X_FORWARDED_FOR'}";
                #}else{
                #        $ip = "$ENV{'REMOTE_ADDR'}";
                #}
                #open(F, ">>data/$FORM{'daten'}.ip");
                #&lock(F);
                #print F "$ip\n";
                #&unlock(F);
                #close(F);

        }
        print "Set-Cookie: sperre$FORM{'daten'}=$FORM{'daten'}; expires=$Cookie_Exp_Date\n";

        if($ENV{'HTTP_REFERER'} ne "" && $prox != 1){# && $ipx != 1){
                print "Location: $ENV{'HTTP_REFERER'}\n\n";exit(0);
        }else{
                print "Location: $cgi\?action=auswertung&daten=$FORM{'daten'}\n\n";exit(0);
        }
}

sub voten {

        foreach (split(/; /,$ENV{'HTTP_COOKIE'})) {
                ($cookie,$value) = split(/=/);
                if($cookie eq "sperre$INFO{'daten'}") { $sperre="$value"; }
        }

        if($proxy eq "1" && $ENV{HTTP_VIA} ne ""){
                if ( $ENV{HTTP_VIA} ){
                        if( $ENV{HTTP_X_FORWARDED_FOR} ){
                                $prox = 0;
                        }else{
                                $prox = 1;
                        }
                }
        }else{
                $prox = 0;
        }

        #if($ENV{'HTTP_X_FORWARDED_FOR'} ne ""){
        #        $ip = $ENV{'HTTP_X_FORWARDED_FOR'};
        #}else{
        #        $ip = $ENV{'REMOTE_ADDR'};
        #}
        #open(F,"data/$INFO{'daten'}.ip");
        #&lock(F);
        #foreach my $i (<F>){
        #        $i =~ s/[\n\r]//g;
        #        if($i eq $ip){
        #                $ipx1 = "1";
        #        }
        #}
        &unlock(F);
        close(F);

        #$ip1 = "$ENV{'REMOTE_ADDR'}";

        if($sperre ne "" && $sperre eq "$INFO{'daten'}" or $prox eq "1" or $ipx1 eq "1"){&auswertung;exit;}
        open(F, "data/$INFO{'daten'}.dat");
        &lock(F);
        @file = <F>;
        &unlock(F);
        close(F);

        ($titel , $ip) = split(/\|/ , $file[0]);

        open(T,"templates/voten.html");
        &lock(T);
        ($split , $split2 , $split3) = split(/<!-- SPLIT -->/ , (join("",<T>)));
        &unlock(T);
        close(T);

        shift @file;
        foreach $line (@file){
                @line = split(/\|/, $line);
                $zeile++;

                if($zeile eq "1"){
                        $checked = "checked";
                }else{
                        $checked = " ";
                }

                $i = $split2;
                $i =~ s!<_cgi>!$cgi!g;
                $i =~ s!<_titel>!$titel!g;
                $i =~ s!<_ausgabe>!$ausgabe!g;
                $i =~ s!<_zeile>!$zeile!g;
                $i =~ s!<_line2>!$line[1]!g;
                $i =~ s!<_checked>!$checked!g;
                $i =~ s!</body>!<br><center><table border="0" cellspacing="1" cellpadding="1"><tr><td><center><font face="Verdana,Arial" size="1"><b>Betriebsrat Salzburg</b></font></center></td></tr><tr><td><center><font face="Verdana,Arial" size="1">&copy; <a href="http://intranet.ams.or.at/0/za/fa_sbg/index.htm" target="_blank"><b>Kurt Hanke</b></a>, 2002</font></center></td></tr></table></center></body>!g;
                $ausgabe .= "$i";
        }

        $line = "$split$ausgabe$split3";
        $line =~ s!<_cgi>!$cgi!g;
        $line =~ s!<_titel>!$titel!g;
        $line =~ s!<_ausgabe>!$ausgabe!g;
        $line =~ s!<_daten>!$INFO{'daten'}!g;
        if($INFO{'ssi'} ne "y"){
                $line =~ s!<_cgi2>!$cgi!g;
                $line =~ s!<\!--1!!g;
                $line =~ s!1-->!!g;
        }else{
                $line =~ s!<_cgi2>!$cgi\?action=auswertung&daten=$INFO{'daten'}!g;
                $line =~ s!<\!--2!!g;
                $line =~ s!2-->!!g;
        }
        if($INFO{'ssi'} ne "y"){$line =~ s!</body>!$ipx1<br><center><table border="0" cellspacing="1" cellpadding="1"><tr><td><center><font face="Verdana,Arial" size="1"><b>Betriebsrat Salzburg</b></font></center></td></tr><tr><td><center><font face="Verdana,Arial" size="1">&copy; <a href="http://intranet.ams.or.at/0/za/fa_sbg/index.htm" target="_blank"><b>Kurt Hanke</b></a>, 2002</font></center></td></tr></table></center></body>!g;}

        print "Content-type: text/html\n\n";
        print $line;
        exit;
}

sub vote {

        opendir(data, "data");
        @user = readdir(data);
        closedir(data);

        open(T,"templates/startseite.html");
        &lock(T);
        ($split , $split2 , $split3) = split(/<!-- SPLIT -->/ , (join("",<T>)));
        &unlock(T);
        close(T);

        foreach $line (@user){
                $line =~ s/[\n\r]//g;
                if($line =~ /\.dat$/){

                        open(F, "data/$line");
                        &lock(F);
                        @file = <F>;
                        &unlock(F);
                        close(F);

                        $line =~ s/\.dat//g;
                        ($titel , $ip) = split(/\|/ , $file[0]);

                        $line2 = $split2;
                        $line2 =~ s!<_cgi>!$cgi!g;
                        $line2 =~ s!<_titel>!$titel!g;
                        $line2 =~ s!<_line>!$line!g;
                        $ausgabe2 .= "$line2";
                }
        }

        $line = "$split$ausgabe2$split3";

        $line =~ s!<_cgi>!$cgi!g;
        $line =~ s!<_titel>!$titel!g;
        $line =~ s!<_ausgabe>!$ausgabe2!g;
        if($INFO{'ssi'} ne "y"){$line =~ s!</body>!<br><center><table border="0" cellspacing="1" cellpadding="1"><tr><td><center><font face="Verdana,Arial" size="1"><b>Betriebsrat Salzburg</b></font></center></td></tr><tr><td><center><font face="Verdana,Arial" size="1">&copy; <a href="http://intranet.ams.or.at/0/za/fa_sbg/index.htm" target="_blank"><b>Kurt Hanke</b></a>, 2002</font></center></td></tr></table></center></body>!g;}

        print "Content-type: text/html\n\n";
        print $line;
        exit;
}

sub auswertung {

        # data einlesen
        open(F, "data/$INFO{'daten'}.dat");
        &lock(F);
        @file = <F>;
        &unlock(F);
        close(F);

        ($titel , $ip) = split(/\|/ , $file[0]);

        foreach $zeile (@file){
                $zeile3++;
                $zeile =~ s/[\n\r]//g;
                if($zeile3 ne "1"){
                        ($zahl , $des) = split(/\|/,$zeile);
                        if($zeile3 ne "1" && $novote ne "1" && $zahl ne "0"){
                                        $novote = "1";
                        }
                        $voteall += $zahl;
                }
        }

        $zeile3 = "";
        $line = "";

        open(T,"templates/auswertung.html");
        &lock(T);
        ($split , $split2 , $split3) = split(/<!-- SPLIT -->/ , (join("",<T>)));
        &unlock(T);
        close(T);

        foreach $line (@file){
                $zeile3++;
                if($zeile3 ne "1"){
                        $line =~ s/[\n\r]//g;
                        ($one , $two) = split(/\|/,$line);
                        $antwort++;
                        if($one ne "0" && $voteall ne "0"){
                                $pro = $one / $voteall * 100;
                                $pro = sprintf "%.1f" , $pro ;
                        }else{
                                $pro = "0";
                        }
                        $width = $pro * 2;
                        $file[$antwort] =~ s/[\n\r]//g;
                        ($werto , $antwortet) = split(/\|/,$file[$antwort]);

                        $line = $split2;
                        $line =~ s!<_cgi>!$cgi!g;
                        $line =~ s!<_titel>!$titel!g;
                        $line =~ s!<_daten>!$INFO{'daten'}!g;
                        $line =~ s!<_width>!$width!g;
                        $line =~ s!<_antwortet>!$antwortet!g;
                        $line =~ s!<_antwort>!$antwort!g;
                        $line =~ s!<_pro>!$pro!g;
                        $line =~ s!<_lines>!$one!g;
                        $ausgabe2 .= "$line";
                }
        }

        if($ENV{'REMOTE_ADDR'} ne ""){
                $ip1 = "$ENV{'REMOTE_ADDR'}";
        }else{
                $ip1 = "$ENV{HTTP_X_FORWARDED_FOR}";
        }

        if($proxy eq "1" && $ENV{HTTP_VIA} ne ""){
                if ( $ENV{HTTP_VIA} ){
                        if( $ENV{HTTP_X_FORWARDED_FOR} ){
                                $prox = "0";
                        }else{
                                $prox = "1";
                        }
                }
        }else{
                $prox = "0";
        }

        foreach (split(/; /,$ENV{'HTTP_COOKIE'})) {
                ($cookie,$value) = split(/=/);
                if($cookie eq "sperre$INFO{'daten'}") { $sperre="$value"; }
        }

        #open(F, "data/$INFO{'daten'}.ip");
        #&lock(F);
        #@ip = <F>;
        #&unlock(F);
        #close(F);

        #foreach $i (@ip){
        #        $i =~ s/[\n\r]//g;
        #        if($ip1 eq "$i"){
        #                 $ipx = "1";
        #        }
        #}


        $line = "$split$ausgabe2$split3";
        $line =~ s!<_cgi>!$cgi!g;
        if($voteall eq "0"){
                $line =~ s~<!--Y~~g;
                $line =~ s~Y-->~~g;
        }elsif($prox eq "1" or $sperre eq "$INFO{'daten'}" or $ipx eq "1"){
                $line =~ s~<!--X~~g;
                $line =~ s~X-->~~g;
        }
        $line =~ s!<_titel>!$titel!g;
        $line =~ s!<_daten>!$INFO{'daten'}!g;
        $line =~ s!<_voteall>!$voteall!g;
        $line =~ s!<_ausgabe>!$ausgabe2!g;
        if($INFO{'ssi'} ne "y"){$line =~ s!</body>!<br><center><table border="0" cellspacing="1" cellpadding="1"><tr><td><center><font face="Verdana,Arial" size="1"><b>Betriebsrat Salzburg</b></font></center></td></tr><tr><td><center><font face="Verdana,Arial" size="1">&copy; <a href="http://intranet.ams.or.at/0/za/fa_sbg/index.htm" target="_blank"><b>Kurt Hanke</b></a>, 2002</font></center></td></tr></table></center></body>!g;}


        print "Content-type: text/html\n\n";
        print $line;
        exit;
}

#
# Errorseite
#
sub error {
        local($e) = @_;

        open(T,"templates/error.html");
        &lock(T);
        $i = join("",<T>);
        $i =~ s/<_cgi>/$cgi/g;
        $i =~ s/<_e>/$e/g;
        $i =~ s!</body>!<br><center><table border="0" cellspacing="1" cellpadding="1"><tr><td><center><font face="Verdana,Arial" size="1"><b>Betriebsrat Salzburg</b></font></center></td></tr><tr><td><center><font face="Verdana,Arial" size="1">&copy; <a href="http://www.sbg.at/kurt.hanke" target="_blank"><b>Kurt Hanke</b></a>, 2002</font></center></td></tr></table></center></body>!g;
        &unlock(T);
        close(T);

        print "Content-type: text/html\n\n";
        print $i;
        exit;
}