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

version 1.35, 2001/06/02 03:59:59 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 79  sub start_textline { Line 80  sub start_textline {
     my $oldresponse = $Apache::lonhomework::history{"resource.$Apache::inputtags::part.$Apache::inputtags::response['-1'].submission"};      my $oldresponse = $Apache::lonhomework::history{"resource.$Apache::inputtags::part.$Apache::inputtags::response['-1'].submission"};
     $result= '<input type="text" name="HWVAL'.$Apache::inputtags::response['-1'].'" value="'.$oldresponse.'" size="'.$size.'" />';      $result= '<input type="text" name="HWVAL'.$Apache::inputtags::response['-1'].'" value="'.$oldresponse.'" size="'.$size.'" />';
   }    }
     if ($target eq 'edit') {
       $result.=&Apache::edit::tag_start($target,$token,&Apache::lonxml::description($token));
       $result.=&Apache::edit::text_arg('Size:','size',$token,'5')."</td></tr>";
       $result.=&Apache::edit::end_table;
     }
     if ($target eq 'modified') {
       my $constructtag=&Apache::edit::get_new_args($token,$parstack,$safeeval,'size');
       if ($constructtag) { $result = &Apache::edit::rebuild_tag($token); }
     }
   return $result;    return $result;
 }  }
   
 sub end_textline {  sub end_textline {
   my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;    my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
     if ($target eq 'edit') { return ('','no'); }
   return "";    return "";
 }  }
   
Line 148  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;
     } elsif ($solved =~ /^excused/) {
       $message = "<b>You are excused from the problem.</b>";
     $button=0;      $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 190  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 256  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 265  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.35  
changed lines
  Added in v.1.39


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