--- loncom/homework/bridgetask.pm 2006/11/13 21:47:33 1.204 +++ loncom/homework/bridgetask.pm 2006/11/14 23:04:56 1.207 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # definition of tags that give a structure to a document # -# $Id: bridgetask.pm,v 1.204 2006/11/13 21:47:33 albertel Exp $ +# $Id: bridgetask.pm,v 1.207 2006/11/14 23:04:56 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2104,8 +2104,10 @@ sub start_Dimension { } push(@Apache::bridgetask::dimension,$dim); &Apache::lonxml::startredirection(); - &enable_dimension_parsing($dim); - return &internal_location($dim); + if (!&skip_dimension_parsing($dim)) { + &enable_dimension_parsing($dim); + } + return;# &internal_location($dim); } sub start_QuestionText { @@ -2193,7 +2195,6 @@ sub end_Dimension { my $instance=&get_instance($dim); my $version=&get_version(); if ($target eq 'web') { - $result .= "\n".'
'."\n"; $result .= &nested_parse(\$dimension{$dim}{'intro'},[@_]); my @instances = $instance; if (&Apache::response::showallfoils()) { @@ -2247,13 +2248,20 @@ sub end_Dimension { @{$dimension{$dim}{'criterias'}}) { my $type = $dimension{$dim}{'criteria.'.$id.'.type'}; if ($type eq 'dimension') { - $result.=$dimension{$id}{'result'}; - next; + if (defined($dimension{$id}{'result'})) { + $result.=$dimension{$id}{'result'}; + next; + } else { + $dim_info .= + &nested_parse(\$dimension{$dim}{'criteria.'.$id}, + [@_],{'set_dim_id' => $id}); + } + } else { + my $criteria = + &nested_parse(\$dimension{$dim}{'criteria.'.$id}, + [@_]); + $dim_info .= &layout_web_Criteria($dim,$id,$criteria); } - my $criteria = - &nested_parse(\$dimension{$dim}{'criteria.'.$id}, - [@_]); - $dim_info .= &layout_web_Criteria($dim,$id,$criteria); } # puts the results at the end of the dimension $result .= $dim_info; @@ -2263,7 +2271,10 @@ sub end_Dimension { # $result=~s/\Q$internal_location\E/$dim_info/; } } - $result .= "\n
\n"; + if ($result !~ /^\s*$/s) { + $result = "\n".'
'. + "\n".$result."\n
\n"; + } } elsif ($target eq 'webgrade') { # in case of any side effects that we need &nested_parse(\$dimension{$dim}{'intro'},[@_]); @@ -2600,7 +2611,7 @@ sub start_Criteria { $dimension{$dim}{'result'} .= &internal_location($id); } else { &Apache::lonxml::debug(" not stashing $dim $id"); - $result .= &internal_location($id); + #$result .= &internal_location($id); } } &Apache::lonxml::debug("Criteria $id with $dim");