Diff for /rat/lonuserstate.pm between versions 1.80 and 1.81

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

Removed from v.1.80  
changed lines
  Added in v.1.81


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>