--- loncom/interface/statistics/lonstathelpers.pm 2008/12/12 10:01:30 1.57 +++ loncom/interface/statistics/lonstathelpers.pm 2011/11/18 22:35:33 1.59.12.2 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: lonstathelpers.pm,v 1.57 2008/12/12 10:01:30 bisitz Exp $ +# $Id: lonstathelpers.pm,v 1.59.12.2 2011/11/18 22:35:33 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -158,14 +158,14 @@ sub problem_selector { resptype=>$resptype}); my $checked = ''; if ($env{'form.problemchoice'} eq $value) { - $checked = 'checked="checked" '; + $checked = ' checked="checked"'; } my $title = $res->compTitle; if (! defined($title) || $title eq '') { ($title) = ($res->src =~ m:/([^/]*)$:); } $seq_str .= ''. - qq{}. + qq{}. ''. ''; if (scalar(@response_ids) > 1) { @@ -238,12 +238,32 @@ sub MultipleProblemSelector { my $selected = {map { ($_,1) } (&get_selected_symbs($inputname))}; # Header $Str .= <<"END"; - END $Str .= - ''.&mt('Select All').''. + ''. (' 'x4). - ''.&mt('Unselect All').''; + ''; $Str .= $/.''.$/; - my $iterator = $navmap->getIterator(undef, undef, undef, 1); - my $sequence_string; + my ($iterator,$sequence_string,@Accumulator); my $seq_id = 0; - my @Accumulator = (&new_accumulator($env{'course.'.$cid.'.description'}, - '', - '', - $seq_id++, - $inputname)); + if (&Apache::loncommon::needs_gci_custom()) { + my $cdom = $env{'course.'.$cid.'.domain'}; + my $cnum = $env{'course.'.$cid.'.num'}; + my $mapurl = "/uploaded/$cdom/$cnum/default_1261144274.sequence"; + my $map = $navmap->getResourceByUrl($mapurl); + my $firstResource = $map->map_start(); + my $lastResource = $map->map_finish(); + $iterator = $navmap->getIterator($firstResource,$lastResource,sub { $_[0]->is_problem() },1); + @Accumulator = (&new_accumulator($map->compTitle, + $map->src, + $map->symb, + $seq_id++, + $inputname)); + } else { + $iterator = $navmap->getIterator(undef, undef, undef, 1); + @Accumulator = (&new_accumulator($env{'course.'.$cid.'.description'}, + '', + '', + $seq_id++, + $inputname)); + } my @Sequence_Data; while (my $curRes = $iterator->next()) { if ($curRes == $iterator->END_MAP) { @@ -288,9 +323,12 @@ END $seq_id++, $inputname)); } elsif ($curRes->is_problem) { + my $is_selected; + if (($env{'form.allproblems'}) || (exists($selected->{$curRes->symb}))) { + $is_selected = 1; + } if (@Accumulator && $Accumulator[-1] ne '') { - &{$Accumulator[-1]}($curRes, - exists($selected->{$curRes->symb})); + &{$Accumulator[-1]}($curRes,$is_selected); } } } @@ -1255,7 +1293,7 @@ sub limit_by_time_form { my $enddateform = &Apache::lonhtmlcommon::date_setter ('Statistics','limitby_enddate',$endtime,undef,undef,$state); my $Str; - $Str .= ''. ''.