Diff for /loncom/interface/statistics/lonsurveyreports.pm between versions 1.10 and 1.16

version 1.10, 2006/02/14 15:44:25 version 1.16, 2008/09/14 15:16:30
Line 37  use Apache::lonstathelpers; Line 37  use Apache::lonstathelpers;
 use Spreadsheet::WriteExcel;  use Spreadsheet::WriteExcel;
 use HTML::Entities();  use HTML::Entities();
 use Time::Local();  use Time::Local();
   use lib '/home/httpd/lib/perl/';
   use LONCAPA;
    
   
 my @SubmitButtons = (  my @SubmitButtons = (
                      { name => 'break'},                       { name => 'break'},
Line 200  sub SurveyProblemSelector { Line 203  sub SurveyProblemSelector {
         if ($env{'form.problemchoice'} eq $value) {          if ($env{'form.problemchoice'} eq $value) {
             $checked = 'checked ';              $checked = 'checked ';
         }          }
         my $link = $problem->{'res'}->src.          my $link = $problem->{'res'}->link.
             '?symb='.&Apache::lonnet::escape($problem->{'res'}->symb);              '?symb='.&escape($problem->{'res'}->shown_symb);
         $Str .= '<tr><td>'.          $Str .= '<tr><td>'.
             '<input type="radio" name="problemchoice" id="'.$id.'" '.              '<input type="radio" name="problemchoice" id="'.$id.'" '.
                    'value="'.$value.'" '.$checked.'/>'.'</td>'.                     'value="'.$value.'" '.$checked.'/>'.'</td>'.
Line 249  sub compile_student_answers { Line 252  sub compile_student_answers {
                     foreach my $response (@responses) {                      foreach my $response (@responses) {
                         my ($foilid,$option) =                           my ($foilid,$option) = 
                             map {                               map { 
                                 &Apache::lonnet::unescape($_);                                   &unescape($_); 
                             } split('=',$response);                              } split('=',$response);
                         $data->{'foil_count'}->{$foilid}++;                          $data->{'foil_count'}->{$foilid}++;
                         $data->{'foil_responses'}->{$foilid}->{$option}++;                          $data->{'foil_responses'}->{$foilid}->{$option}++;
                     }                      }
                 } elsif ($resptype =~ /^(radiobutton)$/) {                  } elsif ($resptype =~ /^(radiobutton)$/) {
                     my ($foil,$value) = map { &Apache::lonnet::unescape($_); } split('=',$student_response);                      my ($foil,$value) = map { &unescape($_); } split('=',$student_response);
                     $value += 1;  # explicitly increment it...                      $value += 1;  # explicitly increment it...
                     $data->{'foil_responses'}->{$foil}++;                      $data->{'foil_responses'}->{$foil}++;
                     $data->{'foil_values'}->{$value}++;                      $data->{'foil_values'}->{$value}++;
                     if (! exists($data->{'map'}->{$value})) {                      if (! exists($data->{'map'}->{$value})) {
                         $data->{'map'}->{$value} = $foil;                          $data->{'map'}->{$value} = $foil;
                           $data->{'map_fv'}->{$foil} = $value;
                     }                      }
                 } else {                  } else {
                     # Variable stuff (essays, raw numbers, strings) go here                      # Variable stuff (essays, raw numbers, strings) go here
Line 401  sub make_Excel_report { Line 405  sub make_Excel_report {
                 $worksheet->write_row($rows_output++,0,                  $worksheet->write_row($rows_output++,0,
                                       \@rowdata,$format->{'h4'});                                        \@rowdata,$format->{'h4'});
                 #                  #
                 my @foils = sort(keys(%{$data->{'foil_responses'}}));   my @foils = sort(keys(%{$respdata->{'_Foils'}}));
                 foreach my $foilid (@foils) {                  foreach my $foilid (@foils) {
                     my $foil_count = $data->{'foil_count'}->{$foilid};                      my $foil_count = $data->{'foil_count'}->{$foilid};
                     my $foiltext = $respdata->{'_Foils'}->{$foilid}->{'text'};                      my $foiltext = $respdata->{'_Foils'}->{$foilid}->{'text'};
Line 429  sub make_Excel_report { Line 433  sub make_Excel_report {
                 my @rowdata = ('Foil Name','Foil Text','Frequency');                  my @rowdata = ('Foil Name','Foil Text','Frequency');
                 $worksheet->write_row($rows_output++,0,                  $worksheet->write_row($rows_output++,0,
                                       \@rowdata,$format->{'h4'});                                        \@rowdata,$format->{'h4'});
                 foreach my $value (sort(keys(%{$data->{'foil_values'}}))) {   my @foils = sort(keys(%{$respdata->{'_Foils'}}));
                   foreach my $foilid (@foils) {
                     undef(@rowdata);                      undef(@rowdata);
                     my $foilid = $data->{'map'}->{$value};                      my $value = $data->{'map_fv'}->{$foilid};
                     push(@rowdata,$respdata->{'_Foils'}->{$foilid}->{'name'});                      push(@rowdata,$respdata->{'_Foils'}->{$foilid}->{'name'});
                     push(@rowdata,$respdata->{'_Foils'}->{$foilid}->{'text'});                      push(@rowdata,$respdata->{'_Foils'}->{$foilid}->{'text'});
                     push(@rowdata,$data->{'foil_values'}->{$value});                      push(@rowdata,$data->{'foil_values'}->{$value});
Line 509  sub make_HTML_report { Line 514  sub make_HTML_report {
                                        &mt('Option'),                                         &mt('Option'),
                                        &mt('Frequency'),                                         &mt('Frequency'),
                                        &mt('Percent'))).'</th></tr>';                                         &mt('Percent'))).'</th></tr>';
                 my @foils = sort(keys(%{$data->{'foil_responses'}}));   my @foils = sort(keys(%{$ProblemData->{$partid.'.'.$respid}->{'_Foils'}}));
                 foreach my $foilid (@foils) {                  foreach my $foilid (@foils) {
                     my $prob_data = $ProblemData->{$partid.'.'.$respid};                      my $prob_data = $ProblemData->{$partid.'.'.$respid};
                     my $foil_count = $data->{'foil_count'}->{$foilid};                      my $foil_count = $data->{'foil_count'}->{$foilid};
Line 541  sub make_HTML_report { Line 546  sub make_HTML_report {
                 my $total = $data->{'_count'};                  my $total = $data->{'_count'};
                 my $sum = 0;                  my $sum = 0;
                 my $tmp;                  my $tmp;
                 foreach my $value (sort(keys(%{$data->{'foil_values'}}))) {   my @foils = sort(keys(%{$ProblemData->{$partid.'.'.$respid}
               ->{'_Foils'}}));
                   foreach my $foilid (@foils) {
                       my $value = $data->{'map_fv'}->{$foilid};
                     my $count = $data->{'foil_values'}->{$value};                      my $count = $data->{'foil_values'}->{$value};
                     my $foilid = $data->{'map'}->{$value};  
                     my $foiltext = $ProblemData->{$partid.'.'.$respid}->{'_Foils'}->{$foilid}->{'text'};                      my $foiltext = $ProblemData->{$partid.'.'.$respid}->{'_Foils'}->{$foilid}->{'text'};
                     my $foilname = $ProblemData->{$partid.'.'.$respid}->{'_Foils'}->{$foilid}->{'name'};                      my $foilname = $ProblemData->{$partid.'.'.$respid}->{'_Foils'}->{$foilid}->{'name'};
                     $tmp .= '<tr>'.                      $tmp .= '<tr>'.
Line 606  sub CreateInterface { Line 613  sub CreateInterface {
         $output_selector.= '>'.$output_format->{'text'}.'</option>'.$/;          $output_selector.= '>'.$output_format->{'text'}.'</option>'.$/;
     }      }
     $output_selector .= '</select>'.$/;      $output_selector .= '</select>'.$/;
     $Str .= &Apache::lonhtmlcommon::breadcrumbs      $Str .= &Apache::lonhtmlcommon::breadcrumbs('Student Submission Reports');
         (undef,'Student Submission Reports');  
     $Str .= '<p>';      $Str .= '<p>';
     $Str .= '<table cellspacing="5">'."\n";      $Str .= '<table cellspacing="5">'."\n";
     $Str .= '<tr>';      $Str .= '<tr>';
     $Str .= '<th>'.&mt('Sections').'</th>';      $Str .= '<th>'.&mt('Sections').'</th>';
     $Str .= '<th>'.&mt('Enrollment Status').'</th>';      $Str .= '<th>'.&mt('Groups').'</th>';
       $Str .= '<th>'.&mt('Access Status').'</th>';
     $Str .= '<th>'.&mt('Output Format').'</th>';      $Str .= '<th>'.&mt('Output Format').'</th>';
     $Str .= '<th>'.'&nbsp;'.'</th>';      $Str .= '<th>'.'&nbsp;'.'</th>';
     $Str .= '</tr>'."\n";      $Str .= '</tr>'."\n";
Line 621  sub CreateInterface { Line 628  sub CreateInterface {
     $Str .= &Apache::lonstatistics::SectionSelect('Section','multiple',5);      $Str .= &Apache::lonstatistics::SectionSelect('Section','multiple',5);
     $Str .= '</td>';      $Str .= '</td>';
     #      #
       $Str .= '<td align="center">'."\n";
       $Str .= &Apache::lonstatistics::GroupSelect('Group','multiple',5);
       $Str .= '</td>';
       #
     $Str .= '<td align="center">';      $Str .= '<td align="center">';
     $Str .= &Apache::lonhtmlcommon::StatusOptions(undef,undef,5);      $Str .= &Apache::lonhtmlcommon::StatusOptions(undef,undef,5);
     $Str .= '</td>';      $Str .= '</td>';

Removed from v.1.10  
changed lines
  Added in v.1.16


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