--- loncom/cgi/lonauthcgi.pm 2013/02/02 00:22:34 1.10 +++ loncom/cgi/lonauthcgi.pm 2015/05/04 15:43:57 1.14 @@ -1,7 +1,7 @@ # # LON-CAPA authorization for cgi-bin scripts # -# $Id: lonauthcgi.pm,v 1.10 2013/02/02 00:22:34 raeburn Exp $ +# $Id: lonauthcgi.pm,v 1.14 2015/05/04 15:43:57 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; @@ -378,6 +381,7 @@ sub serverstatus_titles { 'server-status' => 'Apache Status Page', 'codeversions' => 'LON-CAPA Module Versions', 'checksums' => 'LON-CAPA Module Checking', + 'diskusage' => 'Course/Community Disk Usage', 'clusterstatus' => 'Domain status', 'metadata_keywords' => 'Display Metadata Keywords', 'metadata_harvest' => 'Harvest Metadata Searches', @@ -387,6 +391,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; }