<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">package kunde;

use template;
use umfrage;
#use CGI;
#use strict;

@ISA = qw ( template );

####################################################################
####         Konstruktor der Kundenklasse
####         Argumente  : -
####         Returnwert : -
####################################################################
sub init {
	my $that = shift;
	my $class = ref($that) || $that;
	my $self = template-&gt;init(@_);
	bless $self, $class;	
	$self-&gt;{knr}      = shift;
	$self-&gt;{query}    = shift;
	$self-&gt;{vars}     = shift;	
	$self-&gt;{pass}     = 0;
	$self-&gt;{template} = 0;
	$self-&gt;{sprache}  = 0;
	$self-&gt;{name}     = "";
	$self-&gt;{firma}    = "";	
	return $self;
}

####################################################################
####         Datenbanklader der Kundenklasse
####         Argumente  : knr
####         Returnwert : -
####################################################################
sub load {
	my $self = shift;	
	# Kunde aus der Datenbank laden
	my $sql = "select pass, name, firma, template, sprache from kunden where knr=$self-&gt;{knr}";
	($self-&gt;{pass}, $self-&gt;{name}, $self-&gt;{firma}, $self-&gt;{template}, $self-&gt;{sprache}) = $self-&gt;sqlselect($sql);
	if (! defined $self-&gt;{knr}) {$self-&gt;log(2,"Kunde ist nicht vorhanden");$self-&gt;exit;}
	$self-&gt;loadtmp;
	return $self;
}

####################################################################
####         Ermittelt eine neue umfid und speichert sich
####         Argumente  : -
####         Returnwert : -
####################################################################
sub new {
	my $self = shift;
	my $sql1 = "select max(knr) from kunden";
	($self-&gt;{id}) = ($self-&gt;sqlselect($sql1))+1;
        my $sql2 = "insert into kunden values ( $self-&gt;{knr} ,'$self-&gt;{pass}', '$self-&gt;{name}', '$self-&gt;{firma}', $self-&gt;{template}, $self-&gt;{sprache})";
	$self-&gt;sqldo($sql2);
}

####################################################################
####         Speichert sich mit Update
####         Argumente  : -
####         Returnwert : -
####################################################################
sub store {
	my $self = shift;
	my $sql = "update kunden set pass='$self-&gt;{pass}', name='$self-&gt;{name}', ".
		  "firma='$self-&gt;{firma}', ".
		  "template=$self-&gt;{template}, sprache=$self-&gt;{sprache} where knr=$self-&gt;{knr}";
	$self-&gt;sqldo($sql);
}

####################################################################
####         Löscht sich und alle seine Fragen aus der DB
####         Argumente  : evtl Fragentext und Fragentyp
####         Returnwert : -
####################################################################
sub delete {
	my $self = shift;
	my $sql1  = "delete from kunden where knr=$self-&gt;{knr}";
	my $sql2  = "delete from palette where knr=$self-&gt;{knr}";
	my $sql3  = "delete from template where knr=$self-&gt;{knr}";
	$self-&gt;sqldo($sql1);
	$self-&gt;sqldo($sql2);
	$self-&gt;sqldo($sql3);
	$self-&gt;{knr} = undef;
}

####################################################################
####         Schreibt ins Logfile
####         Argumente  : Emergency und Logtext
####         Returnwert : -
####################################################################
sub log {
	my $self = shift;
        my $emer = shift;
	my $TEXT = shift;
	$self-&gt;printlog($emer, "K[$self-&gt;{id}] $TEXT");
}


####################################################################
####         Schreibt ins Logfile
####         Argumente  : Emergency und Logtext
####         Returnwert : -
####################################################################
sub login {
	my $self = shift;
        my $TITLE=$self-&gt;trans("TI2");
	$self-&gt;{warntext}=shift;
	my $query=$self-&gt;{query};
	my $HTML = "&lt;TABLE&gt;\n".
	        $self-&gt;TR([$self-&gt;sfont($self-&gt;trans("HI21")),"&lt;INPUT type='textfield' name='kknr'&gt;" ]) .
		$self-&gt;TR([$self-&gt;sfont($self-&gt;trans("HI18")), "&lt;INPUT type='password' name='kpass'&gt;" ]) .
		"&lt;/TABLE&gt;\n&lt;BR&gt;&lt;BR&gt;\n".
    	$self-&gt;sfont( "\n".
    	$query-&gt;submit('kbut',$self-&gt;trans("BU12")) ."&amp;nbsp;&amp;nbsp;\n".
    	$query-&gt;submit('kbut',$self-&gt;trans("BU11"))."\n" );
	
	$self-&gt;printhtml($self-&gt;trans("TI12"), $HTML);
        $self-&gt;exit;
}


