Merge branch 'develop' into 'ent-6846-Network-tools-al-setup-general'

# Conflicts:
#   pandora_console/extras/delete_files/delete_files.txt
This commit is contained in:
José González 2021-03-10 10:17:27 +00:00
commit b7bd28ba07
46 changed files with 217 additions and 213 deletions

View File

@ -1,5 +1,5 @@
package: pandorafms-agent-unix package: pandorafms-agent-unix
Version: 7.0NG.752-210309 Version: 7.0NG.752-210310
Architecture: all Architecture: all
Priority: optional Priority: optional
Section: admin Section: admin

View File

@ -14,7 +14,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
pandora_version="7.0NG.752-210309" pandora_version="7.0NG.752-210310"
echo "Test if you has the tools for to make the packages." echo "Test if you has the tools for to make the packages."
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null

View File

@ -1016,7 +1016,7 @@ my $Sem = undef;
my $ThreadSem = undef; my $ThreadSem = undef;
use constant AGENT_VERSION => '7.0NG.752'; use constant AGENT_VERSION => '7.0NG.752';
use constant AGENT_BUILD => '210309'; use constant AGENT_BUILD => '210310';
# Agent log default file size maximum and instances # Agent log default file size maximum and instances
use constant DEFAULT_MAX_LOG_SIZE => 600000; use constant DEFAULT_MAX_LOG_SIZE => 600000;

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_agent_unix %define name pandorafms_agent_unix
%define version 7.0NG.752 %define version 7.0NG.752
%define release 210309 %define release 210310
Summary: Pandora FMS Linux agent, PERL version Summary: Pandora FMS Linux agent, PERL version
Name: %{name} Name: %{name}

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_agent_unix %define name pandorafms_agent_unix
%define version 7.0NG.752 %define version 7.0NG.752
%define release 210309 %define release 210310
Summary: Pandora FMS Linux agent, PERL version Summary: Pandora FMS Linux agent, PERL version
Name: %{name} Name: %{name}

View File

@ -10,7 +10,7 @@
# ********************************************************************** # **********************************************************************
PI_VERSION="7.0NG.752" PI_VERSION="7.0NG.752"
PI_BUILD="210309" PI_BUILD="210310"
OS_NAME=`uname -s` OS_NAME=`uname -s`
FORCE=0 FORCE=0

View File

@ -186,7 +186,7 @@ UpgradeApplicationID
{} {}
Version Version
{210309} {210310}
ViewReadme ViewReadme
{Yes} {Yes}

View File

@ -30,7 +30,7 @@ using namespace Pandora;
using namespace Pandora_Strutils; using namespace Pandora_Strutils;
#define PATH_SIZE _MAX_PATH+1 #define PATH_SIZE _MAX_PATH+1
#define PANDORA_VERSION ("7.0NG.752(Build 210309)") #define PANDORA_VERSION ("7.0NG.752(Build 210310)")
string pandora_path; string pandora_path;
string pandora_dir; string pandora_dir;

View File

@ -11,7 +11,7 @@ BEGIN
VALUE "LegalCopyright", "Artica ST" VALUE "LegalCopyright", "Artica ST"
VALUE "OriginalFilename", "PandoraAgent.exe" VALUE "OriginalFilename", "PandoraAgent.exe"
VALUE "ProductName", "Pandora FMS Windows Agent" VALUE "ProductName", "Pandora FMS Windows Agent"
VALUE "ProductVersion", "(7.0NG.752(Build 210309))" VALUE "ProductVersion", "(7.0NG.752(Build 210310))"
VALUE "FileVersion", "1.0.0.0" VALUE "FileVersion", "1.0.0.0"
END END
END END

View File

@ -1,5 +1,5 @@
package: pandorafms-console package: pandorafms-console
Version: 7.0NG.752-210309 Version: 7.0NG.752-210310
Architecture: all Architecture: all
Priority: optional Priority: optional
Section: admin Section: admin

View File

@ -14,7 +14,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
pandora_version="7.0NG.752-210309" pandora_version="7.0NG.752-210310"
package_pear=0 package_pear=0
package_pandora=1 package_pandora=1

View File

@ -1,6 +1,7 @@
operation/servers/recon_view.php operation/servers/recon_view.php
operation/users/webchat.php operation/users/webchat.php
operation/events/event_statistics.php operation/events/event_statistics.php
operation/events/events_marquee.php
include/javascript/webchat.js include/javascript/webchat.js
attachment/pandora_chat.log.json.txt attachment/pandora_chat.log.json.txt
attachment/pandora_chat.user_list.json.txt attachment/pandora_chat.user_list.json.txt

View File

