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

version 1.76, 2020/08/26 18:13:39 version 1.80, 2020/10/08 12:02:07
Line 73  use LONCAPA; Line 73  use LONCAPA;
   
 Input: a navmaps resource  Input: a navmaps resource
   
 Retunrs: a scalar containing html for a rendering of the problem  Returns: a scalar containing html for a rendering of the problem
 within a table.  within a table.
   
 =cut  =cut
Line 85  sub render_resource { Line 85  sub render_resource {
     ##      ##
     ## Render the problem      ## Render the problem
     my ($base) = ($resource->src =~ m|^(.*/)[^/]*$|);      my ($base) = ($resource->src =~ m|^(.*/)[^/]*$|);
     $base="http://".$ENV{'SERVER_NAME'}.$base;      $base=&Apache::lonnet::absolute_url().$base;
     my ($src,$symb)=($resource->link,&escape($resource->shown_symb));      my ($src,$symb)=($resource->link,&escape($resource->shown_symb));
     my $rendered_problem = &Apache::lonnet::ssi_body($src.'?symb='.$symb);      my $rendered_problem = &Apache::lonnet::ssi_body($src.'?symb='.$symb);
     $rendered_problem =~ s/<\s*form\s*/<nop /g;      $rendered_problem =~ s/<\s*form\s*/<nop /g;
Line 166  sub problem_selector { Line 166  sub problem_selector {
     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,$include_tools)) {
               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 183  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:top">'.
                             '<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 203  sub problem_selector { Line 210  sub problem_selector {
                     my $resptype = $response_types[$i];                      my $resptype = $response_types[$i];
                     if ($resptype =~ m/$AcceptedResponseTypes/) {                      if ($resptype =~ m/$AcceptedResponseTypes/) {
                         if ($byres) {                          if ($byres) {
                             unless (exists($partsseen{$part})) {                              if (exists($partsseen{$part})) {
                                   $seq_str .= &Apache::loncommon::continue_data_table_row();
                               } else {
                                 my $parttitle = $part;                                  my $parttitle = $part;
                                 if ($part eq '0') {                                  if ($part eq '0') {
                                     $parttitle = '';                                      $parttitle = '';
Line 215  sub problem_selector { Line 224  sub problem_selector {
                                     $seq_str .= &Apache::loncommon::continue_data_table_row();                                      $seq_str .= &Apache::loncommon::continue_data_table_row();
                                 }                                  }
                                 unless ($partsseen{$part}) {                                  unless ($partsseen{$part}) {
                                     $seq_str .= '<td rowspan="'.scalar(@response_ids).'" style="vertical-align:middle">'.                                      my $resprowspan;
                                       if (scalar(@response_ids) > 1) {
                                           $resprowspan = ' rowspan="'.scalar(@response_ids).'"';
                                       }
                                       $seq_str .= '<td'.$resprowspan.' style="vertical-align:top">'.
                                                 $parttitle.'</td>';                                                  $parttitle.'</td>';
                                     $partsseen{$part} = scalar(@response_ids);                                      $partsseen{$part} = scalar(@response_ids);
                                 }                                  }
Line 249  sub problem_selector { Line 262  sub problem_selector {
                             $seq_str .= ('&nbsp;'x2).                              $seq_str .= ('&nbsp;'x2).
                                         '<a target="preview" href="'.$link.'">'.&mt('view').'</a>';                                          '<a target="preview" href="'.$link.'">'.&mt('view').'</a>';
                             $seq_str .= "</td>". &Apache::loncommon::end_data_table_row()."\n";                              $seq_str .= "</td>". &Apache::loncommon::end_data_table_row()."\n";
                             $rb_count++;  
                         }                          }
                           $rb_count++;
                     }                      }
                 }                  }
             }              }
Line 277  sub problem_selector { Line 290  sub problem_selector {
         }          }
     }      }
     $Str .= &Apache::loncommon::end_data_table().&Apache::loncommon::end_scrollbox()."\n";      $Str .= &Apache::loncommon::end_data_table().&Apache::loncommon::end_scrollbox()."\n";
       if (!$rb_count) {
           if ($byres) {
               $Str = '<p class="LC_info">'.&mt('No gradable problems found').'</p>';
           } elsif ($AcceptedResponseTypes eq '.') {
               $Str = '<p class="LC_info">'.&mt('No problems found').'</p>';
           } else {
               $Str = '<p class="LC_info">'.&mt('No analyzable problems found').'</p>';
           }
       }
     return $Str;      return $Str;
 }  }
   

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


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