####################################################################
####         Gibt die Standardmaske aus
####         Argumente  : Emergency und Logtext
####         Returnwert : -
####################################################################
sub htmlbearb {
	my $self = shift;
        my $TITLE=$self-&gt;trans("TI1");
	my $query=$self-&gt;{query};
        my %val=$self-&gt;{vars};
	my $htemp=$self-&gt;templatehash(1);
        my @ntemp= keys %$htemp;
	my $humf=$self-&gt;umfragenhash;
        my @numf= keys %$humf;
	my $hspr=$self-&gt;sprachenhash;
        my @nspr= keys %$hspr;

	$HTML=	$self-&gt;sfont($self-&gt;trans("HI22").": ".$self-&gt;{name}." bei ".$self-&gt;{firma})."&lt;HR&gt;&lt;BR&gt;\n&lt;TABLE&gt;\n".
		$self-&gt;TR([ $self-&gt;sfont($self-&gt;trans("HI23")),$self-&gt;sfont($self-&gt;trans("HI24")),$self-&gt;sfont($self-&gt;trans("HI1")) ]).
                $self-&gt;TR([
			$query-&gt;popup_menu('kumfrage',\@numf,$val{kumfrage},$humf),
			$query-&gt;popup_menu('ktemplate',\@ntemp,$self-&gt;{template},$htemp),
	       		$query-&gt;popup_menu('ksprache',\@nspr,$self-&gt;{sprache},$hspr),   ]).
                $self-&gt;TR([
	                $query-&gt;submit('kbut',$self-&gt;trans("BU14")),
			$query-&gt;submit('tbut',$self-&gt;trans("BU17")),
		        $query-&gt;submit('kbut',$self-&gt;trans("BU20"))  ]).
                $self-&gt;TR([
			$query-&gt;submit('kbut',$self-&gt;trans("BU15")),
			$query-&gt;submit('kbut',$self-&gt;trans("BU18")),
			$query-&gt;submit('kbut',$self-&gt;trans("BU11"))  ]).
                $self-&gt;TR([
			$query-&gt;submit('kbut',$self-&gt;trans("BU16")),
		     	$query-&gt;submit('kbut',$self-&gt;trans("BU19")),
		     	$query-&gt;submit('tbut',$self-&gt;trans("BU21")), ]).

		"&lt;/TABLE&gt;";

       $self-&gt;printhtml($TITLE,$HTML);
}


####################################################################
####         Gibt die Standardmaske aus
####         Argumente  : Emergency und Logtext
####         Returnwert : -
####################################################################
sub getbearb {
	my $self = shift;
        my $vars=$self-&gt;{vars};
	my $umf;
	my %val= %$vars;
	if ($val{kbut} eq $self-&gt;trans("BU12")) {
		$self-&gt;{knr}=$val{kknr};
		$$vars{knr}=$val{kknr};
		$$vars{pass}=crypt($val{kpass},"xy");
	}
	my %val = %$vars;
	$self-&gt;log(4,"kbut=$val{kbut} but=$val{but} umfid=$val{umfid} template=$val{ktemplate}&nbsp;knr=$self-&gt;{knr}");
	if ($self-&gt;checkkunde($val{knr},$val{pass}) == 1) {$self-&gt;login;};
        $self-&gt;load;
	if ($val{kbut} eq "") {
		if ($val{but} ne ""){$umf=umfrage-&gt;init($self, $val{umfid}); $umf-&gt;load; $umf-&gt;getbearb;$umf-&gt;exit;}
        	if ($val{tbut} ne ""){$tm=template-&gt;init($self, $val{ktemplate}); $tm-&gt;loadtmp; $tm-&gt;getbearb;$tm-&gt;exit;}
	}
        elsif ($val{kbut} eq $self-&gt;trans("BU14") ){$umf=umfrage-&gt;init($self, $val{kumfrage});$umf-&gt;load; $umf-&gt;kstatistik;$umf-&gt;exit;}
        elsif ($val{kbut} eq $self-&gt;trans("BU15") ){$umf=umfrage-&gt;init($self, $val{kumfrage});$umf-&gt;load; $umf-&gt;getbearb;$umf-&gt;exit;}
	elsif ($val{kbut} eq $self-&gt;trans("BU16") ){$umf=umfrage-&gt;init($self);$umf-&gt;loadtmp; $umf-&gt;new; $umf-&gt;getbearb;$umf-&gt;exit;}
	elsif ($val{kbut} eq $self-&gt;trans("BU18") ){$tm=template-&gt;init($self); $tm-&gt;new; $tm-&gt;getbearb; $tm-&gt;exit;}
	elsif ($val{kbut} eq $self-&gt;trans("BU19") ){$self-&gt;{template}=$val{ktemplate}; $self-&gt;store; $self-&gt;load; $self-&gt;htmlbearb}
	elsif ($val{kbut} eq $self-&gt;trans("BU20") ){$self-&gt;{sprache}=$val{ksprache}; $self-&gt;store; $self-&gt;load; $self-&gt;htmlbearb}
	elsif ($val{kbut} eq $self-&gt;trans("BU11") ){print $self-&gt;{query}-&gt;redirect("http://www.prorata.de"); $self-&gt;exit;}

	else {$self-&gt;htmlbearb;}
}
</pre></body></html>