Diff for /loncom/homework/inputtags.pm between versions 1.36 and 1.39

version 1.36, 2001/06/27 18:51:37 version 1.39, 2001/07/30 22:24:01
Line 31  sub initialize_inputtags { Line 31  sub initialize_inputtags {
 sub start_input {  sub start_input {
   my ($parstack,$safeeval)=@_;    my ($parstack,$safeeval)=@_;
   my $id = &Apache::lonxml::get_param('id',$parstack,$safeeval);    my $id = &Apache::lonxml::get_param('id',$parstack,$safeeval);
     if ($id eq '') { $id = $Apache::lonxml::curdepth; }
   push (@Apache::inputtags::input,$id);    push (@Apache::inputtags::input,$id);
   push (@Apache::inputtags::inputlist,$id);    push (@Apache::inputtags::inputlist,$id);
   return $id;    return $id;
Line 158  sub decideoutput { Line 159  sub decideoutput {
   my ($award,$solved)=@_;    my ($award,$solved)=@_;
   my $message='';    my $message='';
   my $button=0;    my $button=0;
   if      ($solved =~ /^correct/ || $award eq 'EXACT_ANS' || $award eq 'APPROX_ANS' ) {    if      ($solved =~ /^correct/) {
     $message = "<b>You are correct.</b> Your receipt is ".&Apache::lonnet::receipt;      $message = "<b>You are correct.</b> Your receipt is ".
         &Apache::lonnet::receipt;
     $button=0;      $button=0;
     } elsif ($solved =~ /^excused/) {
       $message = "<b>You are excused from the problem.</b>";
       $button=0;
     } elsif ($award eq 'EXACT_ANS' || $award eq 'APPROX_ANS' ) {
       if ($solved =~ /^incorrect/ || $solved eq '') {
         $message = "Incorrect";
         $button=1;
       } else {
         $message = "<b>You are correct.</b> Your receipt is ".
    &Apache::lonnet::receipt;
         $button=0;
       }
   } elsif ($award eq 'NO_RESPONSE') {    } elsif ($award eq 'NO_RESPONSE') {
     $message = '';      $message = '';
     $button=1;      $button=1;
Line 200  sub decideoutput { Line 214  sub decideoutput {
   
 sub setgradedata {  sub setgradedata {
   my ($award,$id) = @_;    my ($award,$id) = @_;
   if ( $award eq 'APPROX_ANS' || $award eq 'EXACT_ANS' ) {    # if the student already has it correct, don't modify the status
     $Apache::lonhomework::results{"resource.$id.tries"} =    if ( $Apache::lonhomework::history{"resource.$id.solved"} !~
       $Apache::lonhomework::history{"resource.$id.tries"} + 1;         /^correct/ ) {
     $Apache::lonhomework::results{"resource.$id.solved"} =      if ( $award eq 'APPROX_ANS' || $award eq 'EXACT_ANS' ) {
       'correct_by_student';        $Apache::lonhomework::results{"resource.$id.tries"} =
     $Apache::lonhomework::results{"resource.$id.awarded"} = '1';   $Apache::lonhomework::history{"resource.$id.tries"} + 1;
   } elsif ( $award eq 'INCORRECT' ) {        $Apache::lonhomework::results{"resource.$id.solved"} =
     $Apache::lonhomework::results{"resource.$id.tries"} =   'correct_by_student';
       $Apache::lonhomework::history{"resource.$id.tries"} + 1;        $Apache::lonhomework::results{"resource.$id.awarded"} = '1';
     $Apache::lonhomework::results{"resource.$id.solved"} =      } elsif ( $award eq 'INCORRECT' ) {
       'incorrect_attempted';        $Apache::lonhomework::results{"resource.$id.tries"} =
   } elsif ( $award eq 'SUBMITTED' ) {   $Apache::lonhomework::history{"resource.$id.tries"} + 1;
     $Apache::lonhomework::results{"resource.$id.tries"} =        $Apache::lonhomework::results{"resource.$id.solved"} =
       $Apache::lonhomework::history{"resource.$id.tries"} + 1;   'incorrect_attempted';
     $Apache::lonhomework::results{"resource.$id.solved"} =      } elsif ( $award eq 'SUBMITTED' ) {
       'ungraded_attempted';        $Apache::lonhomework::results{"resource.$id.tries"} =
   } else {   $Apache::lonhomework::history{"resource.$id.tries"} + 1;
     $Apache::lonhomework::results{"resource.$id.solved"} =        $Apache::lonhomework::results{"resource.$id.solved"} =
       'incorrect_attempted';   'ungraded_attempted';
       } elsif ( $award eq 'NO_RESPONSE' ) {
         return '';
       } else {
         $Apache::lonhomework::results{"resource.$id.solved"} =
    'incorrect_attempted';
       }
   }    }
   $Apache::lonhomework::results{"resource.$id.award"} = $award;    $Apache::lonhomework::results{"resource.$id.award"} = $award;
 }  }
Line 266  sub gradestatus { Line 286  sub gradestatus {
     if ( $award ne '' ) {      if ( $award ne '' ) {
       &Apache::lonxml::debug('Getting message');        &Apache::lonxml::debug('Getting message');
       ($showbutton,$message) = &decideoutput($award,$solved);        ($showbutton,$message) = &decideoutput($award,$solved);
       $message="<br /><table bgcolor=\"#aaffaa\"><tr><td>$message</td></tr></table>";        $message="<td bgcolor=\"#aaffaa\">$message</td>";
     }      }
     my $tries = $Apache::lonhomework::history{"resource.$id.tries"};      my $tries = $Apache::lonhomework::history{"resource.$id.tries"};
     my $maxtries = &Apache::lonnet::EXT("resource.$id.maxtries");      my $maxtries = &Apache::lonnet::EXT("resource.$id.maxtries");
Line 275  sub gradestatus { Line 295  sub gradestatus {
     if ( $maxtries eq '' ) { $maxtries = '2'; }       if ( $maxtries eq '' ) { $maxtries = '2'; } 
     if ( $maxtries eq 'con_lost' ) { $maxtries = '0'; }       if ( $maxtries eq 'con_lost' ) { $maxtries = '0'; } 
     if ( $showbutton ) {      if ( $showbutton ) {
       $trystr = "<br />Tries $tries/$maxtries";        $trystr = "<td>Tries $tries/$maxtries</td>";
     }      }
     if ( $status eq 'SHOW_ANSWER' || $status eq 'CANNOT_ANSWER') {$showbutton = 0;}      if ( $status eq 'SHOW_ANSWER' || $status eq 'CANNOT_ANSWER') {$showbutton = 0;}
     if ( $showbutton ) {       if ( $showbutton ) { 
       $button = '<br /><input type="submit" name="submit" value="Submit All Answers" />';        $button = '<br /><input type="submit" name="submit" value="Submit All Answers" />';
     }      }
   }    }
   return $button.$message.$trystr;    return $button.'<table><tr>'.$message.$trystr.'</tr></table>';
 }  }
 1;  1;
 __END__  __END__

Removed from v.1.36  
changed lines
  Added in v.1.39


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>