version 1.80, 2004/10/26 15:15:20
|
version 1.81, 2004/10/26 23:00:11
|
Line 332 sub simplify {
|
Line 332 sub simplify {
|
|
|
sub traceroute { |
sub traceroute { |
my ($sofar,$rid,$beenhere,$encflag,$hdnflag)=@_; |
my ($sofar,$rid,$beenhere,$encflag,$hdnflag)=@_; |
$sofar=simplify($sofar); |
my $newsofar=$sofar=simplify($sofar); |
unless ($beenhere=~/\&$rid\&/) { |
unless ($beenhere=~/\&$rid\&/) { |
$beenhere.=$rid.'&'; |
$beenhere.=$rid.'&'; |
my ($mapid,$resid)=split(/\./,$rid); |
my ($mapid,$resid)=split(/\./,$rid); |
my $symb=&Apache::lonnet::encode_symb($hash{'map_id_'.$mapid},$resid,$hash{'src_'.$rid}); |
my $symb=&Apache::lonnet::encode_symb($hash{'map_id_'.$mapid},$resid,$hash{'src_'.$rid}); |
my $encrypt=&Apache::lonnet::EXT('resource.0.hiddenresource',$symb); |
my $hidden=&Apache::lonnet::EXT('resource.0.hiddenresource',$symb); |
if ($hdnflag || lc($encrypt) eq 'yes') { $hiddenurl{$rid}=1; } |
if ($hdnflag || lc($hidden) eq 'yes') { $hiddenurl{$rid}=1; } |
my $encrypt=&Apache::lonnet::EXT('resource.0.encrypturl',$symb); |
my $encrypt=&Apache::lonnet::EXT('resource.0.encrypturl',$symb); |
if ($encflag || lc($encrypt) eq 'yes') { $encurl{$rid}=1; } |
if ($encflag || lc($encrypt) eq 'yes') { $encurl{$rid}=1; } |
if (($retfurl eq '') && ($hash{'src_'.$rid}) |
if (($retfurl eq '') && ($hash{'src_'.$rid}) |
Line 352 sub traceroute {
|
Line 352 sub traceroute {
|
} else { |
} else { |
$hash{'conditions_'.$rid}=$sofar; |
$hash{'conditions_'.$rid}=$sofar; |
} |
} |
|
$newsofar=$hash{'conditions_'.$rid}; |
if (defined($hash{'is_map_'.$rid})) { |
if (defined($hash{'is_map_'.$rid})) { |
if (defined($hash{'map_start_'.$hash{'src_'.$rid}})) { |
if (defined($hash{'map_start_'.$hash{'src_'.$rid}})) { |
&traceroute($sofar,$hash{'map_start_'.$hash{'src_'.$rid}},'&', |
$sofar=$newsofar= |
$encflag || $encurl{$rid}, |
&traceroute($sofar, |
$hdnflag || $hiddenurl{$rid}); |
$hash{'map_start_'.$hash{'src_'.$rid}},'&', |
if (defined($hash{'map_finish_'.$hash{'src_'.$rid}})) { |
$encflag || $encurl{$rid}, |
$sofar= |
$hdnflag || $hiddenurl{$rid}); |
$hash{'conditions_'.$hash{'map_finish_'.$hash{'src_'.$rid}}}; |
|
} |
|
} |
} |
} |
} |
if (defined($hash{'to_'.$rid})) { |
if (defined($hash{'to_'.$rid})) { |
Line 375 sub traceroute {
|
Line 374 sub traceroute {
|
.$hash{'undercond_'.$_}.'. '; |
.$hash{'undercond_'.$_}.'. '; |
} |
} |
} |
} |
&traceroute($further,$hash{'goesto_'.$_},$beenhere,$encflag,$hdnflag); |
$newsofar=&traceroute($further,$hash{'goesto_'.$_},$beenhere, |
|
$encflag,$hdnflag); |
} |
} |
} |
} |
} |
} |
|
return $newsofar; |
} |
} |
|
|
# ------------------------------ Cascading conditions, quick access, parameters |
# ------------------------------ Cascading conditions, quick access, parameters |