--- loncom/interface/domainprefs.pm 2008/12/17 22:13:22 1.76.2.2 +++ loncom/interface/domainprefs.pm 2009/01/27 15:59:30 1.85 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set domain-wide configuration settings # -# $Id: domainprefs.pm,v 1.76.2.2 2008/12/17 22:13:22 raeburn Exp $ +# $Id: domainprefs.pm,v 1.85 2009/01/27 15:59:30 schafran 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::loncgi(); +use LONCAPA::lonauthcgi(); 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", @@ -1329,7 +1329,8 @@ sub print_quotas { '" value="_LC_adv" '.$checked.'/>'.$titles{$item}. '  '; } - $datatable .= '('.&mt('overrides affiliation').')'; + $datatable .= '('.&mt('overrides affiliation'). + ')'; $$rowtotal += $typecount; return $datatable; } @@ -1893,7 +1894,7 @@ sub usercreation_types { any => 'Any', official => 'Institutional only ', unofficial => 'Non-institutional only', - email => 'Email address', + email => 'E-mail address', login => 'Institutional Login', sso => 'SSO', none => 'None', @@ -2372,7 +2373,7 @@ sub print_serverstatuses { } } } - my $titles= &LONCAPA::loncgi::serverstatus_titles(); + my $titles= &LONCAPA::lonauthcgi::serverstatus_titles(); my $rownum = 0; my $css_class; foreach my $type (@pages) { @@ -3611,10 +3612,16 @@ sub modify_quotas { } $resulttext .= ''; } + my %newenv; foreach my $item (@usertools) { if (ref($changes{$item}) eq 'HASH') { - my $hashid = $env{'user.name'}.':'.$env{'user.domain'}; - &Apache::lonnet::devalidate_cache_new('usertools.'.$item,$hashid); + 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; + } $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'); } @@ -4967,58 +4977,57 @@ sub modify_serverstatuses { my %serverstatushash = ( serverstatuses => \%newserverstatus, ); - my $putresult = &Apache::lonnet::put_dom('configuration',\%serverstatushash, - $dom); my %changes; foreach my $type (@pages) { - 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; - } - } - 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; + foreach my $setting ('namedusers','machines') { + my (@current,@new); + if (ref($currserverstatus{$type}) eq 'HASH') { + if ($currserverstatus{$type}{$setting} ne '') { + @current = split(/,/,$currserverstatus{$type}{$setting}); } } - foreach my $item (@newmachines) { - if (!grep(/^\Q$item\E$/,@currmachines)) { - $changes{$type}{'machines'} = 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; } + } elsif (@new > 0) { + $changes{$type}{$setting} = 1; } - } } if (keys(%changes) > 0) { - my $titles= &LONCAPA::loncgi::serverstatus_titles(); + my $titles= &LONCAPA::lonauthcgi::serverstatus_titles(); my $putresult = &Apache::lonnet::put_dom('configuration', \%serverstatushash,$dom); if ($putresult eq 'ok') { $resulttext .= &mt('Changes made:').'