#!/usr/local/bin/perl -- # -*- perl -*-

$DEMOTIME = 15; # Minuten


#
# Parse QUERY_STRING:
#
$q=$ENV{'QUERY_STRING'};
foreach $i ( split(/&/,$q) ){
    ($var,$val)	= ($i=~/^([^=]+)=(.*)$/);

    #
    # Remove %-escapes.
    #
    {
	local($pre,$post,$r,$erg,$esc);
	
	$val=~s/\+/ /g;

	$r=$val;
	$erg="";

	while(($pre,$esc,$post)=($r=~/([^%]*)%(..)(.*)/)){
	    $erg.=$pre;
	    $esc=~tr/A-Z/a-z/;
	    $erg .= sprintf("%c",hex($esc));
	    $r=$post;
	}
	$erg.=$r;

	$val=$erg;
    }
    
    if   ($var eq "display"){
	$display  = $val;
    }else{
	&Error_Head;
	print "Unknown variable \"$var\" (value: \"$val\")\n";
	&Error_Tail;

	exit (1);
    }
}

if(fork()){
chop($id=`id`);
print <<EOTXT;
Content-type: text/html


<H1>"FuzzyPendel"-Demo wird ausgeführt!</H1>
<!----------------------------------------->

Das Programm "xpendel" steht nun für $DEMOTIME Minoten zu Ihrer
uneingeschränkten Verfügung. Nach dieser Zeit wird das Programm
automatisch beendet.
<P>
    
Falls während der Demonstration irgendwelche Probleme auftreten,
so berichten Sie diese bitte an die unten stehende EMail-Adresse.
<P>

Ansonsten wünsche ich viel Spass!!!

id = ($id)
<P>
    
<HR><!----------------------------------------------------------------->

<A HREF="index.html">Hier</A> geht's zur Einführung zum Fuzzy-Pendel zurück.

<HR><!----------------------------------------------------------------->

Hubert Feyrer, <A HREF="http://dusk.rz.uni-regensburg.de/Personal/hubert/hubert_feyrer.html">hubert.feyrer@rz.uni-regensburg.de</A>
</BODY>
EOTXT
}else{
    # print "starting xpendel\n";
    if(($pid=fork())==0){
	# print "Launching xpendel as pid $$\n";
	exec("rsh",
	     "rfhs1012",
	     "-l",
	     "feyrer",
	     "setenv DISPLAY $display ; work/FuzzyPendel/xpendel");
    }else{
	# print "xpendel launched\n";
	sleep($DEMOTIME);
	system("kill -15 $pid"); # das perl-interne kill geht hier NICHT!
	
    }
}


exit(0);
