Diff for /loncom/homework/inputtags.pm between versions 1.207 and 1.213

version 1.207, 2006/09/29 23:04:37 version 1.213, 2007/02/22 00:21:47
Line 283  sub needs_exam_box { Line 283  sub needs_exam_box {
 sub start_textline {  sub start_textline {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
     my $result = "";      my $result = "";
       my $input_id = &start_input($parstack,$safeeval);
     if ($target eq 'web') {      if ($target eq 'web') {
  $Apache::lonxml::evaluate--;   $Apache::lonxml::evaluate--;
  my $partid=$Apache::inputtags::part;   my $partid=$Apache::inputtags::part;
Line 293  sub start_textline { Line 294  sub start_textline {
     if ($size eq '') { $size=20; } else {      if ($size eq '') { $size=20; } else {
  if ($size < 20) { $maxlength=$size; }   if ($size < 20) { $maxlength=$size; }
     }      }
     my $oldresponse = &HTML::Entities::encode($Apache::lonhomework::history{"resource.$partid.$id.submission"},'<>&"');      my $oldresponse = $Apache::lonhomework::history{"resource.$partid.$id.submission"};
       &Apache::lonxml::debug("oldresponse $oldresponse is ".ref($oldresponse));
   
       if (ref($oldresponse) eq 'ARRAY') {
    $oldresponse = $oldresponse->[$#Apache::inputtags::inputlist];
       }
       $oldresponse = &HTML::Entities::encode($oldresponse,'<>&"');
   
     if ($Apache::lonhomework::type ne 'exam') {      if ($Apache::lonhomework::type ne 'exam') {
  my $addchars=&Apache::lonxml::get_param('addchars',$parstack,$safeeval);   my $addchars=&Apache::lonxml::get_param('addchars',$parstack,$safeeval);
  $result='';   $result='';
Line 321  sub start_textline { Line 329  sub start_textline {
     }      }
  } else {   } else {
     #right or wrong don't show what was last typed in.      #right or wrong don't show what was last typed in.
     $result='<b>'.$Apache::inputtags::answertxt{$id}.'</b>';      my $count = scalar(@Apache::inputtags::inputlist)-1;
       $result='<b>'.$Apache::inputtags::answertxt{$id}[$count].'</b>';
     #$result='';      #$result='';
  }   }
     } elsif ($target eq 'edit') {      } elsif ($target eq 'edit') {
Line 356  sub end_textline { Line 365  sub end_textline {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
     if    ($target eq 'web') { $Apache::lonxml::evaluate++; }      if    ($target eq 'web') { $Apache::lonxml::evaluate++; }
     elsif ($target eq 'edit') { return ('','no'); }      elsif ($target eq 'edit') { return ('','no'); }
       &end_input();
     return "";      return "";
 }  }
   
 sub start_hiddenline {  sub start_hiddenline {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
     my $result = "";      my $result = "";
       my $input_id = &start_input($parstack,$safeeval);
     if ($target eq 'web') {      if ($target eq 'web') {
  $Apache::lonxml::evaluate--;   $Apache::lonxml::evaluate--;
  if ($Apache::inputtags::status[-1] eq 'CAN_ANSWER') {   if ($Apache::inputtags::status[-1] eq 'CAN_ANSWER') {
     my $partid=$Apache::inputtags::part;      my $partid=$Apache::inputtags::part;
     my $id=$Apache::inputtags::response[-1];      my $id=$Apache::inputtags::response[-1];
     my $oldresponse = &HTML::Entities::encode($Apache::lonhomework::history{"resource.$partid.$id.submission"},'<>&"');      my $oldresponse = $Apache::lonhomework::history{"resource.$partid.$id.submission"};
       if (ref($oldresponse) eq 'ARRAY') {
    $oldresponse = $oldresponse->[$#Apache::inputtags::inputlist];
       }
       $oldresponse = &HTML::Entities::encode($oldresponse,'<>&"');
   
     if ($Apache::lonhomework::type ne 'exam') {      if ($Apache::lonhomework::type ne 'exam') {
  $result= '<input type="hidden" name="HWVAL_'.$id.'" value="'.   $result= '<input type="hidden" name="HWVAL_'.$id.'" value="'.
     $oldresponse.'" />';      $oldresponse.'" />';
Line 390  sub end_hiddenline { Line 406  sub end_hiddenline {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
     if    ($target eq 'web') { $Apache::lonxml::evaluate++; }      if    ($target eq 'web') { $Apache::lonxml::evaluate++; }
     elsif ($target eq 'edit') { return ('','no'); }      elsif ($target eq 'edit') { return ('','no'); }
       &end_input();
     return "";      return "";
 }  }
   
Line 459  sub show_past_portfile_submission { Line 476  sub show_past_portfile_submission {
     }      }
     my (@file_list,@bad_file_list);      my (@file_list,@bad_file_list);
     foreach my $file (split(/\s*,\s*/,&unescape($Apache::lonhomework::history{"resource.$part.$id.portfiles"}))) {      foreach my $file (split(/\s*,\s*/,&unescape($Apache::lonhomework::history{"resource.$part.$id.portfiles"}))) {
  my (undef,undef,$domain,$user)=&Apache::lonxml::whichuser();   my (undef,undef,$domain,$user)=&Apache::lonnet::whichuser();
  my $url="/uploaded/$domain/$user/portfolio$file";   my $url="/uploaded/$domain/$user/portfolio$file";
  my $icon=&Apache::loncommon::icon($url);   my $icon=&Apache::loncommon::icon($url);
  push(@file_list,'<a href="'.$url.'"><img src="'.$icon.   push(@file_list,'<a href="'.$url.'"><img src="'.$icon.
Line 514  sub valid_award { Line 531  sub valid_award {
     my %fwd_awards = map { ($_,$i++) } @awards;      my %fwd_awards = map { ($_,$i++) } @awards;
     my $max=scalar(@awards);      my $max=scalar(@awards);
     @awards=reverse(@awards);      @awards=reverse(@awards);
     my $i=0;      $i=0;
     my %rev_awards = map { ($_,$i++) } @awards;      my %rev_awards = map { ($_,$i++) } @awards;
   
 sub finalizeawards {  sub finalizeawards {
Line 604  sub decideoutput { Line 621  sub decideoutput {
  $message.= $computer;   $message.= $computer;
     }      }
     $added_computer_text=1;      $added_computer_text=1;
     unless ($env{'course.'.      &Apache::lonnet::logthis("the course is ".$env{'request.course.id'});
       if ((!$env{'course.'.
      $env{'request.course.id'}.       $env{'request.course.id'}.
      '.disable_receipt_display'} eq 'yes') {        '.disable_receipt_display'} eq 'yes')&&
       $env{'request.course.id'}) { 
  $message.=(($target eq 'web')?'<br />':' ').   $message.=(($target eq 'web')?'<br />':' ').
     &mt('Your receipt is').' '.&Apache::lonnet::receipt($Apache::inputtags::part).      &mt('Your receipt is').' '.&Apache::lonnet::receipt($Apache::inputtags::part).
     (($target eq 'web')?&Apache::loncommon::help_open_topic('Receipt'):'');      (($target eq 'web')?&Apache::loncommon::help_open_topic('Receipt'):'');
Line 684  sub decideoutput { Line 703  sub decideoutput {
  $button=1;   $button=1;
     } elsif ($award eq 'SIG_FAIL') {      } elsif ($award eq 'SIG_FAIL') {
  my ($used,$min,$max)=split(':',$awardmsg);   my ($used,$min,$max)=split(':',$awardmsg);
  my $word;   my $word = ($used < $min) ? 'more' : 'fewer';
  if ($used < $min) { $word=&mt('more'); }   $message = &mt("Submission not graded.  Use $word digits.",$used);
  if ($used > $max) { $word=&mt('fewer'); }  
  $message = &mt("Submission not graded.  Use [_2] digits.",$used,$word);  
  $bgcolor=$possiblecolors{'not_charged_try'};   $bgcolor=$possiblecolors{'not_charged_try'};
  $button=1;   $button=1;
     } elsif ($award eq 'UNIT_INVALID_INSTRUCTOR') {      } elsif ($award eq 'UNIT_INVALID_INSTRUCTOR') {
Line 750  sub decideoutput { Line 767  sub decideoutput {
  $message = &mt("Unknown message").": $award";   $message = &mt("Unknown message").": $award";
  $button=1;   $button=1;
     }      }
     my (undef,undef,$domain,$user)=&Apache::lonxml::whichuser();      my (undef,undef,$domain,$user)=&Apache::lonnet::whichuser();
     foreach my $resid(@Apache::inputtags::response){      foreach my $resid(@Apache::inputtags::response){
         if ($Apache::lonhomework::history{"resource.$part.$resid.handback"}) {          if ($Apache::lonhomework::history{"resource.$part.$resid.handback"}) {
     $message.='<br />';      $message.='<br />';

Removed from v.1.207  
changed lines
  Added in v.1.213


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