#!/usr/local/bin/perl # Show a form for displaying the status of one client require './bacula-backup-lib.pl'; &ui_print_header(undef, $text{'clientstatus_title'}, "", "clientstatus"); &ReadParse(); # Client selector @clients = sort { lc($a->{'name'}) cmp lc($b->{'name'}) } grep { !&is_oc_object($_, 1) } &get_bacula_clients(); if (@clients == 1) { $in{'client'} ||= $clients[0]->{'name'}; } print &ui_form_start("clientstatus_form.cgi"); print "$text{'clientstatus_show'}\n"; print &ui_select("client", $in{'client'}, [ map { [ $_->{'name'}, &text('clientstatus_on', $_->{'name'}, $_->{'address'}) ] } @clients ]); print &ui_submit($text{'clientstatus_ok'}),"
\n"; print &ui_form_end(); if ($in{'client'}) { # Show this client ($msg, $ok, $run, $done) = &get_client_status($in{'client'}); if ($ok) { print &text('clientstatus_msg', $in{'client'}, $msg),"

\n"; # Running jobs print &ui_subheading($text{'dirstatus_run'}); if (@$run) { print &ui_form_start("cancel_jobs.cgi", "post"); print &ui_hidden("client", $in{'client'}),"\n"; @links = ( &select_all_link("d", 1), &select_invert_link("d", 1) ); print &ui_links_row(\@links); @tds = ( "width=5" ); print &ui_columns_start([ "", $text{'dirstatus_name'}, $text{'dirstatus_id'}, $text{'dirstatus_date2'} ], "100%", 0, \@tds); foreach $j (@$run) { print &ui_checked_columns_row([ &joblink($j->{'name'}), $j->{'id'}, $j->{'date'} ], \@tds, "d", $j->{'id'}); } print &ui_columns_end(); print &ui_links_row(\@links); print &ui_form_end([ [ "cancel", $text{'dirstatus_cancel'} ] ]); } else { print "$text{'dirstatus_runnone'}

\n"; } # Completed jobs print &ui_subheading($text{'dirstatus_done'}); if (@$done) { print &ui_columns_start([ $text{'dirstatus_name'}, $text{'dirstatus_id'}, $text{'dirstatus_level'}, $text{'dirstatus_date'}, $text{'dirstatus_bytes'}, $text{'dirstatus_files'}, $text{'dirstatus_status2'} ], "100%"); foreach $j (@$done) { print &ui_columns_row([ &joblink($j->{'name'}), $j->{'id'}, $j->{'level'}, $j->{'date'}, &nice_size($j->{'bytes'}), $j->{'files'}, $j->{'status'} ]); } print &ui_columns_end(); } else { print "$text{'dirstatus_donenone'}

\n"; } } else { # Couldn't connect! print "",&text('clientstatus_err', $in{'client'}, $msg), "

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