#!/usr/bin/perl

###############################################################################################
#
#	OTTO-Studie 2. Selection der Teilnehmern 
#	Falsche Angabe der Nummer des Katalogs
#
###############################################################################################

use DBI;


###############################################################################################
#Mit panel2.conf:
###############################################################################################	

#open (FILE, "<panel2.conf") or die "AAAArrrrrgghhh";
#while ($line = <FILE>) {
#  ($key,$val) = ($line =~/^(\S*)\s*=\s*(\S*)/);
#    if ($key ne "") { $conf{$key}=$val }
#}
#close FILE;

#my $DB_DSN      = "DBI:$conf{database}:$conf{dataname}:$conf{datahost}";
#my $DB_USER     = "$conf{datauser}";
#my $DB_PASSWD   = "$conf{datapass}";

###############################################################################################
#Ende-> panel2.conf:
###############################################################################################

$database	= mysql;		# Andere sind z.B. adabas, csv, oracle, informix
$dataname	= prorata2;		# Name der Datenbank
$datahost	= sql;			# Hostname der Datenbank
$datauser	= prorata;		# Datenbank - Benutzername
$datapass	= luca;			# Passwort für die Datenbank

my $DB_DSN      = "DBI:$database:$dataname:$datahost";
my $DB_USER     = "$datauser";
my $DB_PASSWD   = "$datapass";

my $dbh = DBI->connect($DB_DSN, $DB_USER, 
   $DB_PASSWD) or err::error_seite{"Cannot connect to DB"};

$umfid = 44;
$fid = 8;	# Selectionsfrage
$aid = 3;	# Richtige Antwort
my $n=0;

$sth=$dbh->prepare("select pin from ergebnis where umfid=$umfid and fid=$fid and aid<>$aid");
$sth->execute;
$x=0;

my $date = get_date();

open (FILE, "/home/prorata/.otto-falsche") or die "Zieldatei kann nicht geoeffnet werden!";

while (<FILE>){chomp; if (/^\s*\d{1,3}$\s*/) {$n=$_; } }
close FILE;


open (FILE, ">>/home/prorata/.otto-falsche") or die "Zieldatei kann nicht geoeffnet werden!";
while (defined ($pin=$sth->fetchrow_array()) ) {

	$n++;	
	print FILE $n;
	print FILE "\n";
	print FILE "$date\n";
	print FILE "PIN: $pin\n";

	$sth2=$dbh->prepare("select betrag from kasse where umfid=$umfid and pin=$pin");
	$sth2->execute;


###############################################################################################
#Betrag speichern und aus der Kasse entfernen:
###############################################################################################	 
	  
	  while (@betrag = $sth2->fetchrow_array) {

			print FILE "Betrag: $betrag", join("", @betrag), "\n";
			
			$sth3=$dbh->prepare("delete from kasse where umfid=$umfid and pin=$pin");
			$sth3->execute;
			print FILE "Betrag gelöscht!\n";
			print FILE "-" x 75 . "\n\n";
		}
		
	$x++;	
}
###############################################################################################	
#	Rausselektierte Benutzer löschen
###############################################################################################

	$sth4=$dbh->prepare("delete from ergebnis where umfid=$umfid and fid=$fid and aid<>$aid");
	$sth4->execute;

###############################################################################################
#Für die Konsole
###############################################################################################
#print "Content-type: text/html\n\nEs wurden $x PIN's eingetragen\n und die entsprechende Datensätze sind aus der Datenbank raußgenommen worden\n";
$dbh->disconnect;


###############################################################################################
#	Das Datum
###############################################################################################

sub get_date {

    @days   = ('Sonntag','Montag','Dienstag','Mittwoch',
               'Donnerstag','Freitag','Samstag');
    @months = ('Januar','Februar','März','April','Mai','Juni','Juli',
	         'August','September','Oktober','November','Dezember');

    ($sec,$min,$hour,$mday,$mon,$year,$wday) = (localtime(time))[0,1,2,3,4,5,6];
    $time = sprintf("%02d:%02d:%02d",$hour,$min,$sec);
    $year += 1900;
                                                   
    return "$days[$wday], $months[$mon] $mday, $year um $time";
}
