#!/usr/bin/perl
# Send email when a system is down

$no_acl_check++;
require './cluster-shutdown-lib.pl';
&foreign_require("mailboxes", "mailboxes-lib.pl");

@servers = grep { $_->{'user'} } &servers::list_servers();
%up = &get_all_statuses(\@servers);
$last_status_file = "$module_config_directory/last";

&read_file($last_status_file, \%oldstatus);

foreach $s (@servers) {
	if (!$up{$s} && $oldstatus{$s->{'id'}}) {
		# Just went down .. send email
		local $mail =
			{ 'headers' => [ [ 'From', 'webmin-noreply@'.&get_system_hostname() ],
				       [ 'To', $config{'email'} ],
				       [ 'Subject', "System $s->{'host'} is down" ],
					     ],
			'attach' =>
				[ { 'headers' => [ [ 'Content-type', 'text/plain' ] ],
				    'data' => "The system $s->{'host'} has gone down!" } ]
		      };
		&mailboxes::send_mail($mail, undef, undef, 0, $config{'smtp'});
		}
	$oldstatus{$s->{'id'}} = $up{$s};
	}

&write_file($last_status_file, \%oldstatus);