@ -1,5 +1,8 @@
START TRANSACTION; START TRANSACTION;
ALTER TABLE `treport_content` ADD COLUMN `summary` tinyint(1) DEFAULT 0;
ALTER TABLE `treport_content_template` ADD COLUMN `summary` tinyint(1) DEFAULT 0;
ALTER TABLE `tinventory_alert` ADD COLUMN `alert_groups` TEXT NOT NULL; ALTER TABLE `tinventory_alert` ADD COLUMN `alert_groups` TEXT NOT NULL;
UPDATE `tinventory_alert` t1 INNER JOIN `tinventory_alert` t2 ON t1.id = t2.id SET t1.alert_groups = t2.id_group; UPDATE `tinventory_alert` t1 INNER JOIN `tinventory_alert` t2 ON t1.id = t2.id SET t1.alert_groups = t2.id_group;

View File

@ -865,6 +865,7 @@ ALTER TABLE `treport_content_template` ADD COLUMN `agent_min_value` TINYINT(1) D
ALTER TABLE `treport_content_template` ADD COLUMN `current_month` TINYINT(1) DEFAULT '1'; ALTER TABLE `treport_content_template` ADD COLUMN `current_month` TINYINT(1) DEFAULT '1';
ALTER TABLE `treport_content_template` ADD COLUMN `failover_mode` tinyint(1) DEFAULT '1'; ALTER TABLE `treport_content_template` ADD COLUMN `failover_mode` tinyint(1) DEFAULT '1';
ALTER TABLE `treport_content_template` ADD COLUMN `failover_type` tinyint(1) DEFAULT '1'; ALTER TABLE `treport_content_template` ADD COLUMN `failover_type` tinyint(1) DEFAULT '1';
ALTER TABLE `treport_content_template` ADD COLUMN `summary` tinyint(1) DEFAULT 0;
ALTER TABLE `treport_content_template` ADD COLUMN `uncompressed_module` TINYINT DEFAULT '0'; ALTER TABLE `treport_content_template` ADD COLUMN `uncompressed_module` TINYINT DEFAULT '0';
ALTER TABLE `treport_content_template` MODIFY COLUMN `historical_db` tinyint(1) unsigned NOT NULL DEFAULT '0', ALTER TABLE `treport_content_template` MODIFY COLUMN `historical_db` tinyint(1) unsigned NOT NULL DEFAULT '0',
MODIFY COLUMN `lapse_calc` tinyint(1) unsigned NOT NULL DEFAULT '0', MODIFY COLUMN `lapse_calc` tinyint(1) unsigned NOT NULL DEFAULT '0',
@ -1725,6 +1726,7 @@ ALTER TABLE `treport_content` ADD COLUMN `agent_min_value` TINYINT(1) DEFAULT '1
ALTER TABLE `treport_content` ADD COLUMN `current_month` TINYINT(1) DEFAULT '1'; ALTER TABLE `treport_content` ADD COLUMN `current_month` TINYINT(1) DEFAULT '1';
ALTER TABLE `treport_content` ADD COLUMN `failover_mode` tinyint(1) DEFAULT '0'; ALTER TABLE `treport_content` ADD COLUMN `failover_mode` tinyint(1) DEFAULT '0';
ALTER TABLE `treport_content` ADD COLUMN `failover_type` tinyint(1) DEFAULT '0'; ALTER TABLE `treport_content` ADD COLUMN `failover_type` tinyint(1) DEFAULT '0';
ALTER TABLE `treport_content` ADD COLUMN `summary` tinyint(1) DEFAULT 0;
ALTER table `treport_content` MODIFY COLUMN `name` varchar(300) NULL; ALTER table `treport_content` MODIFY COLUMN `name` varchar(300) NULL;
ALTER TABLE `treport_content` ADD COLUMN `uncompressed_module` TINYINT DEFAULT '0'; ALTER TABLE `treport_content` ADD COLUMN `uncompressed_module` TINYINT DEFAULT '0';
ALTER TABLE `treport_content` MODIFY COLUMN `historical_db` tinyint(1) unsigned NOT NULL DEFAULT '0', ALTER TABLE `treport_content` MODIFY COLUMN `historical_db` tinyint(1) unsigned NOT NULL DEFAULT '0',

View File

