Diff for /rat/lonuserstate.pm between versions 1.73 and 1.77

version 1.73, 2004/04/23 15:23:35 version 1.77, 2004/04/26 19:16:45
Line 160  sub loadmap { Line 160  sub loadmap {
                         if ($token->[2]->{'external'} eq 'true') { # external                          if ($token->[2]->{'external'} eq 'true') { # external
                             $turi=~s/^http\:\/\//\/adm\/wrapper\/ext\//;                              $turi=~s/^http\:\/\//\/adm\/wrapper\/ext\//;
                         } elsif ($turi=~/^\/*uploaded\//) { # uploaded                          } elsif ($turi=~/^\/*uploaded\//) { # uploaded
     if (($embstyle eq 'img') || ($embstyle eq 'emb')      if (($embstyle eq 'img') || ($embstyle eq 'emb')) {
                              || ($embstyle eq 'ssi')) {                                  $turi='/adm/wrapper'.$turi;
                                 unless ($turi =~/\.page$/) {  
                                     $turi='/adm/wrapper'.$turi;  
                                 }  
                             } elsif ($turi!~/\.(sequence|page)$/) {                              } elsif ($turi!~/\.(sequence|page)$/) {
  $turi='/adm/coursedocs/showdoc'.$turi;   $turi='/adm/coursedocs/showdoc'.$turi;
                             }                              }
Line 279  sub loadmap { Line 276  sub loadmap {
                     } else {                      } else {
                         $hash{'param_'.$referid}=''.$newparam;                          $hash{'param_'.$referid}=''.$newparam;
                     }                      }
                     if ($token->[2]->{'name'} eq 'parameter_mapalias') {                      if ($token->[2]->{'name'}=~/^parameter_(0_)*mapalias$/) {
  $hash{'mapalias_'.$token->[2]->{'value'}}=$referid;   $hash{'mapalias_'.$token->[2]->{'value'}}=$referid;
                     }                      }
                     if ($token->[2]->{'name'} eq 'parameter_randompick') {                      if ($token->[2]->{'name'}=~/^parameter_(0_)*randompick$/) {
  $randompick{$referid}=$token->[2]->{'value'};   $randompick{$referid}=$token->[2]->{'value'};
                     }                      }
                     if ($token->[2]->{'name'} eq 'parameter_randompickseed') {                      if ($token->[2]->{'name'}=~/^parameter_(0_)*randompickseed$/) {
  $randompick{$referid}=$token->[2]->{'value'};   $randompick{$referid}=$token->[2]->{'value'};
                     }                      }
                     if ($token->[2]->{'name'} eq 'parameter_encrypturl') {                      if ($token->[2]->{'name'}=~/^parameter_(0_)*encrypturl$/) {
  $encurl{$referid}=$token->[2]->{'value'};   if ($token->[2]->{'value'}=~/^yes$/i) {
                     }      $encurl{$referid}=1;
                     if ($token->[2]->{'name'} eq 'parameter_hiddenresource') {   }
  $hiddenurl{$referid}=$token->[2]->{'value'};                      }
                       if ($token->[2]->{'name'}=~/^parameter_(0_)*hiddenresource$/) {
    if ($token->[2]->{'value'}=~/^yes$/i) {
       $hiddenurl{$referid}=1;
    }
                     }                      }
                 }                   } 
   
Line 328  sub simplify { Line 329  sub simplify {
 # -------------------------------------------------------- Build condition hash  # -------------------------------------------------------- Build condition hash
   
 sub traceroute {  sub traceroute {
     my ($sofar,$rid,$beenhere)=@_;      my ($sofar,$rid,$beenhere,$encflag,$hdnflag)=@_;
     $sofar=simplify($sofar);      $sofar=simplify($sofar);
     unless ($beenhere=~/\&$rid\&/) {      unless ($beenhere=~/\&$rid\&/) {
        $beenhere.=$rid.'&';           $beenhere.=$rid.'&';  
          if ($hdnflag) {
      $hiddenurl{$rid}=1;
          }
          if ($encflag) {
      $encurl{$rid}=1;
          }
        if (($retfurl eq '') && ($hash{'src_'.$rid})         if (($retfurl eq '') && ($hash{'src_'.$rid})
         && ($hash{'src_'.$rid}!~/\.sequence$/)) {          && ($hash{'src_'.$rid}!~/\.sequence$/)) {
            my ($mapid,$resid)=split(/\./,$rid);             my ($mapid,$resid)=split(/\./,$rid);
Line 350  sub traceroute { Line 357  sub traceroute {
        }         }
        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}},'&');         &traceroute($sofar,$hash{'map_start_'.$hash{'src_'.$rid}},'&',
      $encflag || $encurl{$rid},
      $hdnflag || $hiddenurl{$rid});
                if (defined($hash{'map_finish_'.$hash{'src_'.$rid}})) {                 if (defined($hash{'map_finish_'.$hash{'src_'.$rid}})) {
    $sofar=     $sofar=
                   $hash{'conditions_'.$hash{'map_finish_'.$hash{'src_'.$rid}}};                    $hash{'conditions_'.$hash{'map_finish_'.$hash{'src_'.$rid}}};
Line 369  sub traceroute { Line 378  sub traceroute {
                                  .$hash{'undercond_'.$_}.'. ';                                   .$hash{'undercond_'.$_}.'. ';
                    }                     }
                 }                  }
                 &traceroute($further,$hash{'goesto_'.$_},$beenhere);                  &traceroute($further,$hash{'goesto_'.$_},$beenhere,$encflag,$hdnflag);
           }            }
        }         }
     }      }
Line 571  sub readmap { Line 580  sub readmap {
     $hash{$_}=&putinversion($hash{$_});      $hash{$_}=&putinversion($hash{$_});
  }   }
     }      }
   # ---------------------------------------------------------------- Encrypt URLs
       foreach (keys %encurl) {
    $hash{'src_'.$_}=&Apache::lonenc::encrypted($hash{'src_'.$_});
       }
   # ----------------------------------------------- Close hashes to finally store
   # --------------------------------- Routine must pass this point, no early outs
     unless ((untie(%hash)) && (untie(%parmhash))) {      unless ((untie(%hash)) && (untie(%parmhash))) {
       &Apache::lonnet::logthis("<font color=blue>WARNING: ".        &Apache::lonnet::logthis("<font color=blue>WARNING: ".
                        "Could not untie coursemap $fn for $uri.</font>");                          "Could not untie coursemap $fn for $uri.</font>"); 
     }      }
   # ---------------------------------------------------- Store away initial state
     {      {
      my $cfh;       my $cfh;
      if ($cfh=Apache::File->new(">$fn.state")) {       if ($cfh=Apache::File->new(">$fn.state")) {

Removed from v.1.73  
changed lines
  Added in v.1.77


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