--- loncom/lonmap.pm 2013/05/30 05:04:16 1.11 +++ loncom/lonmap.pm 2014/12/11 01:50:27 1.15 @@ -2,7 +2,7 @@ # # Read maps into a 'big hash'. # -# $Id: lonmap.pm,v 1.11 2013/05/30 05:04:16 raeburn Exp $ +# $Id: lonmap.pm,v 1.15 2014/12/11 01:50:27 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -157,7 +157,7 @@ sub merge_hash { $key .= '.'; # If we are prefixing, prefix then . } - foreach my $childkey (keys (%$child)) { + foreach my $childkey (keys(%$child)) { $parent->{$key . $childkey} = $child->{$childkey}; } } @@ -213,9 +213,10 @@ sub get_mapalias_errors { $count++; } my ($mapid) = split(/\./,$id); - &mt('Resource "[_1]"
in Map "[_2]"', - $hash->{'title_'.$id}, - $hash->{'title_'.$hash->{'ids_'.$hash->{'map_id_'.$mapid}}}); + &mt('Resource [_1][_2]in Map [_3]', + '"'.$hash->{'title_'.$id}.'"', + '
', + '"'.$hash->{'title_'.$hash->{'ids_'.$hash->{'map_id_'.$mapid}}}.'"'); } (@{ $mapalias_cache{$mapalias} })); next if ($count < 2); $error_text .= '
'. @@ -278,7 +279,7 @@ sub process_versions { $cenv->{'domain'}, $cenv->{'num'}); - foreach my $ver (keys (%versions)) { + foreach my $ver (keys(%versions)) { if ($ver =~/^error\:/) { # lonc/lond transaction failed. throw Error::Simple('lonc/lond returned error: ' . $ver); } @@ -409,7 +410,7 @@ sub hiddenurls { my $courseid = $hash->{'context.courseid'}; my $randomoutentry=''; - foreach my $rid (keys %randompick) { + foreach my $rid (keys(%randompick)) { my $rndpick=$randompick{$rid}; my $mpc=$hash->{'map_pc_'.$hash->{'src_'.$rid}}; # ------------------------------------------- put existing resources into array @@ -449,7 +450,7 @@ sub hiddenurls { } } # ------------------------------ take care of explicitly hidden urls or folders - foreach my $rid (keys %hiddenurl) { + foreach my $rid (keys(%hiddenurl)) { $hash->{'randomout_'.$rid}='1'; my ($mapid,$resid)=split(/\./,$rid); $randomoutentry.='&'. @@ -615,9 +616,9 @@ sub traceroute { my $symb=&Apache::lonnet::encode_symb($hash->{'map_id_'.$mapid},$resid, $hash->{'src_'.$rid}); my $hidden=&Apache::lonnet::EXT('resource.0.hiddenresource',$symb); + my $ignorehidden; if ($hdnflag || lc($hidden) eq 'yes') { - my $ignorehidden; if (defined($hash->{'is_map_'.$rid})) { if (($hash->{'context.nohideurl'}) && ($hash->{'context.nohideurl'} eq $hash->{'src_'.$rid})) { $ignorehidden = 1; # Hidden parameter explicitly deleted @@ -656,12 +657,16 @@ sub traceroute { if (defined($hash->{'is_map_'.$rid})) { if (defined($hash->{'map_start_'.$hash->{'src_'.$rid}})) { + my $maphidden; + unless ($ignorehidden) { + $maphidden = $hdnflag || $hiddenurl{$rid}; + } $sofar=$newsofar= &traceroute($sofar, $hash->{'map_start_'.$hash->{'src_'.$rid}}, $beenhere, $encflag || $encurl{$rid}, - $hdnflag || $hiddenurl{$rid}, $hash); + $maphidden, $hash); } } @@ -681,7 +686,7 @@ sub traceroute { $further=simplify('('.'_'.$rid.')&('. $hash->{'condid_'.$hash->{'undercond_'.$id}}.')'); } else { - my $errtext.=&mt('
Undefined condition ID: [_1]',$hash->{'undercond_'.$id}); + my $errtext.='
'.&mt('Undefined condition ID: [_1]',$hash->{'undercond_'.$id}); throw Error::Simple($errtext); } } @@ -1252,7 +1257,7 @@ sub read_map { my $ispage = ($filename =~/\.page$/); unless ($ispage || ($filename =~ /\.sequence$/)) { &Apache::lonnet::logthis("invalid: $filename : $uri"); - throw Error::Simple(&mt("
Invalid map: [_1]", $filename)); + throw Error::Simple('
'.&mt('Invalid map: [_1]',''.$filename.'')); } $filename =~ /\.(\w+)$/; @@ -1263,8 +1268,8 @@ sub read_map { my $contents = &Apache::lonnet::getfile($filename); if($contents eq -1) { - throw Error::Simple(&mt('
Map not loaded: The file [_1] does not exist.', - $filename)); + throw Error::Simple('
'.&mt('Map not loaded: The file [_1] does not exist.', + ''.$filename.'')); } # Now that we succesfully retrieved the file we can make our parsing passes over it: # parsing is done in passes: