Diff for /loncom/interface/statistics/lonstathelpers.pm between versions 1.76 and 1.76.2.2

version 1.76, 2020/08/26 18:13:39 version 1.76.2.2, 2020/09/01 15:11:02
Line 108  sub render_resource { Line 108  sub render_resource {
 ####################################################  ####################################################
 ####################################################  ####################################################
 sub get_resources {  sub get_resources {
     my ($navmap,$sequence,$include_tools) = @_;      my ($navmap,$sequence) = @_;
     my @resources;      my @resources = $navmap->retrieveResources($sequence,
     if ($include_tools) {                                                 sub { shift->is_problem(); },
         @resources = $navmap->retrieveResources($sequence,                                                 0,0,0);
                                                 sub { shift->is_gradable(); },  
                                                 0,0,0);  
     } else {  
         @resources = $navmap->retrieveResources($sequence,  
                                                 sub { shift->is_problem(); },  
                                                 0,0,0);  
     }  
     return @resources;      return @resources;
 }  }
   
Line 165  sub problem_selector { Line 158  sub problem_selector {
     return $navmap if (! ref($navmap)); # error      return $navmap if (! ref($navmap)); # error
     foreach my $seq (@sequences) {      foreach my $seq (@sequences) {
         my $seq_str = '';          my $seq_str = '';
         foreach my $res (&get_resources($navmap,$seq,$include_tools)) {          foreach my $res (&get_resources($navmap,$seq)) {
               if ($res->src() eq '/res/lib/templates/simpleproblem.problem') {
                   next if (grep(/^placeholder$/,@{$res->parts}));
               }
             my $title = $res->compTitle;              my $title = $res->compTitle;
             if (! defined($title) || $title eq '') {              if (! defined($title) || $title eq '') {
                 ($title) = ($res->src =~ m:/([^/]*)$:);                  ($title) = ($res->src =~ m:/([^/]*)$:);
Line 180  sub problem_selector { Line 176  sub problem_selector {
                 if ($env{'form.problemchoice'} eq $res->symb()) {                  if ($env{'form.problemchoice'} eq $res->symb()) {
                     $checked = ' checked="checked"';                      $checked = ' checked="checked"';
                 }                  }
                   my $rowspan;
                   if ($totalresps > 1) {
                       $rowspan = ' rowspan="'.$totalresps.'"';
                   }
                 $seq_str .= &Apache::loncommon::start_data_table_row().                  $seq_str .= &Apache::loncommon::start_data_table_row().
                             '<td rowspan="'.$totalresps.'" style="vertical-align:middle">'.                              '<td'.$rowspan.' style="vertical-align:middle">'.
                             '<label><input type="radio" name="symb" value="'.$value.'"'.$checked.' />'.                              '<label><input type="radio" name="symb" value="'.$value.'"'.$checked.' />'.
                             $title.'</label>';                              $title.'</label>';
                 my $link = $res->link.'?symb='.&escape($res->shown_symb);                  my $link = $res->link.'?symb='.&escape($res->shown_symb);
Line 190  sub problem_selector { Line 190  sub problem_selector {
             }              }
             my %partsseen;              my %partsseen;
             foreach my $part (@{$res->parts}) {              foreach my $part (@{$res->parts}) {
                 my (@response_ids,@response_types);                  my @response_ids   = $res->responseIds($part);
                 if ($res->is_tool) {                  my @response_types = $res->responseType($part);
                     @response_ids = ();  
                     @response_types = ('tool');  
                 } else {  
                     @response_ids   = $res->responseIds($part);  
                     @response_types = $res->responseType($part);  
                 }  
                 for (my $i=0;$i<scalar(@response_types);$i++){                  for (my $i=0;$i<scalar(@response_types);$i++){
                     my $respid = $response_ids[$i];                      my $respid = $response_ids[$i];
                     my $resptype = $response_types[$i];                      my $resptype = $response_types[$i];

Removed from v.1.76  
changed lines
  Added in v.1.76.2.2


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