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

use template;

@ISA = qw ( template );

my $TESTPIN=100;


####################################################################
####         Konstruktor der Kassenklasse
####         Argumente  : -
####         Returnwert : -
####################################################################

sub init {
	my $that = shift;
	my $class = ref($that) || $that;
	my $self = template-&gt;init(@_);
	bless $self, $class;	
	$self-&gt;{template} = $self-&gt;{parent}-&gt;{template}+0;
	$self-&gt;{sprache}  = $self-&gt;{parent}-&gt;{sprache}+0;
	$self-&gt;loadtmp;
	return $self;
}

####################################################################
####         Prüft das Passwort
####         Argumente  : pin und encrypted passwd
####         Returnwert : 0=OK, 1=Pass falsch
####################################################################

sub checkpass {
	my $self = shift;
	my $pin = shift;
	my $pass = shift;
	$pin+=0;
	 my $dbpass = $self-&gt;sqlselect("select pass from benutzer where pin=$pin");
   	$dbpass=crypt($dbpass,"xy");
        if ($dbpass ne $pass) {$self-&gt;log(2,"Falsches Passwort von $pin");return 1;}
	return 0;
}

####################################################################
####         Konstruktor der Kassenklasse
####         Argumente  : pin, umfid, umfrage(umfragen), betrag, changed
####         Returnwert : -
####################################################################

sub kontostand {
	my $self = shift;
	my $pin=shift;
	if ($pin == 0) {$pin=$baseq::VARS{pin};}
	if ($pin==0) {$self-&gt;log(1,"Achtung keine Pin gefunden");}
	my $sql = "select sum(betrag) from kasse where pin=$pin";
	return $self-&gt;sqlselect($sql);
}

####################################################################
####         Alle Beträge pro pin
####         Argumente  : 
####         Returnwert : pin, sum(betrag)
####################################################################

sub kontostandalle {
	my $self = shift;
	my $sql="select pin,sum(betrag) from kasse group by pin order by pin";
	return $self-&gt;sqlselect($sql);
}

####################################################################
####        Beschreibung aus Umfragen -Tabelle laden
####         Argumente  : umfid
####         Returnwert : -umfrage
####################################################################

sub loadbeschreibung {
	my $self = shift;
	my $umfid=shift;
	my $sql = "select umfrage from umfragen where umfid=$umfid";
	return $self-&gt;sqlselect($sql);
}


####################################################################
####        Kosten einer Umfrage
####         Argumente  : umfid
####         Returnwert : -sum(betrag)
####################################################################

sub umfragekosten {
	my $self = shift;
    my $umfid =shift;
	my $sql="select sum(betrag) from kasse where umfid=$umfid";
	return $self-&gt;sqlselect($sql);
}

####################################################################
####         War schon mal diese Umfrage beantwortet?
####         Argumente  : umfid
####         Returnwert : -sum(betrag)
####################################################################

sub haben {
	my $self  = shift;
	my $pin = shift;
	my $umfid = shift;
	my $geld = shift;
	my $sql2;
	my $sql1="select betrag from kasse where pin=$pin and umfid=$umfid";
	my $betrag=$self-&gt;sqlselect($sql1);
		if (!defined $betrag) {$sql2="insert into kasse values($pin, $umfid, $geld, NULL)";
			}else{
			 $sql2="update kasse set betrag=$geld where pin=$pin and umfid=$umfid";
		 }
	 $self-&gt;sqldo($sql2);
}

####################################################################
####         Kontostand anzeigen
####         Argumente  : -pin
####         Returnwert : -betrag
####################################################################
sub kontohtml {	
	my $self= shift;
	my $pin = shift;
	
	my $sum=0;
	my $HTML;
	
	my $sql1="select vname,nname from benutzer where pin=$pin";
	my @person=$self-&gt;sqlselect($sql1);
	$self-&gt;{warntext}=$person[0]."  ".$person[1];
	my $HTML="&lt;BR&gt;&lt;BR&gt;\n&lt;TABLE BORDER='2'&gt;\n".
	                    $self -&gt;TR([ $self-&gt;sfont("Umfrage"),$self-&gt;sfont( "Datum"), $self-&gt;sfont("Betrag in EURO")]);
 
	my $sql2="SELECT umfragen.umfrage, kasse.changed, kasse.betrag FROM umfragen LEFT JOIN kasse ON umfragen.umfid = kasse.umfid WHERE pin=$pin";
	my $sth= $self-&gt;sqlprepare($sql2);
	while(@liste=$sth-&gt;fetchrow_array){

		$sum+=$liste[2];
		$liste[0]=$self-&gt;sfont($liste[0]);
		$liste[1]=$self-&gt;sfont($self-&gt;timestamp($liste[1]) );
		$liste[2]=$self-&gt;sfont(sprintf("%0.2f",$liste[2]/100) );
		$HTML.=$self-&gt;TR(\@liste);
		

	}
	$HTML.="&lt;/TABLE&gt;&lt;BR&gt;".$self-&gt;sfont("Gesamtbetrag: ".sprintf("%0.2f",$sum/100)." EURO/ ".sprintf("%0.2f",$sum/51.129)." DM")."&lt;BR&gt;&lt;BR&gt;\n";
	$HTML.="&lt;A HREF='javascript:history.back();'&gt;Zurück&lt;/a&gt;";
	#$HTML.=$self-&gt;SM('but',"BU13")."&lt;/A&gt;\n";
    $self-&gt;printhtml($self-&gt;trans("TI16") , $HTML);

 }
##################################################################





</pre></body></html>