--- loncom/cgi/lonauthcgi.pm 2011/10/21 20:00:30 1.9 +++ loncom/cgi/lonauthcgi.pm 2016/07/25 19:50:01 1.15 @@ -1,7 +1,7 @@ # # LON-CAPA authorization for cgi-bin scripts # -# $Id: lonauthcgi.pm,v 1.9 2011/10/21 20:00:30 raeburn Exp $ +# $Id: lonauthcgi.pm,v 1.15 2016/07/25 19:50:01 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -280,12 +280,13 @@ sub can_view { } } unless ($allowed) { + my %alloweddoms; foreach my $dom (@poss_domains) { my %domconfig = &Apache::lonnet::get_dom('configuration',['serverstatuses'], $dom); if ($Apache::lonnet::env{'request.role'} eq "dc./$dom/") { if ($page eq 'domconf') { - $allowed .= $dom.'&'; + $alloweddoms{$dom} = 1; } else { $allowed = 1; } @@ -295,7 +296,7 @@ sub can_view { my @okusers = split(/,/,$domconfig{'serverstatuses'}{$page}{'namedusers'}); if (grep(/^\Q$Apache::lonnet::env{'user.name'}:$Apache::lonnet::env{'user.domain'}\E$/,@okusers)) { if ($page eq 'domconf') { - $allowed .= $dom.'&'; + $alloweddoms{$dom} = 1; } else { $allowed = 1; } @@ -307,7 +308,9 @@ sub can_view { } } } - $allowed =~ s/\&$//; + if (($page eq 'domconf') && (!$allowed)) { + $allowed = join('&',sort(keys(%alloweddoms))); + } } } return $allowed; @@ -377,7 +380,10 @@ sub serverstatus_titles { 'loncron' => 'Generate Detailed Report', 'server-status' => 'Apache Status Page', 'codeversions' => 'LON-CAPA Module Versions', + 'checksums' => 'LON-CAPA Module Checking', + 'diskusage' => 'Course/Community Disk Usage', 'clusterstatus' => 'Domain status', + 'certstatus' => 'LON-CAPA SSL Certificates Status', 'metadata_keywords' => 'Display Metadata Keywords', 'metadata_harvest' => 'Harvest Metadata Searches', 'takeoffline' => 'Offline - replace Log-in page', @@ -386,6 +392,8 @@ sub serverstatus_titles { 'toggledebug' => 'Toggle debug messages', 'ping' => 'Cause server to ping another server', 'domconf' => 'Text Display of Domain Configuration', + 'uniquecodes' => 'Six-character Course Codes', + 'coursecatalog' => 'Course/Community Catalog with enrollment data', ); return \%titles; }