<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">#!/usr/bin/perl
#
#

use umfrage;
use CGI;

$query = new CGI;
my %val = $query-&gt;Vars;

#my $umf=umfrage-&gt;init($val{umfid}, $query, \%val);
#if (! defined $umf-&gt;load) {print "Content-type: text/html\n\nFehler: Umfrage $val{umfid}";$umf-&gt;exit;}
#$umf-&gt;enterant;       #Antworten einlesen und neue frage ausgeben
#$umf-&gt;exit;



####################################################################
####         liest die Antworten ein
####         Argumente  : -
####         Returnwert : -
####################################################################
sub enterant {
	my $self = shift;
	my $vars = $self-&gt;{vars};
	my %val = %$vars;
	my $f;
	my @RE=("",$self-&gt;trans("WA1"),$self-&gt;trans("WA2"),"");
	my $query=$self-&gt;{query};
	my $x=0;

        # Wenn beendet werden soll : Redirect !
	if ($val{but} eq $self-&gt;trans("BU11")) {$self-&gt;redirect;}

	# Ist der Fragebogen aktiv ??
	if ($self-&gt;checkdate) {
                $self-&gt;{warntext}=$self-&gt;trans("WA11");
                $self-&gt;printhtml($self-&gt;trans("TI10"),$query-&gt;submit('but',$self-&gt;trans("BU11")));$self-&gt;log(1,"Fragebogen nicht aktiv");
	}

	# Anmeldedaten übernehmen
        if ($val{but} eq $self-&gt;trans("BU12")) {
		$$vars{pin}=$val{apin};
		$$vars{pass}=crypt($val{apass}, "xy");
	}
	
	# Pin überprüfen und nötigenfalls erfragen
	if ($$vars{pin} eq ""){
		if ($self-&gt;{usepanel}==0) {$$vars{pin}=$self-&gt;newpin;}	
		else {$self-&gt;login($self-&gt;trans("WA3"));$self-&gt;exit;}
	}

        # Passwortüberprüfung
	if ($self-&gt;{usepanel}==1) {my $RET = $self-&gt;checkpass($$vars{pin}, $$vars{pass});
	        if ($RET == 3) { $self-&gt;printhtml($self-&gt;trans("TI11"),$self-&gt;htmlgrafik);$self-&gt;exit;}
		if ($RET != 0) { $self-&gt;login($RE[$RET]);$self-&gt;exit; }
        }
	
	# Wenn $val{fid} nicht definiert ist muß die erste Frage genommen werden !! (mit der kleinsten FID)
	if ( $val{fid} &lt;1 ) {
	   while ((! defined $f) &amp;&amp; ($x&lt;40)) { $f = frage-&gt;init($self,$x++);$f=$f-&gt;load(); } # alle FIDs von 1-n ausprobieren !
	   if (defined $f) { $f = $f-&gt;nextfrage($$vars{pin},1);}       # Nächste Frage, wenn diese schon beantwortet ! oder sich selbst
	   if (defined $f) { $$vars{fid}=$f-&gt;{id};};
	}
	else { $f = frage-&gt;init($self,$val{fid}); $f=$f-&gt;load(); } # sonst jetzt anliegende Frage laden....

        if (! defined $f) { $self-&gt;htmlFra($f); $self-&gt;exit;}
	# Wenn gespeichert werden soll
	if ($val{but} eq $self-&gt;trans("BU7")) {
	   if ($f-&gt;enterant == 0) {$self-&gt;{warntext}=$self-&gt;trans("WA4");}
	   $self-&gt;log(4,"Proband speichert");
	   $f = $f-&gt;nextfrage($val{pin});
	   if (defined $f) { $$vars{fid}=$f-&gt;{id};}
	}

	# Wenn übersprungen werden soll
	if ($val{but} eq $self-&gt;trans("BU3")) {
	   $f = $f-&gt;nextfrage($val{pin});
	   $self-&gt;log(4,"Proband Überspringt");
	   if (defined $f) {
	   	if ($val{fid} == $f-&gt;{id}){
               	   $self-&gt;{warntext}=$self-&gt;trans("WA5");
                }
	   	else {
	   	   $self-&gt;{warntext}=$self-&gt;trans("WA6");
	   	}
	   	$$vars{fid}=$f-&gt;{id};}
	}

	# Wenn abgebrochen werden soll
	if ($val{but} eq $self-&gt;trans("BU2")) {
	   $self-&gt;log(4,"Proband Unterbricht");
	   $self-&gt;{warntext}=$self-&gt;trans("WA7");
	   undef $f;
	}
        	

   # Standardmäßig die neue Frage anzeigen !
   $self-&gt;htmlFra($f);

}     	


