version 1.463, 2010/11/02 10:51:46
|
version 1.466, 2010/11/12 21:52:51
|
Line 7351 sub releasereqd_check {
|
Line 7351 sub releasereqd_check {
|
my ($reqdmajor,$reqdminor) = split(/\./,$courseinfo->{'releaserequired'}); |
my ($reqdmajor,$reqdminor) = split(/\./,$courseinfo->{'releaserequired'}); |
return unless (&useable_role($reqdmajor,$reqdminor,$major,$minor)); |
return unless (&useable_role($reqdmajor,$reqdminor,$major,$minor)); |
} |
} |
|
} else { |
|
return; |
} |
} |
} |
} |
return 1; |
return 1; |
Line 7358 sub releasereqd_check {
|
Line 7360 sub releasereqd_check {
|
|
|
sub get_courseinfo_hash { |
sub get_courseinfo_hash { |
my ($cnum,$cdom,$home) = @_; |
my ($cnum,$cdom,$home) = @_; |
my $hashid = $cdom.':'.$cnum; |
my %info; |
my %info = &Apache::lonnet::courseiddump($cdom,'.',1,'.','.',$cnum,1,[$home],'.'); |
eval { |
if (ref($info{$cdom.'_'.$cnum}) eq 'HASH') { |
local($SIG{ALRM}) = sub { die "timeout\n"; }; |
return &Apache::lonnet::do_cache_new('courseinfo',$hashid,$info{$cdom.'_'.$cnum},600); |
local($SIG{__DIE__})='DEFAULT'; |
|
alarm(3); |
|
%info = &Apache::lonnet::courseiddump($cdom,'.',1,'.','.',$cnum,1,[$home],'.'); |
|
alarm(0); |
|
}; |
|
if ($@) { |
|
if ($@ eq "timeout\n") { |
|
&logthis("<font color='blue'>WARNING courseiddump for $cnum:$cdom from $home timedout</font>"); |
|
} else { |
|
&logthis("<font color='yellow'>WARNING unexpected error during eval of call for courseiddump from $home</font>"); |
|
} |
|
} else { |
|
if (ref($info{$cdom.'_'.$cnum}) eq 'HASH') { |
|
my $hashid = $cdom.':'.$cnum; |
|
return &Apache::lonnet::do_cache_new('courseinfo',$hashid,$info{$cdom.'_'.$cnum},600); |
|
} |
} |
} |
return; |
return; |
} |
} |
Line 7405 sub check_homecourses {
|
Line 7422 sub check_homecourses {
|
return; |
return; |
} |
} |
foreach my $hashid (keys(%recent)) { |
foreach my $hashid (keys(%recent)) { |
&Apache::lonnet::do_cache_new('courseinfo',$hashid,$courseinfo{$hashid},600); |
my ($result,$cached)=&Apache::lonnet::is_cached_new('courseinfo',$hashid); |
|
unless ($cached) { |
|
&Apache::lonnet::do_cache_new('courseinfo',$hashid,$courseinfo{$hashid},600); |
|
} |
} |
} |
foreach my $hashid (keys(%{$homecourses})) { |
foreach my $hashid (keys(%{$homecourses})) { |
next if ($recent{$hashid}); |
next if ($recent{$hashid}); |