version 1.1172.2.146.2.17, 2024/02/25 05:55:09
|
version 1.1172.2.146.2.18, 2024/02/28 05:34:14
|
Line 2510 sub get_domain_defaults {
|
Line 2510 sub get_domain_defaults {
|
&Apache::lonnet::get_dom('configuration',['defaults','quotas', |
&Apache::lonnet::get_dom('configuration',['defaults','quotas', |
'requestcourses','inststatus', |
'requestcourses','inststatus', |
'coursedefaults','usersessions', |
'coursedefaults','usersessions', |
'requestauthor','selfenrollment', |
'requestauthor','authordefaults', |
'coursecategories','autoenroll', |
'selfenrollment','coursecategories', |
'helpsettings','wafproxy','ltisec', |
'autoenroll','helpsettings', |
'toolsec','domexttool','exttool'], |
'wafproxy','ltisec','toolsec', |
$domain); |
'domexttool','exttool'],$domain); |
my @coursetypes = ('official','unofficial','community','textbook'); |
my @coursetypes = ('official','unofficial','community','textbook'); |
if (ref($domconfig{'defaults'}) eq 'HASH') { |
if (ref($domconfig{'defaults'}) eq 'HASH') { |
$domdefaults{'lang_def'} = $domconfig{'defaults'}{'lang_def'}; |
$domdefaults{'lang_def'} = $domconfig{'defaults'}{'lang_def'}; |
Line 2555 sub get_domain_defaults {
|
Line 2555 sub get_domain_defaults {
|
$domdefaults{$item} = $domconfig{'requestcourses'}{$item}; |
$domdefaults{$item} = $domconfig{'requestcourses'}{$item}; |
} |
} |
} |
} |
|
if (ref($domconfig{'authordefaults'}) eq 'HASH') { |
|
foreach my $item ('nocodemirror','copyright','sourceavail','domcoordacc','editors') { |
|
if ($item eq 'editors') { |
|
if (ref($domconfig{'authordefaults'}{'editors'}) eq 'ARRAY') { |
|
$domdefaults{$item} = join(',',@{$domconfig{'authordefaults'}{'editors'}}); |
|
} |
|
} else { |
|
$domdefaults{$item} = $domconfig{'authordefaults'}{$item}; |
|
} |
|
} |
|
} |
if (ref($domconfig{'requestauthor'}) eq 'HASH') { |
if (ref($domconfig{'requestauthor'}) eq 'HASH') { |
$domdefaults{'requestauthor'} = $domconfig{'requestauthor'}; |
$domdefaults{'requestauthor'} = $domconfig{'requestauthor'}; |
} |
} |
Line 6727 sub rolesinit {
|
Line 6738 sub rolesinit {
|
my %firstaccess = &dump('firstaccesstimes', $domain, $username); |
my %firstaccess = &dump('firstaccesstimes', $domain, $username); |
my %timerinterval = &dump('timerinterval', $domain, $username); |
my %timerinterval = &dump('timerinterval', $domain, $username); |
my (%coursetimerstarts, %firstaccchk, %firstaccenv, %coursetimerintervals, |
my (%coursetimerstarts, %firstaccchk, %firstaccenv, %coursetimerintervals, |
%timerintchk, %timerintenv); |
%timerintchk, %timerintenv,%coauthorenv); |
|
|
foreach my $key (keys(%firstaccess)) { |
foreach my $key (keys(%firstaccess)) { |
my ($cid, $rest) = split(/\0/, $key); |
my ($cid, $rest) = split(/\0/, $key); |
Line 6741 sub rolesinit {
|
Line 6752 sub rolesinit {
|
|
|
my %allroles=(); |
my %allroles=(); |
my %allgroups=(); |
my %allgroups=(); |
|
my %gotcoauconfig=(); |
|
|
for my $area (grep { ! /^rolesdef_/ } keys(%rolesdump)) { |
for my $area (grep { ! /^rolesdef_/ } keys(%rolesdump)) { |
my $role = $rolesdump{$area}; |
my $role = $rolesdump{$area}; |
Line 6792 sub rolesinit {
|
Line 6804 sub rolesinit {
|
} else { |
} else { |
# Normal role, defined in roles.tab |
# Normal role, defined in roles.tab |
&standard_roleprivs(\%allroles,$trole,$tdomain,$spec,$trest,$area); |
&standard_roleprivs(\%allroles,$trole,$tdomain,$spec,$trest,$area); |
|
if (($trole eq 'ca') || ($trole eq 'aa')) { |
|
(undef,my ($audom,$auname)) = split(/\//,$area); |
|
unless ($gotcoauconfig{$area}) { |
|
my @ca_settings = ('authoreditors'); |
|
my %info = &userenvironment($audom,$auname,@ca_settings); |
|
$gotcoauconfig{$area} = 1; |
|
foreach my $item (@ca_settings) { |
|
if (exists($info{$item})) { |
|
my $name = $item; |
|
if ($item eq 'authoreditors') { |
|
$name = 'editors'; |
|
} |
|
$coauthorenv{"environment.internal.$name.$area"} = $info{$item}; |
|
} |
|
} |
|
} |
|
} |
} |
} |
|
|
my $cid = $tdomain.'_'.$trest; |
my $cid = $tdomain.'_'.$trest; |
Line 6820 sub rolesinit {
|
Line 6849 sub rolesinit {
|
$env{'user.adv'} = $userroles{'user.adv'}; |
$env{'user.adv'} = $userroles{'user.adv'}; |
$env{'user.rar'} = $userroles{'user.rar'}; |
$env{'user.rar'} = $userroles{'user.rar'}; |
|
|
return (\%userroles,\%firstaccenv,\%timerintenv); |
return (\%userroles,\%firstaccenv,\%timerintenv,\%coauthorenv); |
} |
} |
|
|
sub set_arearole { |
sub set_arearole { |
Line 7968 sub usertools_access {
|
Line 7997 sub usertools_access {
|
%tools = ( |
%tools = ( |
requestauthor => 1, |
requestauthor => 1, |
); |
); |
|
} elsif ($context eq 'authordefaults') { |
|
%tools = ( |
|
webdav => 1, |
|
); |
} else { |
} else { |
%tools = ( |
%tools = ( |
aboutme => 1, |
aboutme => 1, |
blog => 1, |
blog => 1, |
webdav => 1, |
|
portfolio => 1, |
portfolio => 1, |
timezone => 1, |
timezone => 1, |
); |
); |
Line 7990 sub usertools_access {
|
Line 8022 sub usertools_access {
|
return $env{'environment.canrequest.'.$tool}; |
return $env{'environment.canrequest.'.$tool}; |
} elsif ($context eq 'requestauthor') { |
} elsif ($context eq 'requestauthor') { |
return $env{'environment.canrequest.author'}; |
return $env{'environment.canrequest.author'}; |
|
} elsif ($context eq 'authordefaults') { |
|
if ($tool eq 'webdav') { |
|
return $env{'environment.availabletools.'.$tool}; |
|
} |
} else { |
} else { |
return $env{'environment.availabletools.'.$tool}; |
return $env{'environment.availabletools.'.$tool}; |
} |
} |
Line 7999 sub usertools_access {
|
Line 8035 sub usertools_access {
|
my ($toolstatus,$inststatus,$envkey); |
my ($toolstatus,$inststatus,$envkey); |
if ($context eq 'requestauthor') { |
if ($context eq 'requestauthor') { |
$envkey = $context; |
$envkey = $context; |
|
} elsif ($context eq 'authordefaults') { |
|
if ($tool eq 'webdav') { |
|
$envkey = 'tools.'.$tool; |
|
} |
} else { |
} else { |
$envkey = $context.'.'.$tool; |
$envkey = $context.'.'.$tool; |
} |
} |