'.
- &mt('Number of seconds submit is disabled').' '.
- ''.&mt('Enter 0 to remain disabled until page reload.').' '.
- '
';
+ ''.&mt('Number of seconds submit is disabled').'
';
foreach my $type (@types) {
$additional .= '
'.&mt($type).' '.
''.
&mt('Nothing to set here, as the cluster to which this domain belongs only contains one server.');
@@ -3608,7 +3543,7 @@ sub current_offloads_to {
}
sub spares_row {
- my ($dom,$servers,$spareid,$serverhomes,$altids,$curroffloadnow,$rowtotal) = @_;
+ my ($dom,$servers,$spareid,$serverhomes,$altids,$rowtotal) = @_;
my $css_class;
my $numinrow = 4;
my $itemcount = 1;
@@ -3628,21 +3563,12 @@ sub spares_row {
}
}
next unless (ref($spareid->{$server}) eq 'HASH');
- my $checkednow;
- if (ref($curroffloadnow) eq 'HASH') {
- if ($curroffloadnow->{$server}) {
- $checkednow = ' checked="checked"';
- }
- }
$css_class = $itemcount%2 ? ' class="LC_odd_row"' : '';
$datatable .= '
'.
&mt('[_1] when busy, offloads to:'
- ,''.$server.'').' '.
- ''."\n".
- ''.
- ' '.&mt('Switch active users on next access').''.
+ ,''.$server.'').
"\n";
my (%current,%canselect);
my @choices =
@@ -4769,8 +4695,11 @@ sub print_defaults {
my $includeempty = 1;
$datatable .= &Apache::loncommon::select_datelocale($item,$defaults{$item},undef,$includeempty);
} elsif ($item eq 'lang_def') {
- my $includeempty = 1;
- $datatable .= &Apache::loncommon::select_language($item,$defaults{$item},$includeempty);
+ my %langchoices = &get_languages_hash();
+ $langchoices{''} = 'No language preference';
+ %langchoices = &Apache::lonlocal::texthash(%langchoices);
+ $datatable .= &Apache::loncommon::select_form($defaults{$item},$item,
+ \%langchoices);
} else {
my $size;
if ($item eq 'portal_def') {
@@ -4839,7 +4768,7 @@ sub print_defaults {
$datatable .= '';
}
$datatable .= ' '.&mt('Internal ID:').
- ''.
+ ''.
' '.&mt('(new)').
'
'.
&mt('Name displayed:').
@@ -5376,12 +5305,12 @@ sub serverstatus_pages {
return ('userstatus','lonstatus','loncron','server-status','codeversions',
'checksums','clusterstatus','metadata_keywords','metadata_harvest',
'takeoffline','takeonline','showenv','toggledebug','ping','domconf',
- 'uniquecodes','diskusage','coursecatalog');
+ 'uniquecodes','diskusage');
}
sub defaults_javascript {
my ($settings) = @_;
- return unless (ref($settings) eq 'HASH');
+ return unless (ref($settings) eq 'HASH');
if ((ref($settings->{'inststatusorder'}) eq 'ARRAY') && (ref($settings->{'inststatustypes'}) eq 'HASH')) {
my $maxnum = scalar(@{$settings->{'inststatusorder'}});
if ($maxnum eq '') {
@@ -6120,7 +6049,6 @@ sub modify_login {
$errors .= '
'.$puberror.'
';
if ((grep(/^\Q$lang\E$/,@currlangs)) &&
(!grep(/^\Q$lang\E$/,@delurls))) {
-
$loginhash{'login'}{'helpurl'}{$lang} = $domconfig{'login'}{'helpurl'}{$lang};
}
}
@@ -6163,7 +6091,7 @@ sub modify_login {
} elsif ($currheadtagurls{$lonhost}) {
$loginhash{'login'}{'headtag'}{$lonhost}{'url'} = $currheadtagurls{$lonhost};
if ($currexempt{$lonhost}) {
- if ((!exists($possexempt{$lonhost})) || ($possexempt{$lonhost} ne $currexempt{$lonhost})) {
+ if ((!exists($possexempt{$lonhost})) || ($possexempt{$lonhost} ne $currexempt{$lonhost})) {
$changes{'headtag'}{$lonhost} = 1;
}
} elsif ($possexempt{$lonhost}) {
@@ -6214,7 +6142,6 @@ sub modify_login {
$errors .= '
'.$error.'
';
}
}
-
&process_captcha('login',\%changes,$loginhash{'login'},$domconfig{'login'});
my $defaulthelpfile = '/adm/loginproblems.html';
@@ -6389,6 +6316,7 @@ sub modify_login {
return $resulttext;
}
+
sub check_exempt_addresses {
my ($iplist) = @_;
$iplist =~ s/^\s+//;
@@ -7298,7 +7226,7 @@ sub modify_quotas {
my $newpos = $env{'form.'.$itemid};
$newpos =~ s/\D+//g;
foreach my $item ('subject','title','publisher','author') {
- next if ((($item eq 'author') || ($item eq 'publisher')) &&
+ next if ((($item eq 'author') || ($item eq 'publisher')) &&
($type eq 'templates'));
$confhash{$type}{$key}{$item} = $env{'form.'.$type.'_'.$item.'_'.$i};
if ($domconfig{$action}{$type}{$key}{$item} ne $confhash{$type}{$key}{$item}) {
@@ -7395,14 +7323,10 @@ sub modify_quotas {
if (@{$confhash{'validation'}{$item}} > 0) {
@{$confhash{'validation'}{$item}} = sort(@{$confhash{'validation'}{$item}});
}
- if (ref($domconfig{'requestcourses'}) eq 'HASH') {
- if (ref($domconfig{'requestcourses'}{'validation'}) eq 'HASH') {
- if (ref($domconfig{'requestcourses'}{'validation'}{$item}) eq 'ARRAY') {
- @changed = &Apache::loncommon::compare_arrays($confhash{'validation'}{$item},
- $domconfig{'requestcourses'}{'validation'}{$item});
- } else {
- @changed = @{$confhash{'validation'}{$item}};
- }
+ if (ref($domconfig{'requestcourses'}{'validation'}) eq 'HASH') {
+ if (ref($domconfig{'requestcourses'}{'validation'}{$item}) eq 'ARRAY') {
+ @changed = &Apache::loncommon::compare_arrays($confhash{'validation'}{$item},
+ $domconfig{'requestcourses'}{'validation'}{$item});
} else {
@changed = @{$confhash{'validation'}{$item}};
}
@@ -7423,15 +7347,9 @@ sub modify_quotas {
$env{'form.requestcourses_validation_'.$item} =~ s/[\n\r\f]+/\s/gs;
}
}
- if (ref($domconfig{'requestcourses'}) eq 'HASH') {
- if (ref($domconfig{'requestcourses'}{'validation'}) eq 'HASH') {
- if ($domconfig{'requestcourses'}{'validation'}{$item} ne $confhash{'validation'}{$item}) {
- $changes{'validation'}{$item} = $confhash{'validation'}{$item};
- }
- } else {
- if ($confhash{'validation'}{$item} ne '') {
- $changes{'validation'}{$item} = $confhash{'validation'}{$item};
- }
+ if (ref($domconfig{'requestcourses'}{'validation'}) eq 'HASH') {
+ if ($domconfig{'requestcourses'}{'validation'}{$item} ne $confhash{'validation'}{$item}) {
+ $changes{'validation'}{$item} = $confhash{'validation'}{$item};
}
} else {
if ($confhash{'validation'}{$item} ne '') {
@@ -7449,18 +7367,14 @@ sub modify_quotas {
}
}
if (ref($confhash{'validation'}) eq 'HASH') {
- if (ref($domconfig{'requestcourses'}) eq 'HASH') {
- if (ref($domconfig{'requestcourses'}{'validation'}) eq 'HASH') {
- if ($domconfig{'requestcourses'}{'validation'}{'dc'}) {
- unless ($confhash{'validation'}{'dc'} eq $domconfig{'requestcourses'}{'validation'}{'dc'}) {
- if ($confhash{'validation'}{'dc'} eq '') {
- $changes{'validation'}{'dc'} = &mt('None');
- } else {
- $changes{'validation'}{'dc'} = $confhash{'validation'}{'dc'};
- }
+ if (ref($domconfig{'requestcourses'}{'validation'}) eq 'HASH') {
+ if ($domconfig{'requestcourses'}{'validation'}{'dc'}) {
+ unless ($confhash{'validation'}{'dc'} eq $domconfig{'requestcourses'}{'validation'}{'dc'}) {
+ if ($confhash{'validation'}{'dc'} eq '') {
+ $changes{'validation'}{'dc'} = &mt('None');
+ } else {
+ $changes{'validation'}{'dc'} = $confhash{'validation'}{'dc'};
}
- } elsif ($confhash{'validation'}{'dc'} ne '') {
- $changes{'validation'}{'dc'} = $confhash{'validation'}{'dc'};
}
} elsif ($confhash{'validation'}{'dc'} ne '') {
$changes{'validation'}{'dc'} = $confhash{'validation'}{'dc'};
@@ -7468,13 +7382,9 @@ sub modify_quotas {
} elsif ($confhash{'validation'}{'dc'} ne '') {
$changes{'validation'}{'dc'} = $confhash{'validation'}{'dc'};
}
- } else {
- if (ref($domconfig{'requestcourses'}) eq 'HASH') {
- if (ref($domconfig{'requestcourses'}{'validation'}) eq 'HASH') {
- if ($domconfig{'requestcourses'}{'validation'}{'dc'}) {
- $changes{'validation'}{'dc'} = &mt('None');
- }
- }
+ } elsif (ref($domconfig{'requestcourses'}{'validation'}) eq 'HASH') {
+ if ($domconfig{'requestcourses'}{'validation'}{'dc'}) {
+ $changes{'validation'}{'dc'} = &mt('None');
}
}
}
@@ -10317,10 +10227,11 @@ sub modify_coursedefaults {
my ($dom,$lastactref,%domconfig) = @_;
my ($resulttext,$errors,%changes,%defaultshash);
my %defaultchecked = (
+ 'canuse_pdfforms' => 'off',
'uselcmath' => 'on',
'usejsme' => 'on'
);
- my @toggles = ('uselcmath','usejsme');
+ my @toggles = ('canuse_pdfforms','uselcmath','usejsme');
my @numbers = ('anonsurvey_threshold','uploadquota_official','uploadquota_unofficial',
'uploadquota_community','uploadquota_textbook');
my @types = ('official','unofficial','community','textbook');
@@ -10388,42 +10299,7 @@ sub modify_coursedefaults {
}
}
}
- my $currclone = $domconfig{'coursedefaults'}{'canclone'};
- my @currclonecode;
- if (ref($currclone) eq 'HASH') {
- if (ref($currclone->{'instcode'}) eq 'ARRAY') {
- @currclonecode = @{$currclone->{'instcode'}};
- }
- }
- my $newclone;
- if ($env{'form.canclone'} =~ /^(none|domain|instcode)$/) {
- $newclone = $env{'form.canclone'};
- }
- if ($newclone eq 'instcode') {
- my @newcodes = &Apache::loncommon::get_env_multiple('form.clonecode');
- my (%codedefaults,@code_order,@clonecode);
- &Apache::lonnet::auto_instcode_defaults($dom,\%codedefaults,
- \@code_order);
- foreach my $item (@code_order) {
- if (grep(/^\Q$item\E$/,@newcodes)) {
- push(@clonecode,$item);
- }
- }
- if (@clonecode) {
- $defaultshash{'coursedefaults'}{'canclone'} = { $newclone => \@clonecode };
- my @diffs = &Apache::loncommon::compare_arrays(\@currclonecode,\@clonecode);
- if (@diffs) {
- $changes{'canclone'} = 1;
- }
- } else {
- $newclone eq '';
- }
- } elsif ($newclone ne '') {
- $defaultshash{'coursedefaults'}{'canclone'} = $newclone;
- }
- if ($newclone ne $currclone) {
- $changes{'canclone'} = 1;
- }
+
my %credits;
foreach my $type (@types) {
unless ($type eq 'community') {
@@ -10438,10 +10314,10 @@ sub modify_coursedefaults {
$defaultshash{'coursedefaults'}{'coursecredits'}{$type} = $credits{$type};
}
} else {
- if ($env{'form.coursecredits'} eq '1') {
+ if ($env{'form.coursecredits'} eq '1') {
foreach my $type (@types) {
unless ($type eq 'community') {
- if ($domconfig{'coursedefaults'}{'coursecredits'}{$type} ne $credits{$type}) {
+ if ($domconfig{'coursedefaults'}{'coursecredits'}{$type} ne $credits{$type}) {
$changes{'coursecredits'} = 1;
}
$defaultshash{'coursedefaults'}{'coursecredits'}{$type} = $credits{$type};
@@ -10484,7 +10360,7 @@ sub modify_coursedefaults {
}
if (exists($currtimeout{$type})) {
if ($timeout ne $currtimeout{$type}) {
- $changes{'postsubmit'} = 1;
+ $changes{'postsubmit'} = 1;
}
} elsif ($timeout ne '') {
$changes{'postsubmit'} = 1;
@@ -10506,14 +10382,13 @@ sub modify_coursedefaults {
if ($putresult eq 'ok') {
if (keys(%changes) > 0) {
my %domdefaults = &Apache::lonnet::get_domain_defaults($dom,1);
- if (($changes{'uploadquota'}) || ($changes{'postsubmit'}) ||
- ($changes{'coursecredits'}) || ($changes{'uselcmath'}) || ($changes{'usejsme'}) ||
- ($changes{'canclone'})) {
- foreach my $item ('uselcmath','usejsme') {
+ if (($changes{'canuse_pdfforms'}) || ($changes{'uploadquota'}) || ($changes{'postsubmit'}) ||
+ ($changes{'coursecredits'}) || ($changes{'uselcmath'}) || ($changes{'usejsme'})) {
+ foreach my $item ('canuse_pdfforms','uselcmath','usejsme') {
if ($changes{$item}) {
$domdefaults{$item}=$defaultshash{'coursedefaults'}{$item};
}
- }
+ }
if ($changes{'coursecredits'}) {
if (ref($defaultshash{'coursedefaults'}{'coursecredits'}) eq 'HASH') {
foreach my $type (keys(%{$defaultshash{'coursedefaults'}{'coursecredits'}})) {
@@ -10540,18 +10415,6 @@ sub modify_coursedefaults {
}
}
}
- if ($changes{'canclone'}) {
- if (ref($defaultshash{'coursedefaults'}{'canclone'}) eq 'HASH') {
- if (ref($defaultshash{'coursedefaults'}{'canclone'}{'instcode'}) eq 'ARRAY') {
- my @clonecodes = @{$defaultshash{'coursedefaults'}{'canclone'}{'instcode'}};
- if (@clonecodes) {
- $domdefaults{'canclone'} = join('+',@clonecodes);
- }
- }
- } else {
- $domdefaults{'canclone'}=$defaultshash{'coursedefaults'}{'canclone'};
- }
- }
my $cachetime = 24*60*60;
&Apache::lonnet::do_cache_new('domdefaults',$dom,\%domdefaults,$cachetime);
if (ref($lastactref) eq 'HASH') {
@@ -10560,7 +10423,13 @@ sub modify_coursedefaults {
}
$resulttext = &mt('Changes made:').'
';
foreach my $item (sort(keys(%changes))) {
- if ($item eq 'uselcmath') {
+ if ($item eq 'canuse_pdfforms') {
+ if ($env{'form.'.$item} eq '1') {
+ $resulttext .= '
'.&mt("Course/Community users can create/upload PDF forms set to 'on'").'
';
+ } else {
+ $resulttext .= '
'.&mt('Course/Community users can create/upload PDF forms set to "off"').'
'.&mt('Submit button(s) remain enabled on page after student makes submission.');
} else {
$resulttext .= '
'.&mt('Submit button(s) disabled on page after student makes submission').'; ';
- if (ref($defaultshash{'coursedefaults'}{'postsubmit'}) eq 'HASH') {
+ if (ref($defaultshash{'coursedefaults'}{'postsubmit'}) eq 'HASH') {
$resulttext .= &mt('durations:').'