mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
251 lines
6.9 KiB
PHP
251 lines
6.9 KiB
PHP
<h3> Modules </h3>
|
|
<div class="row">
|
|
<div class="col-sm-6">
|
|
<strong>Poller Modules</strong>
|
|
</div>
|
|
<div class="col-sm-6">
|
|
<strong>Discovery Modules</strong>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-sm-6">
|
|
<table class="table table-striped">
|
|
<tr>
|
|
<th>Module</th>
|
|
<th>Global</th>
|
|
<th>OS</th>
|
|
<th>Device</th>
|
|
<th></th>
|
|
</tr>
|
|
<?php
|
|
|
|
use LibreNMS\Config;
|
|
|
|
$language = \config('app.locale');
|
|
$settings = (include Config::get('install_dir').'/resources/lang/'.$language.'/settings.php')['settings'];
|
|
|
|
$poller_module_names = $settings['poller_modules'];
|
|
$discovery_module_names = $settings['discovery_modules'];
|
|
|
|
$poller_modules = Config::get('poller_modules');
|
|
ksort($poller_modules);
|
|
foreach ($poller_modules as $module => $module_status) {
|
|
$module_name = $poller_module_names[$module]['description'] ?: $module;
|
|
echo('
|
|
<tr>
|
|
<td><strong>'.$module_name.'</strong></td>
|
|
<td>
|
|
');
|
|
|
|
if ($module_status == 1) {
|
|
echo('<span class="text-success">Enabled</span>');
|
|
} else {
|
|
echo('<span class="text-danger">Disabled</span>');
|
|
}
|
|
|
|
echo('
|
|
</td>
|
|
<td>');
|
|
|
|
if (Config::has("os.{$device['os']}.poller_modules.$module")) {
|
|
if (Config::get("os.{$device['os']}.poller_modules.$module")) {
|
|
echo('<span class="text-success">Enabled</span>');
|
|
$module_status = 1;
|
|
} else {
|
|
echo('<span class="text-danger">Disabled</span>');
|
|
$module_status = 0;
|
|
}
|
|
} else {
|
|
echo('<span>Unset</span>');
|
|
}
|
|
|
|
echo('
|
|
</td>
|
|
<td>
|
|
');
|
|
|
|
if (isset($attribs['poll_'.$module])) {
|
|
if ($attribs['poll_'.$module]) {
|
|
echo('<span id="poller-module-'.$module.'" class="text-success">Enabled</span>');
|
|
$module_checked = 'checked';
|
|
} else {
|
|
echo('<span id="poller-module-'.$module.'"class="text-danger">Disabled</span>');
|
|
$module_checked = '';
|
|
}
|
|
} else {
|
|
echo('<span id="poller-module-'.$module.'">Unset</span>');
|
|
if ($module_status == 1) {
|
|
$module_checked = 'checked';
|
|
} else {
|
|
$module_checked = '';
|
|
}
|
|
}
|
|
|
|
echo('
|
|
</td>
|
|
<td>
|
|
');
|
|
|
|
echo '<input type="checkbox" style="visibility:hidden;width:100px;" name="poller-module" data-poller_module="'
|
|
.$module.'" data-device_id="'.$device['device_id'].'" '.$module_checked.'>';
|
|
|
|
echo('
|
|
</td>
|
|
</tr>
|
|
');
|
|
}
|
|
|
|
?>
|
|
|
|
</table>
|
|
</div>
|
|
<div class="col-sm-6">
|
|
<table class="table table-striped">
|
|
<tr>
|
|
<th>Module</th>
|
|
<th>Global</th>
|
|
<th>OS</th>
|
|
<th>Device</th>
|
|
<th></th>
|
|
</tr>
|
|
|
|
<?php
|
|
|
|
$discovery_modules = Config::get('discovery_modules');
|
|
ksort($discovery_modules);
|
|
foreach ($discovery_modules as $module => $module_status) {
|
|
$module_name = $discovery_module_names[$module]['description'] ?: $module;
|
|
echo('
|
|
<tr>
|
|
<td>
|
|
<strong>'.$module_name.'</strong>
|
|
</td>
|
|
<td>
|
|
');
|
|
|
|
if ($module_status == 1) {
|
|
echo('<span class="text-success">Enabled</span>');
|
|
} else {
|
|
echo('<span class="text-danger">Disabled</span>');
|
|
}
|
|
|
|
echo('
|
|
</td>
|
|
<td>');
|
|
|
|
if (Config::has("os.{$device['os']}.discovery_modules.$module")) {
|
|
if (Config::get("os.{$device['os']}.discovery_modules.$module")) {
|
|
echo('<span class="text-success">Enabled</span>');
|
|
$module_status = 1;
|
|
} else {
|
|
echo('<span class="text-danger">Disabled</span>');
|
|
$module_status = 0;
|
|
}
|
|
} else {
|
|
echo('<span>Unset</span>');
|
|
}
|
|
|
|
echo('
|
|
</td>
|
|
<td>');
|
|
|
|
if (isset($attribs['discover_'.$module])) {
|
|
if ($attribs['discover_'.$module]) {
|
|
echo('<span id="discovery-module-'.$module.'" class="text-success">Enabled</span>');
|
|
$module_checked = 'checked';
|
|
} else {
|
|
echo('<span id="discovery-module-'.$module.'" class="text-danger">Disabled</span>');
|
|
$module_checked = '';
|
|
}
|
|
} else {
|
|
echo('<span id="discovery-module-'.$module.'">Unset</span>');
|
|
if ($module_status == 1) {
|
|
$module_checked = 'checked';
|
|
} else {
|
|
$module_checked = '';
|
|
}
|
|
}
|
|
|
|
echo('
|
|
</td>
|
|
<td>');
|
|
|
|
echo '<input type="checkbox" style="visibility:hidden;width:100px;" name="discovery-module" data-discovery_module="'
|
|
.$module.'" data-device_id="'.$device['device_id'].'" '.$module_checked.'>';
|
|
|
|
echo('
|
|
</td>
|
|
</tr>');
|
|
}
|
|
echo('
|
|
</table>
|
|
</div>
|
|
');
|
|
|
|
?>
|
|
|
|
<script>
|
|
$("[name='poller-module']").bootstrapSwitch('offColor','danger');
|
|
$('input[name="poller-module"]').on('switchChange.bootstrapSwitch', function(event, state) {
|
|
event.preventDefault();
|
|
var $this = $(this);
|
|
var poller_module = $(this).data("poller_module");
|
|
var device_id = $(this).data("device_id");
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: 'ajax_form.php',
|
|
data: { type: "poller-module-update", poller_module: poller_module, device_id: device_id, state: state},
|
|
dataType: "html",
|
|
success: function(data){
|
|
//alert('good');
|
|
if(state)
|
|
{
|
|
$('#poller-module-'+poller_module).removeClass('text-danger');
|
|
$('#poller-module-'+poller_module).addClass('text-success');
|
|
$('#poller-module-'+poller_module).html('Enabled');
|
|
}
|
|
else
|
|
{
|
|
$('#poller-module-'+poller_module).removeClass('text-success');
|
|
$('#poller-module-'+poller_module).addClass('text-danger');
|
|
$('#poller-module-'+poller_module).html('Disabled');
|
|
}
|
|
},
|
|
error:function(){
|
|
//alert('bad');
|
|
}
|
|
});
|
|
});
|
|
$("[name='discovery-module']").bootstrapSwitch('offColor','danger');
|
|
$('input[name="discovery-module"]').on('switchChange.bootstrapSwitch', function(event, state) {
|
|
event.preventDefault();
|
|
var $this = $(this);
|
|
var discovery_module = $(this).data("discovery_module");
|
|
var device_id = $(this).data("device_id");
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: 'ajax_form.php',
|
|
data: { type: "discovery-module-update", discovery_module: discovery_module, device_id: device_id, state: state},
|
|
dataType: "html",
|
|
success: function(data){
|
|
//alert('good');
|
|
if(state)
|
|
{
|
|
$('#discovery-module-'+discovery_module).removeClass('text-danger');
|
|
$('#discovery-module-'+discovery_module).addClass('text-success');
|
|
$('#discovery-module-'+discovery_module).html('Enabled');
|
|
}
|
|
else
|
|
{
|
|
$('#discovery-module-'+discovery_module).removeClass('text-success');
|
|
$('#discovery-module-'+discovery_module).addClass('text-danger');
|
|
$('#discovery-module-'+discovery_module).html('Disabled');
|
|
}
|
|
},
|
|
error:function(){
|
|
//alert('bad');
|
|
}
|
|
});
|
|
});
|
|
</script>
|