';
} else {
- $tdata[2] = html_print_image('images/image_problem_area_small.png', true, ['width' => $graph_width]);
+ $tdata[2] = html_print_image(
+ 'images/image_problem_area_small.png',
+ true,
+ ['width' => $graph_width]
+ );
}
$table_sum->rowclass[] = '';
$table_sum->data[] = $tdata;
$output = '';
+ '.html_print_table($table_sum, true).'';
return $output;
}
@@ -2898,10 +3620,11 @@ function reporting_get_stats_summary($data, $graph_width, $graph_height)
* It construct a table object with all the events happened in a group
* during a period of time.
*
- * @param int Group id to get the report.
- * @param int Period of time to get the report.
- * @param int Beginning date of the report
- * @param int Flag to return or echo the report table (echo by default).
+ * @param integer $id_group Group id to get the report.
+ * @param integer $period Period of time to get the report.
+ * @param integer $date Beginning date of the report.
+ * @param boolean $return Flag to return or echo the
+ * report table (echo by default).
*
* @return object A table object
*/
@@ -2934,7 +3657,7 @@ function reporting_event_reporting($id_group, $period, $date=0, $return=false)
}
$data[1] = $event['evento'];
- $data[2] = $event['id_usuario'] != '0' ? $event['id_usuario'] : '';
+ $data[2] = ($event['id_usuario'] != '0') ? $event['id_usuario'] : '';
$data[3] = $event['timestamp'];
array_push($table->data, $data);
}
@@ -2950,8 +3673,9 @@ function reporting_event_reporting($id_group, $period, $date=0, $return=false)
/**
* Get a table report from a alerts fired array.
*
- * @param array Alerts fired array.
- * @see function get_alerts_fired ()
+ * @param array $alerts_fired Alerts fired array.
+ *
+ * @see function get_alerts_fired ()
*
* @return object A table object with a report of the fired alerts.
*/
@@ -2966,7 +3690,7 @@ function reporting_get_fired_alerts_table($alerts_fired)
$alert_module = alerts_get_alert_agent_module($id_alert);
$template = alerts_get_alert_template($id_alert);
- // Add alerts fired to $agents_fired_alerts indexed by id_agent
+ // Add alerts fired to $agents_fired_alerts indexed by id_agent.
$id_agent = db_get_value(
'id_agente',
'tagente_modulo',
@@ -3012,8 +3736,9 @@ function reporting_get_fired_alerts_table($alerts_fired)
/**
* Get a report table with all the monitors down.
*
- * @param array An array with all the monitors down
- * @see function modules_get_monitors_down()
+ * @param array $monitors_down An array with all the monitors down.
+ *
+ * @see Function modules_get_monitors_down().
*
* @return object A table object with a monitors down report.
*/
@@ -3027,7 +3752,7 @@ function reporting_get_monitors_down_table($monitors_down)
$agents = [];
if ($monitors_down) {
foreach ($monitors_down as $monitor) {
- // Add monitors fired to $agents_fired_alerts indexed by id_agent
+ // Add monitors fired to $agents_fired_alerts indexed by id_agent.
$id_agent = $monitor['id_agente'];
if (!isset($agents[$id_agent])) {
$agents[$id_agent] = [];
@@ -3067,8 +3792,8 @@ function reporting_get_monitors_down_table($monitors_down)
*
* It shows the number of agents and no more things right now.
*
- * @param int Group to get the report
- * @param bool Flag to return or echo the report (by default).
+ * @param integer $id_group Group to get the report.
+ * @param boolean $return Flag to return or echo the report (by default).
*
* @return HTML string with group report
*/
@@ -3088,9 +3813,10 @@ function reporting_print_group_reporting($id_group, $return=false)
/**
* Get a report table of the fired alerts group by agents.
*
- * @param int Agent id to generate the report.
- * @param int Period of time of the report.
- * @param int Beginning date of the report in UNIX time (current date by default).
+ * @param integer $id_agent Agent id to generate the report.
+ * @param integer $period Period of time of the report.
+ * @param integer $date Beginning date of the report in
+ * UNIX time (current date by default).
*
* @return object A table object with the alert reporting..
*/
@@ -3123,6 +3849,7 @@ function reporting_get_agent_alerts_table($id_agent, $period=0, $date=0)
switch ($template['type']) {
case 'regex':
+ default:
if ($template['matches_value']) {
$data[2] = '≃ "'.$template['value'].'"';
} else {
@@ -3133,23 +3860,19 @@ function reporting_get_agent_alerts_table($id_agent, $period=0, $date=0)
case 'equal':
case 'not_equal':
$data[2] = $template['value'];
-
break;
case 'max-min':
$data[2] = __('Min.').': '.$template['min_value'].' ';
$data[2] .= __('Max.').': '.$template['max_value'].' ';
-
break;
case 'max':
$data[2] = $template['max_value'];
-
break;
case 'min':
$data[2] = $template['min_value'];
-
break;
}
@@ -3167,9 +3890,10 @@ function reporting_get_agent_alerts_table($id_agent, $period=0, $date=0)
/**
* Get a report of monitors in an agent.
*
- * @param int Agent id to get the report
- * @param int Period of time of the report.
- * @param int Beginning date of the report in UNIX time (current date by default).
+ * @param integer $id_agent Agent id to get the report.
+ * @param integer $period Period of time of the report.
+ * @param integer $date Beginning date of the report in UNIX time
+ * (current date by default).
*
* @return object A table object with the report.
*/
@@ -3187,7 +3911,11 @@ function reporting_get_agent_monitors_table($id_agent, $period=0, $date=0)
}
foreach ($monitors as $monitor) {
- $downs = modules_get_monitor_downs_in_period($monitor['id_agente_modulo'], $period, $date);
+ $downs = modules_get_monitor_downs_in_period(
+ $monitor['id_agente_modulo'],
+ $period,
+ $date
+ );
if (! $downs) {
continue;
}
@@ -3199,7 +3927,11 @@ function reporting_get_agent_monitors_table($id_agent, $period=0, $date=0)
$data[0] = $monitor['nombre'];
}
- $data[1] = modules_get_last_down_timestamp_in_period($monitor['id_agente_modulo'], $period, $date);
+ $data[1] = modules_get_last_down_timestamp_in_period(
+ $monitor['id_agente_modulo'],
+ $period,
+ $date
+ );
array_push($table->data, $data);
}
@@ -3210,9 +3942,10 @@ function reporting_get_agent_monitors_table($id_agent, $period=0, $date=0)
/**
* Get a report of all the modules in an agent.
*
- * @param int Agent id to get the report.
- * @param int Period of time of the report
- * @param int Beginning date of the report in UNIX time (current date by default).
+ * @param integer $id_agent Agent id to get the report.
+ * @param integer $period Period of time of the report.
+ * @param integer $date Beginning date of the report in UNIX time
+ * (current date by default).
*
* @return object
*/
@@ -3244,19 +3977,24 @@ function reporting_get_agent_modules_table($id_agent, $period=0, $date=0)
/**
* Get a detailed report of an agent
*
- * @param int Agent to get the report.
- * @param int Period of time of the desired report.
- * @param int Beginning date of the report in UNIX time (current date by default).
- * @param bool Flag to return or echo the report (by default).
+ * @param integer $id_agent Agent to get the report.
+ * @param integer $period Period of time of the desired report.
+ * @param integer $date Beginning date of the report in UNIX time
+ * (current date by default).
+ * @param boolean $return Flag to return or echo the report (by default).
*
* @return string
*/
-function reporting_get_agent_detailed($id_agent, $period=0, $date=0, $return=false)
-{
+function reporting_get_agent_detailed(
+ $id_agent,
+ $period=0,
+ $date=0,
+ $return=false
+) {
$output = '';
$n_a_string = __('N/A(*)');
- // Show modules in agent
+ // Show modules in agent.
$output .= '
';
$output .= '
'.__('Agent').' - '.agents_get_alias($id_agent).'
';
$output .= '
'.__('Modules').'';
@@ -3264,17 +4002,17 @@ function reporting_get_agent_detailed($id_agent, $period=0, $date=0, $return=fal
$table_modules->width = '99%';
$output .= html_print_table($table_modules, true);
- // Show alerts in agent
+ // Show alerts in agent.
$table_alerts = reporting_get_agent_alerts_table($id_agent, $period, $date);
$table_alerts->width = '99%';
- if (sizeof($table_alerts->data)) {
+ if (count($table_alerts->data)) {
$output .= '
'.__('Alerts').'
';
$output .= html_print_table($table_alerts, true);
}
- // Show monitor status in agent (if any)
+ // Show monitor status in agent (if any).
$table_monitors = reporting_get_agent_monitors_table($id_agent, $period, $date);
- if (sizeof($table_monitors->data) == 0) {
+ if (count($table_monitors->data) == 0) {
$output .= '
';
if (! $return) {
echo $output;
@@ -3467,12 +4205,12 @@ function reporting_get_agents_by_status($data, $graph_width=250, $graph_height=1
if (!defined('METACONSOLE')) {
$agents_data = '';
+ '.html_print_table($table_agent, true).'';
} else {
$table_agent->style = [];
$table_agent->class = 'tactical_view';
$agents_data = '';
+ '.html_print_table($table_agent, true).'';
}
return $agents_data;
@@ -3495,7 +4233,7 @@ function reporting_get_total_agents_and_monitors($data, $graph_width=250, $graph
$total_data[3] = $total_module <= 0 ? '-' : $total_module;
$table_total->data[] = $total_data;
$total_agent_module = '';
+ '.html_print_table($table_total, true).'';
return $total_agent_module;
}
@@ -3514,12 +4252,12 @@ function reporting_get_total_servers($num_servers)
if (!defined('METACONSOLE')) {
$node_overview = '';
+ '.html_print_table($table_node, true).'';
} else {
$table_node->style = [];
$table_node->class = 'tactical_view';
$node_overview = '';
+ '.html_print_table($table_node, true).'';
}
return $node_overview;
@@ -3563,7 +4301,7 @@ function reporting_get_events($data, $links=false)
if (!defined('METACONSOLE')) {
$event_view = '';
+ '.html_print_table($table_events, true).'';
} else {
$table_events->class = 'tactical_view';
$table_events->styleTable = 'text-align:center;';
@@ -3573,7 +4311,7 @@ function reporting_get_events($data, $links=false)
$table_events->size[3] = '10%';
$event_view = '';
+ '.html_print_table($table_events, true).'';
}
return $event_view;
@@ -3605,9 +4343,9 @@ function reporting_get_last_activity()
case 'mysql':
$sql = sprintf(
'SELECT id_usuario,accion,fecha,ip_origen,descripcion,utimestamp
- FROM tsesion
- WHERE (`utimestamp` > UNIX_TIMESTAMP(NOW()) - '.SECONDS_1WEEK.")
- AND `id_usuario` = '%s' ORDER BY `utimestamp` DESC LIMIT 5",
+ FROM tsesion
+ WHERE (`utimestamp` > UNIX_TIMESTAMP(NOW()) - '.SECONDS_1WEEK.")
+ AND `id_usuario` = '%s' ORDER BY `utimestamp` DESC LIMIT 5",
$config['id_user']
);
break;
@@ -3615,9 +4353,9 @@ function reporting_get_last_activity()
case 'postgresql':
$sql = sprintf(
"SELECT \"id_usuario\", accion, fecha, \"ip_origen\", descripcion, utimestamp
- FROM tsesion
- WHERE (\"utimestamp\" > ceil(date_part('epoch', CURRENT_TIMESTAMP)) - ".SECONDS_1WEEK.")
- AND \"id_usuario\" = '%s' ORDER BY \"utimestamp\" DESC LIMIT 5",
+ FROM tsesion
+ WHERE (\"utimestamp\" > ceil(date_part('epoch', CURRENT_TIMESTAMP)) - ".SECONDS_1WEEK.")
+ AND \"id_usuario\" = '%s' ORDER BY \"utimestamp\" DESC LIMIT 5",
$config['id_user']
);
break;
@@ -3625,9 +4363,9 @@ function reporting_get_last_activity()
case 'oracle':
$sql = sprintf(
"SELECT id_usuario, accion, fecha, ip_origen, descripcion, utimestamp
- FROM tsesion
- WHERE ((utimestamp > ceil((sysdate - to_date('19700101000000','YYYYMMDDHH24MISS')) * (".SECONDS_1DAY.')) - '.SECONDS_1WEEK.")
- AND id_usuario = '%s') AND rownum <= 10 ORDER BY utimestamp DESC",
+ FROM tsesion
+ WHERE ((utimestamp > ceil((sysdate - to_date('19700101000000','YYYYMMDDHH24MISS')) * (".SECONDS_1DAY.')) - '.SECONDS_1WEEK.")
+ AND id_usuario = '%s') AND rownum <= 10 ORDER BY utimestamp DESC",
$config['id_user']
);
break;
@@ -3805,7 +4543,7 @@ function reporting_get_event_histogram($events, $text_header_event=false)
if (!defined('METACONSOLE')) {
if (!$text_header_event) {
$event_graph = '';
+ '.html_print_table($table, true).'';
} else {
$table->class = 'noclass';
$event_graph = html_print_table($table, true);
@@ -3903,9 +4641,9 @@ function reporting_get_event_histogram_meta($width)
$time_condition = 'utimestamp > '.$bottom.' AND utimestamp < '.$top;
$sql = sprintf(
'SELECT criticity,utimestamp
- FROM tmetaconsole_event
- WHERE %s %s %s
- ORDER BY criticity DESC',
+ FROM tmetaconsole_event
+ WHERE %s %s %s
+ ORDER BY criticity DESC',
$time_condition,
$groups_condition,
$status_condition
@@ -3989,7 +4727,7 @@ function reporting_get_event_histogram_meta($width)
if (!$text_header_event) {
$event_graph = '';
+ '.html_print_table($table, true).'';
} else {
$table->class = 'noclass';
$event_graph = html_print_table($table, true);
diff --git a/pandora_console/include/functions_tags.php b/pandora_console/include/functions_tags.php
index 2969a80dcd..ebbc2ac376 100644
--- a/pandora_console/include/functions_tags.php
+++ b/pandora_console/include/functions_tags.php
@@ -748,7 +748,7 @@ function tags_get_acl_tags(
$id_user = $config['id_user'];
}
- if (is_user_admin($id_user)) {
+ if (is_user_admin($id_user) && empty($childrens_ids)) {
switch ($return_mode) {
case 'data':
return [];
@@ -797,7 +797,8 @@ function tags_get_acl_tags(
// Return the condition of the tags for tagente_modulo table
$condition = tags_get_acl_tags_module_condition(
$acltags,
- $query_table
+ $query_table,
+ empty($childrens_ids) ? [] : $childrens_ids
);
if (!empty($condition)) {
return " $query_prefix ".$condition;
@@ -825,7 +826,7 @@ function tags_get_acl_tags(
*
* @return string SQL condition for tagente_module
*/
-function tags_get_acl_tags_module_condition($acltags, $modules_table='')
+function tags_get_acl_tags_module_condition($acltags, $modules_table='', $force_tags=[])
{
if (!empty($modules_table)) {
$modules_table .= '.';
@@ -839,6 +840,17 @@ function tags_get_acl_tags_module_condition($acltags, $modules_table='')
// The acltags array contains the groups with the acl propagation applied
// after the changes done into the 'tags_get_user_groups_and_tags' function.
foreach ($acltags as $group_id => $group_tags) {
+ if (empty($group_tags)) {
+ $group_tags = [];
+ if (!empty($force_tags)) {
+ $group_tags = $force_tags;
+ }
+ }
+
+ if (!empty($group_tags)) {
+ $group_tags = array_intersect($force_tags, $group_tags);
+ }
+
$tag_join = '';
if (!empty($group_tags)) {
$tag_join = sprintf('AND ttag_module.id_tag IN (%s)', is_array($group_tags) ? implode(',', $group_tags) : $group_tags);
@@ -849,7 +861,7 @@ function tags_get_acl_tags_module_condition($acltags, $modules_table='')
}
$group_conditions[] = $agent_condition;
- } else {
+ } else if (!empty($force_tags)) {
$without_tags[] = $group_id;
}
}
diff --git a/pandora_console/include/graphs/flot/pandora.flot.js b/pandora_console/include/graphs/flot/pandora.flot.js
index 0460b55c99..3561581f49 100644
--- a/pandora_console/include/graphs/flot/pandora.flot.js
+++ b/pandora_console/include/graphs/flot/pandora.flot.js
@@ -856,6 +856,7 @@ function pandoraFlotSlicebar(
}
var font_size = parseInt(font_size);
+ if (font != undefined)
var font = font
.split("/")
.pop()
diff --git a/pandora_console/include/help/en/help_response_macros.php b/pandora_console/include/help/en/help_response_macros.php
index 38aae0eeab..37abe115fa 100644
--- a/pandora_console/include/help/en/help_response_macros.php
+++ b/pandora_console/include/help/en/help_response_macros.php
@@ -32,7 +32,8 @@ The accepted macros are:
Event associated module name: _module_name_
Event owner user: _owner_user_
User ID: _user_id_
-
+
Id of the user who fires the response: _current_user_
+
Custom fields
diff --git a/pandora_console/include/help/es/help_response_macros.php b/pandora_console/include/help/es/help_response_macros.php
index adc43b4f48..5a860f1548 100644
--- a/pandora_console/include/help/es/help_response_macros.php
+++ b/pandora_console/include/help/es/help_response_macros.php
@@ -33,6 +33,7 @@ Las macros aceptadas son las siguientes:
Nombre del módulo asociado al evento: _module_name_
Usuario propietario del evento: _owner_user_
Id del usuario: _user_id_
+
Id del usuario que ejecuta la respuesta: _current_user_
Id of the user who fires the response: _current_user_
Custom fields
diff --git a/pandora_console/include/javascript/pandora.js b/pandora_console/include/javascript/pandora.js
index 37a9987812..c30736cd8b 100644
--- a/pandora_console/include/javascript/pandora.js
+++ b/pandora_console/include/javascript/pandora.js
@@ -503,6 +503,14 @@ function module_changed_by_multiple_modules(event, id_module, selected) {
selection_mode = "common";
}
+ var tags_selected = [];
+
+ var tags_to_search = $("#tags").val();
+ if (tags_to_search != null) {
+ if (tags_to_search[0] != -1) {
+ tags_selected = tags_to_search;
+ }
+ }
jQuery.post(
"ajax.php",
{
@@ -510,7 +518,8 @@ function module_changed_by_multiple_modules(event, id_module, selected) {
get_agents_json_for_multiple_modules: 1,
status_module: status_module,
"module_name[]": idModules,
- selection_mode: selection_mode
+ selection_mode: selection_mode,
+ tags: tags_selected
},
function(data) {
$("#agents").append(
diff --git a/pandora_console/include/styles/pandora.css b/pandora_console/include/styles/pandora.css
index 70a9c4920e..7cc134c76a 100644
--- a/pandora_console/include/styles/pandora.css
+++ b/pandora_console/include/styles/pandora.css
@@ -1,24 +1,30 @@
-/*
-Author: The Pandora FMS team
-Name: Default theme
-Description: The default Pandora FMS theme layout
-
-// Pandora FMS - http://pandorafms.com
-// ==========================================================
-// Copyright (c) 2004-2019 Artica Soluciones Tecnológicas S.L
-
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; version 2
-
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-*/
+/**
+ * Extension to manage a list of gateways and the node address where they should
+ * point to.
+ *
+ * @category Extensions
+ * @package Pandora FMS
+ * @subpackage Community
+ * @version 1.0.0
+ * @license See below
+ *
+ * ______ ___ _______ _______ ________
+ * | __ \.-----.--.--.--| |.-----.----.-----. | ___| | | __|
+ * | __/| _ | | _ || _ | _| _ | | ___| |__ |
+ * |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
+ *
+ * ============================================================================
+ * Copyright (c) 2005-2019 Artica Soluciones Tecnologicas
+ * Please see http://pandorafms.org for full contribution list
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation for version 2.
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ * ============================================================================
+ */
/* Tree view styles */
/*@import url(tree.css);
@@ -2053,82 +2059,58 @@ div#logo_text3 {
/* TABLAS */
/* Cells divs to set individual styles with the table objects */
-div.cellBold {
- width: 100%;
- height: 100%;
+td.cellBold {
font-weight: bold;
}
-div.cellRight {
- width: 100%;
- height: 100%;
+td.cellRight {
text-align: right;
}
-div.cellCenter {
- width: 100%;
- height: 100%;
+td.cellCenter {
text-align: center;
}
-div.cellWhite {
- width: 100%;
- height: 100%;
+td.cellWhite {
background: #fff;
color: #111;
}
-div.cellNormal {
- width: 100%;
- height: 100%;
+td.cellNormal {
background: #6eb432;
color: #fff;
}
-div.cellCritical {
- width: 100%;
- height: 100%;
+td.cellCritical {
background: #f85858;
color: #fff;
}
-div.cellWarning {
- width: 100%;
- height: 100%;
+td.cellWarning {
background: #ffea59;
color: #111;
}
-div.cellUnknown {
- width: 100%;
- height: 100%;
+td.cellUnknown {
background: #aaaaaa;
color: #ffffff;
}
-div.cellNotInit {
- width: 100%;
- height: 100%;
+td.cellNotInit {
background: #3ba0ff;
color: #ffffff;
}
-div.cellAlert {
- width: 100%;
- height: 100%;
+td.cellAlert {
background: #ff8800;
color: #111;
}
-div.cellBorder1 {
- width: 100%;
- height: 100%;
+td.cellBorder1 {
border: 1px solid #666;
}
-div.cellBig {
- width: 100%;
- height: 100%;
+td.cellBig {
font-size: 18px;
}
@@ -4561,4 +4543,4 @@ input:checked + .slider:before {
.no-close .ui-dialog-titlebar-close {
display: none;
}
-/* jQuery dialog */
+/* --- END - JQUERY-UI --- */
diff --git a/pandora_console/include/styles/pandoraPDF.css b/pandora_console/include/styles/pandoraPDF.css
new file mode 100644
index 0000000000..37d527c30b
--- /dev/null
+++ b/pandora_console/include/styles/pandoraPDF.css
@@ -0,0 +1,78 @@
+/**
+ * Extension to manage a list of gateways and the node address where they should
+ * point to.
+ *
+ * @category Extensions
+ * @package Pandora FMS
+ * @subpackage Community
+ * @version 1.0.0
+ * @license See below
+ *
+ * ______ ___ _______ _______ ________
+ * | __ \.-----.--.--.--| |.-----.----.-----. | ___| | | __|
+ * | __/| _ | | _ || _ | _| _ | | ___| |__ |
+ * |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
+ *
+ * ============================================================================
+ * Copyright (c) 2005-2019 Artica Soluciones Tecnologicas
+ * Please see http://pandorafms.org for full contribution list
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation for version 2.
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ * ============================================================================
+ */
+table.header_table {
+ width: 100%;
+}
+
+table.header_table thead tr th,
+table.header_table tbody tr td {
+ padding: 10px;
+}
+
+thead.header_tr tr {
+ background: #e6e6e6;
+}
+
+thead.header_tr tr th {
+ font-weight: normal;
+ text-align: right;
+}
+
+thead.header_tr tr th.th_first {
+ font-weight: bold;
+ text-align: left;
+}
+
+thead.header_tr tr th.th_description {
+ background-color: #f5f5f5;
+ color: #1c1c1c;
+ text-align: justify;
+}
+
+table.table_beauty {
+ border-collapse: collapse;
+ width: 100%;
+}
+
+table.table_beauty tbody tr td {
+ padding: 5px;
+ border: 0.1pt solid #acacac;
+}
+
+table.databox {
+ margin-bottom: 20px;
+}
+
+th.title_table_pdf {
+ background-color: #acacac;
+ padding: 15px;
+}
+
+table.table_agent_module tr td {
+ padding: 5px;
+}
diff --git a/pandora_console/index.php b/pandora_console/index.php
index ad4b93465a..321b5956dc 100755
--- a/pandora_console/index.php
+++ b/pandora_console/index.php
@@ -1363,4 +1363,3 @@ require 'include/php_to_js_values.php';
if (__PAN_XHPROF__ === 1) {
pandora_xhprof_display_result('node_index');
}
-
diff --git a/pandora_console/install.php b/pandora_console/install.php
index be416f5b40..ad9889d1b3 100644
--- a/pandora_console/install.php
+++ b/pandora_console/install.php
@@ -129,7 +129,7 @@
$status_modulo],
+ [
+ 'status' => $status_modulo,
+ 'tags' => $tags_selected,
+ ],
'AW'
);
diff --git a/pandora_console/operation/users/user_edit.php b/pandora_console/operation/users/user_edit.php
index 1552f2f57c..802ab0bf6c 100644
--- a/pandora_console/operation/users/user_edit.php
+++ b/pandora_console/operation/users/user_edit.php
@@ -390,10 +390,13 @@ $table->data[] = $data;
// Double auth
$double_auth_enabled = (bool) db_get_value('id', 'tuser_double_auth', 'id_user', $config['id_user']);
-$data = [];
-$data[0] = ''.__('Double authentication').'';
-$data[0] .= $jump;
-$data[0] .= ''.html_print_checkbox('double_auth', 1, $double_auth_enabled, true).'';
+$data = array();
+if ($config['double_auth_enabled']) {
+ $data[0] = ''.__('Double authentication').'';
+ $data[0] .= $jump;
+ $data[0] .= ''.html_print_checkbox('double_auth', 1, $double_auth_enabled, true).'';
+}
+
if ($double_auth_enabled) {
$data[0] .= $jump;
$data[0] .= html_print_button(__('Show information'), 'show_info', false, 'javascript:show_double_auth_info();', '', true);
diff --git a/pandora_console/pandora_console.redhat.spec b/pandora_console/pandora_console.redhat.spec
index 4653843f6a..cfece25f38 100644
--- a/pandora_console/pandora_console.redhat.spec
+++ b/pandora_console/pandora_console.redhat.spec
@@ -3,7 +3,7 @@
#
%define name pandorafms_console
%define version 7.0NG.731
-%define release 190219
+%define release 190220
# User and Group under which Apache is running
%define httpd_name httpd
diff --git a/pandora_console/pandora_console.spec b/pandora_console/pandora_console.spec
index a5f4fb2163..9f5469f8d5 100644
--- a/pandora_console/pandora_console.spec
+++ b/pandora_console/pandora_console.spec
@@ -3,7 +3,7 @@
#
%define name pandorafms_console
%define version 7.0NG.731
-%define release 190219
+%define release 190220
%define httpd_name httpd
# User and Group under which Apache is running
%define httpd_name apache2
diff --git a/pandora_server/DEBIAN/control b/pandora_server/DEBIAN/control
index e307f4aa2b..3faf066895 100644
--- a/pandora_server/DEBIAN/control
+++ b/pandora_server/DEBIAN/control
@@ -1,5 +1,5 @@
package: pandorafms-server
-Version: 7.0NG.731-190219
+Version: 7.0NG.731-190220
Architecture: all
Priority: optional
Section: admin
diff --git a/pandora_server/DEBIAN/make_deb_package.sh b/pandora_server/DEBIAN/make_deb_package.sh
index c4305947c6..455e217ec3 100644
--- a/pandora_server/DEBIAN/make_deb_package.sh
+++ b/pandora_server/DEBIAN/make_deb_package.sh
@@ -14,7 +14,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-pandora_version="7.0NG.731-190219"
+pandora_version="7.0NG.731-190220"
package_cpan=0
package_pandora=1
diff --git a/pandora_server/lib/PandoraFMS/Config.pm b/pandora_server/lib/PandoraFMS/Config.pm
index a3469c8f4c..236e161eae 100644
--- a/pandora_server/lib/PandoraFMS/Config.pm
+++ b/pandora_server/lib/PandoraFMS/Config.pm
@@ -45,7 +45,7 @@ our @EXPORT = qw(
# version: Defines actual version of Pandora Server for this module only
my $pandora_version = "7.0NG.731";
-my $pandora_build = "190219";
+my $pandora_build = "190220";
our $VERSION = $pandora_version." ".$pandora_build;
# Setup hash
diff --git a/pandora_server/lib/PandoraFMS/Core.pm b/pandora_server/lib/PandoraFMS/Core.pm
index 3bfd1e1a7d..4682c38820 100644
--- a/pandora_server/lib/PandoraFMS/Core.pm
+++ b/pandora_server/lib/PandoraFMS/Core.pm
@@ -3454,6 +3454,7 @@ sub pandora_evaluate_snmp_alerts ($$$$$$$$$) {
# Specific SNMP Trap alert macros for regexp selectors in trap info
my %macros;
+ $macros{'_trap_id_'} = $trap_id;
$macros{'_snmp_oid_'} = $trap_oid;
$macros{'_snmp_value_'} = $trap_value;
diff --git a/pandora_server/lib/PandoraFMS/PluginTools.pm b/pandora_server/lib/PandoraFMS/PluginTools.pm
index 06ba620049..0ebb176f6e 100644
--- a/pandora_server/lib/PandoraFMS/PluginTools.pm
+++ b/pandora_server/lib/PandoraFMS/PluginTools.pm
@@ -32,7 +32,7 @@ our @ISA = qw(Exporter);
# version: Defines actual version of Pandora Server for this module only
my $pandora_version = "7.0NG.731";
-my $pandora_build = "190219";
+my $pandora_build = "190220";
our $VERSION = $pandora_version." ".$pandora_build;
our %EXPORT_TAGS = ( 'all' => [ qw() ] );
diff --git a/pandora_server/pandora_server.redhat.spec b/pandora_server/pandora_server.redhat.spec
index 0e83289792..e64e4cb345 100644
--- a/pandora_server/pandora_server.redhat.spec
+++ b/pandora_server/pandora_server.redhat.spec
@@ -3,7 +3,7 @@
#
%define name pandorafms_server
%define version 7.0NG.731
-%define release 190219
+%define release 190220
Summary: Pandora FMS Server
Name: %{name}
diff --git a/pandora_server/pandora_server.spec b/pandora_server/pandora_server.spec
index 3696930e4d..acb121e249 100644
--- a/pandora_server/pandora_server.spec
+++ b/pandora_server/pandora_server.spec
@@ -3,7 +3,7 @@
#
%define name pandorafms_server
%define version 7.0NG.731
-%define release 190219
+%define release 190220
Summary: Pandora FMS Server
Name: %{name}
diff --git a/pandora_server/pandora_server_installer b/pandora_server/pandora_server_installer
index 6ef203a875..069e8311c9 100755
--- a/pandora_server/pandora_server_installer
+++ b/pandora_server/pandora_server_installer
@@ -9,7 +9,7 @@
# **********************************************************************
PI_VERSION="7.0NG.731"
-PI_BUILD="190219"
+PI_BUILD="190220"
MODE=$1
if [ $# -gt 1 ]; then
diff --git a/pandora_server/util/pandora_db.pl b/pandora_server/util/pandora_db.pl
index ab35080dc9..67e58019af 100644
--- a/pandora_server/util/pandora_db.pl
+++ b/pandora_server/util/pandora_db.pl
@@ -34,7 +34,7 @@ use PandoraFMS::Config;
use PandoraFMS::DB;
# version: define current version
-my $version = "7.0NG.731 PS190219";
+my $version = "7.0NG.731 PS190220";
# Pandora server configuration
my %conf;
diff --git a/pandora_server/util/pandora_manage.pl b/pandora_server/util/pandora_manage.pl
index aaafd6978c..3046097bbd 100644
--- a/pandora_server/util/pandora_manage.pl
+++ b/pandora_server/util/pandora_manage.pl
@@ -36,7 +36,7 @@ use Encode::Locale;
Encode::Locale::decode_argv;
# version: define current version
-my $version = "7.0NG.731 PS190219";
+my $version = "7.0NG.731 PS190220";
# save program name for logging
my $progname = basename($0);