--- loncom/interface/lonnavmaps.pm 2007/04/27 17:59:50 1.398 +++ loncom/interface/lonnavmaps.pm 2007/08/29 00:55:37 1.400 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Navigate Maps Handler # -# $Id: lonnavmaps.pm,v 1.398 2007/04/27 17:59:50 banghart Exp $ +# $Id: lonnavmaps.pm,v 1.400 2007/08/29 00:55:37 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -991,7 +991,10 @@ sub render_long_status { if ($color) {$result .= ""; } } if ($resource->is_map() && advancedUser() && $resource->randompick()) { - $result .= '(randomly select ' . $resource->randompick() .')'; + $result .= &mt('(randomly select [_1])', $resource->randompick()); + } + if ($resource->is_map() && &advancedUser() && $resource->randomorder()) { + $result .= &mt('(randomly ordered)'); } # Debugging code @@ -2271,14 +2274,14 @@ sub finishResource { # the actual lookup; parmval caches the results. sub parmval { my $self = shift; - my ($what,$symb)=@_; + my ($what,$symb,$recurse)=@_; my $hashkey = $what."|||".$symb; if (defined($self->{PARM_CACHE}->{$hashkey})) { return $self->{PARM_CACHE}->{$hashkey}; } - my $result = $self->parmval_real($what, $symb); + my $result = $self->parmval_real($what, $symb, $recurse); $self->{PARM_CACHE}->{$hashkey} = $result; return $result; } @@ -2388,7 +2391,7 @@ sub parmval_real { if (defined($partgeneral)) { return $partgeneral; } } if ($recurse) { return undef; } - my $pack_def=&Apache::lonnet::packages_tab_default($fn,'resource.'.$what); + my $pack_def=&Apache::lonnet::packages_tab_default($fn,'resource.'.$rwhat); if (defined($pack_def)) { return $pack_def; } return ''; } @@ -2511,6 +2514,10 @@ sub retrieveResources { my @resources = (); + if (&$filterFunc($map)) { + push(@resources, $map); + } + # Run down the iterator and collect the resources. my $curRes; @@ -2520,7 +2527,7 @@ sub retrieveResources { next; } - push @resources, $curRes; + push(@resources, $curRes); if ($bailout) { return @resources; @@ -3364,8 +3371,13 @@ false. =item * B: -Returns true for a map if the randompick feature is being used on the -map. (?) +Returns the number of randomly picked items for a map if the randompick +feature is being used on the map. + +=item * B: + +Returns true for a map if the randomorder feature is being used on the +map. =item * B: @@ -3397,6 +3409,10 @@ sub randompick { my $self = shift; return $self->parmval('randompick'); } +sub randomorder { + my $self = shift; + return ($self->parmval('randomorder') =~ /^yes$/i); +} sub link { my $self=shift; if ($self->encrypted()) { return &Apache::lonenc::encrypted($self->src); } @@ -3473,6 +3489,7 @@ sub compTitle { } return $title; } + =pod B @@ -3781,6 +3798,15 @@ sub duedate { } sub handgrade { (my $self, my $part) = @_; + my @response_ids = $self->responseIds($part); + if (@response_ids) { + foreach my $response_id (@response_ids) { + if (lc($self->parmval("handgrade",$part.'_'.$response_id)) + eq 'yes') { + return 'yes'; + } + } + } return $self->parmval("handgrade", $part); } sub maxtries {