mirror of
https://github.com/pandorafms/pandorafms.git
synced 2025-07-27 15:54:29 +02:00
Added several changes to agents/module reports. Ticket #4183
This commit is contained in:
parent
c3d1ba7aa6
commit
47d3e60d95
@ -514,6 +514,7 @@ switch ($action) {
|
|||||||
$description = $item['description'];
|
$description = $item['description'];
|
||||||
$es = json_decode($item['external_source'], true);
|
$es = json_decode($item['external_source'], true);
|
||||||
$agents_id = get_parameter('id_agents2');
|
$agents_id = get_parameter('id_agents2');
|
||||||
|
$selection_a_m = get_parameter('selection');
|
||||||
|
|
||||||
if ((count($es['module']) == 1) && ($es['module'][0] == 0)) {
|
if ((count($es['module']) == 1) && ($es['module'][0] == 0)) {
|
||||||
$module = "";
|
$module = "";
|
||||||
@ -1010,6 +1011,17 @@ You can of course remove the warnings, that's why we include the source and do n
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
<tr id="select_agent_modules" style="" class="datos">
|
||||||
|
<td style="font-weight:bold;"><?php echo __('Show modules'); ?></td>
|
||||||
|
<td>
|
||||||
|
<?php
|
||||||
|
$selection = array(0 => __('Show common modules'),
|
||||||
|
1=> __('Show all modules'));
|
||||||
|
html_print_select($selection, 'selection_agent_module', $selection_a_m, $script = '', "", 0, false, false, true, '', false, "min-width: 180px");
|
||||||
|
?>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<tr id="modules_row" style="" class="datos">
|
<tr id="modules_row" style="" class="datos">
|
||||||
<td style="font-weight:bold;"><?php echo __('Modules'); ?></td>
|
<td style="font-weight:bold;"><?php echo __('Modules'); ?></td>
|
||||||
<td>
|
<td>
|
||||||
@ -1879,7 +1891,8 @@ $(document).ready (function () {
|
|||||||
{"page" : "operation/agentes/ver_agente",
|
{"page" : "operation/agentes/ver_agente",
|
||||||
"get_modules_group_json" : 1,
|
"get_modules_group_json" : 1,
|
||||||
"id_module_group" : this.value,
|
"id_module_group" : this.value,
|
||||||
"id_agents" : $("#id_agents2").val()
|
"id_agents" : $("#id_agents2").val(),
|
||||||
|
"selection" : $("#selection_agent_module").val()
|
||||||
},
|
},
|
||||||
function (data, status) {
|
function (data, status) {
|
||||||
$("#module").html('');
|
$("#module").html('');
|
||||||
@ -1901,7 +1914,31 @@ $(document).ready (function () {
|
|||||||
{"page" : "operation/agentes/ver_agente",
|
{"page" : "operation/agentes/ver_agente",
|
||||||
"get_modules_group_json" : 1,
|
"get_modules_group_json" : 1,
|
||||||
"id_module_group" : $("#combo_modulegroup").val(),
|
"id_module_group" : $("#combo_modulegroup").val(),
|
||||||
"id_agents" : $("#id_agents2").val()
|
"id_agents" : $("#id_agents2").val(),
|
||||||
|
"selection" : $("#selection_agent_module").val()
|
||||||
|
},
|
||||||
|
function (data, status) {
|
||||||
|
$("#module").html('');
|
||||||
|
jQuery.each (data, function (id, value) {
|
||||||
|
option = $("<option></option>")
|
||||||
|
.attr ("value", value["id_agente_modulo"])
|
||||||
|
.html (value["nombre"]);
|
||||||
|
$("#module").append (option);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
"json"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
$("#selection_agent_module").change(
|
||||||
|
function() {
|
||||||
|
jQuery.post ("ajax.php",
|
||||||
|
{"page" : "operation/agentes/ver_agente",
|
||||||
|
"get_modules_group_json" : 1,
|
||||||
|
"id_module_group" : $("#combo_modulegroup").val(),
|
||||||
|
"id_agents" : $("#id_agents2").val(),
|
||||||
|
"selection" : $("#selection_agent_module").val()
|
||||||
},
|
},
|
||||||
function (data, status) {
|
function (data, status) {
|
||||||
$("#module").html('');
|
$("#module").html('');
|
||||||
@ -2455,6 +2492,7 @@ function chooseType() {
|
|||||||
$("#row_filter_search").hide();
|
$("#row_filter_search").hide();
|
||||||
$("#row_percentil").hide();
|
$("#row_percentil").hide();
|
||||||
$("#agents_row").hide();
|
$("#agents_row").hide();
|
||||||
|
$("#select_agent_modules").hide();
|
||||||
$("#modules_row").hide();
|
$("#modules_row").hide();
|
||||||
$("#row_event_type").hide();
|
$("#row_event_type").hide();
|
||||||
|
|
||||||
@ -2855,6 +2893,7 @@ function chooseType() {
|
|||||||
$("#row_description").show();
|
$("#row_description").show();
|
||||||
$("#row_group").show();
|
$("#row_group").show();
|
||||||
$("#row_module_group").show();
|
$("#row_module_group").show();
|
||||||
|
$("#select_agent_modules").show();
|
||||||
$("#agents_row").show();
|
$("#agents_row").show();
|
||||||
$("#modules_row").show();
|
$("#modules_row").show();
|
||||||
break;
|
break;
|
||||||
|
@ -1627,7 +1627,7 @@ function reporting_agent_module($report, $content) {
|
|||||||
|
|
||||||
foreach ($modules as $modul_id) {
|
foreach ($modules as $modul_id) {
|
||||||
$modules_by_name[$cont]['name'] = io_safe_output(modules_get_agentmodule_name($modul_id));
|
$modules_by_name[$cont]['name'] = io_safe_output(modules_get_agentmodule_name($modul_id));
|
||||||
$modules_by_name[$cont]['id'][] = $modul_id;
|
$modules_by_name[$cont]['id'] = $modul_id;
|
||||||
$cont ++;
|
$cont ++;
|
||||||
}
|
}
|
||||||
if ($modules_by_name == false || $agents == false) {
|
if ($modules_by_name == false || $agents == false) {
|
||||||
@ -1636,20 +1636,20 @@ function reporting_agent_module($report, $content) {
|
|||||||
else {
|
else {
|
||||||
foreach ($agents as $agent) {
|
foreach ($agents as $agent) {
|
||||||
$row = array();
|
$row = array();
|
||||||
$row['agent_status'][$agent] =
|
$row['agent_status'][$agent] = agents_get_status($agent);
|
||||||
agents_get_status($agent);
|
|
||||||
$row['agent_name'] = agents_get_name($agent);
|
$row['agent_name'] = agents_get_name($agent);
|
||||||
|
|
||||||
$agent_modules = agents_get_modules($agent);
|
$agent_modules = agents_get_modules($agent);
|
||||||
|
|
||||||
$row['modules'] = array();
|
$row['modules'] = array();
|
||||||
foreach ($modules_by_name as $module) {
|
foreach ($modules_by_name as $module) {
|
||||||
$row['modules'][$module['name']] = null;
|
if (array_key_exists($module['id'], $agent_modules)) {
|
||||||
foreach ($module['id'] as $module_id) {
|
$row['modules'][$module['name']] =
|
||||||
if (array_key_exists($module_id, $agent_modules)) {
|
modules_get_agentmodule_status($module['id']);
|
||||||
$row['modules'][$module['name']] =
|
}
|
||||||
modules_get_agentmodule_status($module_id);
|
else {
|
||||||
break;
|
if (!array_key_exists($module['name'], $row['modules'])) {
|
||||||
|
$row['modules'][$module['name']] = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -101,7 +101,6 @@ function reporting_html_header(&$table, $mini, $title, $subtitle,
|
|||||||
}
|
}
|
||||||
|
|
||||||
function reporting_html_print_report($report, $mini = false) {
|
function reporting_html_print_report($report, $mini = false) {
|
||||||
|
|
||||||
foreach ($report['contents'] as $key => $item) {
|
foreach ($report['contents'] as $key => $item) {
|
||||||
$table = new stdClass();
|
$table = new stdClass();
|
||||||
$table->size = array ();
|
$table->size = array ();
|
||||||
|
@ -124,6 +124,7 @@ if (is_ajax ()) {
|
|||||||
if ($get_modules_group_json) {
|
if ($get_modules_group_json) {
|
||||||
$id_group = (int) get_parameter('id_module_group');
|
$id_group = (int) get_parameter('id_module_group');
|
||||||
$id_agents = get_parameter('id_agents');
|
$id_agents = get_parameter('id_agents');
|
||||||
|
$selection = get_parameter('selection');
|
||||||
|
|
||||||
$agents = implode(",", $id_agents);
|
$agents = implode(",", $id_agents);
|
||||||
|
|
||||||
@ -137,18 +138,42 @@ if (is_ajax ()) {
|
|||||||
$filter_agent = " AND id_agente IN (" . $agents . ")";
|
$filter_agent = " AND id_agente IN (" . $agents . ")";
|
||||||
}
|
}
|
||||||
|
|
||||||
$modules = db_get_all_rows_sql("SELECT DISTINCT nombre, id_agente_modulo FROM tagente_modulo WHERE 1 = 1" . $filter_agent . $filter_group);
|
if ($selection == 1 || (count($id_agents) == 1)) {
|
||||||
|
$modules = db_get_all_rows_sql("SELECT DISTINCT nombre, id_agente_modulo FROM tagente_modulo WHERE 1 = 1" . $filter_agent . $filter_group);
|
||||||
|
|
||||||
if (empty($modules)) $modules = array();
|
if (empty($modules)) $modules = array();
|
||||||
|
|
||||||
|
foreach ($modules as $k => $v) {
|
||||||
foreach ($modules as $k => $v) {
|
for ($j = $k + 1; $j <= sizeof($modules); $j++) {
|
||||||
for ($j = $k + 1; $j <= sizeof($modules); $j++) {
|
if ($modules[$j]['nombre'] == $v['nombre']) {
|
||||||
if ($modules[$j]['nombre'] == $v['nombre']) {
|
unset($modules[$j]);
|
||||||
unset($modules[$j]);
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
$modules = db_get_all_rows_sql("SELECT nombre, id_agente_modulo FROM tagente_modulo WHERE 1 = 1" . $filter_agent . $filter_group);
|
||||||
|
|
||||||
|
if (empty($modules)) $modules = array();
|
||||||
|
|
||||||
|
foreach ($modules as $m) {
|
||||||
|
$is_in_all_agents = true;
|
||||||
|
$module_name = modules_get_agentmodule_name($m['id_agente_modulo']);
|
||||||
|
foreach ($id_agents as $a) {
|
||||||
|
$module_in_agent = db_get_value_filter('id_agente_modulo',
|
||||||
|
'tagente_modulo', array('id_agente' => $a, 'nombre' => $module_name));
|
||||||
|
if (!$module_in_agent) {
|
||||||
|
$is_in_all_agents = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($is_in_all_agents) {
|
||||||
|
$modules_to_report[] = $m;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$modules = $modules_to_report;
|
||||||
|
|
||||||
|
$modules = array_unique($modules);
|
||||||
|
}
|
||||||
|
|
||||||
foreach ($modules as $k => $v) {
|
foreach ($modules as $k => $v) {
|
||||||
$modules[$k] = io_safe_output($v);
|
$modules[$k] = io_safe_output($v);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user