--- loncom/interface/domainprefs.pm 2008/05/31 23:37:46 1.54
+++ loncom/interface/domainprefs.pm 2008/06/24 15:01:23 1.56
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set domain-wide configuration settings
#
-# $Id: domainprefs.pm,v 1.54 2008/05/31 23:37:46 raeburn Exp $
+# $Id: domainprefs.pm,v 1.56 2008/06/24 15:01:23 bisitz Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -300,10 +300,10 @@ sub handler {
$r->print('
'.&mt('Functionality to display/modify').'
');
$r->print(''."\n".''."\n".'
'.
- '
');
my ($numitems,$midpoint,$seconddiv,$count);
@@ -314,7 +314,7 @@ sub handler {
}
$count = 0;
foreach my $item (@prefs_order) {
- $r->print('
');
+ $r->print('');
$count ++;
if ((!$seconddiv) && ($count >= $midpoint)) {
$r->print(''."\n".''."\n");
@@ -2474,34 +2474,36 @@ sub modify_login {
'adminmail' => 'off',
'newuser' => 'off',
);
- foreach my $item (@toggles) {
- if ($defaultchecked{$item} eq 'on') {
- if (($domconfig{'login'}{$item} eq '0') &&
- ($env{'form.'.$item} eq '1')) {
- $changes{$item} = 1;
- } elsif (($domconfig{'login'}{$item} eq '' ||
- $domconfig{'login'}{$item} eq '1') &&
- ($env{'form.'.$item} eq '0')) {
- $changes{$item} = 1;
- }
- } elsif ($defaultchecked{$item} eq 'off') {
- if (($domconfig{'login'}{$item} eq '1') &&
- ($env{'form.'.$item} eq '0')) {
- $changes{$item} = 1;
- } elsif (($domconfig{'login'}{$item} eq '' ||
- $domconfig{'login'}{$item} eq '0') &&
- ($env{'form.'.$item} eq '1')) {
- $changes{$item} = 1;
+ if (ref($domconfig{'login'}) eq 'HASH') {
+ foreach my $item (@toggles) {
+ if ($defaultchecked{$item} eq 'on') {
+ if (($domconfig{'login'}{$item} eq '0') &&
+ ($env{'form.'.$item} eq '1')) {
+ $changes{$item} = 1;
+ } elsif (($domconfig{'login'}{$item} eq '' ||
+ $domconfig{'login'}{$item} eq '1') &&
+ ($env{'form.'.$item} eq '0')) {
+ $changes{$item} = 1;
+ }
+ } elsif ($defaultchecked{$item} eq 'off') {
+ if (($domconfig{'login'}{$item} eq '1') &&
+ ($env{'form.'.$item} eq '0')) {
+ $changes{$item} = 1;
+ } elsif (($domconfig{'login'}{$item} eq '' ||
+ $domconfig{'login'}{$item} eq '0') &&
+ ($env{'form.'.$item} eq '1')) {
+ $changes{$item} = 1;
+ }
}
}
- }
- if (($domconfig{'login'}{'loginheader'} eq 'text') &&
- ($env{'form.loginheader'} eq 'image')) {
- $changes{'loginheader'} = 1;
- } elsif (($domconfig{'login'}{'loginheader'} eq '' ||
- $domconfig{'login'}{'loginheader'} eq 'image') &&
- ($env{'form.loginheader'} eq 'text')) {
- $changes{'loginheader'} = 1;
+ if (($domconfig{'login'}{'loginheader'} eq 'text') &&
+ ($env{'form.loginheader'} eq 'image')) {
+ $changes{'loginheader'} = 1;
+ } elsif (($domconfig{'login'}{'loginheader'} eq '' ||
+ $domconfig{'login'}{'loginheader'} eq 'image') &&
+ ($env{'form.loginheader'} eq 'text')) {
+ $changes{'loginheader'} = 1;
+ }
}
if (keys(%changes) > 0 || $colchgtext) {
&Apache::loncommon::devalidate_domconfig_cache($dom);
@@ -2534,6 +2536,7 @@ sub color_font_choices {
img => "Header",
bgs => "Background colors",
links => "Link colors",
+ images => "Images",
font => "Font color",
pgbg => "Page",
tabbg => "Header",
@@ -2549,6 +2552,11 @@ sub modify_rolecolors {
my ($r,$dom,$confname,$roles,%domconfig) = @_;
my ($resulttext,%rolehash);
$rolehash{'rolecolors'} = {};
+ if (ref($domconfig{'rolecolors'}) ne 'HASH') {
+ if ($domconfig{'rolecolors'} eq '') {
+ $domconfig{'rolecolors'} = {};
+ }
+ }
my ($errors,%changes) = &modify_colors($r,$dom,$confname,$roles,
$domconfig{'rolecolors'},$rolehash{'rolecolors'});
my $putresult = &Apache::lonnet::put_dom('configuration',\%rolehash,
@@ -3144,7 +3152,11 @@ sub modify_quotas {
}
foreach my $key (keys(%formhash)) {
if ($formhash{$key} ne '') {
- if (!exists($domconfig{'quotas'}{$key})) {
+ if (ref($domconfig{'quotas'}) eq 'HASH') {
+ if (!exists($domconfig{'quotas'}{$key})) {
+ $changes{$key} = 1;
+ }
+ } else {
$changes{$key} = 1;
}
}
@@ -4247,8 +4259,10 @@ sub modify_coursecategories {
my ($dom,%domconfig) = @_;
my ($resulttext,%deletions,%reorderings,%needreordering,%adds,$errors);
my @deletecategory = &Apache::loncommon::get_env_multiple('form.deletecategory');
- if (($domconfig{'coursecategories'}{'instcode::0'} ne '') && ($env{'form.instcode'} == 0)) {
- push (@deletecategory,'instcode::0');
+ if (ref($domconfig{'coursecategories'}) eq 'HASH') {
+ if (($domconfig{'coursecategories'}{'instcode::0'} ne '') && ($env{'form.instcode'} == 0)) {
+ push (@deletecategory,'instcode::0');
+ }
}
my (@predelcats,@predeltrails,%predelallitems);
if (ref($domconfig{'coursecategories'}) eq 'HASH') {