@ -185,6 +185,7 @@ switch ($action) {
$dyn_height = 230; $dyn_height = 230;
$landscape = false; $landscape = false;
$pagebreak = false; $pagebreak = false;
$summary = 0;
break; break;
case 'save': case 'save':
@ -314,11 +315,12 @@ switch ($action) {
$idCustomGraph = $item['id_gs']; $idCustomGraph = $item['id_gs'];
break; break;
case 'availability_graph':
$summary = $item['summary'];
case 'SLA': case 'SLA':
case 'SLA_weekly': case 'SLA_weekly':
case 'SLA_monthly': case 'SLA_monthly':
case 'SLA_hourly': case 'SLA_hourly':
case 'availability_graph':
$description = $item['description']; $description = $item['description'];
$only_display_wrong = $item['only_display_wrong']; $only_display_wrong = $item['only_display_wrong'];
$monday = $item['monday']; $monday = $item['monday'];
@ -2750,6 +2752,27 @@ $class = 'databox filters';
</td> </td>
</tr> </tr>
<tr id="row_summary" style="" class="datos">
<td style="font-weight:bold;">
<?php
echo __('Summary');
?>
</td>
<td style="">
<?php
html_print_checkbox_switch(
'summary',
1,
$summary,
false,
false,
'',
false
);
?>
</td>
</tr>
<tr id="row_filter_search" style="" class="datos"> <tr id="row_filter_search" style="" class="datos">
<td style="font-weight:bold;"><?php echo __('Include filter'); ?></td> <td style="font-weight:bold;"><?php echo __('Include filter'); ?></td>
<td> <td>
@ -5116,6 +5139,7 @@ function chooseType() {
$("#row_current_month").hide(); $("#row_current_month").hide();
$("#row_failover_mode").hide(); $("#row_failover_mode").hide();
$("#row_failover_type").hide(); $("#row_failover_type").hide();
$("#row_summary").hide();
$("#row_working_time").hide(); $("#row_working_time").hide();
$("#row_working_time_compare").hide(); $("#row_working_time_compare").hide();
$("#row_only_display_wrong").hide(); $("#row_only_display_wrong").hide();
@ -5310,6 +5334,7 @@ function chooseType() {
if(failover_checked){ if(failover_checked){
$("#row_failover_type").show(); $("#row_failover_type").show();
} }
$("#row_summary").show();
break; break;
case 'module_histogram_graph': case 'module_histogram_graph':

View File

@ -1518,12 +1518,16 @@ switch ($action) {
$values['text'] = $intervals; $values['text'] = $intervals;
break; break;
case 'availability_graph':
$values['summary'] = get_parameter(
'summary',
0
);
case 'SLA_monthly': case 'SLA_monthly':
case 'SLA_weekly': case 'SLA_weekly':
case 'SLA_hourly': case 'SLA_hourly':
case 'SLA_services': case 'SLA_services':
case 'SLA': case 'SLA':
case 'availability_graph':
$values['period'] = get_parameter('period'); $values['period'] = get_parameter('period');
$values['top_n'] = get_parameter( $values['top_n'] = get_parameter(
'combo_sla_sort_options', 'combo_sla_sort_options',
@ -2570,6 +2574,11 @@ switch ($action) {
REPORT_FAILOVER_TYPE_NORMAL REPORT_FAILOVER_TYPE_NORMAL
); );
$values['summary'] = get_parameter(
'summary',
0
);
$style = []; $style = [];
$style['show_in_same_row'] = get_parameter( $style['show_in_same_row'] = get_parameter(
'show_in_same_row', 'show_in_same_row',

View File

@ -45,6 +45,11 @@ enterprise_include_once('include/functions_cron.php');
class ConsoleSupervisor class ConsoleSupervisor
{ {
/**
* Minimum modules to check performance.
*/
public const MIN_PERFORMANCE_MODULES = 100;
/** /**
* Show if console supervisor is enabled or not. * Show if console supervisor is enabled or not.
* *
@ -1143,6 +1148,12 @@ class ConsoleSupervisor
$max_grown = ($total_modules[$queue['server_type']] * 0.40); $max_grown = ($total_modules[$queue['server_type']] * 0.40);
} }
if ($total_modules[$queue['server_type']] < self::MIN_PERFORMANCE_MODULES) {
$this->cleanNotifications('NOTIF.SERVER.QUEUE.'.$key);
// Skip.
continue;
}
// Compare queue increments in a not over 900 seconds. // Compare queue increments in a not over 900 seconds.
if (empty($previous[$key]['modules']) if (empty($previous[$key]['modules'])
|| ($time - $previous[$key]['utime']) > 900 || ($time - $previous[$key]['utime']) > 900

View File

@ -20,7 +20,7 @@
/** /**
* Pandora build version and version * Pandora build version and version
*/ */
$build_version = 'PC210309'; $build_version = 'PC210310';
$pandora_version = 'v7.0NG.752'; $pandora_version = 'v7.0NG.752';
// Do not overwrite default timezone set if defined. // Do not overwrite default timezone set if defined.

View File

@ -1639,12 +1639,12 @@ function config_update_config()
case 'module_library': case 'module_library':
$module_library_user = get_parameter('module_library_user'); $module_library_user = get_parameter('module_library_user');
if ($module_library_user == '' || !config_update_value('module_library_user', $module_library_user)) { if (!config_update_value('module_library_user', $module_library_user)) {
$error_update[] = __('User'); $error_update[] = __('User');
} }
$module_library_password = get_parameter('module_library_password'); $module_library_password = get_parameter('module_library_password');
if ($module_library_password == '' || !config_update_value('module_library_password', $module_library_password)) { if (!config_update_value('module_library_password', $module_library_password)) {
$error_update[] = __('Password'); $error_update[] = __('Password');
} }
break; break;

View File

@ -4839,19 +4839,22 @@ function events_page_general($event)
$data[0] = __('Acknowledged by'); $data[0] = __('Acknowledged by');
if ($event['estado'] == 1) { if ($event['estado'] == 1) {
$user_ack = db_get_value( if (empty($event['id_usuario']) === true) {
'fullname', $user_ack = __('Autovalidated');
'tusuario', } else {
'id_user', $user_ack = db_get_value(
$event['id_usuario'] 'fullname',
); 'tusuario',
'id_user',
$event['id_usuario']
);
if (empty($user_ack) === true) { if (empty($user_ack) === true) {
$user_ack = $event['id_usuario']; $user_ack = $event['id_usuario'];
}
} }
$date_ack = io_safe_output($event['ack_utimestamp']); $data[1] = $user_ack.'&nbsp;(&nbsp;'.date($config['date_format'], $event['ack_utimestamp_raw']).'&nbsp;)&nbsp;';
$data[1] = $user_ack.' ('.$date_ack.')';
} else { } else {
$data[1] = '<i>'.__('N/A').'</i>'; $data[1] = '<i>'.__('N/A').'</i>';
} }

View File

@ -4008,7 +4008,7 @@ function graph_graphic_agentevents(
$width, $width,
$height, $height,
$period=0, $period=0,
$homeurl, $homeurl='',
$return=false, $return=false,
$from_agent_view=false, $from_agent_view=false,
$widgets=false, $widgets=false,

View File

@ -7551,6 +7551,7 @@ function reporting_availability_graph(
$return['pagebreak'] = $content['pagebreak']; $return['pagebreak'] = $content['pagebreak'];
$return['description'] = $content['description']; $return['description'] = $content['description'];
$return['failover_type'] = $content['failover_type']; $return['failover_type'] = $content['failover_type'];
$return['summary'] = $content['summary'];
$return['date'] = reporting_get_date_text($report, $content); $return['date'] = reporting_get_date_text($report, $content);
// Get chart. // Get chart.
@ -7669,24 +7670,22 @@ function reporting_availability_graph(
} }
foreach ($sla_failover as $k_sla => $v_sla) { foreach ($sla_failover as $k_sla => $v_sla) {
if ($content['failover_type'] == REPORT_FAILOVER_TYPE_NORMAL) { $sla_array = data_compare_24x7(
$sla_array = data_compare_24x7( $v_sla,
$v_sla, $content,
$content, $report['datetime'],
$report['datetime'], $slice
$slice );
);
$return = prepare_data_for_paint( $return = prepare_data_for_paint(
$v_sla, $v_sla,
$sla_array, $sla_array,
$content, $content,
$report['datetime'], $report['datetime'],
$return, $return,
$k_sla, $k_sla,
$pdf $pdf
); );
}
if (isset($v_sla['compare']) === true if (isset($v_sla['compare']) === true
&& empty($v_sla['compare']) === false && empty($v_sla['compare']) === false

View File

@ -3835,6 +3835,10 @@ function reporting_html_availability_graph($table, $item, $pdf=0)
$tables_chart = ''; $tables_chart = '';
$total_values = 0;
$count_total_charts = 0;
if (isset($item['failed']) === true && empty($item['failed']) === false) { if (isset($item['failed']) === true && empty($item['failed']) === false) {
$tables_chart .= $item['failed']; $tables_chart .= $item['failed'];
} else { } else {
@ -3896,6 +3900,8 @@ function reporting_html_availability_graph($table, $item, $pdf=0)
$table1->data[$k_chart][0] .= ' (24 x 7)'; $table1->data[$k_chart][0] .= ' (24 x 7)';
} }
$total_values += $sla_value;
$count_total_charts++;
$table1->data[$k_chart][1] = $chart['chart']; $table1->data[$k_chart][1] = $chart['chart'];
$table1->data[$k_chart][2] = "<span style = 'font-weight: bold; font-size: ".$font_size.'; color: '.$color."'>".$sla_value.'</span><br/>'; $table1->data[$k_chart][2] = "<span style = 'font-weight: bold; font-size: ".$font_size.'; color: '.$color."'>".$sla_value.'</span><br/>';
@ -3922,7 +3928,7 @@ function reporting_html_availability_graph($table, $item, $pdf=0)
|| $item['data'][$k_chart]['compare'] === 1) || $item['data'][$k_chart]['compare'] === 1)
) { ) {
$table1 = new stdClass(); $table1 = new stdClass();
$table1->width = '99%'; $table1->width = '100%';
$table1->data = []; $table1->data = [];
$table1->size = []; $table1->size = [];
$table1->size[0] = '10%'; $table1->size[0] = '10%';
@ -3971,6 +3977,8 @@ function reporting_html_availability_graph($table, $item, $pdf=0)
case 'result': case 'result':
default: default:
$total_values += $sla_value;
$count_total_charts++;
$title = '<b>'.__('Result').'</b>'; $title = '<b>'.__('Result').'</b>';
$sla_value_text = "<span style = 'font-weight: bold; font-size: ".$font_size.' !important; color: '.$color."'>".$sla_value.'</span>'; $sla_value_text = "<span style = 'font-weight: bold; font-size: ".$font_size.' !important; color: '.$color."'>".$sla_value.'</span>';
$checks_resume_text = '<span style = "font-size: '.$font_mini.';">'; $checks_resume_text = '<span style = "font-size: '.$font_mini.';">';
@ -3996,6 +4004,27 @@ function reporting_html_availability_graph($table, $item, $pdf=0)
} }
} }
if ((bool) $item['summary'] === true) {
$table_summary = new stdClass();
$table_summary->width = '20%';
$table_summary->size = [];
$table_summary->size[0] = '50%';
$table_summary->size[1] = '50%';
$table_summary->data = [];
$table_summary->data[0][0] = '<b>'.__('Summary').'</b>';
$table_summary->data[0][1] = '<span style = "font-weight: bold; font-size: '.$font_size.' !important;">';
$table_summary->data[0][1] .= sla_truncate($total_values / $count_total_charts);
$table_summary->data[0][1] .= ' %';
$table_summary->data[0][1] .= '</span>';
$tables_chart .= html_print_table(
$table_summary,
true
);
}
if ($item['type'] == 'availability_graph') { if ($item['type'] == 'availability_graph') {
// Table_legend_graphs. // Table_legend_graphs.
$table2 = new stdClass(); $table2 = new stdClass();

View File

@ -1073,7 +1073,25 @@ var TreeController = {
$node.append($group); $node.append($group);
} }
_.each(data.tree, function(element) { // Get the main values of the tree.
var rawTree = Object.values(data.tree);
// Sorting tree by description (services.treeview_services.php).
rawTree.sort(function(a, b) {
// Only the services are ordered since only they have the elementDescription property.
if (a.elementDescription && b.elementDescription) {
var x = a.elementDescription.toLowerCase();
var y = b.elementDescription.toLowerCase();
if (x < y) {
return -1;
}
if (x > y) {
return 1;
}
}
return 0;
});
_.each(rawTree, function(element) {
element.jqObject = _processNode($group, element); element.jqObject = _processNode($group, element);
}); });

View File

@ -73,6 +73,7 @@ final class EventsHistory extends Item
* Fetch a vc item data structure from the database using a filter. * Fetch a vc item data structure from the database using a filter.
* *
* @param array $filter Filter of the Visual Console Item. * @param array $filter Filter of the Visual Console Item.
* @param float $ratio Ratio visual console in dashboards.
* *
* @return array The Visual Console Item data structure stored into the DB. * @return array The Visual Console Item data structure stored into the DB.
* @throws \InvalidArgumentException When an agent Id cannot be found. * @throws \InvalidArgumentException When an agent Id cannot be found.
@ -124,18 +125,31 @@ final class EventsHistory extends Item
$data['height'] = 11; $data['height'] = 11;
} }
// Use the same HTML output as the old VC. if (empty($moduleId) === true) {
$html = \graph_graphic_moduleevents( $html = \graph_graphic_agentevents(
$agentId, $agentId,
$moduleId, 100,
100, (int) $data['height'],
(int) $data['height'], static::extractMaxTime($data),
static::extractMaxTime($data), '',
'', true,
true, false,
1, 500
$data['width'] );
); } else {
// Use the same HTML output as the old VC.
$html = \graph_graphic_moduleevents(
$agentId,
$moduleId,
100,
(int) $data['height'],
static::extractMaxTime($data),
'',
true,
1,
$data['width']
);
}
$data['html'] = $html; $data['html'] = $html;
@ -211,7 +225,7 @@ final class EventsHistory extends Item
'return' => true, 'return' => true,
'module_input' => true, 'module_input' => true,
'module_name' => 'moduleId', 'module_name' => 'moduleId',
'module_none' => false, 'module_none' => true,
], ],
]; ];
@ -227,6 +241,8 @@ final class EventsHistory extends Item
'sort' => false, 'sort' => false,
'agent_id' => $values['agentId'], 'agent_id' => $values['agentId'],
'metaconsole_id' => $values['metaconsoleId'], 'metaconsole_id' => $values['metaconsoleId'],
'nothing' => '--',
'nothing_value' => 0,
], ],
]; ];

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -129,7 +129,7 @@
<div style='height: 10px'> <div style='height: 10px'>
<?php <?php
$version = '7.0NG.752'; $version = '7.0NG.752';
$build = '210309'; $build = '210310';
$banner = "v$version Build $build"; $banner = "v$version Build $build";
error_reporting(0); error_reporting(0);

