--- loncom/interface/statistics/lonstathelpers.pm 2010/09/11 19:08:23 1.59.12.1 +++ 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.59.12.1 2010/09/11 19:08:23 raeburn Exp $ +# $Id: lonstathelpers.pm,v 1.59.12.2 2011/11/18 22:35:33 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -239,11 +239,31 @@ sub MultipleProblemSelector { # Header $Str .= <<"END"; END $Str .= - ''.&mt('Select All').''. + ''. (' 'x4). - ''.&mt('Unselect All').''; + ''; $Str .= $/.''.$/; my ($iterator,$sequence_string,@Accumulator); my $seq_id = 0; @@ -271,7 +291,7 @@ END my $map = $navmap->getResourceByUrl($mapurl); my $firstResource = $map->map_start(); my $lastResource = $map->map_finish(); - $iterator = $navmap->getIterator($firstResource,$lastResource,undef,1); + $iterator = $navmap->getIterator($firstResource,$lastResource,sub { $_[0]->is_problem() },1); @Accumulator = (&new_accumulator($map->compTitle, $map->src, $map->symb, @@ -303,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); } } }