####################################################################
####         Bearbeitet die Eingabe der Frage durch den Kunden
####         Argumente  : -
####         Returnwert : -
####################################################################
sub getbearb {
	my $self = shift;
	my $vars = $self-&gt;{vars};    # Den Zeiger, weil ich ändern will
	my %val = %$vars;
	my ( $f, $TITLE, $x );
	
	
	# Wenn $val{fid} nicht definiert ist wird eine Fragenliste ausgegeben
	if ( (! defined $val{fid}) ) {
	   $self-&gt;htmlumfrage;
	}

	# Wenn gespeichert werden soll
	elsif ($val{but} eq $self-&gt;trans("BU7")) {
	  $self-&gt;log(4,"Kunde speichert");
	  $f = frage-&gt;init($self,$val{fid});  #  jetzt anliegende Frage laden....
	  $f-&gt;load();
	  $f-&gt;getBearb($vars);
	  $self-&gt;{warntext}=$self-&gt;trans("WA14");
	  $self-&gt;htmlbearb($f);
	}

	# Wenn die Frage gelöscht werden soll
	elsif ($val{but} eq $self-&gt;trans("BU8")) {
  	  $self-&gt;log(4,"Kunde löscht");
	  if ($val{radio} ne "") {$$vars{fid}=$val{radio};}
	  if ($$vars{fid} &gt; 0) {
	    $f = frage-&gt;init($self,$$vars{fid});  #  jetzt anliegende Frage laden....
	    $f=$f-&gt;load();
	    if (defined $f) {$x=$f-&gt;{id}; $f-&gt;delete;}
	    $$vars{fid}=0;
	    $self-&gt;{warntext}=$self-&gt;trans("WA15a")." ".$x." ".$self-&gt;trans("WA15b");
	  }
	  else {
	    $self-&gt;{warntext}=$self-&gt;trans("WA16");
	  }
	  $self-&gt;fragenliste();
	}

	# Wenn eine neue Frage erstellt werden soll
	elsif ($val{but} eq $self-&gt;trans("BU5")) {
           $self-&gt;log(4,"Kunde erstellt neue Frage");
	   $f=frage-&gt;init($self);
	   $f-&gt;new();
	   $self-&gt;log(4,"Frage erstellt $f");
	   $$vars{fid}=$f-&gt;{id};
	   $self-&gt;{warntext}=$self-&gt;trans("WA17");
	   $self-&gt;htmlbearb($f,);
	}

	#Wenn aus der Liste bearbeitet werden soll
	elsif ($val{but} eq $self-&gt;trans("BU6")) {
	  $self-&gt;log(4,"Kunde bearbeitet Frage");
	  if ($val{radio} &lt; 1) {
	     $self-&gt;{warntext}=$self-&gt;trans("WA16");
	     $self-&gt;fragenliste();
	  }
	  else {
	     $f=frage-&gt;init($self,$val{radio});
	     $f=$f-&gt;load();
	     $$vars{fid}=$f-&gt;{id};
	     $self-&gt;{warntext}=$self-&gt;trans("WA18");
	     $self-&gt;htmlbearb($f);
	  }
	} 	
        # Wenn die Liste angezeigt werden soll.....
	elsif ($val{but} eq $self-&gt;trans("BU4")) {
	     $self-&gt;log(4,"Kunde sieht Liste der Fragen");
	     $self-&gt;{warntext}=$self-&gt;trans("WA19");
             $$vars{fid}=0;
             $self-&gt;fragenliste();
        }

        # Wenn die Umfrage gespeichert werden soll.....
	elsif ($val{but} eq $self-&gt;trans("BU9")) { $self-&gt;getumfbearb; $self-&gt;log(4,"Kunde speichert Umfrage");}

        # Wenn die Umfrage angezeigt werden soll.....
	elsif ($val{but} eq $self-&gt;trans("BU10")) { $self-&gt;htmlumfrage; $self-&gt;log(4,"Kunde sieht Umfrage");}

	# Beenden mit Redirect....
	elsif ($val{but} eq $self-&gt;trans("BU11")) { $self-&gt;redirect;}
	
	# Wenn alles andere versagt.....   :-)
	else { $self-&gt;htmlumfrage; $self-&gt;log(4,"Kein Button gedrückt, Kunde sieht Umfrage"); }

}



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