Diff for /rat/lonuserstate.pm between versions 1.107.2.3 and 1.108

version 1.107.2.3, 2006/05/12 15:28:50 version 1.108, 2006/04/27 23:36:10
Line 413  sub accinit { Line 413  sub accinit {
     foreach my $key (keys(%hash)) {      foreach my $key (keys(%hash)) {
  if ($key=~/^conditions/) {   if ($key=~/^conditions/) {
     my $expr=$hash{$key};      my $expr=$hash{$key};
     # try to find and factor out common sub-expressions  
     foreach my $sub ($expr=~m/(\(\([_\.\d]+(?:\&[_\.\d]+)+\)(?:\|\([_\.\d]+(?:\&[_\.\d]+)+\))+\))/g) {      foreach my $sub ($expr=~m/(\(\([_\.\d]+(?:\&[_\.\d]+)+\)(?:\|\([_\.\d]+(?:\&[_\.\d]+)+\))+\))/g) {
  my $orig=$sub;   my $orig=$sub;
    $sub=~/\(\(([_\.\d]+\&(:?[_\.\d]+\&)*)(?:[_\.\d]+\&*)+\)(?:\|\(\1(?:[_\.\d]+\&*)+\))+\)/;
  my ($factor) = ($sub=~/\(\(([_\.\d]+\&(:?[_\.\d]+\&)*)(?:[_\.\d]+\&*)+\)(?:\|\(\1(?:[_\.\d]+\&*)+\))+\)/);   my $factor=$1;
  next if (!defined($factor));   $sub=~s/$factor//g;
   
  $sub=~s/\Q$factor\E//g;  
  $sub=~s/^\(/\($factor\(/;   $sub=~s/^\(/\($factor\(/;
  $sub.=')';   $sub.=')';
  $sub=simplify($sub);   $sub=simplify($sub);
  $expr=~s/\Q$orig\E/$sub/;   $orig=~s/(\W)/\\$1/g;
    $expr=~s/$orig/$sub/;
     }      }
     $hash{$key}=$expr;      $hash{$key}=$expr;
     unless (defined($captured{$expr})) {      unless (defined($captured{$expr})) {
Line 545  sub hiddenurls { Line 543  sub hiddenurls {
 sub readmap {  sub readmap {
     my $short=shift;      my $short=shift;
     $short=~s/^\///;      $short=~s/^\///;
     my %cenv=&Apache::lonnet::coursedescription($short);      my %cenv=&Apache::lonnet::coursedescription($short,{'freshen_cache'=>1});
     my $fn=$cenv{'fn'};      my $fn=$cenv{'fn'};
     my $uri;      my $uri;
     $short=~s/\//\_/g;      $short=~s/\//\_/g;
Line 592  sub readmap { Line 590  sub readmap {
  }   }
 # ------------------------------------------------------- Put versions into src  # ------------------------------------------------------- Put versions into src
  foreach my $key (keys(%hash)) {   foreach my $key (keys(%hash)) {
     if ($key=~/^src_/) {      if ($key=~/^src\_/) {
  $hash{$key}=&putinversion($hash{$key});   $hash{$key}=&putinversion($hash{$key});
     } elsif ($key =~ /^(map_(?:start|finish|pc)_)(.*)/) {  
  my ($type, $url) = ($1,$2);  
  my $value = $hash{$key};  
  $hash{$type.&putinversion($url)}=$value;  
     }      }
  }   }
 # ---------------------------------------------------------------- Encrypt URLs  # ---------------------------------------------------------------- Encrypt URLs

Removed from v.1.107.2.3  
changed lines
  Added in v.1.108


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