--- loncom/lonnet/perl/lonnet.pm 2024/02/24 23:41:44 1.1523 +++ loncom/lonnet/perl/lonnet.pm 2024/05/01 12:06:25 1.1526 @@ -1,7 +1,7 @@ # The LearningOnline Network # TCP networking package # -# $Id: lonnet.pm,v 1.1523 2024/02/24 23:41:44 raeburn Exp $ +# $Id: lonnet.pm,v 1.1526 2024/05/01 12:06:25 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2858,6 +2858,9 @@ sub get_domain_defaults { } else { $domdefaults{$type.'crsauthor'} = 1; } + if (ref($domconfig{'coursedefaults'}{'crseditors'}) eq 'ARRAY') { + $domdefaults{'crseditors'}=join(',',@{$domconfig{'coursedefaults'}{'crseditors'}}); + } } if (ref($domconfig{'coursedefaults'}{'canclone'}) eq 'HASH') { if (ref($domconfig{'coursedefaults'}{'canclone'}{'instcode'}) eq 'ARRAY') { @@ -7009,6 +7012,7 @@ sub rolesinit { my %allroles=(); my %allgroups=(); my %gotcoauconfig=(); + my %domdefaults=(); for my $area (grep { ! /^rolesdef_/ } keys(%rolesdump)) { my $role = $rolesdump{$area}; @@ -7071,6 +7075,20 @@ sub rolesinit { my $name = $item; if ($item eq 'authoreditors') { $name = 'editors'; + unless ($info{'authoreditors'}) { + my %domdefs; + if (ref($domdefaults{$audom}) eq 'HASH') { + %domdefs = %{$domdefaults{$audom}}; + } else { + %domdefs = &get_domain_defaults($audom); + $domdefaults{$audom} = \%domdefs; + } + if ($domdefs{$name} ne '') { + $info{'authoreditors'} = $domdefs{$name}; + } else { + $info{'authoreditors'} = 'edit,xml'; + } + } } $coauthorenv{"environment.internal.$name.$area"} = $info{$item}; } @@ -8287,6 +8305,7 @@ sub usertools_access { %tools = ( aboutme => 1, blog => 1, + webdav => 1, portfolio => 1, portaccess => 1, timezone => 1,