--- loncom/interface/statistics/lonstathelpers.pm 2005/03/03 17:55:06 1.42 +++ loncom/interface/statistics/lonstathelpers.pm 2010/02/28 23:58:55 1.60 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: lonstathelpers.pm,v 1.42 2005/03/03 17:55:06 matthew Exp $ +# $Id: lonstathelpers.pm,v 1.60 2010/02/28 23:58:55 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -49,7 +49,7 @@ routines that are needed across multiple package Apache::lonstathelpers; use strict; -use Apache::lonnet(); +use Apache::lonnet; use Apache::loncommon(); use Apache::lonhtmlcommon(); use Apache::loncoursedata(); @@ -60,6 +60,9 @@ use Time::Local(); use Spreadsheet::WriteExcel(); use GDBM_File; use Storable qw(freeze thaw); +use lib '/home/httpd/lib/perl/'; +use LONCAPA; + #################################################### #################################################### @@ -81,10 +84,9 @@ sub render_resource { my ($resource) = @_; ## ## Render the problem - my $base; - ($base,undef) = ($resource->{'src'} =~ m|(.*/)[^/]*$|); - $base = "http://".$ENV{'SERVER_NAME'}.$base; - my ($src,$symb)=($resource->src,&Apache::lonnet::escape($resource->symb)); + my ($base) = ($resource->src =~ m|^(.*/)[^/]*$|); + $base="http://".$ENV{'SERVER_NAME'}.$base; + my ($src,$symb)=($resource->link,&escape($resource->shown_symb)); my $rendered_problem = &Apache::lonnet::ssi_body($src.'?symb='.$symb); $rendered_problem =~ s/<\s*form\s*/)|<\/nop>|g; @@ -133,7 +135,7 @@ Skips 'survey' problems. #################################################### #################################################### sub problem_selector { - my ($AcceptedResponseTypes) = @_; + my ($AcceptedResponseTypes,$sequence_addendum) = @_; my $Str; $Str = "\n\n"; my $rb_count =0; @@ -155,24 +157,23 @@ sub problem_selector { respid=>$respid, resptype=>$resptype}); my $checked = ''; - if ($ENV{'form.problemchoice'} eq $value) { - $checked = 'checked '; + if ($env{'form.problemchoice'} eq $value) { + $checked = ' checked="checked"'; } my $title = $res->compTitle; if (! defined($title) || $title eq '') { ($title) = ($res->src =~ m:/([^/]*)$:); } $seq_str .= ''. - qq{}. + qq{}. ''. '\n"; $rb_count++; } @@ -180,8 +181,15 @@ sub problem_selector { } } if ($seq_str ne '') { - $Str .= ''. + $Str .= ''. + ''. "\n".$seq_str; + if (defined($sequence_addendum)) { + $Str .= ''. + (''x2). + ''. + "\n"; + } } } $Str .= "
'; if (scalar(@response_ids) > 1) { $seq_str .= &mt('response').' '.$respid; } - my $link = $res->src.'?symb='. - &Apache::lonnet::escape($res->symb); + my $link = $res->link.'?symb='.&escape($res->shown_symb); $seq_str .= (' 'x2). - qq{view}; + ''.&mt('view').''; $seq_str .= "
 '.$seq->compTitle.'
 '.$seq->compTitle.'
 '.$sequence_addendum.'
\n"; @@ -215,21 +223,22 @@ and their contents. A checkbox is provi #################################################### sub MultipleProblemSelector { my ($navmap,$inputname,$formname)=@_; - my $cid = $ENV{'request.course.id'}; + my $cid = $env{'request.course.id'}; my $Str; # Massage the input as needed. if (! defined($navmap)) { $navmap = Apache::lonnavmaps::navmap->new(); if (! defined($navmap)) { - $Str .= - '

'.&mt('Error: cannot process course structure').'

'; + $Str .= '
' + .&mt('Error: cannot process course structure') + .'
'; return $Str; } } my $selected = {map { ($_,1) } (&get_selected_symbs($inputname))}; # Header $Str .= <<"END"; -'. ''. @@ -1451,7 +1430,7 @@ sub submission_report_form { my $output_selector = $/.'