#!/usr/bin/perl -w use AnApache; use Session; use Type; use Final; use Utils; use Choose; use Html; use strict; my $EXAMDIR="/the/exam/home" my $examdir="$EXAMDIR/exam"; my $thispage="http://THIS.PAGE.EDU/exam/check/index.html"; my $session = new Session; exit( 0 ) unless( defined $session ); my $r = $session->{request}; if( $r->method !~ /^get$/i ){ $r->status(Apache::FORBIDDEN); return; } my $you = $r->user(); # the user who is authenticated my $user=""; my $args= $session->{apr}->args; ##my $i = scalar (keys %{$args}); foreach my $arg( keys %{$args}){ $user = $arg if( $arg ne "email-text" ); } my $grant=$args->{$user}; my $granted=""; $r->content_type("text/html"); #---------------------------------------------------------------------- sub _attempt { # print out results from attempt $no my($no,$res)=@_; my $tmp; print "
"; } my $txt=$next; if( -e "$ex/$next/done" ){ $txt="$next"; } elsif ( -e "$ex/$next/choice" ){ $txt="$next"; } print "$txt\n"; } close(DIR); print "
![]() |
Back to the checking page |
![]() |
Close this window |
You requested the results of the user with login name $user; but she/he never attempted to take the exam
"); return; } ## should we grant something to this user? if( $grant eq "exam" ){ if(! -e "$userdir/done"){ Utils::create_file("$userdir/done"); $granted=$grant; } } elsif( $grant eq "typing" ){ if(! -e "$userdir/typing"){ Utils::create_file("$userdir/typing"); $granted=$grant; } } elsif( $grant eq "test" ){ if(! -e "$userdir/choice"){ Utils::create_file("$userdir/choice"); $granted=$grant; } } if($granted ne ""){ my $datenow=localtime; Utils::append_file("$userdir/data","Granted:$granted:$you:$datenow\n"); } my $res={}; my ($email,$name)=("",""); Final::get_results($session,"$userdir/data",$res); if($res->{email} =~ /^([a-z0-9]+\@[a-z0-9\.]+):(.*)$/i ) { ($email,$name)=($1,$2); $name =~ s/\s+$//; } if($granted eq "exam" && $email ne "" ){ ## send an e-mail Utils::send_email($email,"Computer Exam -- you passed", "Dear $name, I am pleased to inform you, that you have passed all parts of the CEU Computer Proficiency Exam. Best wishes, and enjoy your stay at the CEU. Yours, the Computer Proficiency Exam Daemon " ); } if($grant eq "email" && $email ne "" ){ ## send the sorry e-mail Utils::send_email($email,"Computer Exam -- offline part failed", $args->{"email-text"} ); } Html::header("Exam: $user","Results for "$user""); ## we consult the exam/user directory print "Name: $name ($user)\n"; print _red(" Incomplete ") if($res->{incomplete}); print _red("Failed") if($res->{failed}); print _green("Done") if (-e "$userdir/done" ); print _green("Typing") if( -e "$userdir/typing" ); print _green("Test") if( -e "$userdir/choice" ); print "
"; ## print "You: [$you], user = $name [$user]
"; print $res->{html}; ## print <