Fixes #2992. If no definition for a monitor is found, don't modify it.

This commit is contained in:
Isaac Connor 2021-05-11 15:27:36 -04:00
parent ed39ffeeb6
commit 0d7fe79b27
1 changed files with 5 additions and 6 deletions

View File

@ -103,18 +103,17 @@ if ( $command eq 'state' ) {
or Fatal("Can't prepare '$sql': ".$dbh->errstr());
my $res = $sth->execute($Config{ZM_SERVER_ID} ? $Config{ZM_SERVER_ID}: ())
or Fatal("Can't execute: ".$sth->errstr());
while( my $monitor = $sth->fetchrow_hashref() ) {
while ( my $monitor = $sth->fetchrow_hashref() ) {
foreach my $definition ( @{$state->{Definitions}} ) {
if ( $monitor->{Id} =~ /^$definition->{Id}$/ ) {
$monitor->{NewFunction} = $definition->{Function};
$monitor->{NewEnabled} = $definition->{Enabled};
last;
}
}
#next if ( !$monitor->{NewFunction} );
$monitor->{NewFunction} = 'None'
if ( !$monitor->{NewFunction} );
$monitor->{NewEnabled} = 0
if ( !$monitor->{NewEnabled} );
next if ! exists $monitor->{NewFunction};
$monitor->{NewFunction} = 'None' if !$monitor->{NewFunction};
$monitor->{NewEnabled} = 0 if !$monitor->{NewEnabled};
if ( $monitor->{Function} ne $monitor->{NewFunction}
|| $monitor->{Enabled} ne $monitor->{NewEnabled}
) {