--- loncom/interface/domainprefs.pm 2009/09/14 15:47:17 1.76.4.1 +++ loncom/interface/domainprefs.pm 2008/12/17 22:12:53 1.79 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set domain-wide configuration settings # -# $Id: domainprefs.pm,v 1.76.4.1 2009/09/14 15:47:17 raeburn Exp $ +# $Id: domainprefs.pm,v 1.79 2008/12/17 22:12:53 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -39,7 +39,7 @@ use Apache::lonlocal; use Apache::lonmsg(); use LONCAPA qw(:DEFAULT :match); use LONCAPA::Enrollment; -use LONCAPA::lonauthcgi(); +use LONCAPA::loncgi(); use File::Copy; use Locale::Language; use DateTime::TimeZone; @@ -107,7 +107,7 @@ sub handler { 'quotas' => { text => 'User blogs, home pages and portfolios', help => 'Domain_Configuration_Quotas', - header => [{col1 => 'User type', + header => [{col1 => 'User affiliation', col2 => 'Available tools', col3 => 'Portfolio quota',}], }, @@ -175,7 +175,7 @@ sub handler { }], }, 'serverstatuses' => - {text => 'Access to Server Status Pages', + {text => 'Access to server status pages', help => 'Domain_Configuration_Server_Status', header => [{col1 => 'Status Page', col2 => 'Other named users', @@ -817,9 +817,9 @@ sub login_choices { bgs => "Background colors", links => "Link colors", font => "Font color", - pgbg => "Page", - mainbg => "Main panel", - sidebg => "Side panel", + pgbg => "Header", + mainbg => "Page", + sidebg => "Login box", link => "Link", alink => "Active link", vlink => "Visited link", @@ -1330,7 +1330,7 @@ sub print_quotas { '  '; } $datatable .= '('.&mt('overrides affiliation'). - ')'; + ')'; $$rowtotal += $typecount; return $datatable; } @@ -1571,7 +1571,7 @@ sub print_contacts { my $datatable; my @contacts = ('adminemail','supportemail'); my (%checked,%to,%otheremails); - my @mailings = ('errormail','packagesmail','lonstatusmail','helpdeskmail'); + my @mailings = ('errormail','packagesmail','helpdeskmail'); foreach my $type (@mailings) { $otheremails{$type} = ''; } @@ -1591,8 +1591,6 @@ sub print_contacts { } $otheremails{$type} = $settings->{$type}{'others'}; } - } elsif ($type eq 'lonstatusmail') { - $checked{'lonstatusmail'}{'adminemail'} = ' checked="checked" '; } } } else { @@ -1600,8 +1598,7 @@ sub print_contacts { $to{'adminemail'} = $Apache::lonnet::perlvar{'lonAdmEMail'}; $checked{'errormail'}{'adminemail'} = ' checked="checked" '; $checked{'packagesmail'}{'adminemail'} = ' checked="checked" '; - $checked{'helpdeskmail'}{'supportemail'} = ' checked="checked" '; - $checked{'lonstatusmail'}{'adminemail'} = ' checked="checked" '; + $checked{'helpdeskmail'}{'supportemail'} = ' checked="checked" '; } my ($titles,$short_titles) = &contact_titles(); my $rownum = 0; @@ -1645,8 +1642,7 @@ sub contact_titles { 'adminemail' => 'Default Server Admin E-mail address', 'errormail' => 'Error reports to be e-mailed to', 'packagesmail' => 'Package update alerts to be e-mailed to', - 'helpdeskmail' => 'Helpdesk requests to be e-mailed to', - 'lonstatusmail' => 'E-mail from nightly status check (warnings/errors)', + 'helpdeskmail' => 'Helpdesk requests to be e-mailed to' ); my %short_titles = &Apache::lonlocal::texthash ( adminemail => 'Admin E-mail address', @@ -2377,7 +2373,7 @@ sub print_serverstatuses { } } } - my $titles= &LONCAPA::lonauthcgi::serverstatus_titles(); + my $titles= &LONCAPA::loncgi::serverstatus_titles(); my $rownum = 0; my $css_class; foreach my $type (@pages) { @@ -3616,16 +3612,10 @@ sub modify_quotas { } $resulttext .= ''; } - my %newenv; foreach my $item (@usertools) { if (ref($changes{$item}) eq 'HASH') { - my $newacc = - &Apache::lonnet::usertools_access($env{'user.name'}, - $env{'user.domain'}, - $item,'reload'); - if ($env{'environment.availabletools.'.$item} ne $newacc) { - $newenv{'environment.availabletools.'.$item} = $newacc; - } + my $hashid = $env{'user.name'}.':'.$env{'user.domain'}; + &Apache::lonnet::devalidate_cache_new('usertools.'.$item,$hashid); $resulttext .= '
  • '.$titles{$item}.''; - if (keys(%newenv)) { - &Apache::lonnet::appenv(\%newenv); - } } else { $resulttext = &mt('No changes made to availability of home pages, blogs, portfolios or default quotas'); } @@ -4033,7 +4020,7 @@ sub modify_contacts { } my (%others,%to); my @contacts = ('supportemail','adminemail'); - my @mailings = ('errormail','packagesmail','helpdeskmail','lonstatusmail'); + my @mailings = ('errormail','packagesmail','helpdeskmail'); foreach my $type (@mailings) { @{$newsetting{$type}} = &Apache::loncommon::get_env_multiple('form.'.$type); @@ -4078,7 +4065,6 @@ sub modify_contacts { $default{'errormail'} = 'adminemail'; $default{'packagesmail'} = 'adminemail'; $default{'helpdeskmail'} = 'supportemail'; - $default{'lonstatusmail'} = 'adminemail'; foreach my $item (@contacts) { if ($to{$item} ne $default{$item}) { $changes{$item} = 1; @@ -4766,10 +4752,8 @@ sub modify_coursecategories { } else { $changes{'togglecats'} = 1; $changes{'categorize'} = 1; - $domconfig{'coursecategories'} = { - togglecats => $env{'form.togglecats'}, - categorize => $env{'form.categorize'}, - }; + $domconfig{'coursecategories'}{'togglecats'} = $env{'form.togglecats'}; + $domconfig{'coursecategories'}{'categorize'} = $env{'form.categorize'}; } if (ref($cathash) eq 'HASH') { if (($domconfig{'coursecategories'}{'cats'}{'instcode::0'} ne '') && ($env{'form.instcode'} == 0)) { @@ -4984,57 +4968,58 @@ sub modify_serverstatuses { my %serverstatushash = ( serverstatuses => \%newserverstatus, ); + my $putresult = &Apache::lonnet::put_dom('configuration',\%serverstatushash, + $dom); my %changes; foreach my $type (@pages) { - foreach my $setting ('namedusers','machines') { - my (@current,@new); - if (ref($currserverstatus{$type}) eq 'HASH') { - if ($currserverstatus{$type}{$setting} ne '') { - @current = split(/,/,$currserverstatus{$type}{$setting}); + if (ref($currserverstatus{$type}) eq 'HASH') { + my @currnamed = split(/,/,$currserverstatus{$type}{'namedusers'}); + my @newusers = split(/,/,$newserverstatus{$type}{'namedusers'}); + foreach my $item (@currnamed) { + if (!grep(/^\Q$item\E$/,@newusers)) { + $changes{$type}{'namedusers'} = 1; + last; } } - if ($newserverstatus{$type}{$setting} ne '') { - @new = split(/,/,$newserverstatus{$type}{$setting}); - } - if (@current > 0) { - if (@new > 0) { - foreach my $item (@current) { - if (!grep(/^\Q$item\E$/,@new)) { - $changes{$type}{$setting} = 1; - last; - } - } - foreach my $item (@new) { - if (!grep(/^\Q$item\E$/,@current)) { - $changes{$type}{$setting} = 1; - last; - } - } - } else { - $changes{$type}{$setting} = 1; + foreach my $item (@newusers) { + if (!grep(/^\Q$item\E$/,@currnamed)) { + $changes{$type}{'namedusers'} = 1; + last; + } + } + my @currmachines = split(/,/,$currserverstatus{$type}{'machines'}); + my @newmachines = split(/,/,$newserverstatus{$type}{'machines'}); + foreach my $item (@currmachines) { + if (!grep(/^\Q$item\E$/,@newmachines)) { + $changes{$type}{'machines'} = 1; + last; } - } elsif (@new > 0) { - $changes{$type}{$setting} = 1; } + foreach my $item (@newmachines) { + if (!grep(/^\Q$item\E$/,@currmachines)) { + $changes{$type}{'machines'} = 1; + last; + } + } + } } if (keys(%changes) > 0) { - my $titles= &LONCAPA::lonauthcgi::serverstatus_titles(); + my $titles= &LONCAPA::loncgi::serverstatus_titles(); my $putresult = &Apache::lonnet::put_dom('configuration', \%serverstatushash,$dom); if ($putresult eq 'ok') { $resulttext .= &mt('Changes made:').'