version 1.107.2.1, 2006/05/11 23:56:27
|
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)_)(.*)/) { |
|
&Apache::lonnet::logthis($key); |
|
my ($type, $url) = ($1,$2); |
|
my $value = $hash{$key}; |
|
delete($hash{$key}); |
|
$hash{$type.&putinversion($url)}=$value; |
|
} |
} |
} |
} |
# ---------------------------------------------------------------- Encrypt URLs |
# ---------------------------------------------------------------- Encrypt URLs |