#!/usr/bin/perl require "/users/math/homepages/stig/lib/cgi-lib.pl"; MAIN: { $fikafil="bokningslista.txt"; # Read in all the variables set by the form &PrintHead; if (&ReadParse(*input)) { &ProcessForm; sleep 3; &PrintList; } else { &PrintForm; &PrintList; print "\n"; } print "\n"; &PrintFoot; } sub PrintHead { print &PrintHeader; print <TMA681 Tillämpad matematik K, 1999, handledning

TMA681 Tillämpad matematik K

Handledning 1999

Arbeta i grupper om två. Varje grupp får boka två dubbeltimmar handledning i datorsal, t ex en dubbeltimma i vecka 5 och en i vecka 6-7. Uppgifterna kräver mycket mer tid än dessa fyra timmar. Räkna alltså med att tillbringa ytterligare tid i datorsal utan handledning. Var därför väl förberedd när du kommer till handledningen genom att arbeta med uppgifterna hemma och på övningarna.

Samtliga lektioner är i datorsal D3, D4-D5, 24 platser. Jag har även reserverat tid i datorsalarna för självständigt arbete utan handledning, se nedan.

END $agent=$ENV{'HTTP_USER_AGENT'}; if($agent =~ m/NCSA_Mosaic/) { print "OBS: Du använder Mosaic, som tyvärr inte klarar att "; print "visa detta. "; print "Använd någon annan WWW-läsare, t.ex. lynx, netscape, arena "; print "eller hotjava.

"; } } sub ProcessForm { $dator=$ENV{'REMOTE_HOST'}; $tid= time; $nynamn1=$input{'nynamn1'}; $nynamn2=$input{'nynamn2'}; $nyproblem=$input{'nyproblem'}; $nyemail1=$input{'nyemail1'}; $nyemail2=$input{'nyemail2'}; $nykommentar=$input{'nykommentar'}; unless($dator=~m/\.chalmers\.se$/) { print "It is only possible to join this list from inside "; print "Chalmers. \n"; &PrintFoot; exit; } if($nynamn1 eq '' || $nynamn1=~m![/\|\;]! || $nyemail1=~m![/\|\;]! || $nynamn2=~m![/\|\;]! || $nyemail2=~m![/\|\;]! || $nykommentar=~m![\|\;]! ) { print " Namn måste anges (utan konstiga tecken), "; print "försök igen.\n"; &PrintFoot; exit; } open(FIL,"<$fikafil"); # flock(FIL,2); # Lock file exclusively @data=(); for(@data) { $count += s!^$nyproblem\|\|!$nyproblem|$nynamn1|$nyemail1|$nynamn2|$nyemail2|$nykommentar|$dator|$tid!o;} unless($count == 1) { print "Något gick fel, ni kanske glömde markera tid, "; print "eller så hann någon annan grupp ta tiden precis före er!\n

\n"; print "Försök igen.\n"; &PrintFoot; exit; } close(FIL); open(FIL,">$fikafil"); print FIL @data; close(FIL); print "Anmälan är registrerad.\n"; # print "Kul att du också ville vara med, ",$nynamn,".\n"; # print "Vi ser alla fram emot något riktigt mumsigt den ",$nydatum,".\n"; print "OBS! Kolla att ni verkligen är med på listan som ni ska.\n"; print "

\n"; print "Tillbaka till kursens hemsida.\n"; print " Boka en tid till.

\n"; } sub PrintForm { print "För att boka tid fyller ni i era namn (och "; print "email-adresser) nedan, samt "; print "klickar i rutan för den numrerade plats ni önskar. "; print "Tryck slutligen på \"Boka\" längst ned, så registreras "; print "er bokning. "; print "Tyvärr kan man bara boka en tid åt gången. "; print "Därför måste ni göra detta två gånger. "; print "Om ni vill avboka, "; print "eller om ni inte hittar någon tid som passar, "; print "skicka ett brev\n"; print "till mig, så ordnar jag det.\n

/stig"; print "

\n"; print "Namn (gruppmedlem 1):
"; print "email: "; print "
"; # print " I så fall får du en påminnelse måndagen innan.
"; print "Namn (gruppmedlem 2):
"; print "email: "; print "
"; print "(eventuell) kommentar:

"; # print "(som får innehålla lite html-kod)

"; } sub Nar { local($datum) =@_; ($inday,$inmon)=split(?/?,$datum); ($sec,$min,$hour,$mday,$mon)=localtime; $mon++; if( $mday==$inday && $mon==$inmon ) { return 0; } if(($inmon-6.5)*($mon-6.5)>0 && $inmon>$mon) { return 1;} if(($inmon-6.5)*($mon-6.5)<0 && $inmon<$mon) { return 1;} if(($inmon-6.5)*($mon-6.5)>0 && $inmon<$mon) { return -1;} if(($inmon-6.5)*($mon-6.5)<0 && $inmon>$mon) { return -1;} if($inday>$mday){ return 1;} return -1; #nothing indicates $datum is to come, consider it old. } sub PrintList{ # Nu skall vi parsa listan över anmälda för att fixa formuläret open(FIL,"<$fikafil"); print "\n"; while() { ($problem,$namn1,$email1,$namn2,$email2,$kommentar)=split(/\|/); # if(&Nar($datum)<0){ $style=""; $endstyle=""; $old=1; # } elsif(&Nar($datum)>0){ # $style=""; # $endstyle=""; # $old=0; # } else { # $style=""; # $endstyle=""; # $old=0; # } if($namn1 eq "") { print "\n"; # if($old) { # print "\n"; # } else { print "\n"; # } print "
$style$problem$endstyle\n"; } else { print "
\n"; print "$style$problem$endstyle "; if($email1=~m/^@/ || $email1 eq ""){ print "$style$namn1$endstyle"; } else { print "$style$namn1$endstyle"; } if($email2=~m/^@/ || $email2 eq ""){ print " $style$namn2$endstyle "; } else { print " $style$namn2$endstyle "; } print "$kommentar\n"; } } print "
"; } sub PrintFoot { open(FIL,"; close(FIL); }