version 1.1172.2.105, 2019/02/18 15:19:30
|
version 1.1172.2.106, 2019/07/26 19:09:16
|
Line 2259 sub get_domain_defaults {
|
Line 2259 sub get_domain_defaults {
|
return %domdefaults; |
return %domdefaults; |
} |
} |
|
|
|
sub get_dom_cats { |
|
my ($dom) = @_; |
|
return unless (&domain($dom)); |
|
my ($cats,$cached)=&is_cached_new('cats',$dom); |
|
unless (defined($cached)) { |
|
my %domconfig = &get_dom('configuration',['coursecategories'],$dom); |
|
if (ref($domconfig{'coursecategories'}) eq 'HASH') { |
|
if (ref($domconfig{'coursecategories'}{'cats'}) eq 'HASH') { |
|
%{$cats} = %{$domconfig{'coursecategories'}{'cats'}}; |
|
} else { |
|
$cats = {}; |
|
} |
|
} else { |
|
$cats = {}; |
|
} |
|
&Apache::lonnet::do_cache_new('cats',$dom,$cats,3600); |
|
} |
|
return $cats; |
|
} |
|
|
|
sub get_dom_instcats { |
|
my ($dom) = @_; |
|
return unless (&domain($dom)); |
|
my ($instcats,$cached)=&is_cached_new('instcats',$dom); |
|
unless (defined($cached)) { |
|
my (%coursecodes,%codes,@codetitles,%cat_titles,%cat_order); |
|
my $totcodes = &retrieve_instcodes(\%coursecodes,$dom); |
|
if ($totcodes > 0) { |
|
my $caller = 'global'; |
|
if (&auto_instcode_format($caller,$dom,\%coursecodes,\%codes, |
|
\@codetitles,\%cat_titles,\%cat_order) eq 'ok') { |
|
$instcats = { |
|
codes => \%codes, |
|
codetitles => \@codetitles, |
|
cat_titles => \%cat_titles, |
|
cat_order => \%cat_order, |
|
}; |
|
&do_cache_new('instcats',$dom,$instcats,3600); |
|
} |
|
} |
|
} |
|
return $instcats; |
|
} |
|
|
|
sub retrieve_instcodes { |
|
my ($coursecodes,$dom) = @_; |
|
my $totcodes; |
|
my %courses = &courseiddump($dom,'.',1,'.','.','.',undef,undef,'Course'); |
|
foreach my $course (keys(%courses)) { |
|
if (ref($courses{$course}) eq 'HASH') { |
|
if ($courses{$course}{'inst_code'} ne '') { |
|
$$coursecodes{$course} = $courses{$course}{'inst_code'}; |
|
$totcodes ++; |
|
} |
|
} |
|
} |
|
return $totcodes; |
|
} |
|
|
# --------------------------------------------------- Assign a key to a student |
# --------------------------------------------------- Assign a key to a student |
|
|
sub assign_access_key { |
sub assign_access_key { |
Line 12652 sub default_login_domain {
|
Line 12711 sub default_login_domain {
|
return $domain; |
return $domain; |
} |
} |
|
|
|
sub shared_institution { |
|
my ($dom) = @_; |
|
my $same_intdom; |
|
my $hostintdom = &internet_dom($perlvar{'lonHostID'}); |
|
if ($hostintdom ne '') { |
|
my %iphost = &get_iphost(); |
|
my $primary_id = &domain($dom,'primary'); |
|
my $primary_ip = &get_host_ip($primary_id); |
|
if (ref($iphost{$primary_ip}) eq 'ARRAY') { |
|
foreach my $id (@{$iphost{$primary_ip}}) { |
|
my $intdom = &internet_dom($id); |
|
if ($intdom eq $hostintdom) { |
|
$same_intdom = 1; |
|
last; |
|
} |
|
} |
|
} |
|
} |
|
return $same_intdom; |
|
} |
|
|
# ------------------------------------------------------------- Declutters URLs |
# ------------------------------------------------------------- Declutters URLs |
|
|
sub declutter { |
sub declutter { |