--- loncom/interface/domainprefs.pm 2008/12/08 22:42:43 1.72
+++ loncom/interface/domainprefs.pm 2009/02/09 03:42:03 1.87
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set domain-wide configuration settings
#
-# $Id: domainprefs.pm,v 1.72 2008/12/08 22:42:43 raeburn Exp $
+# $Id: domainprefs.pm,v 1.87 2009/02/09 03:42:03 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::loncgi();
+use LONCAPA::lonauthcgi();
use File::Copy;
use Locale::Language;
use DateTime::TimeZone;
@@ -74,11 +74,12 @@ sub handler {
&Apache::lonnet::get_dom('configuration',['login','rolecolors',
'quotas','autoenroll','autoupdate','directorysrch',
'usercreation','usermodification','contacts','defaults',
- 'scantron','coursecategories','serverstatuses'],$dom);
+ 'scantron','coursecategories','serverstatuses',
+ 'requestcourses'],$dom);
my @prefs_order = ('rolecolors','login','defaults','quotas','autoenroll',
'autoupdate','directorysrch','contacts',
'usercreation','usermodification','scantron',
- 'coursecategories','serverstatuses');
+ 'requestcourses','coursecategories','serverstatuses');
my %prefs = (
'rolecolors' =>
{ text => 'Default color schemes',
@@ -107,7 +108,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',}],
},
@@ -165,6 +166,12 @@ sub handler {
col2 => '',
}],
},
+ 'requestcourses' =>
+ {text => 'Request creation of courses',
+ help => 'Domain_Configuration_Request_Courses',
+ header => [{col1 => 'User affiliation',
+ col2 => 'Requestable course types',}],
+ },
'coursecategories' =>
{ text => 'Cataloging of courses',
help => 'Domain_Configuration_Cataloging_Courses',
@@ -175,7 +182,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',
@@ -271,7 +278,7 @@ sub handler {
$r->print(' '.
' '."\n".
- ''.&mt('No settings chosen').
+ ''.&mt('No settings chosen').
' ');
}
$r->print('');
@@ -363,7 +370,7 @@ sub process_changes {
$output = &modify_rolecolors($r,$dom,$confname,$roles,
%domconfig);
} elsif ($action eq 'quotas') {
- $output = &modify_quotas($dom,%domconfig);
+ $output = &modify_quotas($dom,$action,%domconfig);
} elsif ($action eq 'autoenroll') {
$output = &modify_autoenroll($dom,%domconfig);
} elsif ($action eq 'autoupdate') {
@@ -384,6 +391,8 @@ sub process_changes {
$output = &modify_coursecategories($dom,%domconfig);
} elsif ($action eq 'serverstatuses') {
$output = &modify_serverstatuses($dom,%domconfig);
+ } elsif ($action eq 'requestcourses') {
+ $output = &modify_quotas($dom,$action,%domconfig);
}
return $output;
}
@@ -544,7 +553,7 @@ sub print_config_box {
if ($action eq 'login') {
$output .= &print_login($dom,$confname,$phase,$settings,\$rowtotal);
} elsif ($action eq 'quotas') {
- $output .= &print_quotas($dom,$settings,\$rowtotal);
+ $output .= &print_quotas($dom,$settings,\$rowtotal,$action);
} elsif ($action eq 'autoenroll') {
$output .= &print_autoenroll($dom,$settings,\$rowtotal);
} elsif ($action eq 'directorysrch') {
@@ -557,6 +566,8 @@ sub print_config_box {
$output .= &print_scantronformat($r,$dom,$confname,$settings,\$rowtotal);
} elsif ($action eq 'serverstatuses') {
$output .= &print_serverstatuses($dom,$settings,\$rowtotal);
+ } elsif ($action eq 'requestcourses') {
+ $output .= &print_quotas($dom,$settings,\$rowtotal,$action);
}
}
$output .= '
@@ -819,7 +830,7 @@ sub login_choices {
font => "Font color",
pgbg => "Header",
mainbg => "Page",
- sidebg => "Container",
+ sidebg => "Login box",
link => "Link",
alink => "Active link",
vlink => "Visited link",
@@ -1236,20 +1247,34 @@ ENDCOL
}
sub print_quotas {
- my ($dom,$settings,$rowtotal) = @_;
- my $datatable;
+ my ($dom,$settings,$rowtotal,$action) = @_;
+ my $context;
+ if ($action eq 'quotas') {
+ $context = 'tools';
+ } else {
+ $context = $action;
+ }
+ my ($datatable,$defaultquota,@usertools);
my ($othertitle,$usertypes,$types) = &Apache::loncommon::sorted_inst_types($dom);
my $typecount = 0;
my $css_class;
- my @usertools = ('aboutme','blog','portfolio');
+ if ($context eq 'requestcourses') {
+ @usertools = ('official','unofficial');
+ } else {
+ @usertools = ('aboutme','blog','portfolio');
+ }
my %titles = &tool_titles();
if (ref($types) eq 'ARRAY') {
foreach my $type (@{$types}) {
my $currdefquota;
- if (ref($settings->{defaultquota}) eq 'HASH') {
- $currdefquota = $settings->{defaultquota}->{$type};
- } else {
- $currdefquota = $settings->{$type};
+ unless ($context eq 'requestcourses') {
+ if (ref($settings) eq 'HASH') {
+ if (ref($settings->{defaultquota}) eq 'HASH') {
+ $currdefquota = $settings->{defaultquota}->{$type};
+ } else {
+ $currdefquota = $settings->{$type};
+ }
+ }
}
if (defined($usertypes->{$type})) {
$typecount ++;
@@ -1258,30 +1283,44 @@ sub print_quotas {
'
'.$usertypes->{$type}.' '.
'';
foreach my $item (@usertools) {
- my $checked = 'checked="checked" ';
- if (ref($settings->{$item}) eq 'HASH') {
- if ($settings->{$item}->{$type} == 0) {
- $checked = '';
+ my $checked;
+ unless ($context eq 'requestcourses') {
+ $checked = 'checked="checked" ';
+ }
+ if (ref($settings) eq 'HASH') {
+ if (ref($settings->{$item}) eq 'HASH') {
+ if ($settings->{$item}->{$type} == 0) {
+ $checked = '';
+ } elsif ($settings->{$item}->{$type} == 1) {
+ $checked = 'checked="checked" ';
+ }
}
}
$datatable .= ''.
- ' '.$titles{$item}.
' ';
}
- $datatable .= ' '.
+ $datatable .= ' ';
+ unless ($context eq 'requestcourses') {
+ $datatable .=
+ ''.
' Mb ';
+ '" size="5" /> Mb';
+ }
+ $datatable .= '';
}
}
}
- my $defaultquota = '20';
- if (ref($settings) eq 'HASH') {
- if (ref($settings->{'defaultquota'}) eq 'HASH') {
- $defaultquota = $settings->{'defaultquota'}->{'default'};
- } elsif (defined($settings->{'default'})) {
- $defaultquota = $settings->{'default'};
+ unless ($context eq 'requestcourses') {
+ $defaultquota = '20';
+ if (ref($settings) eq 'HASH') {
+ if (ref($settings->{'defaultquota'}) eq 'HASH') {
+ $defaultquota = $settings->{'defaultquota'}->{'default'};
+ } elsif (defined($settings->{'default'})) {
+ $defaultquota = $settings->{'default'};
+ }
}
}
$typecount ++;
@@ -1290,38 +1329,57 @@ sub print_quotas {
''.$othertitle.' '.
'';
foreach my $item (@usertools) {
- my $checked = 'checked="checked" ';
- if (ref($settings->{$item}) eq 'HASH') {
- if ($settings->{$item}->{'default'} == 0) {
- $checked = '';
+ my $checked;
+ unless ($context eq 'requestcourses') {
+ $checked = 'checked="checked" ';
+ }
+ if (ref($settings) eq 'HASH') {
+ if (ref($settings->{$item}) eq 'HASH') {
+ if ($settings->{$item}->{'default'} == 0) {
+ $checked = '';
+ } elsif ($settings->{$item}->{'default'} == 1) {
+ $checked = 'checked="checked" ';
+ }
}
}
$datatable .= ''.
- ' '.$titles{$item}.
' ';
}
- $datatable .= ' '.
- ' Mb ';
+ $datatable .= '';
+ unless ($context eq 'requestcourses') {
+ $datatable .= ''.
+ ' Mb ';
+ }
+ $datatable .= '';
$typecount ++;
$css_class = $typecount%2?' class="LC_odd_row"':'';
$datatable .= ''.
' '.&mt('LON-CAPA Advanced Users').' '.
' ';
foreach my $item (@usertools) {
- my $checked = 'checked="checked" ';
- if (ref($settings->{$item}) eq 'HASH') {
- if ($settings->{$item}->{'_LC_adv'} == 0) {
- $checked = '';
+ my $checked;
+ unless ($context eq 'requestcourses') {
+ $checked = 'checked="checked" ';
+ }
+ if (ref($settings) eq 'HASH') {
+ if (ref($settings->{$item}) eq 'HASH') {
+ if ($settings->{$item}->{'_LC_adv'} == 0) {
+ $checked = '';
+ } elsif ($settings->{$item}->{'_LC_adv'} == 1) {
+ $checked = 'checked="checked" ';
+ }
}
}
$datatable .= ''.
- ' '.$titles{$item}.
' ';
}
- $datatable .= '('.&mt('overrides affiliation').') ';
+ $datatable .= '('.&mt('overrides affiliation').
+ ') ';
$$rowtotal += $typecount;
return $datatable;
}
@@ -1644,10 +1702,11 @@ sub contact_titles {
sub tool_titles {
my %titles = &Apache::lonlocal::texthash (
- aboutme => 'Personal Home Page',
- blog => 'Blog',
- portfolio => 'Portfolio',
- );
+ aboutme => 'Personal Home Page',
+ blog => 'Blog',
+ portfolio => 'Portfolio',
+ official => 'Official courses (with institutional codes)', unofficial => 'Unofficial courses',
+ );
return %titles;
}
@@ -1885,7 +1944,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',
@@ -2364,7 +2423,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) {
@@ -2874,7 +2933,7 @@ sub color_font_choices {
links => "Link colors",
images => "Images",
font => "Font color",
- pgbg => "Header",
+ pgbg => "Page",
tabbg => "Header",
sidebg => "Border",
link => "Link",
@@ -3495,21 +3554,36 @@ END
}
sub modify_quotas {
- my ($dom,%domconfig) = @_;
+ my ($dom,$action,%domconfig) = @_;
+ my ($context,@usertools);
+ if ($action eq 'quotas') {
+ $context = 'tools';
+ } else {
+ $context = $action;
+ }
+ if ($context eq 'requestcourses') {
+ @usertools = ('official','unofficial');
+ } else {
+ @usertools = ('aboutme','blog','portfolio');
+ }
my %domdefaults = &Apache::lonnet::get_domain_defaults($dom);
my ($resulttext,%changes);
my ($othertitle,$usertypes,$types) = &Apache::loncommon::sorted_inst_types($dom);
- my @usertools = ('aboutme','blog','portfolio');
my %titles = &tool_titles();
my (%confhash,%toolshash);
foreach my $key (keys(%env)) {
- if ($key =~ /^form\.quota_(.+)$/) {
- $confhash{'defaultquota'}{$1} = $env{$key};
- } elsif ($key =~ /^form\.tools_(.+)$/) {
+ unless ($context eq 'requestcourses') {
+ if ($key =~ /^form\.quota_(.+)$/) {
+ $confhash{'defaultquota'}{$1} = $env{$key};
+ }
+ }
+ if ($key =~ /^form\.\Q$context\E_(.+)$/) {
@{$toolshash{$1}} = &Apache::loncommon::get_env_multiple($key);
}
}
- $confhash{'defaultquota'}{'default'} = $env{'form.defaultquota'};
+ unless ($context eq 'requestcourses') {
+ $confhash{'defaultquota'}{'default'} = $env{'form.defaultquota'};
+ }
foreach my $item (@usertools) {
foreach my $type (@{$types},'default','_LC_adv') {
if (grep(/^\Q$type\E$/,@{$toolshash{$item}})) {
@@ -3517,60 +3591,74 @@ sub modify_quotas {
} else {
$confhash{$item}{$type} = 0;
}
- if (ref($domconfig{'quotas'}) eq 'HASH') {
- if (ref($domconfig{'quotas'}{$item}) eq 'HASH') {
- if ($domconfig{'quotas'}{$item}{$type} ne $confhash{$item}{$type}) {
+ if (ref($domconfig{$action}) eq 'HASH') {
+ if (ref($domconfig{$action}{$item}) eq 'HASH') {
+ if ($domconfig{$action}{$item}{$type} ne $confhash{$item}{$type}) {
$changes{$item}{$type} = 1;
}
} else {
- if (!$confhash{$item}{$type}) {
- $changes{$item}{$type} = 1;
+ if ($context eq 'requestcourses') {
+ if ($confhash{$item}{$type}) {
+ $changes{$item}{$type} = 1;
+ }
+ } else {
+ if (!$confhash{$item}{$type}) {
+ $changes{$item}{$type} = 1;
+ }
}
}
} else {
- if (!$confhash{$item}{$type}) {
- $changes{$item}{$type} = 1;
+ if ($context eq 'requestcourses') {
+ if ($confhash{$item}{$type}) {
+ $changes{$item}{$type} = 1;
+ }
+ } else {
+ if (!$confhash{$item}{$type}) {
+ $changes{$item}{$type} = 1;
+ }
}
}
}
}
- if (ref($domconfig{'quotas'}) eq 'HASH') {
- if (ref($domconfig{'quotas'}{'defaultquota'}) eq 'HASH') {
- foreach my $key (keys(%{$domconfig{'quotas'}{'defaultquota'}})) {
- if (exists($confhash{'defaultquota'}{$key})) {
- if ($confhash{'defaultquota'}{$key} ne $domconfig{'quotas'}{'defaultquota'}{$key}) {
- $changes{'defaultquota'}{$key} = 1;
+ unless ($context eq 'requestcourses') {
+ if (ref($domconfig{'quotas'}) eq 'HASH') {
+ if (ref($domconfig{'quotas'}{'defaultquota'}) eq 'HASH') {
+ foreach my $key (keys(%{$domconfig{'quotas'}{'defaultquota'}})) {
+ if (exists($confhash{'defaultquota'}{$key})) {
+ if ($confhash{'defaultquota'}{$key} ne $domconfig{'quotas'}{'defaultquota'}{$key}) {
+ $changes{'defaultquota'}{$key} = 1;
+ }
+ } else {
+ $confhash{'defaultquota'}{$key} = $domconfig{'quotas'}{'defaultquota'}{$key};
}
- } else {
- $confhash{'defaultquota'}{$key} = $domconfig{'quotas'}{'defaultquota'}{$key};
}
- }
- } else {
- foreach my $key (keys(%{$domconfig{'quotas'}})) {
- if (exists($confhash{'defaultquota'}{$key})) {
- if ($confhash{'defaultquota'}{$key} ne $domconfig{'quotas'}{$key}) {
- $changes{'defaultquota'}{$key} = 1;
+ } else {
+ foreach my $key (keys(%{$domconfig{'quotas'}})) {
+ if (exists($confhash{'defaultquota'}{$key})) {
+ if ($confhash{'defaultquota'}{$key} ne $domconfig{'quotas'}{$key}) {
+ $changes{'defaultquota'}{$key} = 1;
+ }
+ } else {
+ $confhash{'defaultquota'}{$key} = $domconfig{'quotas'}{$key};
}
- } else {
- $confhash{'defaultquota'}{$key} = $domconfig{'quotas'}{$key};
}
}
}
- }
- if (ref($confhash{'defaultquota'}) eq 'HASH') {
- foreach my $key (keys(%{$confhash{'defaultquota'}})) {
- if (ref($domconfig{'quotas'}) eq 'HASH') {
- if (ref($domconfig{'quotas'}{'defaultquota'}) eq 'HASH') {
- if (!exists($domconfig{'quotas'}{'defaultquota'}{$key})) {
- $changes{'defaultquota'}{$key} = 1;
+ if (ref($confhash{'defaultquota'}) eq 'HASH') {
+ foreach my $key (keys(%{$confhash{'defaultquota'}})) {
+ if (ref($domconfig{'quotas'}) eq 'HASH') {
+ if (ref($domconfig{'quotas'}{'defaultquota'}) eq 'HASH') {
+ if (!exists($domconfig{'quotas'}{'defaultquota'}{$key})) {
+ $changes{'defaultquota'}{$key} = 1;
+ }
+ } else {
+ if (!exists($domconfig{'quotas'}{$key})) {
+ $changes{'defaultquota'}{$key} = 1;
+ }
}
} else {
- if (!exists($domconfig{'quotas'}{$key})) {
- $changes{'defaultquota'}{$key} = 1;
- }
+ $changes{'defaultquota'}{$key} = 1;
}
- } else {
- $changes{'defaultquota'}{$key} = 1;
}
}
}
@@ -3580,7 +3668,7 @@ sub modify_quotas {
}
my %quotahash = (
- quotas => { %confhash }
+ $action => { %confhash }
);
my $putresult = &Apache::lonnet::put_dom('configuration',\%quotahash,
$dom);
@@ -3590,21 +3678,37 @@ sub modify_quotas {
&Apache::lonnet::do_cache_new('domdefaults',$dom,\%domdefaults,$cachetime);
$resulttext = &mt('Changes made:').'';
- if (ref($changes{'defaultquota'}) eq 'HASH') {
- $resulttext .= ''.&mt('Portfolio default quotas').'';
- foreach my $type (@{$types},'default') {
- if (defined($changes{'defaultquota'}{$type})) {
- my $typetitle = $usertypes->{$type};
- if ($type eq 'default') {
- $typetitle = $othertitle;
+ unless ($context eq 'requestcourses') {
+ if (ref($changes{'defaultquota'}) eq 'HASH') {
+ $resulttext .= ''.&mt('Portfolio default quotas').'';
+ foreach my $type (@{$types},'default') {
+ if (defined($changes{'defaultquota'}{$type})) {
+ my $typetitle = $usertypes->{$type};
+ if ($type eq 'default') {
+ $typetitle = $othertitle;
+ }
+ $resulttext .= ''.&mt('[_1] set to [_2] Mb',$typetitle,$confhash{'defaultquota'}{$type}).' ';
}
- $resulttext .= ''.&mt('[_1] set to [_2] Mb',$typetitle,$confhash{'defaultquota'}{$type}).' ';
}
+ $resulttext .= ' ';
}
- $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',$context);
+ if ($context eq 'requestcourses') {
+ if ($env{'environment.canrequest.'.$item} ne $newacc) {
+ $newenv{'environment.canrequest.'.$item} = $newacc;
+ }
+ } else {
+ if ($env{'environment.availabletools.'.$item} ne $newacc) {
+ $newenv{'environment.availabletools.'.$item} = $newacc;
+ }
+ }
$resulttext .= ''.$titles{$item}.'';
foreach my $type (@{$types},'default','_LC_adv') {
if ($changes{$item}{$type}) {
@@ -3625,8 +3729,15 @@ sub modify_quotas {
}
}
$resulttext .= ' ';
+ if (keys(%newenv)) {
+ &Apache::lonnet::appenv(\%newenv);
+ }
} else {
- $resulttext = &mt('No changes made to availability of home pages, blogs, portfolios or default quotas');
+ if ($context eq 'requestcourses') {
+ $resulttext = &mt('No changes made to rights to request creation of courses.');
+ } else {
+ $resulttext = &mt('No changes made to availability of home pages, blogs, portfolios or default quotas');
+ }
}
} else {
$resulttext = ''.
@@ -4741,8 +4852,10 @@ sub modify_coursecategories {
} else {
$changes{'togglecats'} = 1;
$changes{'categorize'} = 1;
- $domconfig{'coursecategories'}{'togglecats'} = $env{'form.togglecats'};
- $domconfig{'coursecategories'}{'categorize'} = $env{'form.categorize'};
+ $domconfig{'coursecategories'} = {
+ togglecats => $env{'form.togglecats'},
+ categorize => $env{'form.categorize'},
+ };
}
if (ref($cathash) eq 'HASH') {
if (($domconfig{'coursecategories'}{'cats'}{'instcode::0'} ne '') && ($env{'form.instcode'} == 0)) {
@@ -4957,58 +5070,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:').'';
foreach my $type (@pages) {
- if (defined($changes{$type})) {
+ if (ref($changes{$type}) eq 'HASH') {
$resulttext .= ''.$titles->{$type}.'';
- if (defined($changes{$type}{'namedusers'})) {
+ if ($changes{$type}{'namedusers'}) {
if ($newserverstatus{$type}{'namedusers'} eq '') {
$resulttext .= ''.&mt("Access terminated for all specific (named) users").' '."\n";
} else {
$resulttext .= ''.&mt("Access available for the following specified users: ").$newserverstatus{$type}{'namedusers'}.' '."\n";
}
- } elsif (defined($changes{$type}{'machines'})) {
+ }
+ if ($changes{$type}{'machines'}) {
if ($newserverstatus{$type}{'machines'} eq '') {
$resulttext .= ''.&mt("Access terminated for all specific IP addresses").' '."\n";
} else {
500 Internal Server Error
Internal Server Error
The server encountered an internal error or
misconfiguration and was unable to complete
your request.
Please contact the server administrator at
root@localhost to inform them of the time this error occurred,
and the actions you performed just before this error.
More information about this error may be available
in the server error log.