Diff for /loncom/homework/inputtags.pm between versions 1.189 and 1.194

version 1.189, 2006/03/09 00:43:05 version 1.194, 2006/06/05 18:53:03
Line 31  use strict; Line 31  use strict;
 use Apache::loncommon;  use Apache::loncommon;
 use Apache::lonlocal;  use Apache::lonlocal;
 use Apache::lonnet;  use Apache::lonnet;
   use lib '/home/httpd/lib/perl/';
   use LONCAPA;
    
   
 BEGIN {  BEGIN {
     &Apache::lonxml::register('Apache::inputtags',('hiddenline','textfield','textline'));      &Apache::lonxml::register('Apache::inputtags',('hiddenline','textfield','textline'));
Line 149  sub start_textfield { Line 152  sub start_textfield {
     if ($addchars) {      if ($addchars) {
  $result.=&addchars('HWVAL_'.$resid,$addchars);   $result.=&addchars('HWVAL_'.$resid,$addchars);
     }      }
     push @Apache::lonxml::htmlareafields,'HWVAL_'.$resid;      &Apache::lonhtmlcommon::add_htmlareafields('HWVAL_'.$resid);
     $result.= '<textarea wrap="hard" name="HWVAL_'.$resid.'" id="HWVAL_'.$resid.'" '.      $result.= '<textarea wrap="hard" name="HWVAL_'.$resid.'" id="HWVAL_'.$resid.'" '.
  "rows=\"$rows\" cols=\"$cols\">".$oldresponse;   "rows=\"$rows\" cols=\"$cols\">".$oldresponse;
     if ($oldresponse ne '') {      if ($oldresponse ne '') {
Line 222  sub end_textfield { Line 225  sub end_textfield {
     return $result;      return $result;
 }  }
   
 sub exam_box {  sub exam_score_line {
     my ($target) = @_;      my ($target) = @_;
     my $result;  
   
       my $result;
     if ($target eq 'tex') {      if ($target eq 'tex') {
  $result.='\fbox{\fbox{\parbox{\textwidth-5mm}{\strut\\\\\strut\\\\\strut\\\\\strut\\\\}}}';  
  my $repetition = &Apache::response::repetition();   my $repetition = &Apache::response::repetition();
  $result.='\begin{enumerate}';   $result.='\begin{enumerate}';
    if ($env{'request.state'} eq "construct" ) {$result.='\item[\strut]';}
  foreach my $i (0..$repetition-1) {   foreach my $i (0..$repetition-1) {
     $result.='\item[\textbf{'.      $result.='\item[\textbf{'.
  ($Apache::lonxml::counter+$i).   ($Apache::lonxml::counter+$i).
  '}.]\textit{Leave blank on scoring form}\vskip 0 mm';   '}.]\textit{Leave blank on scoring form}\vskip 0 mm';
  }   }
  $result.= '\end{enumerate}';   $result.= '\end{enumerate}';
       }
   
       return $result;
   }
   
   sub exam_box {
       my ($target) = @_;
       my $result;
   
       if ($target eq 'tex') {
    $result .= '\fbox{\fbox{\parbox{\textwidth-5mm}{\strut\\\\\strut\\\\\strut\\\\\strut\\\\}}}';
    $result .= &exam_score_line($target);
     } elsif ($target eq 'web') {      } elsif ($target eq 'web') {
  my $id=$Apache::inputtags::response[-1];   my $id=$Apache::inputtags::response[-1];
  $result.= '<br /><br />   $result.= '<br /><br />
Line 252  sub needs_exam_box { Line 266  sub needs_exam_box {
  'stringresponse',   'stringresponse',
  'reactionresponse',   'reactionresponse',
  'organicresponse',   'organicresponse',
  'imageresponse',  
  );   );
   
     foreach my $tag (@tags) {      foreach my $tag (@tags) {
Line 270  sub start_textline { Line 283  sub start_textline {
  $Apache::lonxml::evaluate--;   $Apache::lonxml::evaluate--;
  my $partid=$Apache::inputtags::part;   my $partid=$Apache::inputtags::part;
  my $id=$Apache::inputtags::response[-1];   my $id=$Apache::inputtags::response[-1];
  if ($Apache::inputtags::status[-1] eq 'CAN_ANSWER') {   if ($Apache::inputtags::status[-1] eq 'CAN_ANSWER'
       || $Apache::inputtags::status[-1] eq 'CANNOT_ANSWER') {
     my $size = &Apache::lonxml::get_param('size',$parstack,$safeeval);      my $size = &Apache::lonxml::get_param('size',$parstack,$safeeval);
     my $maxlength;      my $maxlength;
     if ($size eq '') { $size=20; } else {      if ($size eq '') { $size=20; } else {
Line 285  sub start_textline { Line 299  sub start_textline {
  }   }
  my $readonly=&Apache::lonxml::get_param('readonly',$parstack,   my $readonly=&Apache::lonxml::get_param('readonly',$parstack,
  $safeeval);   $safeeval);
  if (lc($readonly) eq 'yes') {   if (lc($readonly) eq 'yes' 
       || $Apache::inputtags::status[-1] eq 'CANNOT_ANSWER') {
     $readonly=' readonly="readonly" ';      $readonly=' readonly="readonly" ';
  } else {   } else {
     $readonly='';      $readonly='';
  }   }
  $result.= '<input type="text" '.$readonly.' name="HWVAL_'.$id.'" value="'.   my $name = 'HWVAL_'.$id;
    if ($Apache::inputtags::status[-1] eq 'CANNOT_ANSWER') {
       $name = "none";
    }
    $result.= '<input type="text" '.$readonly.' name="'.$name.'" value="'.
     $oldresponse.'" size="'.$size.'" maxlength="'.$maxlength.'" />';      $oldresponse.'" size="'.$size.'" maxlength="'.$maxlength.'" />';
     }      }
     if ($Apache::lonhomework::type eq 'exam'      if ($Apache::lonhomework::type eq 'exam'
Line 421  sub file_selector { Line 440  sub file_selector {
     '<br />';      '<br />';
  if ($Apache::lonhomework::history{"resource.$part.$id.portfiles"}=~/[^\s]/){   if ($Apache::lonhomework::history{"resource.$part.$id.portfiles"}=~/[^\s]/){
     my (@filelist,@bad_file_list);      my (@filelist,@bad_file_list);
     foreach my $file (split(',',&Apache::lonnet::unescape($Apache::lonhomework::history{"resource.$part.$id.portfiles"}))) {      foreach my $file (split(',',&unescape($Apache::lonhomework::history{"resource.$part.$id.portfiles"}))) {
  my (undef,undef,$domain,$user)=&Apache::lonxml::whichuser();   my (undef,undef,$domain,$user)=&Apache::lonxml::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(@filelist,'<a href="'.$url.'"><img src="'.$icon.   push(@filelist,'<a href="'.$url.'"><img src="'.$icon.
      '" border="0" />'.$file.'</a>');       '" border="0" />'.$file.'</a>');
  if (! &Apache::lonnet::stat_file($url)) {   if (! &Apache::lonnet::stat_file($url)) {
       &Apache::lonnet::logthis("bad file is $url");
     push(@bad_file_list,'<a href="'.$url.'"><img src="'.$icon.      push(@bad_file_list,'<a href="'.$url.'"><img src="'.$icon.
  '" border="0" />'.$file.'</a>');   '" border="0" />'.$file.'</a>');
  }   }
Line 529  sub decideoutput { Line 549  sub decideoutput {
   
     if ($previous) { $previousmsg=&mt('You have entered that answer before'); }      if ($previous) { $previousmsg=&mt('You have entered that answer before'); }
           
     if      ($solved =~ /^correct/) {      if ($solved =~ /^correct/) {
  $bgcolor=$possiblecolors{'correct'};          $bgcolor=$possiblecolors{'correct'};
  $message=&mt('You are correct.');   $message=&mt('You are correct.');
  if ($awarded < 1 && $awarded > 0) {   if ($awarded < 1 && $awarded > 0) {
     $message=&mt('You are partially correct.');      $message=&mt('You are partially correct.');
Line 697  sub decideoutput { Line 717  sub decideoutput {
  $message = &mt("Unknown message").": $award";   $message = &mt("Unknown message").": $award";
  $button=1;   $button=1;
     }      }
       my (undef,undef,$domain,$user)=&Apache::lonxml::whichuser();
       foreach my $resid(@Apache::inputtags::response){
           &Apache::lonnet::logthis("handback is ".$Apache::lonhomework::history{"resource.$part.$resid.handback"});
           if ($Apache::lonhomework::history{"resource.$part.$resid.handback"}) {
               $message.= '<br /><a href="/uploaded/'."$domain/$user".'/portfolio/'.$Apache::lonhomework::history{"resource.$part.$resid.handback"}.'">Returned File</a>';
           }
       }
   
     if (lc($Apache::lonhomework::problemstatus) eq 'no'  &&       if (lc($Apache::lonhomework::problemstatus) eq 'no'  && 
  $Apache::inputtags::status[-1] ne 'SHOW_ANSWER') {   $Apache::inputtags::status[-1] ne 'SHOW_ANSWER') {
  $message = &mt("Answer Submitted: Your final submission will be graded after the due date.");   $message = &mt("Answer Submitted: Your final submission will be graded after the due date.");

Removed from v.1.189  
changed lines
  Added in v.1.194


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