#!/usr/local/bin/perl # edit_res.cgi # # extension of edit_res.cgi including display of # actual resource status and possibility to request # a resource # # Christof Amelunxen, 22.08.2003 # require './heartbeat-lib.pl'; # if called with parameter getserv this is a get_resource request ReadParse(); if ($in{getserv} && -f $config{'pid_file'}) { unless (check_status_resource($in{getserv})) { get_resource($in{getserv}); # ugly hack to show the changed status immediately sleep 5; # redirect to url without appending parameters (to avoid reload button problem) redirect("$ENV{SCRIPT_NAME}"); exit 0; } } # normal processing starts here &ui_print_header(undef, $text{'res_title'}, ""); @res = &list_resources(); if (@res) { print "\n"; print " ", " ", "\n", "\n", "\n"; local $i = 0; foreach $r (@res) { print "\n"; printf "\n", $r->{'ips'} ? join(" ", @{$r->{'ips'}}) : $text{'res_none'}; printf "\n", $r->{'servs'} ? join(" , ", map { s/::/ /g; $_ } @{$r->{'servs'}}) : $text{'res_none'}; if (check_status_resource(@{$r->{'ips'}})) { print ""; } else { print ""; } print ""; $i++; } print "
$text{'res_node'}$text{'res_ips'}$text{'res_servs'}$text{'res_active'}$text{'res_getserv'}
", "$r->{'node'}%s%s$text{'res_up'}$text{'res_down'}"; if ( -f $config{'pid_file'}) { print "
\n"; print "{'ips'}}>\n"; print "\n"; print "
\n"; } else { print "$text{res_hbdown}"; } print "
\n"; } else { print "$text{'res_nores'}

\n"; } print "$text{'res_add'}

\n"; &ui_print_footer("", $text{'index_return'});