Diff for /loncom/homework/essayresponse.pm between versions 1.80 and 1.85

version 1.80, 2006/12/05 02:55:54 version 1.85, 2007/10/08 09:22:50
Line 148  sub end_essayresponse { Line 148  sub end_essayresponse {
     my ($symb,$crsid,$domain,$name)=      my ($symb,$crsid,$domain,$name)=
  &Apache::lonnet::whichuser();   &Apache::lonnet::whichuser();
     if ($crsid) {      if ($crsid) {
  my $akey=$name.'.'.$domain.'.'.$crsid;   my $akey=join('.',&escape($name),&escape($domain),
         &escape($crsid));
  my $essayurl=   my $essayurl=
     &Apache::lonnet::declutter($ENV{'REQUEST_URI'});      &Apache::lonnet::declutter($ENV{'REQUEST_URI'});
  my ($adom,$aname,$apath)=   my ($adom,$aname,$apath)=
Line 170  sub end_essayresponse { Line 171  sub end_essayresponse {
   
     } elsif ($target eq 'answer') {      } elsif ($target eq 'answer') {
  $result.=&Apache::response::answer_header($$tagstack[-1]);   $result.=&Apache::response::answer_header($$tagstack[-1]);
  my $answer = &mt('Hand Graded.');   my $answer = &mt('Essay will be hand graded.');
  $result.=&Apache::response::answer_part($$tagstack[-1],$answer,   $result.=&Apache::response::answer_part($$tagstack[-1],$answer,
  {'no_verbatim' => 1});   {'no_verbatim' => 1});
  $result.=&Apache::response::answer_footer($$tagstack[-1]);   $result.=&Apache::response::answer_footer($$tagstack[-1]);
     }      }
       if ($target eq 'web') {
    &Apache::response::setup_prior_tries_hash(\&format_prior_response,
     ['portfiles',
      'uploadedurl']);
       }
   
     if ($target eq 'grade' || $target eq 'web' || $target eq 'answer' ||      if ($target eq 'grade' || $target eq 'web' || $target eq 'answer' ||
  $target eq 'tex' || $target eq 'analyze') {   $target eq 'tex' || $target eq 'analyze') {
  &Apache::lonxml::increment_counter($increment);   &Apache::lonxml::increment_counter($increment, $part);
   
    if ($target eq 'analyze') {
       &Apache::lonhomework::set_bubble_lines();
    }
     }      }
     &Apache::response::end_response;      &Apache::response::end_response;
   
     return $result;      return $result;
 }  }
   
   sub format_prior_response {
       my ($mode,$answer,$other_data) = @_;
       my $output;
   
       my (undef,undef,$udom,$uname) = &Apache::lonnet::whichuser();
       my $port_url = '/uploaded/'.$udom.'/'.$uname.'/portfolio/';
   
       my $file_list;
   
       foreach my $file (split(/\s*,\s*/,
       $other_data->[0].','.$other_data->[1])) {
    next if ($file!~/\S/);
    if ($file !~ m{^/uploaded/}) { $file=$port_url.$file; }
    $file=~s|/+|/|g;
    &Apache::lonnet::allowuploaded('/adm/essayresponse',$file);
    $file_list.='<li><span class="LC_nobreak"><a href="'.$file.'?rawmode=1" target="lonGRDs"><img src="'.
       &Apache::loncommon::icon($file).'" alt="file icon" border="0" /> '.$file.
       '</a></span></li>'."\n";
       }
       if ($file_list) {
    $output.= &mt('Submitted Files').'<ul>'.$file_list.'</ul>';
       }
       if ($answer =~ /\S/) {
    $output.='<p>'.&mt('Submitted text').
       '<blockquote>'.$answer.'</blockquote></p>';
       }
   
       return '<div class="LC_prior_essay">'.$output.'</div>';
   }
   
 sub file_submission {  sub file_submission {
     my ($part,$id,$which,$award,$uploadedflag)=@_;      my ($part,$id,$which,$award,$uploadedflag)=@_;
     my $files;      my $files;
Line 210  sub file_submission { Line 250  sub file_submission {
     $uploadedfiletypes=','.$uploadedfiletypes.',';      $uploadedfiletypes=','.$uploadedfiletypes.',';
     foreach my $file (@submitted_files) {      foreach my $file (@submitted_files) {
  my ($extension)=($file=~/\.(\w+)$/);   my ($extension)=($file=~/\.(\w+)$/);
  unless ($uploadedfiletypes=~/\,$extension\,/i) {   unless ($uploadedfiletypes=~/\,\s*\Q$extension\E\s*\,/i) {
     $$award='INVALID_FILETYPE';      $$award='INVALID_FILETYPE';
  }   }
     }      }

Removed from v.1.80  
changed lines
  Added in v.1.85


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