View File

@ -436,7 +436,7 @@ if ($not_found) {
__('Save networkmap'), __('Save networkmap'),
'crt', 'crt',
false, false,
'class="sub next"' 'class="sub next" onclick="if (typeof(sent) == \'undefined\') {sent = 1; return true;} else {return false;}"'
); );
} }

View File

@ -140,8 +140,11 @@ $text_module = get_parameter(
$filter['module_search'] $filter['module_search']
); );
$id_agent_module = get_parameter( $id_agent_module = get_parameter(
'filter[id_agent_module]', 'id_agent_module',
$filter['id_agent_module'] get_parameter(
'filter[id_agent_module]',
$filter['id_agent_module']
)
); );
$pagination = get_parameter( $pagination = get_parameter(
'filter[pagination]', 'filter[pagination]',
@ -374,6 +377,9 @@ if (is_ajax()) {
} }
$tmp->agent_name = io_safe_output($tmp->agent_name); $tmp->agent_name = io_safe_output($tmp->agent_name);
$tmp->ack_utimestamp_raw = strtotime($tmp->ack_utimestamp);
$tmp->ack_utimestamp = ui_print_timestamp( $tmp->ack_utimestamp = ui_print_timestamp(
$tmp->ack_utimestamp, $tmp->ack_utimestamp,
true true
@ -766,10 +772,6 @@ if ($pure) {
$rss['active'] = false; $rss['active'] = false;
$rss['text'] = '<a class="events_link" href="operation/events/events_rss.php?user='.$config['id_user'].'&hashup='.$hashup.'&">'.html_print_image('images/rss.png', true, ['title' => __('RSS Events')]).'</a>'; $rss['text'] = '<a class="events_link" href="operation/events/events_rss.php?user='.$config['id_user'].'&hashup='.$hashup.'&">'.html_print_image('images/rss.png', true, ['title' => __('RSS Events')]).'</a>';
// Marquee.
$marquee['active'] = false;
$marquee['text'] = '<a class="events_link" href="operation/events/events_marquee.php?">'.html_print_image('images/heart.png', true, ['title' => __('Marquee display')]).'</a>';
// CSV. // CSV.
$csv['active'] = false; $csv['active'] = false;
$csv['text'] = '<a class="events_link" href="operation/events/export_csv.php?'.$filter_b64.'">'.html_print_image('images/csv_mc.png', true, ['title' => __('Export to CSV file')]).'</a>'; $csv['text'] = '<a class="events_link" href="operation/events/export_csv.php?'.$filter_b64.'">'.html_print_image('images/csv_mc.png', true, ['title' => __('Export to CSV file')]).'</a>';

View File

@ -1,127 +0,0 @@
<?php
// Pandora FMS - http://pandorafms.com
// ==================================================
// Copyright (c) 2005-2021 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.
error_reporting(1);
// Local settings for marquee extension
$MAX_MARQUEE_EVENTS = 10;
$MARQUEE_INTERVAL = 90;
$MARQUEE_FONT_SIZE = '32px';
$MARQUEE_SPEED = 9;
$output = '';
// Don't start a session before this import.
// The session is configured and started inside the config process.
require_once '../../include/config.php';
require_once '../../include/functions.php';
require_once '../../include/functions_db.php';
require_once '../../include/functions_api.php';
require_once '../../include/functions_users.php';
global $config;
$config['id_user'] = $_SESSION['id_usuario'];
// http://es2.php.net/manual/en/ref.session.php#64525
// Session locking concurrency speedup!
check_login();
$event_a = check_acl($config['id_user'], 0, 'ER');
$event_w = check_acl($config['id_user'], 0, 'EW');
$event_m = check_acl($config['id_user'], 0, 'EM');
$access = ($event_a == true) ? 'ER' : (($event_w == true) ? 'EW' : (($event_m == true) ? 'EM' : 'ER'));
if (!isInACL($_SERVER['REMOTE_ADDR'])) {
db_pandora_audit(
'ACL Violation',
'Trying to access marquee without ACL Access'
);
include '../../general/noaccess.php';
exit;
}
$groups = users_get_groups($config['id_user'], $access);
// Otherwise select all groups the user has rights to.
if (!empty($groups)) {
$sql_group_filter = ' AND id_grupo IN ('.implode(',', array_keys($groups)).')';
} else {
$sql_group_filter = '';
}
// Skip system messages if user is not PM
if (!check_acl($config['id_user'], 0, 'PM')) {
$sql_group_filter .= ' AND id_grupo != 0';
}
switch ($config['dbtype']) {
case 'mysql':
$sql = "SELECT evento, timestamp, id_agente
FROM tevento
WHERE 1=1 $sql_group_filter
ORDER BY utimestamp DESC
LIMIT 0 , $MAX_MARQUEE_EVENTS";
break;
case 'postgresql':
$sql = "SELECT evento, timestamp, id_agente
FROM tevento
WHERE 1=1 $sql_group_filter
ORDER BY utimestamp DESC
LIMIT $MAX_MARQUEE_EVENTS OFFSET 0";
break;
case 'oracle':
$sql = "SELECT evento, timestamp, id_agente
FROM tevento
WHERE (1=1 $sql_group_filter ) AND rownum <= $MAX_MARQUEE_EVENTS
ORDER BY utimestamp DESC";
break;
}
$result = db_get_all_rows_sql($sql);
foreach ($result as $row) {
$agente = '';
if ($row['id_agente'] != 0) {
$agente = db_get_sql(
'SELECT alias
FROM tagente
WHERE id_agente = '.$row['id_agente']
);
$agente = $agente.' : ';
}
$output .= strtoupper($agente).$row['evento'].' , '.human_time_comparation($row['timestamp']);
$output .= '.&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;&nbsp;&nbsp;&nbsp;. ';
}
echo '<html>';
echo '<head>';
echo '<title>'.__('%s - Latest events', get_product_name()).'</title>';
$query = ui_get_full_url();
echo '<meta http-equiv="refresh" content="'.$MARQUEE_INTERVAL.'; URL='.$query.'">';
echo '<link rel="icon" href="../../'.ui_get_favicon().'" type="image/ico">';
echo '</head>';
echo "<body bgcolor='#000000' >";
echo '<br><br>';
echo '<center>';
echo "<div style='font-size:$MARQUEE_FONT_SIZE; color: #fff'>";
echo "<marquee width=95% scrollamount=$MARQUEE_SPEED>$output</marquee>";
echo '</center>';
echo '</div>';
echo '</body>';

View File

@ -430,11 +430,6 @@ if (check_acl($config['id_user'], 0, 'ER')
$sub['operation/events/events_rss.php?user='.$config['id_user'].'&amp;hashup='.$hashup.'&fb64='.$fb64]['text'] = __('RSS'); $sub['operation/events/events_rss.php?user='.$config['id_user'].'&amp;hashup='.$hashup.'&fb64='.$fb64]['text'] = __('RSS');
$sub['operation/events/events_rss.php?user='.$config['id_user'].'&amp;hashup='.$hashup.'&fb64='.$fb64]['id'] = 'RSS'; $sub['operation/events/events_rss.php?user='.$config['id_user'].'&amp;hashup='.$hashup.'&fb64='.$fb64]['id'] = 'RSS';
$sub['operation/events/events_rss.php?user='.$config['id_user'].'&amp;hashup='.$hashup.'&fb64='.$fb64]['type'] = 'direct'; $sub['operation/events/events_rss.php?user='.$config['id_user'].'&amp;hashup='.$hashup.'&fb64='.$fb64]['type'] = 'direct';
// Marquee.
$sub['operation/events/events_marquee.php']['text'] = __('Marquee');
$sub['operation/events/events_marquee.php']['id'] = 'Marquee';
$sub['operation/events/events_marquee.php']['type'] = 'direct';
} }
// Sound Events. // Sound Events.

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_console %define name pandorafms_console
%define version 7.0NG.752 %define version 7.0NG.752
%define release 210309 %define release 210310
# User and Group under which Apache is running # User and Group under which Apache is running
%define httpd_name httpd %define httpd_name httpd

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_console %define name pandorafms_console
%define version 7.0NG.752 %define version 7.0NG.752
%define release 210309 %define release 210310
# User and Group under which Apache is running # User and Group under which Apache is running
%define httpd_name httpd %define httpd_name httpd

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_console %define name pandorafms_console
%define version 7.0NG.752 %define version 7.0NG.752
%define release 210309 %define release 210310
%define httpd_name httpd %define httpd_name httpd
# User and Group under which Apache is running # User and Group under which Apache is running
%define httpd_name apache2 %define httpd_name apache2

View File

@ -1560,6 +1560,7 @@ CREATE TABLE IF NOT EXISTS `treport_content` (
`failover_mode` tinyint(1) DEFAULT '1', `failover_mode` tinyint(1) DEFAULT '1',
`failover_type` tinyint(1) DEFAULT '1', `failover_type` tinyint(1) DEFAULT '1',
`uncompressed_module` TINYINT DEFAULT '0', `uncompressed_module` TINYINT DEFAULT '0',
`summary` tinyint(1) DEFAULT 0,
`landscape` tinyint(1) UNSIGNED NOT NULL default 0, `landscape` tinyint(1) UNSIGNED NOT NULL default 0,
`pagebreak` tinyint(1) UNSIGNED NOT NULL default 0, `pagebreak` tinyint(1) UNSIGNED NOT NULL default 0,
`compare_work_time` tinyint(1) UNSIGNED NOT NULL default 0, `compare_work_time` tinyint(1) UNSIGNED NOT NULL default 0,
@ -3163,6 +3164,7 @@ CREATE TABLE IF NOT EXISTS `treport_content_template` (
`current_month` TINYINT(1) DEFAULT '1', `current_month` TINYINT(1) DEFAULT '1',
`failover_mode` tinyint(1) DEFAULT '1', `failover_mode` tinyint(1) DEFAULT '1',
`failover_type` tinyint(1) DEFAULT '1', `failover_type` tinyint(1) DEFAULT '1',
`summary` tinyint(1) DEFAULT 0,
`uncompressed_module` TINYINT DEFAULT '0', `uncompressed_module` TINYINT DEFAULT '0',
`landscape` tinyint(1) UNSIGNED NOT NULL default 0, `landscape` tinyint(1) UNSIGNED NOT NULL default 0,
`pagebreak` tinyint(1) UNSIGNED NOT NULL default 0, `pagebreak` tinyint(1) UNSIGNED NOT NULL default 0,

View File

@ -1,5 +1,5 @@
package: pandorafms-server package: pandorafms-server
Version: 7.0NG.752-210309 Version: 7.0NG.752-210310
Architecture: all Architecture: all
Priority: optional Priority: optional
Section: admin Section: admin

View File

@ -14,7 +14,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
pandora_version="7.0NG.752-210309" pandora_version="7.0NG.752-210310"
package_cpan=0 package_cpan=0
package_pandora=1 package_pandora=1

View File

@ -45,7 +45,7 @@ our @EXPORT = qw(
# version: Defines actual version of Pandora Server for this module only # version: Defines actual version of Pandora Server for this module only
my $pandora_version = "7.0NG.752"; my $pandora_version = "7.0NG.752";
my $pandora_build = "210309"; my $pandora_build = "210310";
our $VERSION = $pandora_version." ".$pandora_build; our $VERSION = $pandora_version." ".$pandora_build;
# Setup hash # Setup hash

View File

@ -34,7 +34,7 @@ our @ISA = qw(Exporter);
# version: Defines actual version of Pandora Server for this module only # version: Defines actual version of Pandora Server for this module only
my $pandora_version = "7.0NG.752"; my $pandora_version = "7.0NG.752";
my $pandora_build = "210309"; my $pandora_build = "210310";
our $VERSION = $pandora_version." ".$pandora_build; our $VERSION = $pandora_version." ".$pandora_build;
our %EXPORT_TAGS = ( 'all' => [ qw() ] ); our %EXPORT_TAGS = ( 'all' => [ qw() ] );

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_server %define name pandorafms_server
%define version 7.0NG.752 %define version 7.0NG.752
%define release 210309 %define release 210310
Summary: Pandora FMS Server Summary: Pandora FMS Server
Name: %{name} Name: %{name}

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_server %define name pandorafms_server
%define version 7.0NG.752 %define version 7.0NG.752
%define release 210309 %define release 210310
Summary: Pandora FMS Server Summary: Pandora FMS Server
Name: %{name} Name: %{name}

View File

@ -9,7 +9,7 @@
# ********************************************************************** # **********************************************************************
PI_VERSION="7.0NG.752" PI_VERSION="7.0NG.752"
PI_BUILD="210309" PI_BUILD="210310"
MODE=$1 MODE=$1
if [ $# -gt 1 ]; then if [ $# -gt 1 ]; then

View File

@ -35,7 +35,7 @@ use PandoraFMS::Config;
use PandoraFMS::DB; use PandoraFMS::DB;
# version: define current version # version: define current version
my $version = "7.0NG.752 PS210309"; my $version = "7.0NG.752 PS210310";
# Pandora server configuration # Pandora server configuration
my %conf; my %conf;

View File

@ -36,7 +36,7 @@ use Encode::Locale;
Encode::Locale::decode_argv; Encode::Locale::decode_argv;
# version: define current version # version: define current version
my $version = "7.0NG.752 PS210309"; my $version = "7.0NG.752 PS210310";
# save program name for logging # save program name for logging
my $progname = basename($0); my $progname = basename($0);

View File

@ -68,6 +68,14 @@ export default class Service extends Item<ServiceProps> {
element.style.background = `url(${this.props.statusImageSrc}) no-repeat`; element.style.background = `url(${this.props.statusImageSrc}) no-repeat`;
element.style.backgroundSize = "contain"; element.style.backgroundSize = "contain";
element.style.backgroundPosition = "center"; element.style.backgroundPosition = "center";
if (this.props.encodedTitle !== null) {
element.className = "service image forced_title";
element.setAttribute("data-use_title_for_force_title", "1");
element.setAttribute(
"data-title",
decodeBase64(this.props.encodedTitle)
);
}
} else if (this.props.encodedTitle !== null) { } else if (this.props.encodedTitle !== null) {
element.innerHTML = decodeBase64(this.props.encodedTitle); element.innerHTML = decodeBase64(this.props.encodedTitle);
} }
@ -84,6 +92,14 @@ export default class Service extends Item<ServiceProps> {
element.style.background = `url(${this.props.statusImageSrc}) no-repeat`; element.style.background = `url(${this.props.statusImageSrc}) no-repeat`;
element.style.backgroundSize = "contain"; element.style.backgroundSize = "contain";
element.style.backgroundPosition = "center"; element.style.backgroundPosition = "center";
if (this.props.encodedTitle !== null) {
element.className = "service image forced_title";
element.setAttribute("data-use_title_for_force_title", "1");
element.setAttribute(
"data-title",
decodeBase64(this.props.encodedTitle)
);
}
element.innerHTML = ""; element.innerHTML = "";
} else if (this.props.encodedTitle !== null) { } else if (this.props.encodedTitle !== null) {
element.innerHTML = decodeBase64(this.props.encodedTitle); element.innerHTML = decodeBase64(this.props.encodedTitle);