#!/usr/local/bin/perl # refresh.cgi # Reload the list of packages from all managed hosts require './cluster-software-lib.pl'; &ReadParse(); &ui_print_header(undef, $text{'refresh_title'}, ""); $| = 1; # Work out which hosts to refresh @hosts = &list_software_hosts(); @servers = &list_servers(); if (defined($in{'id'})) { @hosts = grep { $_->{'id'} == $in{'id'} } @hosts; local ($s) = grep { $_->{'id'} == $hosts[0]->{'id'} } @servers; print "",&text('refresh_header5', undef, &server_name($s)),"

\n"; } else { @hosts = &create_on_parse("refresh_header"); } # Do the refresh @results = &refresh_packages(\@hosts); # Show the user $p = 0; foreach $h (@hosts) { local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers; local $d = $s->{'desc'} || $s->{'realhost'} || $s->{'host'}; local $rv = $results[$p]; if ($rv && ref($rv)) { @added = @{$rv->[0]}; @old = @{$rv->[1]}; if (@added && @old) { print &text('refresh_1', $d, join(" ", @added),join(" ", @old)),"
\n"; } elsif (@added) { print &text('refresh_2', $d, join(" ", @added)),"
\n"; } elsif (@old) { print &text('refresh_3', $d, join(" ", @old)),"
\n"; } else { print &text('refresh_4', $d),"
\n"; } } elsif ($rv) { print &text('refresh_failed', $d, $rv),"
\n"; } else { print &text('refresh_del', $h->{'id'}),"
\n"; } $p++; } print "

$text{'refresh_done'}

\n"; &remote_finished(); if (defined($in{'id'})) { &ui_print_footer("edit_host.cgi?id=$in{'id'}", $text{'host_return'}, "", $text{'index_return'}); } else { &ui_print_footer("", $text{'index_return'}); }