diff --git a/discovery.php b/discovery.php
index 9f0e0f9d5..25019bc1b 100755
--- a/discovery.php
+++ b/discovery.php
@@ -162,6 +162,8 @@ function discover_device($device, $options)
global $config;
global $valid; $valid = array(); ## Reset $valid array
+ $attribs = get_dev_attribs($device['device_id']);
+
$device_start = utime(); // Start counting device poll time
echo($device['hostname'] . " ".$device['device_id']." ".$device['os']." ");
@@ -192,9 +194,13 @@ function discover_device($device, $options)
} else {
foreach($config['discovery_modules'] as $module => $module_status)
{
- if($module_status || $device_attribs['discovery_module'][$module])
+ if ($attribs['discover_'.$module] || ( $module_status && !isset($attribs['discover_'.$module])))
{
include('includes/discovery/'.$module.'.inc.php');
+ } elseif (isset($attribs['discover_'.$module]) && $attribs['discover_'.$module] == "0") {
+ echo("Module [ $module ] disabled on host.\n");
+ } else {
+ echo("Module [ $module ] disabled globally.\n");
}
}
}
diff --git a/html/pages/device/edit/modules.inc.php b/html/pages/device/edit/modules.inc.php
index 67f869dee..10184d2f6 100644
--- a/html/pages/device/edit/modules.inc.php
+++ b/html/pages/device/edit/modules.inc.php
@@ -1,15 +1,68 @@
');
$i=0;
echo('
Poller Modules
');
echo('');
+echo('| Module | Global | Device |
');
foreach($config['poller_modules'] as $module => $module_status)
{
if (!is_integer($i/2)) { $bg_colour = $list_colour_a; } else { $bg_colour = $list_colour_b; }
- echo('| '.$module.' | '.($module_status ? 'enabled' : 'disabled' ).' |
');
+
+ echo('| '.$module.' | ');
+
+ echo(($module_status ? 'enabled' : 'disabled' ));
+
+ echo(' | ');
+
+ if(isset($attribs['poll_'.$module]))
+ {
+ if ($attribs['poll_'.$module]) {echo("enabled");} else { echo('disabled'); }
+ } else {
+ echo(($module_status ? 'enabled' : 'disabled' ));
+ }
+
+
+ echo(' | ');
+
+ echo('');
+
+
+ echo(' |
');
$i++;
}
echo('
');
@@ -19,10 +72,36 @@ echo('');
$i=0;
echo('
Discovery Modules
');
echo('
');
+echo('| Module | Global | Device |
');
foreach($config['discovery_modules'] as $module => $module_status)
{
if (!is_integer($i/2)) { $bg_colour = $list_colour_a; } else { $bg_colour = $list_colour_b; }
- echo('| '.$module.' | '.($module_status ? 'enabled' : 'disabled' ).' |
');
+ echo('| '.$module.' | ');
+
+ echo(($module_status ? 'enabled' : 'disabled' ));
+
+ echo(' | ');
+
+ if(isset($attribs['discover_'.$module]))
+ {
+ if ($attribs['discover_'.$module]) {echo("enabled");} else { echo('disabled'); }
+ } else {
+ echo(($module_status ? 'enabled' : 'disabled' ));
+ }
+
+
+ echo(' | ');
+
+ echo('');
+
+
+ echo(' |
');
+
+
$i++;
}
echo('
');
diff --git a/poller.php b/poller.php
index ec07882d1..877cbecd0 100755
--- a/poller.php
+++ b/poller.php
@@ -108,6 +108,8 @@ function poll_device($device, $options) {
global $config;
+ $attribs = get_dev_attribs($device['device_id']);
+
$status = 0; unset($array);
$device_start = utime(); // Start counting device poll time
@@ -164,9 +166,13 @@ function poll_device($device, $options) {
} else {
foreach($config['poller_modules'] as $module => $module_status)
{
- if($module_status || $device_attribs['poller_module'][$module])
+ if ($attribs['poll_'.$module] || ( $module_status && !isset($attribs['poll_'.$module])))
{
include('includes/polling/'.$module.'.inc.php');
+ } elseif (isset($attribs['poll_'.$module]) && $attribs['poll_'.$module] == "0") {
+ echo("Module [ $module ] disabled on host.\n");
+ } else {
+ echo("Module [ $module ] disabled globally.\n");
}
}
}