Diff for /loncom/interface/statistics/lonstudentsubmissions.pm between versions 1.24 and 1.27

version 1.24, 2004/09/23 14:55:24 version 1.27, 2004/11/08 15:21:38
Line 109  sub BuildStudentSubmissionsPage { Line 109  sub BuildStudentSubmissionsPage {
             my $resource = $navmap->getBySymb($symb);              my $resource = $navmap->getBySymb($symb);
             push(@Problems,$resource);              push(@Problems,$resource);
         }          }
         #          # 
         if (! scalar(@Problems) || ! defined($Problems[0])) {          if (! scalar(@Problems) || ! defined($Problems[0])) {
             $r->print('resource is undefined');              $r->print('resource is undefined');
         } else {          } else {
Line 383  sub html_essay_results { Line 383  sub html_essay_results {
     #      #
     my $correct = '';      my $correct = '';
     if ($ENV{'form.correctans'} eq 'true') {      if ($ENV{'form.correctans'} eq 'true') {
         $correct = &Apache::lonstathelpers::analyze_problem_as_student          $correct = &Apache::lonstathelpers::get_student_answer
             ($prob,$student->{'username'},$student->{'domain'},              ($prob,$student->{'username'},$student->{'domain'},
              $partid,$respid);               $partid,$respid);
         $correct = &html_format_sub($correct,'essay');          $correct = &html_format_sub($correct,'essay');
Line 427  sub html_results { Line 427  sub html_results {
     $submission = &html_format_sub($submission,$resptype);      $submission = &html_format_sub($submission,$resptype);
     my $correct = '';      my $correct = '';
     if ($ENV{'form.correctans'} eq 'true') {      if ($ENV{'form.correctans'} eq 'true') {
         $correct = &Apache::lonstathelpers::analyze_problem_as_student          $correct = &Apache::lonstathelpers::get_student_answer
             ($prob,$student->{'username'},$student->{'domain'},              ($prob,$student->{'username'},$student->{'domain'},
              $partid,$respid);               $partid,$respid);
         $correct = &html_format_sub($correct,$resptype);          $correct = &html_format_sub($correct,$resptype);
Line 458  sub html_results { Line 458  sub html_results {
 sub html_format_sub {  sub html_format_sub {
     my ($submission,$resptype) = @_;      my ($submission,$resptype) = @_;
     return '' if (! defined($submission) || $submission eq '');      return '' if (! defined($submission) || $submission eq '');
       $submission = &HTML::Entities::decode($submission);
       $submission =~ s/\\\"/\"/g;
       $submission =~ s/\\\'/\'/g;
     if ($resptype eq 'essay') {      if ($resptype eq 'essay') {
         $submission =~ s|\\r\\n|$/|g;          $submission =~ s|\\r\\n|$/|g;
         $submission = &HTML::Entities::encode($submission,'<>&"');          $submission = &HTML::Entities::encode($submission,'<>&"');
Line 465  sub html_format_sub { Line 468  sub html_format_sub {
         $submission =~ s|\\||g;          $submission =~ s|\\||g;
         $submission = '<p>'.$submission.'</p>';          $submission = '<p>'.$submission.'</p>';
     } elsif ($resptype eq 'radiobutton') {      } elsif ($resptype eq 'radiobutton') {
           $submission = &HTML::Entities::encode($submission,'<>&"');
         $submission =~ s/=([^=])$//;          $submission =~ s/=([^=])$//;
     } elsif ($resptype =~ /^(option|match|rank)$/) {      } elsif ($resptype =~ /^(option|match|rank)$/) {
         $submission =           $submission = 
             '<ul class="sub_studentans">'.              '<ul class="sub_studentans">'.
             '<li>'.join('</li><li>',              '<li>'.join('</li><li>',
                         map {                           map { &HTML::Entities::encode($_,'<>&"'); 
                             &Apache::lonnet::unescape($_) ;                            } map { 
                         } sort split('&',$submission)                                &Apache::lonnet::unescape($_) ;
                             } sort split('&',$submission)
                         ).                          ).
                         '</li><ul>';                          '</li><ul>';
       } else {
           $submission = &HTML::Entities::encode($submission,'<>&"');
     }      }
     return $submission;      return $submission;
 }  }
Line 676  sub write_excel_row { Line 683  sub write_excel_row {
     $submission = &excel_format_response($submission,$resptype);      $submission = &excel_format_response($submission,$resptype);
     $worksheet->write($row,$col++,$submission);      $worksheet->write($row,$col++,$submission);
     if ($ENV{'form.correctans'} eq 'true') {      if ($ENV{'form.correctans'} eq 'true') {
         my $correct = &Apache::lonstathelpers::analyze_problem_as_student          my $correct = &Apache::lonstathelpers::get_student_answer
             ($prob,$student->{'username'},$student->{'domain'},              ($prob,$student->{'username'},$student->{'domain'},
              $partid,$respid);               $partid,$respid);
         $correct =&excel_format_response($correct,$resptype);          $correct =&excel_format_response($correct,$resptype);
Line 709  sub excel_format_response { Line 716  sub excel_format_response {
                            &Apache::lonnet::unescape($_) ;                             &Apache::lonnet::unescape($_) ;
                        } sort split('&',$answer)                         } sort split('&',$answer)
                        );                         );
       } elsif ($responsetype eq 'string') {
           $answer =~ s/\\(n|r)/\n/g;
           $answer =~ s/(\s*$|^\s*)//g;
           $answer =~ s/\\\'/\'/g;
     }      }
     if ($answer =~ m/^=/) {      if ($answer =~ m/^=/) {
         $answer = ' '.$answer;          $answer = ' '.$answer;
Line 806  sub prepare_csv_output { Line 817  sub prepare_csv_output {
     #      #
     # Main loop      # Main loop
     foreach my $student (@$students) {      foreach my $student (@$students) {
           last if ($c->aborted());
         my @rows;          my @rows;
         my $prob_start_idx = 0;          my $prob_start_idx = 0;
         foreach my $prob (@$problems) {          foreach my $prob (@$problems) {
Line 874  sub compile_response_data { Line 886  sub compile_response_data {
     my @rowdata;      my @rowdata;
     push(@rowdata,$response->[&Apache::loncoursedata::RDs_submission()]);      push(@rowdata,$response->[&Apache::loncoursedata::RDs_submission()]);
     if ($ENV{'form.correctans'} eq 'true') {      if ($ENV{'form.correctans'} eq 'true') {
         my $correct = &Apache::lonstathelpers::analyze_problem_as_student          my $correct = &Apache::lonstathelpers::get_student_answer
             ($prob,$student->{'username'},$student->{'domain'},              ($prob,$student->{'username'},$student->{'domain'},
              $partid,$respid);               $partid,$respid);
         push(@rowdata,$correct);          push(@rowdata,$correct);

Removed from v.1.24  
changed lines
  Added in v.1.27


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