version 1.456, 2010/09/26 01:50:28
|
version 1.458, 2010/09/26 14:31:26
|
Line 3198 sub dump_with_regexp {
|
Line 3198 sub dump_with_regexp {
|
my $cdom = $1; |
my $cdom = $1; |
my $cnum = $2; |
my $cnum = $2; |
unless ($skipcheck) { |
unless ($skipcheck) { |
next unless (&releasereqd_check($cnum,$cdom,$key,$value,$major,$minor, |
my ($role,$end,$start) = split(/\_/,$value); |
$now,\%homecourses,\@ids)); |
if (!$end || $end > $now) { |
|
next unless (&releasereqd_check($cnum,$cdom,$key,$value,$major, |
|
$minor,\%homecourses,\@ids)); |
|
} |
} |
} |
} |
} |
} |
} |
Line 7300 sub get_usersession_config {
|
Line 7303 sub get_usersession_config {
|
} |
} |
|
|
sub releasereqd_check { |
sub releasereqd_check { |
my ($cnum,$cdom,$key,$value,$major,$minor,$now,$homecourses,$ids) = @_; |
my ($cnum,$cdom,$key,$value,$major,$minor,$homecourses,$ids) = @_; |
my $home = &Apache::lonnet::homeserver($cnum,$cdom); |
my $home = &Apache::lonnet::homeserver($cnum,$cdom); |
return if ($home eq 'no_host'); |
return if ($home eq 'no_host'); |
my ($reqdmajor,$reqdminor,$displayrole); |
my ($reqdmajor,$reqdminor,$displayrole); |
Line 7314 sub releasereqd_check {
|
Line 7317 sub releasereqd_check {
|
return unless (&useable_role($reqdmajor,$reqdminor,$major,$minor)); |
return unless (&useable_role($reqdmajor,$reqdminor,$major,$minor)); |
} |
} |
} |
} |
my ($role,$end,$start) = split(/_/,$value); |
my $hashid = $cdom.':'.$cnum; |
if (!$end || $end > $now) { |
my ($courseinfo,$cached) = |
my $hashid = $cdom.':'.$cnum; |
&Apache::lonnet::is_cached_new('courseinfo',$hashid); |
my ($courseinfo,$cached) = |
if (defined($cached)) { |
&Apache::lonnet::is_cached_new('courseinfo',$hashid); |
if (ref($courseinfo) eq 'HASH') { |
if (defined($cached)) { |
if (exists($courseinfo->{'releaserequired'})) { |
if (ref($courseinfo) eq 'HASH') { |
my ($reqdmajor,$reqdminor) = split(/\./,$courseinfo->{'releaserequired'}); |
if (exists($courseinfo->{'releaserequired'})) { |
return unless (&useable_role($reqdmajor,$reqdminor,$major,$minor)); |
my ($reqdmajor,$reqdminor) = split(/\./,$courseinfo->{'releaserequired'}); |
|
return unless (&useable_role($reqdmajor,$reqdminor,$major,$minor)); |
|
} |
|
} |
} |
} else { |
} |
if (ref($ids) eq 'ARRAY') { |
} else { |
if (grep(/^\Q$home\E$/,@{$ids})) { |
if (ref($ids) eq 'ARRAY') { |
if (ref($homecourses) eq 'HASH') { |
if (grep(/^\Q$home\E$/,@{$ids})) { |
if (ref($homecourses->{$hashid}) eq 'ARRAY') { |
if (ref($homecourses) eq 'HASH') { |
push(@{$homecourses->{$hashid}},{$key=>$value}); |
if (ref($homecourses->{$hashid}) eq 'ARRAY') { |
} else { |
push(@{$homecourses->{$hashid}},{$key=>$value}); |
$homecourses->{$hashid} = [{$key=>$value}]; |
} else { |
} |
$homecourses->{$hashid} = [{$key=>$value}]; |
} |
} |
return; |
|
} |
} |
|
return; |
} |
} |
my $courseinfo = &get_courseinfo_hash($cnum,$cdom,$home); |
} |
if (ref($courseinfo) eq 'HASH') { |
my $courseinfo = &get_courseinfo_hash($cnum,$cdom,$home); |
if (exists($courseinfo->{'releaserequired'})) { |
if (ref($courseinfo) eq 'HASH') { |
my ($reqdmajor,$reqdminor) = split(/\./,$courseinfo->{'releaserequired'}); |
if (exists($courseinfo->{'releaserequired'})) { |
return unless (&useable_role($reqdmajor,$reqdminor,$major,$minor)); |
my ($reqdmajor,$reqdminor) = split(/\./,$courseinfo->{'releaserequired'}); |
} |
return unless (&useable_role($reqdmajor,$reqdminor,$major,$minor)); |
} |
} |
} |
} |
} |
} |