--- loncom/interface/domainprefs.pm 2024/02/24 23:41:44 1.434
+++ loncom/interface/domainprefs.pm 2024/05/21 02:57:15 1.441
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set domain-wide configuration settings
#
-# $Id: domainprefs.pm,v 1.434 2024/02/24 23:41:44 raeburn Exp $
+# $Id: domainprefs.pm,v 1.441 2024/05/21 02:57:15 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -386,7 +386,7 @@ sub handler {
help => 'Domain_Configuration_Quotas',
header => [{col1 => 'User affiliation',
col2 => 'Available tools',
- col3 => 'Portfilo quota (MB)',}],
+ col3 => 'Portfolio quota (MB)',}],
print => \&print_quotas,
modify => \&modify_quotas,
},
@@ -670,7 +670,7 @@ sub handler {
{col1 => 'Rules for shared secrets',
col2 => 'Settings'},
{col1 => 'Link Protectors in Courses',
- col2 => 'Values'},
+ col2 => 'Values'},
{col1 => 'Link Protectors',
col2 => 'Settings'},
{col1 => 'Consumers',
@@ -686,7 +686,7 @@ sub handler {
print => \&print_ipaccess,
modify => \&modify_ipaccess,
},
- 'authordefaults' =>
+ 'authordefaults' =>
{text => 'Authoring Space defaults',
help => 'Domain_Configuration_Author_Defaults',
header => [{col1 => 'Defaults which can be overridden by Author',
@@ -6917,6 +6917,7 @@ sub print_coursedefaults {
domexttool => 'External Tools defined in the domain may be used in courses/communities (by type)',
exttool => 'External Tools can be defined and configured in courses/communities (by type)',
crsauthor => 'Standard LON-CAPA problems can be created within a course/community (by type)',
+ crseditors => 'Available editors for web pages and/or problems created in a course/community',
);
my %staticdefaults = (
anonsurvey_threshold => 10,
@@ -6927,6 +6928,7 @@ sub print_coursedefaults {
domexttool => 1,
exttool => 0,
crsauthor => 1,
+ crseditors => ['edit','xml'],
);
if ($position eq 'top') {
%defaultchecked = (
@@ -7048,6 +7050,7 @@ sub print_coursedefaults {
my %domexttool;
my %exttool;
my %crsauthor;
+ my %crseditors;
my @types = ('official','unofficial','community','textbook','placement');
if (ref($settings) eq 'HASH') {
if ($settings->{'ltiauth'}) {
@@ -7086,6 +7089,15 @@ sub print_coursedefaults {
}
}
}
+ if (ref($settings->{'crseditors'}) eq 'ARRAY') {
+ foreach my $editor (@{$settings->{'crseditors'}}) {
+ $crseditors{$editor} = ' checked="checked"';
+ }
+ } else {
+ foreach my $editor (@{$staticdefaults{'crseditors'}}) {
+ $crseditors{$editor} = ' checked="checked"';
+ }
+ }
$currdefresponder = $settings->{'anonsurvey_threshold'};
if (ref($settings->{'uploadquota'}) eq 'HASH') {
foreach my $type (keys(%{$settings->{'uploadquota'}})) {
@@ -7149,6 +7161,9 @@ sub print_coursedefaults {
$crsauthor{$type} = ' checked="checked"';
}
}
+ foreach my $editor (@{$staticdefaults{'crseditors'}}) {
+ $crseditors{$editor} = ' checked="checked"';
+ }
}
if (!$currdefresponder) {
$currdefresponder = $staticdefaults{'anonsurvey_threshold'};
@@ -7276,9 +7291,9 @@ sub print_coursedefaults {
foreach my $type (@types) {
$datatable .= '
'.
''.
- ''.
- &mt($type).' | '."\n";
+ &mt($type).''."\n";
}
$datatable .= ''."\n";
$itemcount ++;
@@ -7291,9 +7306,9 @@ sub print_coursedefaults {
foreach my $type (@types) {
$datatable .= ''.
''.
- ''.
- &mt($type).' | '."\n";
+ &mt($type).''."\n";
}
$datatable .= ''."\n";
$itemcount ++;
@@ -7306,9 +7321,26 @@ sub print_coursedefaults {
foreach my $type (@types) {
$datatable .= ''.
''.
- ''.
- &mt($type).' | '."\n";
+ &mt($type).''."\n";
+ }
+ $datatable .= ''."\n";
+ $itemcount ++;
+ $css_class = $itemcount%2 ? ' class="LC_odd_row"' : '';
+ $datatable .= ''.
+ $choices{'crseditors'}.
+ ' | '.
+ ''.
+ ' |
'."\n";
}
@@ -7316,6 +7348,14 @@ sub print_coursedefaults {
return $datatable;
}
+sub crseditor_titles {
+ return &Apache::lonlocal::texthash(
+ edit => 'Standard editor (Edit)',
+ xml => 'Text editor (EditXML)',
+ daxe => 'Daxe editor (Daxe)',
+ );
+}
+
sub print_authordefaults {
my ($position,$dom,$settings,$rowtotal) = @_;
my ($css_class,$datatable,%checkedon,%checkedoff);
@@ -7324,9 +7364,10 @@ sub print_authordefaults {
if ($position eq 'top') {
my %defaultchecked = (
'nocodemirror' => 'off',
+ 'daxecollapse' => 'off',
'domcoordacc' => 'on',
);
- my @toggles = ('nocodemirror','domcoordacc');
+ my @toggles = ('nocodemirror','daxecollapse','domcoordacc');
($datatable,$itemcount) = &radiobutton_prefs($settings,\@toggles,\%defaultchecked,
\%titles,$itemcount);
my %staticdefaults = (
@@ -7445,7 +7486,7 @@ sub print_authordefaults {
my $checkedno = ' checked="checked"';
my ($checkedon,$checkedoff);
if (ref($quotas{'webdav'}) eq 'HASH') {
- if ($quotas{'webdav'}{'_LC_adv'} =~ /^0|1$/) {
+ if ($quotas{'webdav'}{'_LC_adv'} =~ /^0|1$/) {
if ($quotas{'webdav'}{'_LC_adv'}) {
$checkedon = $checkedno;
} else {
@@ -7474,7 +7515,7 @@ sub print_authordefaults {
$text = $titles{'overon'};
$val = 1;
$checked = $checkedon;
- }
+ }
$datatable .= '