version 1.1484, 2022/02/27 01:43:14
|
version 1.1487, 2022/06/08 20:49:09
|
Line 8128 sub check_can_request {
|
Line 8128 sub check_can_request {
|
my @options = ('approval','validate','autolimit'); |
my @options = ('approval','validate','autolimit'); |
my $optregex = join('|',@options); |
my $optregex = join('|',@options); |
if ((ref($can_request) eq 'HASH') && (ref($types) eq 'ARRAY')) { |
if ((ref($can_request) eq 'HASH') && (ref($types) eq 'ARRAY')) { |
|
my %willtrust; |
foreach my $type (@{$types}) { |
foreach my $type (@{$types}) { |
if (&usertools_access($uname,$udom,$type,undef, |
if (&usertools_access($uname,$udom,$type,undef, |
'requestcourses')) { |
'requestcourses')) { |
Line 8147 sub check_can_request {
|
Line 8148 sub check_can_request {
|
if (ref($request_domains) eq 'HASH') { |
if (ref($request_domains) eq 'HASH') { |
my ($otherdom) = ($item =~ /^($match_domain):($optregex)(=?\d*)$/); |
my ($otherdom) = ($item =~ /^($match_domain):($optregex)(=?\d*)$/); |
if ($otherdom ne '') { |
if ($otherdom ne '') { |
if (ref($request_domains->{$type}) eq 'ARRAY') { |
unless (exists($willtrust{$otherdom})) { |
unless (grep(/^\Q$otherdom\E$/,@{$request_domains->{$type}})) { |
$willtrust{$otherdom} = &will_trust('reqcrs',$env{'user.domain'},$otherdom); |
|
} |
|
if ($willtrust{$otherdom}) { |
|
if (ref($request_domains->{$type}) eq 'ARRAY') { |
|
unless (grep(/^\Q$otherdom\E$/,@{$request_domains->{$type}})) { |
|
push(@{$request_domains->{$type}},$otherdom); |
|
} |
|
} else { |
push(@{$request_domains->{$type}},$otherdom); |
push(@{$request_domains->{$type}},$otherdom); |
} |
} |
} else { |
|
push(@{$request_domains->{$type}},$otherdom); |
|
} |
} |
} |
} |
} |
} |
Line 13743 sub symbread {
|
Line 13749 sub symbread {
|
my %bighash; |
my %bighash; |
my $syval=''; |
my $syval=''; |
if (($env{'request.course.fn'}) && ($thisfn)) { |
if (($env{'request.course.fn'}) && ($thisfn)) { |
my $targetfn = $thisfn; |
|
if ( ($thisfn =~ m/^(uploaded|editupload)\//) && ($thisfn !~ m/\.(page|sequence)$/) ) { |
|
$targetfn = 'adm/wrapper/'.$thisfn; |
|
} |
|
if ($targetfn =~ m|^adm/wrapper/(ext/.*)|) { |
|
$targetfn=$1; |
|
} |
|
unless ($ignoresymbdb) { |
unless ($ignoresymbdb) { |
if (tie(%hash,'GDBM_File',$env{'request.course.fn'}.'_symb.db', |
if (tie(%hash,'GDBM_File',$env{'request.course.fn'}.'_symb.db', |
&GDBM_READER(),0640)) { |
&GDBM_READER(),0640)) { |
$syval=$hash{$targetfn}; |
$syval=$hash{$thisfn}; |
untie(%hash); |
untie(%hash); |
} |
} |
if ($syval && $checkforblock) { |
if ($syval && $checkforblock) { |