diff --git a/pandora_server/lib/PandoraFMS/Core.pm b/pandora_server/lib/PandoraFMS/Core.pm index 30a6f6c780..8e407e9703 100644 --- a/pandora_server/lib/PandoraFMS/Core.pm +++ b/pandora_server/lib/PandoraFMS/Core.pm @@ -5253,71 +5253,64 @@ sub get_module_status ($$$$) { if ($module_type !~ m/_string/) { # Critical - if ($critical_min ne $critical_max && defined($module->{'critical_inverse'})) { + if ($critical_min ne $critical_max) { - # [critical_min, critical_max) - if ($module->{'critical_inverse'} == 0) { - return 1 if ($data >= $critical_min && $data < $critical_max); - return 1 if ($data >= $critical_min && $critical_max < $critical_min); - } # (-inf, critical_min), [critical_max, +inf) - else { + if (defined($module->{'critical_inverse'}) && $module->{'critical_inverse'} == 1) { if ($critical_max < $critical_min) { return 1 if ($data < $critical_min); } else { return 1 if ($data < $critical_min || $data >= $critical_max); } } + # [critical_min, critical_max) + else { + return 1 if ($data >= $critical_min && $data < $critical_max); + return 1 if ($data >= $critical_min && $critical_max < $critical_min); + } } # Warning - if ($warning_min ne $warning_max && defined($module->{'warning_inverse'})) { - - # [warning_min, warning_max) - if ($module->{'warning_inverse'} == 0) { - return 2 if ($data >= $warning_min && $data < $warning_max); - return 2 if ($data >= $warning_min && $warning_max < $warning_min); - } + if ($warning_min ne $warning_max) { # (-inf, warning_min), [warning_max, +inf) - else { + if (defined($module->{'warning_inverse'}) && $module->{'warning_inverse'} == 1) { if ($warning_max < $warning_min) { return 2 if ($data < $warning_min); } else { return 2 if ($data < $warning_min || $data >= $warning_max); } } + # [warning_min, warning_max) + else { + return 2 if ($data >= $warning_min && $data < $warning_max); + return 2 if ($data >= $warning_min && $warning_max < $warning_min); + } } } # String else { # Critical - if(defined($module->{'critical_inverse'})){ - - $eval_result = eval { - if ($module->{'critical_inverse'} == 0) { - $critical_str ne '' && $data =~ /$critical_str/ ; - } else { - $critical_str ne '' && $data !~ /$critical_str/ ; - } - }; + $eval_result = eval { + if (defined($module->{'critical_inverse'} && $module->{'critical_inverse'} == 1) { + $critical_str ne '' && $data !~ /$critical_str/ ; + } else { + $critical_str ne '' && $data =~ /$critical_str/ ; + } + }; - return 1 if ($eval_result); - } - + return 1 if ($eval_result); + # Warning - if(defined($module->{'warning_inverse'})){ - - $eval_result = eval { - if ($module->{'warning_inverse'} == 0) { - $warning_str ne '' && $data =~ /$warning_str/ ; - } else { - $warning_str ne '' && $data !~ /$warning_str/ ; - } - }; + $eval_result = eval { + if (defined($module->{'warning_inverse'} && $module->{'warning_inverse'} == 1) { + $warning_str ne '' && $data !~ /$warning_str/ ; + } else { + $warning_str ne '' && $data =~ /$warning_str/ ; + } + }; - return 2 if ($eval_result); - } + return 2 if ($eval_result); } # Normal