version 1.1, 2008/12/22 21:13:25
|
version 1.5, 2013/02/02 00:22:51
|
Line 35 use Apache::lonnet;
|
Line 35 use Apache::lonnet;
|
use Apache::loncommon; |
use Apache::loncommon; |
use Apache::lonhtmlcommon; |
use Apache::lonhtmlcommon; |
use Apache::lonlocal; |
use Apache::lonlocal; |
use LONCAPA::loncgi; |
use LONCAPA::lonauthcgi; |
|
|
sub handler { |
sub handler { |
my $r = shift; |
my $r = shift; |
Line 57 sub handler {
|
Line 57 sub handler {
|
my $domdesc = &Apache::lonnet::domain($dom,'description'); |
my $domdesc = &Apache::lonnet::domain($dom,'description'); |
|
|
my %candisplay; |
my %candisplay; |
my $titles = &LONCAPA::loncgi::serverstatus_titles(); |
my $titles = &LONCAPA::lonauthcgi::serverstatus_titles(); |
if (ref($titles) eq 'HASH') { |
if (ref($titles) eq 'HASH') { |
foreach my $page (keys(%{$titles})) { |
foreach my $page (keys(%{$titles})) { |
if (&LONCAPA::loncgi::can_view($page)) { |
if (&LONCAPA::lonauthcgi::can_view($page)) { |
$candisplay{$page} = 'F'; |
$candisplay{$page} = 'F'; |
} elsif (&LONCAPA::loncgi::check_ipbased_access($page)) { |
} elsif (&LONCAPA::lonauthcgi::check_ipbased_access($page)) { |
$candisplay{$page} = 'F'; |
$candisplay{$page} = 'F'; |
} |
} |
} |
} |
Line 74 sub handler {
|
Line 74 sub handler {
|
text=>"Server Status Information"}); |
text=>"Server Status Information"}); |
|
|
$r->print(&Apache::loncommon::start_page('Server Status'). |
$r->print(&Apache::loncommon::start_page('Server Status'). |
&Apache::lonhtmlcommon::breadcrumbs('Server Status Information'). |
&Apache::lonhtmlcommon::breadcrumbs('Server Status Information')); |
'<div class="LC_clear_float_header"></div>'); |
|
|
|
if (keys(%candisplay) > 0) { |
if (keys(%candisplay) > 0) { |
$r->print('<h2>'.&mt('Server Utilities for Domain: [_1]','<i>'.$domdesc.'</i>'). |
$r->print('<h2>'.&mt('Server Utilities for Domain: [_1]','<i>'.$domdesc.'</i>'). |
'</h2>'.&print_status_menu(\%candisplay)); |
'</h2>'.&print_status_menu(\%candisplay)); |
} else { |
} else { |
$r->print('<h2>'.&mt('No information available').'</h2>'. |
$r->print( |
'<span class="LC_error">'.&mt('Your current role and/or IP address does not have permission to display information about server status for servers in the domain: [_1].','<b>'.$domdesc.'</b> ('.$dom.')').'</span>'); |
'<h2>'.&mt('No information available').'</h2>' |
|
.'<p class="LC_warning">' |
|
.&mt('Your current role and/or IP address does not have permission to display information about server status for servers in the domain: [_1].', |
|
'<b>'.$domdesc.'</b> ('.$dom.')') |
|
.'</p>' |
|
); |
} |
} |
$r->print(&Apache::loncommon::end_page()); |
$r->print(&Apache::loncommon::end_page()); |
return OK; |
return OK; |
Line 91 sub handler {
|
Line 95 sub handler {
|
sub print_status_menu { |
sub print_status_menu { |
my ($candisplay) = @_; |
my ($candisplay) = @_; |
return '' if (ref($candisplay) ne 'HASH'); |
return '' if (ref($candisplay) ne 'HASH'); |
my $menu_html; |
return &Apache::lonhtmlcommon::generate_menu( |
my @menu = &servermenu_items($candisplay); |
&servermenu_items($candisplay)); |
foreach my $item (@menu) { |
|
if (ref($item) eq 'HASH') { |
|
my $display; |
|
if (ref($item->{'items'}) eq 'ARRAY') { |
|
foreach my $page (@{$item->{'items'}}) { |
|
if (ref($page) eq 'HASH') { |
|
if ($page->{'permission'} eq 'F') { |
|
$display .= '<span class="LC_parm_menu_item">'; |
|
if ($page->{'help'} ne '') { |
|
$display .= |
|
&Apache::loncommon::help_open_topic($page->{'help'}); |
|
} |
|
$display .= '<a href="'.$page->{'url'}.'" title="'. |
|
&mt($page->{'linktitle'}).'">'. |
|
&mt($page->{'linktext'}). |
|
'</a></span><br /><br />'; |
|
} |
|
} |
|
} |
|
} |
|
if ($display) { |
|
$menu_html .= '<div class="LC_left_float">'. |
|
'<h3>'.&mt($item->{'categorytitle'}).'</h3>'. |
|
$display.'</div>'; |
|
} |
|
} |
|
} |
|
if ($menu_html) { |
|
$menu_html .= '<div class="LC_clear_float_footer"></div>'; |
|
} |
|
return $menu_html; |
|
} |
} |
|
|
sub servermenu_items { |
sub servermenu_items { |
my ($candisplay) = @_; |
my ($candisplay) = @_; |
my $titles = &LONCAPA::loncgi::serverstatus_titles(); |
my $titles = &LONCAPA::lonauthcgi::serverstatus_titles(); |
my $linknames = &serverstatus_links(); |
my $linknames = &serverstatus_links(); |
my @menu; |
my @menu; |
if ((ref($candisplay) eq 'HASH') && (ref($titles) eq 'HASH') && |
if ((ref($candisplay) eq 'HASH') && (ref($titles) eq 'HASH') && |
Line 137 sub servermenu_items {
|
Line 110 sub servermenu_items {
|
items => |
items => |
[{ |
[{ |
linktext => $linknames->{'userstatus'}, |
linktext => $linknames->{'userstatus'}, |
#icon => '', |
icon => '', |
|
alttext => '', |
#help => 'Domain_Coordination_Userstatus', |
#help => 'Domain_Coordination_Userstatus', |
url => '/cgi-bin/userstatus.pl', |
url => '/cgi-bin/userstatus.pl', |
permission => $candisplay->{'userstatus'}, |
permission => $candisplay->{'userstatus'}, |
Line 145 sub servermenu_items {
|
Line 119 sub servermenu_items {
|
}, |
}, |
{ |
{ |
linktext => $linknames->{'lonstatus'}, |
linktext => $linknames->{'lonstatus'}, |
#icon => '', |
icon => '', |
|
alttext => '', |
#help => 'Domain_Coordination_Connection_Status', |
#help => 'Domain_Coordination_Connection_Status', |
url => '/lon-status/', |
url => '/lon-status/', |
permission => $candisplay->{'lonstatus'}, |
permission => $candisplay->{'lonstatus'}, |
Line 153 sub servermenu_items {
|
Line 128 sub servermenu_items {
|
}, |
}, |
{ |
{ |
linktext => $linknames->{'server-status'}, |
linktext => $linknames->{'server-status'}, |
#icon => '', |
icon => '', |
|
alttext => '', |
#help => 'Domain_Coordination_Apache_Status', |
#help => 'Domain_Coordination_Apache_Status', |
url => '/server-status', |
url => '/server-status', |
permission => $candisplay->{'server-status'}, |
permission => $candisplay->{'server-status'}, |
Line 161 sub servermenu_items {
|
Line 137 sub servermenu_items {
|
}, |
}, |
{ |
{ |
linktext => $linknames->{'clusterstatus'}, |
linktext => $linknames->{'clusterstatus'}, |
#icon => '', |
icon => '', |
|
alttext => '', |
#help => 'Domain_Coordination_Apache_Status', |
#help => 'Domain_Coordination_Apache_Status', |
url => '/cgi-bin/clusterstatus.pl', |
url => '/cgi-bin/clusterstatus.pl', |
permission => $candisplay->{'clusterstatus'}, |
permission => $candisplay->{'clusterstatus'}, |
Line 169 sub servermenu_items {
|
Line 146 sub servermenu_items {
|
}, |
}, |
{ |
{ |
linktext => $linknames->{'codeversions'}, |
linktext => $linknames->{'codeversions'}, |
#icon => '', |
icon => '', |
|
alttext => '', |
#help => 'Domain_Coordination_Code_Versions', |
#help => 'Domain_Coordination_Code_Versions', |
url => '/cgi-bin/lonversions.pl', |
url => '/cgi-bin/lonversions.pl', |
permission => $candisplay->{'codeversions'}, |
permission => $candisplay->{'codeversions'}, |
linktitle => $titles->{'codeversions'}, |
linktitle => $titles->{'codeversions'}, |
}, |
}, |
{ |
{ |
|
linktext => $linknames->{'checksums'}, |
|
icon => '', |
|
alttext => '', |
|
#help => 'Domain_Coordination_Code_Checksums', |
|
url => '/cgi-bin/lonmodulecheck.pl', |
|
permission => $candisplay->{'checksums'}, |
|
linktitle => $titles->{'checksums'}, |
|
}, |
|
{ |
linktext => $linknames->{'showenv'}, |
linktext => $linknames->{'showenv'}, |
#icon => '', |
icon => '', |
|
alttext => '', |
#help => 'Domain_Coordination_User_Environment', |
#help => 'Domain_Coordination_User_Environment', |
url => '/adm/test', |
url => '/adm/test', |
permission => $candisplay->{'showenv'}, |
permission => $candisplay->{'showenv'}, |
Line 187 sub servermenu_items {
|
Line 175 sub servermenu_items {
|
items => |
items => |
[{ |
[{ |
linktext => $linknames->{'loncron'}, |
linktext => $linknames->{'loncron'}, |
#icon => '', |
icon => '', |
|
alttext => '', |
#help => 'Domain_Coordination_Connection_Reload', |
#help => 'Domain_Coordination_Connection_Reload', |
url => '/cgi-bin/loncron.pl', |
url => '/cgi-bin/loncron.pl', |
permission => $candisplay->{'loncron'}, |
permission => $candisplay->{'loncron'}, |
Line 195 sub servermenu_items {
|
Line 184 sub servermenu_items {
|
}, |
}, |
{ |
{ |
linktext => $linknames->{'takeoffline'}, |
linktext => $linknames->{'takeoffline'}, |
#icon => '', |
icon => '', |
|
alttext => '', |
#help => 'Domain_Coordination_Server_Offline', |
#help => 'Domain_Coordination_Server_Offline', |
url => '/cgi-bin/takeoffline.pl', |
url => '/cgi-bin/takeoffline.pl', |
permission => $candisplay->{'takeoffline'}, |
permission => $candisplay->{'takeoffline'}, |
Line 203 sub servermenu_items {
|
Line 193 sub servermenu_items {
|
}, |
}, |
{ |
{ |
linktext => $linknames->{'takeonline'}, |
linktext => $linknames->{'takeonline'}, |
#icon => '', |
icon => '', |
|
alttext => '', |
#help => 'Domain_Coordination_Server_Online', |
#help => 'Domain_Coordination_Server_Online', |
url => '/cgi-bin/takeonline.pl', |
url => '/cgi-bin/takeonline.pl', |
permission => $candisplay->{'takeonline'}, |
permission => $candisplay->{'takeonline'}, |
Line 213 sub servermenu_items {
|
Line 204 sub servermenu_items {
|
items => |
items => |
[{ |
[{ |
linktext => $linknames->{'metadata_keywords'}, |
linktext => $linknames->{'metadata_keywords'}, |
#icon => '', |
icon => '', |
|
alttext => '', |
#help => 'Domain_Coordination_Metadata_Keywords', |
#help => 'Domain_Coordination_Metadata_Keywords', |
url => '/cgi-bin/metadata_keywords.pl', |
url => '/cgi-bin/metadata_keywords.pl', |
permission => $candisplay->{'metadata_keywords'}, |
permission => $candisplay->{'metadata_keywords'}, |
Line 221 sub servermenu_items {
|
Line 213 sub servermenu_items {
|
}, |
}, |
{ |
{ |
linktext => $linknames->{'metadata_harvest'}, |
linktext => $linknames->{'metadata_harvest'}, |
#icon => '', |
icon => '', |
|
alttext => '', |
#help => 'Domain_Coordination_Metadata_Harvest', |
#help => 'Domain_Coordination_Metadata_Harvest', |
url => '/cgi-bin/metadata_harvest.pl', |
url => '/cgi-bin/metadata_harvest.pl', |
permission => $candisplay->{'metadata_harvest'}, |
permission => $candisplay->{'metadata_harvest'}, |
Line 239 sub serverstatus_links {
|
Line 232 sub serverstatus_links {
|
'server-status' => 'Apache Server Status', |
'server-status' => 'Apache Server Status', |
'clusterstatus' => 'Domain Status', |
'clusterstatus' => 'Domain Status', |
'codeversions' => 'LON-CAPA Modules', |
'codeversions' => 'LON-CAPA Modules', |
|
'checksums' => 'Check for LON-CAPA Module changes', |
'showenv' => 'User Environment for current log-in', |
'showenv' => 'User Environment for current log-in', |
'loncron' => 'Update Connections and Refresh Status Information', |
'loncron' => 'Update Connections and Refresh Status Information', |
'takeoffline' => 'Replace log-in page with offline notice', |
'takeoffline' => 'Replace log-in page with offline notice', |