--- loncom/homework/loncapagrade.pm 2002/08/07 17:08:30 1.2 +++ loncom/homework/loncapagrade.pm 2013/08/23 10:03:53 1.8 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # external style responses # -# $Id: loncapagrade.pm,v 1.2 2002/08/07 17:08:30 albertel Exp $ +# $Id: loncapagrade.pm,v 1.8 2013/08/23 10:03:53 kruse Exp $ # # Copyright Michigan State University Board of Trustees # @@ -26,72 +26,149 @@ # http://www.lon-capa.org/ # # 1/26 Guy + + + package Apache::loncapagrade; use strict; #Globals # results of parse end up in here -%Apache::loncapagrade::result=(); +undef(%Apache::loncapagrade::results); BEGIN { # &Apache::lonxml::register('Apache::loncapagrade', -# ('loncapagrade','awardetail','message')); +# ('loncapagrade','awarddetail','message')); } sub start_loncapagrade { - my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; - my $result; - if ($target eq 'grade') { - %Apache::loncapagrade::results=(); - &Apache::lonxml::register('Apache::loncapagrade',('awarddetail','message')); - } - return $result; + my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; + my $result; + if ($target eq 'grade') { + undef(%Apache::loncapagrade::results); + &Apache::lonxml::register('Apache::loncapagrade', + ('awarddetail','message','awarded','handbackurl')); + } + return $result; } sub end_loncapagrade { - my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; - my $result; - if ($target eq 'grade') { - &Apache::lonxml::deregister('Apache::loncapagrade', - ('loncapagrade','awardetail','message')); - } - return $result; + my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; + my $result; + if ($target eq 'grade') { + &Apache::lonxml::deregister('Apache::loncapagrade', + ('loncapagrade','awarddetail','message','awarded','handbackurl')); + } + return $result; } sub start_awarddetail { - my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; - my $result; - if ($target eq 'grade') { &Apache::lonxml::startredirection; } - return $result; + my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; + my $result; + if ($target eq 'grade') { &Apache::lonxml::startredirection(); } + return $result; } sub end_awarddetail { - my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; - my $result; - if ($target eq 'grade') { - $Apache::loncapagrade::results{'awarddetail'}= - &Apache::lonxml::endredirection; - } - return $result; + my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; + my $result; + if ($target eq 'grade') { + $Apache::loncapagrade::results{'awarddetail'}= + &Apache::lonxml::endredirection(); + } + return $result; +} + +sub start_awarded { + my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; + my $result; + if ($target eq 'grade') { &Apache::lonxml::startredirection(); } + return $result; +} + +sub end_awarded { + my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; + my $result; + if ($target eq 'grade') { + $Apache::loncapagrade::results{'awarded'}= + &Apache::lonxml::endredirection(); + } + return $result; +} + +sub start_handbackurl { + my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; + my $result; + if ($target eq 'grade') { &Apache::lonxml::startredirection(); } + return $result; +} + +sub end_handbackurl { + my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; + my $result; + if ($target eq 'grade') { + $Apache::loncapagrade::results{'handbackurl'}= + &Apache::lonxml::endredirection(); + } + return $result; } sub start_message { - my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; - my $result; - if ($target eq 'grade') { &Apache::lonxml::startredirection; } - return $result; + my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; + my $result; + if ($target eq 'grade') { &Apache::lonxml::startredirection(); } + return $result; } sub end_message { - my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; - my $result; - if ($target eq 'grade') { - $Apache::loncapagrade::results{'message'}= - &Apache::lonxml::endredirection; - } - return $result; + my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; + my $result; + if ($target eq 'grade') { + $Apache::loncapagrade::results{'message'}= + &Apache::lonxml::endredirection(); + } + return $result; } 1; __END__ +=pod + +=head1 NAME + +Apache::loncapagrade + +=head1 SYNOPSIS + +Handler to evaluate externally graded responses. + +This is part of the LearningOnline Network with CAPA project +described at http://www.lon-capa.org. + +=head1 SUBROUTINES + +=over + +=item start_loncapagrade() + +=item end_loncapagrade() + +=item start_awarddetail() + +=item end_awarddetail() + +=item start_message() + +=item end_message() + +=back + +=head2 notes + +results of parse end up in here: +undef(%Apache::loncapagrade::results); + +=cut + +