Merge remote-tracking branch 'origin/develop' into ent-3707-Nuevo-diseño-para-las-tablas
Former-commit-id: 43e5f9f044a351f1c6cf1c192b9f92cba6d1b0b3
This commit is contained in:
commit
aa640efc44
|
@ -0,0 +1,26 @@
|
|||
#!/bin/bash
|
||||
source build_vars.sh
|
||||
|
||||
if [ ! -d $RPMHOME/RPMS ]; then
|
||||
mkdir -p $RPMHOME/RPMS || exit 1
|
||||
fi
|
||||
|
||||
echo "Creating RPM packages in $RPMHOME/RPMS"
|
||||
|
||||
# Console
|
||||
rpmbuild -ba $CODEHOME/pandora_console/pandora_console.rhel7.spec || exit 1
|
||||
|
||||
# Server
|
||||
rpmbuild -ba $CODEHOME/pandora_server/pandora_server.rhel7.spec || exit 1
|
||||
|
||||
# Unix agent
|
||||
rpmbuild -ba $CODEHOME/pandora_agents/unix/pandora_agent.rhel7.spec || exit 1
|
||||
|
||||
# Enterprise console
|
||||
rpmbuild -ba $PANDHOME_ENT/pandora_console/enterprise/pandora_console_enterprise.rhel7.spec || exit 1
|
||||
|
||||
# Enterprise server
|
||||
rpmbuild -ba $PANDHOME_ENT/pandora_server/PandoraFMS-Enterprise/pandora_server_enterprise.rhel7.spec || exit 1
|
||||
|
||||
exit 0
|
||||
|
|
@ -26,6 +26,7 @@ $CODEHOME/pandora_server/pandora_server.spec \
|
|||
$PANDHOME_ENT/pandora_console/enterprise/pandora_console_enterprise.spec \
|
||||
$PANDHOME_ENT/pandora_server/PandoraFMS-Enterprise/pandora_server_enterprise.spec \
|
||||
$CODEHOME/pandora_console/pandora_console.redhat.spec \
|
||||
$CODEHOME/pandora_console/pandora_console.rhel7.spec \
|
||||
$CODEHOME/pandora_agents/unix/pandora_agent.redhat.spec \
|
||||
$CODEHOME/pandora_server/pandora_server.redhat.spec \
|
||||
$PANDHOME_ENT/pandora_console/enterprise/pandora_console_enterprise.redhat.spec \
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
package: pandorafms-agent-unix
|
||||
Version: 7.0NG.733-190402
|
||||
Version: 7.0NG.733-190405
|
||||
Architecture: all
|
||||
Priority: optional
|
||||
Section: admin
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
pandora_version="7.0NG.733-190402"
|
||||
pandora_version="7.0NG.733-190405"
|
||||
|
||||
echo "Test if you has the tools for to make the packages."
|
||||
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null
|
||||
|
|
|
@ -42,7 +42,7 @@ my $Sem = undef;
|
|||
my $ThreadSem = undef;
|
||||
|
||||
use constant AGENT_VERSION => '7.0NG.733';
|
||||
use constant AGENT_BUILD => '190402';
|
||||
use constant AGENT_BUILD => '190405';
|
||||
|
||||
# Agent log default file size maximum and instances
|
||||
use constant DEFAULT_MAX_LOG_SIZE => 600000;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
%define name pandorafms_agent_unix
|
||||
%define version 7.0NG.733
|
||||
%define release 190402
|
||||
%define release 190405
|
||||
|
||||
Summary: Pandora FMS Linux agent, PERL version
|
||||
Name: %{name}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
%define name pandorafms_agent_unix
|
||||
%define version 7.0NG.733
|
||||
%define release 190402
|
||||
%define release 190405
|
||||
|
||||
Summary: Pandora FMS Linux agent, PERL version
|
||||
Name: %{name}
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
# **********************************************************************
|
||||
|
||||
PI_VERSION="7.0NG.733"
|
||||
PI_BUILD="190402"
|
||||
PI_BUILD="190405"
|
||||
OS_NAME=`uname -s`
|
||||
|
||||
FORCE=0
|
||||
|
|
|
@ -44,6 +44,8 @@ remote_config 0
|
|||
#agent_name_cmd cscript.exe //B "%ProgramFiles%\Pandora_Agent\util\agentname.vbs"
|
||||
agent_name_cmd __rand__
|
||||
|
||||
# Agent alias. Name should be unique rather than alias. Hostname by default
|
||||
# agent_alias $Alias$
|
||||
|
||||
#Parent agent_name
|
||||
#parent_agent_name caprica
|
||||
|
|
|
@ -186,7 +186,7 @@ UpgradeApplicationID
|
|||
{}
|
||||
|
||||
Version
|
||||
{190402}
|
||||
{190405}
|
||||
|
||||
ViewReadme
|
||||
{Yes}
|
||||
|
|
|
@ -30,7 +30,7 @@ using namespace Pandora;
|
|||
using namespace Pandora_Strutils;
|
||||
|
||||
#define PATH_SIZE _MAX_PATH+1
|
||||
#define PANDORA_VERSION ("7.0NG.733(Build 190402)")
|
||||
#define PANDORA_VERSION ("7.0NG.733(Build 190405)")
|
||||
|
||||
string pandora_path;
|
||||
string pandora_dir;
|
||||
|
|
|
@ -11,7 +11,7 @@ BEGIN
|
|||
VALUE "LegalCopyright", "Artica ST"
|
||||
VALUE "OriginalFilename", "PandoraAgent.exe"
|
||||
VALUE "ProductName", "Pandora FMS Windows Agent"
|
||||
VALUE "ProductVersion", "(7.0NG.733(Build 190402))"
|
||||
VALUE "ProductVersion", "(7.0NG.733(Build 190405))"
|
||||
VALUE "FileVersion", "1.0.0.0"
|
||||
END
|
||||
END
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
package: pandorafms-console
|
||||
Version: 7.0NG.733-190402
|
||||
Version: 7.0NG.733-190405
|
||||
Architecture: all
|
||||
Priority: optional
|
||||
Section: admin
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
pandora_version="7.0NG.733-190402"
|
||||
pandora_version="7.0NG.733-190405"
|
||||
|
||||
package_pear=0
|
||||
package_pandora=1
|
||||
|
|
|
@ -2,5 +2,30 @@ START TRANSACTION;
|
|||
|
||||
UPDATE tuser_task SET parameters = 'a:5:{i:0;a:6:{s:11:\"description\";s:28:\"Report pending to be created\";s:5:\"table\";s:7:\"treport\";s:8:\"field_id\";s:9:\"id_report\";s:10:\"field_name\";s:4:\"name\";s:4:\"type\";s:3:\"int\";s:9:\"acl_group\";s:8:\"id_group\";}i:1;a:2:{s:11:\"description\";s:46:\"Send to email addresses (separated by a comma)\";s:4:\"type\";s:4:\"text\";}i:2;a:2:{s:11:\"description\";s:7:\"Subject\";s:8:\"optional\";i:1;}i:3;a:3:{s:11:\"description\";s:7:\"Message\";s:4:\"type\";s:4:\"text\";s:8:\"optional\";i:1;}i:4;a:2:{s:11:\"description\";s:11:\"Report Type\";s:4:\"type\";s:11:\"report_type\";}}' where function_name = "cron_task_generate_report";
|
||||
|
||||
ALTER TABLE `treport_content` ADD COLUMN `total_time` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content` ADD COLUMN `time_failed` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content` ADD COLUMN `time_in_ok_status` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content` ADD COLUMN `time_in_unknown_status` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content` ADD COLUMN `time_of_not_initialized_module` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content` ADD COLUMN `time_of_downtime` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content` ADD COLUMN `total_checks` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content` ADD COLUMN `checks_failed` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content` ADD COLUMN `checks_in_ok_status` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content` ADD COLUMN `unknown_checks` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content` ADD COLUMN `agent_max_value` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content` ADD COLUMN `agent_min_value` TINYINT(1) DEFAULT '1';
|
||||
|
||||
ALTER TABLE `treport_content_template` ADD COLUMN `total_time` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content_template` ADD COLUMN `time_failed` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content_template` ADD COLUMN `time_in_ok_status` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content_template` ADD COLUMN `time_in_unknown_status` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content_template` ADD COLUMN `time_of_not_initialized_module` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content_template` ADD COLUMN `time_of_downtime` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content_template` ADD COLUMN `total_checks` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content_template` ADD COLUMN `checks_failed` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content_template` ADD COLUMN `checks_in_ok_status` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content_template` ADD COLUMN `unknown_checks` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content_template` ADD COLUMN `agent_max_value` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content_template` ADD COLUMN `agent_min_value` TINYINT(1) DEFAULT '1';
|
||||
|
||||
COMMIT;
|
|
@ -764,6 +764,18 @@ ALTER TABLE treport_content_template ADD COLUMN `lapse_calc` tinyint(1) default
|
|||
ALTER TABLE treport_content_template ADD COLUMN `lapse` int(11) default '300';
|
||||
ALTER TABLE treport_content_template ADD COLUMN `visual_format` tinyint(1) default '0';
|
||||
ALTER TABLE treport_content_template ADD COLUMN `hide_no_data` tinyint(1) default '0';
|
||||
ALTER TABLE `treport_content_template` ADD COLUMN `total_time` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content_template` ADD COLUMN `time_failed` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content_template` ADD COLUMN `time_in_ok_status` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content_template` ADD COLUMN `time_in_unknown_status` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content_template` ADD COLUMN `time_of_not_initialized_module` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content_template` ADD COLUMN `time_of_downtime` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content_template` ADD COLUMN `total_checks` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content_template` ADD COLUMN `checks_failed` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content_template` ADD COLUMN `checks_in_ok_status` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content_template` ADD COLUMN `unknown_checks` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content_template` ADD COLUMN `agent_max_value` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content_template` ADD COLUMN `agent_min_value` TINYINT(1) DEFAULT '1';
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `treport_content_sla_com_temp` (treport_content_sla_combined_template)
|
||||
|
@ -1379,6 +1391,18 @@ ALTER TABLE treport_content ADD COLUMN `hide_no_data` tinyint(1) default '0';
|
|||
ALTER TABLE treport_content ADD COLUMN `recursion` tinyint(1) default NULL;
|
||||
ALTER TABLE treport_content ADD COLUMN `show_extended_events` tinyint(1) default '0';
|
||||
UPDATE `treport_content` SET type="netflow_summary" WHERE type="netflow_pie" OR type="netflow_statistics";
|
||||
ALTER TABLE `treport_content` ADD COLUMN `total_time` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content` ADD COLUMN `time_failed` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content` ADD COLUMN `time_in_ok_status` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content` ADD COLUMN `time_in_unknown_status` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content` ADD COLUMN `time_of_not_initialized_module` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content` ADD COLUMN `time_of_downtime` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content` ADD COLUMN `total_checks` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content` ADD COLUMN `checks_failed` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content` ADD COLUMN `checks_in_ok_status` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content` ADD COLUMN `unknown_checks` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content` ADD COLUMN `agent_max_value` TINYINT(1) DEFAULT '1';
|
||||
ALTER TABLE `treport_content` ADD COLUMN `agent_min_value` TINYINT(1) DEFAULT '1';
|
||||
|
||||
-- ---------------------------------------------------------------------
|
||||
-- Table `tmodule_relationship`
|
||||
|
|
|
@ -591,9 +591,7 @@ if ($config['menu_type'] == 'classic') {
|
|||
|
||||
if (fixed_header) {
|
||||
$('div#head').addClass('fixed_header');
|
||||
$('div#page')
|
||||
.css('padding-top', $('div#head').innerHeight() + 'px')
|
||||
.css('position', 'relative');
|
||||
$('div#main').css('padding-top', $('div#head').innerHeight() + 'px');
|
||||
}
|
||||
|
||||
check_new_chats_icon('icon_new_messages_chat');
|
||||
|
|
|
@ -119,6 +119,20 @@ $visual_format = 0;
|
|||
// Others
|
||||
$filter_search = '';
|
||||
|
||||
// Added for select fields.
|
||||
$total_time = true;
|
||||
$time_failed = true;
|
||||
$time_in_ok_status = true;
|
||||
$time_in_unknown_status = true;
|
||||
$time_of_not_initialized_module = true;
|
||||
$time_of_downtime = true;
|
||||
$total_checks = true;
|
||||
$checks_failed = true;
|
||||
$checks_in_ok_status = true;
|
||||
$unknown_checks = true;
|
||||
$agent_max_value = true;
|
||||
$agent_min_value = true;
|
||||
|
||||
switch ($action) {
|
||||
case 'new':
|
||||
$actionParameter = 'save';
|
||||
|
@ -501,6 +515,18 @@ switch ($action) {
|
|||
$sunday = $item['sunday'];
|
||||
$time_from = $item['time_from'];
|
||||
$time_to = $item['time_to'];
|
||||
$total_time = $item['total_time'];
|
||||
$time_failed = $item['time_failed'];
|
||||
$time_in_ok_status = $item['time_in_ok_status'];
|
||||
$time_in_unknown_status = $item['time_in_unknown_status'];
|
||||
$time_of_not_initialized_module = $item['time_of_not_initialized_module'];
|
||||
$time_of_downtime = $item['time_of_downtime'];
|
||||
$total_checks = $item['total_checks'];
|
||||
$checks_failed = $item['checks_failed'];
|
||||
$checks_in_ok_status = $item['checks_in_ok_status'];
|
||||
$unknown_checks = $item['unknown_checks'];
|
||||
$agent_max_value = $item['agent_max_value'];
|
||||
$agent_min_value = $item['agent_min_value'];
|
||||
break;
|
||||
|
||||
case 'group_report':
|
||||
|
@ -1597,20 +1623,6 @@ $class = 'databox filters';
|
|||
REPORT_EXCEPTION_CONDITION_NOT_OK => __('Not OK'),
|
||||
];
|
||||
html_print_select($list_exception_condition, 'exception_condition', $exception_condition);
|
||||
|
||||
|
||||
/*
|
||||
echo ;
|
||||
html_print_radio_button ('radiobutton_exception_condition', 0, '', $exception_condition);
|
||||
echo __('>=');
|
||||
html_print_radio_button ('radiobutton_exception_condition', 1, '', $exception_condition);
|
||||
echo __('<');
|
||||
html_print_radio_button ('radiobutton_exception_condition', 2, '', $exception_condition);
|
||||
echo __('OK');
|
||||
html_print_radio_button ('radiobutton_exception_condition', 3, '', $exception_condition);
|
||||
echo __('Not OK');
|
||||
html_print_radio_button ('radiobutton_exception_condition', 4, '', $exception_condition);
|
||||
*/
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -1620,6 +1632,65 @@ $class = 'databox filters';
|
|||
<td><?php html_print_select($show_graph_options, 'combo_graph_options', $show_graph); ?></td>
|
||||
|
||||
</tr>
|
||||
<tr id="row_select_fields" style="" class="datos">
|
||||
<td style="font-weight:bold;margin-right:150px;">
|
||||
<?php
|
||||
echo __('Select fields to show');
|
||||
?>
|
||||
</td>
|
||||
<td>
|
||||
<table border="0">
|
||||
<td>
|
||||
<p style="margin-right:30px;">
|
||||
<?php
|
||||
echo __('Total time');
|
||||
html_print_checkbox('total_time', 1, $total_time);
|
||||
?>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p style="margin-right:30px;">
|
||||
<?php
|
||||
echo __('Time failed');
|
||||
html_print_checkbox('time_failed', 1, $time_failed);
|
||||
?>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p style="margin-right:30px;">
|
||||
<?php
|
||||
echo __('Time in OK status');
|
||||
html_print_checkbox('time_in_ok_status', 1, $time_in_ok_status);
|
||||
?>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p style="margin-right:30px;">
|
||||
<?php
|
||||
echo __('Time in unknown status');
|
||||
html_print_checkbox('time_in_unknown_status', 1, $time_in_unknown_status);
|
||||
?>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p style="margin-right:30px;">
|
||||
<?php
|
||||
echo __('Time of not initialized module');
|
||||
html_print_checkbox('time_of_not_initialized_module', 1, $time_of_not_initialized_module);
|
||||
?>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p style="margin-right:30px;">
|
||||
<?php
|
||||
echo __('Time of downtime');
|
||||
html_print_checkbox('time_of_downtime', 1, $time_of_downtime);
|
||||
?>
|
||||
</p>
|
||||
</td>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr id="row_show_address_agent" style="" class="datos">
|
||||
<td style="font-weight:bold;">
|
||||
|
@ -1629,7 +1700,7 @@ $class = 'databox filters';
|
|||
</td>
|
||||
<td>
|
||||
<?php
|
||||
html_print_checkbox(
|
||||
html_print_checkbox_switch(
|
||||
'checkbox_show_address_agent',
|
||||
1,
|
||||
$show_address_agent
|
||||
|
@ -1638,11 +1709,12 @@ $class = 'databox filters';
|
|||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr id="row_show_resume" style="" class="datos">
|
||||
<td style="font-weight:bold;"><?php echo __('Show resume').ui_print_help_tip(__('Show a summary chart with max, min and average number of total modules at the end of the report and Checks.'), true); ?></td>
|
||||
<td>
|
||||
<?php
|
||||
html_print_checkbox(
|
||||
html_print_checkbox_switch(
|
||||
'checkbox_show_resume',
|
||||
1,
|
||||
$show_resume
|
||||
|
@ -1650,6 +1722,78 @@ $class = 'databox filters';
|
|||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="row_select_fields2" style="" class="datos">
|
||||
<td style="font-weight:bold;margin-right:150px;">
|
||||
<?php
|
||||
echo __('<p style= "margin-left:15px;">Select fields to show</p>');
|
||||
?>
|
||||
</td>
|
||||
<td>
|
||||
<table border="0">
|
||||
<td>
|
||||
<p style="margin-right:30px;">
|
||||
<?php
|
||||
echo __('Total checks');
|
||||
html_print_checkbox('total_checks', 1, $total_checks);
|
||||
?>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p style="margin-right:30px;">
|
||||
<?php
|
||||
echo __('Checks failed');
|
||||
html_print_checkbox('checks_failed', 1, $checks_failed);
|
||||
?>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p style="margin-right:30px;">
|
||||
<?php
|
||||
echo __('Checks in OK status');
|
||||
html_print_checkbox('checks_in_ok_status', 1, $checks_in_ok_status);
|
||||
?>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p style="margin-right:30px;">
|
||||
<?php
|
||||
echo __('Unknown checks');
|
||||
html_print_checkbox('unknown_checks', 1, $unknown_checks);
|
||||
?>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="row_select_fields3" style="" class="datos">
|
||||
<td style="font-weight:bold;margin-right:150px;">
|
||||
<?php
|
||||
echo __('<p style= "margin-left:15px;">Select fields to show</p>');
|
||||
?>
|
||||
</td>
|
||||
<td>
|
||||
<table border="0">
|
||||
<td>
|
||||
<p style="margin-right:30px;">
|
||||
<?php
|
||||
echo __('Agent max value');
|
||||
html_print_checkbox('agent_max_value', 1, $agent_max_value);
|
||||
?>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p style="margin-right:30px;">
|
||||
<?php
|
||||
echo __('Agent min values');
|
||||
html_print_checkbox('agent_min_value', 1, $agent_min_value);
|
||||
?>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr id="row_show_summary_group" style="" class="datos">
|
||||
<td style="font-weight:bold;"><?php echo __('Show Summary group'); ?></td>
|
||||
|
@ -2626,6 +2770,17 @@ $(document).ready (function () {
|
|||
|
||||
});
|
||||
|
||||
$("#checkbox-checkbox_show_resume").change(function(){
|
||||
if($(this).is(":checked")){
|
||||
$("#row_select_fields2").show();
|
||||
$("#row_select_fields3").show();
|
||||
}
|
||||
else{
|
||||
$("#row_select_fields2").hide();
|
||||
$("#row_select_fields3").hide();
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
function create_custom_graph() {
|
||||
|
@ -3139,6 +3294,9 @@ function chooseType() {
|
|||
$("#row_event_type").hide();
|
||||
$("#row_event_status").hide();
|
||||
$("#row_source").hide();
|
||||
$('#row_select_fields').hide();
|
||||
$("#row_select_fields2").hide();
|
||||
$("#row_select_fields3").hide();
|
||||
|
||||
// SLA list default state
|
||||
$("#sla_list").hide();
|
||||
|
@ -3547,6 +3705,15 @@ function chooseType() {
|
|||
$("#row_show_resume").show();
|
||||
$("#row_working_time").show();
|
||||
$('#row_hide_notinit_agents').show();
|
||||
$('#row_select_fields').show();
|
||||
if($("#checkbox-checkbox_show_resume").is(":checked")){
|
||||
$("#row_select_fields2").show();
|
||||
$("#row_select_fields3").show();
|
||||
}
|
||||
else{
|
||||
$("#row_select_fields2").hide();
|
||||
$("#row_select_fields3").hide();
|
||||
}
|
||||
$("#row_historical_db_check").hide();
|
||||
break;
|
||||
|
||||
|
|
|
@ -70,7 +70,7 @@ global $config;
|
|||
// IMPORTANT NOTE: All reporting pages are used also for metaconsole reporting functionality
|
||||
// So, it's very important to specify full url and paths to resources because metaconsole has a different
|
||||
// entry point: enterprise/meta/index.php than normal console !!!
|
||||
// Login check
|
||||
// Login check.
|
||||
check_login();
|
||||
|
||||
enterprise_hook('open_meta_frame');
|
||||
|
@ -89,7 +89,7 @@ if (!$report_r && !$report_w && !$report_m) {
|
|||
|
||||
require_once $config['homedir'].'/include/functions_reports.php';
|
||||
|
||||
// Load enterprise extensions
|
||||
// Load enterprise extensions.
|
||||
enterprise_include('operation/reporting/custom_reporting.php');
|
||||
enterprise_include_once('include/functions_metaconsole.php');
|
||||
|
||||
|
@ -98,7 +98,7 @@ if (enterprise_include_once('include/functions_reporting.php') !== ENTERPRISE_NO
|
|||
$enterpriseEnable = true;
|
||||
}
|
||||
|
||||
// Constant with fonts directory
|
||||
// Constant with fonts directory.
|
||||
define('_MPDF_TTFONTPATH', 'include/fonts/');
|
||||
|
||||
$activeTab = get_parameter('tab', 'main');
|
||||
|
@ -162,6 +162,10 @@ if ($idReport != 0) {
|
|||
$edit = true;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
|
||||
if (! $edit) {
|
||||
|
@ -227,6 +231,10 @@ switch ($action) {
|
|||
ORDER BY "order"'
|
||||
);
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
|
||||
if ($items === false) {
|
||||
|
@ -234,7 +242,7 @@ switch ($action) {
|
|||
}
|
||||
|
||||
|
||||
// Clean the repeated order values
|
||||
// Clean the repeated order values.
|
||||
$order_temp = 1;
|
||||
foreach ($items as $item) {
|
||||
switch ($config['dbtype']) {
|
||||
|
@ -254,6 +262,10 @@ switch ($action) {
|
|||
['id_rc' => $item['id_rc']]
|
||||
);
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
|
||||
$order_temp++;
|
||||
|
@ -281,6 +293,10 @@ switch ($action) {
|
|||
ORDER BY "order"'
|
||||
);
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
|
||||
if ($items === false) {
|
||||
|
@ -344,6 +360,10 @@ switch ($action) {
|
|||
['id_rc' => $id]
|
||||
);
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -415,6 +435,10 @@ switch ($action) {
|
|||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -444,9 +468,9 @@ switch ($action) {
|
|||
break;
|
||||
}
|
||||
|
||||
// Page header for metaconsole
|
||||
if ($enterpriseEnable and defined('METACONSOLE')) {
|
||||
// Bread crumbs
|
||||
// Page header for metaconsole.
|
||||
if ($enterpriseEnable && defined('METACONSOLE')) {
|
||||
// Bread crumbs.
|
||||
ui_meta_add_breadcrumb(
|
||||
[
|
||||
'link' => 'index.php?sec=reporting&sec2=godmode/reporting/reporting_builder&pure='.$pure,
|
||||
|
@ -456,10 +480,11 @@ switch ($action) {
|
|||
|
||||
ui_meta_print_page_header($nav_bar);
|
||||
|
||||
// Print header
|
||||
// Print header.
|
||||
ui_meta_print_header(__('Reporting'), '', $buttons);
|
||||
}
|
||||
// Page header for normal console
|
||||
|
||||
// Page header for normal console.
|
||||
else {
|
||||
ui_print_page_header(__('Custom reporting'), 'images/op_reporting.png', false, '', false, $buttons, false, '', 60);
|
||||
}
|
||||
|
@ -471,7 +496,7 @@ switch ($action) {
|
|||
case 'group_view':
|
||||
if ($config['id_user'] == $report['id_user'] || is_user_admin($config['id_user'])) {
|
||||
$delete = true;
|
||||
// owner can delete
|
||||
// Owner can delete.
|
||||
} else {
|
||||
$delete = check_acl(
|
||||
$config['id_user'],
|
||||
|
@ -484,7 +509,7 @@ switch ($action) {
|
|||
case 'group_edit':
|
||||
if ($config['id_user'] == $report['id_user'] || is_user_admin($config['id_user'])) {
|
||||
$delete = true;
|
||||
// owner can delete
|
||||
// Owner can delete.
|
||||
} else {
|
||||
$delete = check_acl(
|
||||
$config['id_user'],
|
||||
|
@ -501,6 +526,10 @@ switch ($action) {
|
|||
$delete = true;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
|
||||
if (! $delete) {
|
||||
|
@ -571,7 +600,7 @@ switch ($action) {
|
|||
ui_require_jquery_file('bgiframe');
|
||||
ui_require_jquery_file('autocomplete');
|
||||
|
||||
// Show only selected groups
|
||||
// Show only selected groups.
|
||||
if ($id_group > 0) {
|
||||
$group = ["$id_group" => $id_group];
|
||||
} else {
|
||||
|
@ -595,7 +624,7 @@ switch ($action) {
|
|||
}
|
||||
|
||||
// Fix : group filter was not working
|
||||
// Show only selected groups
|
||||
// Show only selected groups.
|
||||
if ($id_group > 0) {
|
||||
$group = ["$id_group" => $id_group];
|
||||
$filter['id_group'] = $id_group;
|
||||
|
@ -603,8 +632,8 @@ switch ($action) {
|
|||
$group = false;
|
||||
}
|
||||
|
||||
// Filter normal and metaconsole reports
|
||||
if ($config['metaconsole'] == 1 and defined('METACONSOLE')) {
|
||||
// Filter normal and metaconsole reports.
|
||||
if ($config['metaconsole'] == 1 && defined('METACONSOLE')) {
|
||||
$filter['metaconsole'] = 1;
|
||||
} else {
|
||||
$filter['metaconsole'] = 0;
|
||||
|
@ -670,12 +699,12 @@ switch ($action) {
|
|||
$table->size['csv'] = '5%';
|
||||
|
||||
$next = 4;
|
||||
// Calculate dinamically the number of the column
|
||||
// Calculate dinamically the number of the column.
|
||||
if (enterprise_hook('load_custom_reporting_1') !== ENTERPRISE_NOT_HOOK) {
|
||||
$next = 7;
|
||||
}
|
||||
|
||||
// Admin options only for RM flag
|
||||
// Admin options only for RM flag.
|
||||
if (check_acl($config['id_user'], 0, 'RM')) {
|
||||
$table->head[$next] = __('Private');
|
||||
$table->size[$next] = '2%';
|
||||
|
@ -743,7 +772,7 @@ switch ($action) {
|
|||
|
||||
$data[1] = ui_print_truncate_text($report['description'], 70);
|
||||
|
||||
// Remove html and xml button if items are larger than limit
|
||||
// Remove html and xml button if items are larger than limit.
|
||||
$item_count = db_get_num_rows('SELECT * FROM treport_content WHERE id_report='.$report['id_report']);
|
||||
$report['overload'] = $item_count >= $config['report_limit'];
|
||||
if ($report['overload']) {
|
||||
|
@ -752,7 +781,7 @@ switch ($action) {
|
|||
} else if (!$report['non_interactive']) {
|
||||
$data[2] = '<a href="'.$config['homeurl'].'index.php?sec=reporting&sec2=operation/reporting/reporting_viewer&id='.$report['id_report'].'&pure='.$pure.'">'.html_print_image('images/html.png', true, ['title' => __('HTML view')]).'</a>';
|
||||
$data[3] = '<a href="'.ui_get_full_url(false, false, false, false).'ajax.php?page='.$config['homedir'].'/operation/reporting/reporting_xml&id='.$report['id_report'].'">'.html_print_image('images/xml.png', true, ['title' => __('Export to XML')]).'</a>';
|
||||
// I chose ajax.php because it's supposed to give XML anyway
|
||||
// I chose ajax.php because it's supposed to give XML anyway.
|
||||
} else {
|
||||
$data[2] = html_print_image(
|
||||
'images/html_disabled.png',
|
||||
|
@ -765,14 +794,14 @@ switch ($action) {
|
|||
}
|
||||
|
||||
|
||||
// Calculate dinamically the number of the column
|
||||
// Calculate dinamically the number of the column.
|
||||
$next = 4;
|
||||
if (enterprise_hook('load_custom_reporting_2') !== ENTERPRISE_NOT_HOOK) {
|
||||
$next = 7;
|
||||
}
|
||||
|
||||
|
||||
// Admin options only for RM flag
|
||||
// Admin options only for RM flag.
|
||||
if (check_acl($config['id_user'], 0, 'RM')) {
|
||||
if ($report['private'] == 1) {
|
||||
$data[$next] = __('Yes');
|
||||
|
@ -820,6 +849,10 @@ switch ($action) {
|
|||
$delete = true;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
|
||||
if ($edit || $delete) {
|
||||
|
@ -918,7 +951,6 @@ switch ($action) {
|
|||
}
|
||||
|
||||
enterprise_hook('close_meta_frame');
|
||||
|
||||
return;
|
||||
|
||||
break;
|
||||
|
@ -946,6 +978,10 @@ switch ($action) {
|
|||
$idGroupReport = $report['id_group'];
|
||||
$description = $report['description'];
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -979,6 +1015,10 @@ switch ($action) {
|
|||
$id_group_edit = 0;
|
||||
$private = 1;
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
|
||||
if ($action == 'update') {
|
||||
|
@ -1029,10 +1069,10 @@ switch ($action) {
|
|||
$action = 'edit';
|
||||
} else if ($action == 'save') {
|
||||
if ($reportName != '' && $idGroupReport != '') {
|
||||
// This flag allow to differentiate between normal console and metaconsole reports
|
||||
// This flag allow to differentiate between normal console and metaconsole reports.
|
||||
$metaconsole_report = (int) is_metaconsole();
|
||||
|
||||
// Juanma (07/05/2014) New feature: Custom front page for reports
|
||||
// Juanma (07/05/2014) New feature: Custom front page for reports.
|
||||
if ($config['custom_report_front']) {
|
||||
$custom_font = $config['custom_report_front_font'];
|
||||
$logo = $config['custom_report_front_logo'];
|
||||
|
@ -1101,7 +1141,6 @@ switch ($action) {
|
|||
$good_format = false;
|
||||
switch ($action) {
|
||||
case 'update':
|
||||
|
||||
$values = [];
|
||||
$values['id_report'] = $idReport;
|
||||
// ---------------------------------------------------
|
||||
|
@ -1135,7 +1174,6 @@ switch ($action) {
|
|||
break;
|
||||
|
||||
case 'event_report_log':
|
||||
|
||||
$agents_to_report = get_parameter('id_agents3');
|
||||
$source = get_parameter('source', '');
|
||||
$search = get_parameter('search', '');
|
||||
|
@ -1157,7 +1195,7 @@ switch ($action) {
|
|||
$values['top_n_value'] = get_parameter('quantity');
|
||||
$interval_max = get_parameter('max_interval');
|
||||
$interval_min = get_parameter('min_interval');
|
||||
// Checks intervals fields
|
||||
// Checks intervals fields.
|
||||
if (preg_match('/^(\-)*[0-9]*\.?[0-9]+$/', $interval_max) and preg_match('/^(\-)*[0-9]*\.?[0-9]+$/', $interval_min)) {
|
||||
$good_format = true;
|
||||
}
|
||||
|
@ -1224,9 +1262,21 @@ switch ($action) {
|
|||
|
||||
case 'availability':
|
||||
// HACK it is saved in show_graph field.
|
||||
// Show interfaces instead the modules
|
||||
// Show interfaces instead the modules.
|
||||
$values['show_graph'] = get_parameter('checkbox_show_address_agent');
|
||||
$values['period'] = get_parameter('period');
|
||||
$values['total_time'] = get_parameter('total_time');
|
||||
$values['time_failed'] = get_parameter('time_failed');
|
||||
$values['time_in_ok_status'] = get_parameter('time_in_ok_status');
|
||||
$values['time_in_unknown_status'] = get_parameter('time_in_unknown_status');
|
||||
$values['time_of_not_initialized_module'] = get_parameter('time_of_not_initialized_module');
|
||||
$values['time_of_downtime'] = get_parameter('time_of_downtime');
|
||||
$values['total_checks'] = get_parameter('total_checks');
|
||||
$values['checks_failed'] = get_parameter('checks_failed');
|
||||
$values['checks_in_ok_status'] = get_parameter('checks_in_ok_status');
|
||||
$values['unknown_checks'] = get_parameter('unknown_checks');
|
||||
$values['agent_max_value'] = get_parameter('agent_max_value');
|
||||
$values['agent_min_value'] = get_parameter('agent_min_value');
|
||||
$good_format = true;
|
||||
break;
|
||||
|
||||
|
@ -1261,6 +1311,7 @@ switch ($action) {
|
|||
$values['text'] = get_parameter('text');
|
||||
$values['show_graph'] = get_parameter('combo_graph_options');
|
||||
$good_format = true;
|
||||
break;
|
||||
}
|
||||
|
||||
$values['id_agent'] = get_parameter('id_agent');
|
||||
|
@ -1285,6 +1336,19 @@ switch ($action) {
|
|||
$values['friday'] = get_parameter('friday', 0);
|
||||
$values['saturday'] = get_parameter('saturday', 0);
|
||||
$values['sunday'] = get_parameter('sunday', 0);
|
||||
$values['total_time'] = get_parameter('total_time', 0);
|
||||
$values['time_failed'] = get_parameter('time_failed', 0);
|
||||
$values['time_in_ok_status'] = get_parameter('time_in_ok_status', 0);
|
||||
$values['time_in_unknown_status'] = get_parameter('time_in_unknown_status', 0);
|
||||
$values['time_of_not_initialized_module'] = get_parameter('time_of_not_initialized_module', 0);
|
||||
$values['time_of_downtime'] = get_parameter('time_of_downtime', 0);
|
||||
$values['total_checks'] = get_parameter('total_checks', 0);
|
||||
$values['checks_failed'] = get_parameter('checks_failed', 0);
|
||||
$values['checks_in_ok_status'] = get_parameter('checks_in_ok_status', 0);
|
||||
$values['unknown_checks'] = get_parameter('unknown_checks', 0);
|
||||
$values['agent_max_value'] = get_parameter('agent_max_value', 0);
|
||||
$values['agent_min_value'] = get_parameter('agent_min_value', 0);
|
||||
|
||||
switch ($config['dbtype']) {
|
||||
case 'mysql':
|
||||
case 'postgresql':
|
||||
|
@ -1296,6 +1360,10 @@ switch ($action) {
|
|||
$values['time_from'] = '#to_date(\''.get_parameter('time_from').'\',\'hh24:mi:ss\')';
|
||||
$values['time_to'] = '#to_date(\''.get_parameter('time_to').'\', \'hh24:mi:ss\')';
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
|
||||
$values['group_by_agent'] = get_parameter('checkbox_row_group_by_agent');
|
||||
|
@ -1316,7 +1384,7 @@ switch ($action) {
|
|||
$values['server_name'] = get_parameter('combo_server');
|
||||
}
|
||||
|
||||
if ((($values['type'] == 'custom_graph') or ($values['type'] == 'automatic_custom_graph')) && ($values['id_gs'] == 0 || $values['id_gs'] == '')) {
|
||||
if ((($values['type'] == 'custom_graph') || ($values['type'] == 'automatic_custom_graph')) && ($values['id_gs'] == 0 || $values['id_gs'] == '')) {
|
||||
$resultOperationDB = false;
|
||||
break;
|
||||
}
|
||||
|
@ -1333,7 +1401,7 @@ switch ($action) {
|
|||
|
||||
$event_filter_search = get_parameter('filter_search', '');
|
||||
|
||||
// If metaconsole is activated
|
||||
// If metaconsole is activated.
|
||||
if ($config['metaconsole'] == 1 && defined('METACONSOLE')) {
|
||||
if (($values['type'] == 'custom_graph') or ($values['type'] == 'automatic_custom_graph')) {
|
||||
$id_gs = substr($values['id_gs'], 0, strpos($values['id_gs'], '|'));
|
||||
|
@ -1344,7 +1412,7 @@ switch ($action) {
|
|||
}
|
||||
}
|
||||
|
||||
// Get agent and server name
|
||||
// Get agent and server name.
|
||||
$agent_name_server = io_safe_output(get_parameter('agent'));
|
||||
|
||||
if (isset($agent_name_server)) {
|
||||
|
@ -1354,7 +1422,7 @@ switch ($action) {
|
|||
$server_name = substr($agent_name_server, $separator_pos);
|
||||
$server_name = str_replace('(', '', $server_name);
|
||||
$server_name = str_replace(')', '', $server_name);
|
||||
// Will update server_name variable
|
||||
// Will update server_name variable.
|
||||
$values['server_name'] = trim($server_name);
|
||||
$agent_name = substr($agent_name_server, 0, $separator_pos);
|
||||
}
|
||||
|
@ -1450,6 +1518,10 @@ switch ($action) {
|
|||
$style['label'] = '';
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
|
||||
$values['style'] = io_safe_input(json_encode($style));
|
||||
|
@ -1464,6 +1536,10 @@ switch ($action) {
|
|||
unset($values['type']);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
|
||||
$resultOperationDB = db_process_sql_update(
|
||||
|
@ -1485,7 +1561,7 @@ switch ($action) {
|
|||
$values['description'] = get_parameter('description');
|
||||
$label = get_parameter('label', '');
|
||||
|
||||
// Add macros name
|
||||
// Add macros name.
|
||||
$items_label = [];
|
||||
$items_label['type'] = get_parameter('type');
|
||||
$items_label['id_agent'] = get_parameter('id_agent');
|
||||
|
@ -1495,7 +1571,7 @@ switch ($action) {
|
|||
$values['name'] = reporting_label_macro($items_label, $name_it);
|
||||
|
||||
// Support for projection graph, prediction date and SLA reports
|
||||
// 'top_n_value', 'top_n' and 'text' fields will be reused for these types of report
|
||||
// 'top_n_value', 'top_n' and 'text' fields will be reused for these types of report.
|
||||
switch ($values['type']) {
|
||||
case 'projection_graph':
|
||||
$values['period'] = get_parameter('period1');
|
||||
|
@ -1597,7 +1673,7 @@ switch ($action) {
|
|||
case 'availability':
|
||||
$values['period'] = get_parameter('period');
|
||||
// HACK it is saved in show_graph field.
|
||||
// Show interfaces instead the modules
|
||||
// Show interfaces instead the modules.
|
||||
$values['show_graph'] = get_parameter('checkbox_show_address_agent');
|
||||
$good_format = true;
|
||||
break;
|
||||
|
@ -1672,6 +1748,10 @@ switch ($action) {
|
|||
$values['only_display_wrong'] = $only_display_wrong_tmp;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
|
||||
$values['monday'] = get_parameter('monday', 0);
|
||||
|
@ -1681,6 +1761,18 @@ switch ($action) {
|
|||
$values['friday'] = get_parameter('friday', 0);
|
||||
$values['saturday'] = get_parameter('saturday', 0);
|
||||
$values['sunday'] = get_parameter('sunday', 0);
|
||||
$values['total_time'] = get_parameter('total_time', 0);
|
||||
$values['time_failed'] = get_parameter('time_failed', 0);
|
||||
$values['time_in_ok_status'] = get_parameter('time_in_ok_status', 0);
|
||||
$values['time_in_unknown_status'] = get_parameter('time_in_unknown_status', 0);
|
||||
$values['time_of_not_initialized_module'] = get_parameter('time_of_not_initialized_module', 0);
|
||||
$values['time_of_downtime'] = get_parameter('time_of_downtime', 0);
|
||||
$values['total_checks'] = get_parameter('total_checks', 0);
|
||||
$values['checks_failed'] = get_parameter('checks_failed', 0);
|
||||
$values['checks_in_ok_status'] = get_parameter('checks_in_ok_status', 0);
|
||||
$values['unknown_checks'] = get_parameter('unknown_checks', 0);
|
||||
$values['agent_max_value'] = get_parameter('agent_max_value', 0);
|
||||
$values['agent_min_value'] = get_parameter('agent_min_value', 0);
|
||||
switch ($config['dbtype']) {
|
||||
case 'mysql':
|
||||
case 'postgresql':
|
||||
|
@ -1692,6 +1784,10 @@ switch ($action) {
|
|||
$values['time_from'] = '#to_date(\''.get_parameter('time_from').'\',\'hh24:mi:ss\')';
|
||||
$values['time_to'] = '#to_date(\''.get_parameter('time_to').'\', \'hh24:mi:ss\')';
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
|
||||
$values['group_by_agent'] = get_parameter('checkbox_row_group_by_agent', 0);
|
||||
|
@ -1719,8 +1815,8 @@ switch ($action) {
|
|||
}
|
||||
}
|
||||
|
||||
if (($values['type'] == 'sql') or ($values['type'] == 'sql_graph_hbar')
|
||||
or ($values['type'] == 'sql_graph_vbar') or ($values['type'] == 'sql_graph_pie')
|
||||
if (($values['type'] == 'sql') || ($values['type'] == 'sql_graph_hbar')
|
||||
|| ($values['type'] == 'sql_graph_vbar') || ($values['type'] == 'sql_graph_pie')
|
||||
) {
|
||||
$values['treport_custom_sql_id'] = get_parameter('id_custom');
|
||||
if ($values['treport_custom_sql_id'] == 0) {
|
||||
|
@ -1762,7 +1858,7 @@ switch ($action) {
|
|||
|
||||
$event_filter_search = get_parameter('filter_search', '');
|
||||
|
||||
// Added for events items
|
||||
// Added for events items.
|
||||
$style['show_summary_group'] = $show_summary_group;
|
||||
$style['filter_event_severity'] = json_encode($filter_event_severity);
|
||||
$style['filter_event_type'] = json_encode($filter_event_type);
|
||||
|
@ -1784,6 +1880,10 @@ switch ($action) {
|
|||
$style['label'] = '';
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -1828,6 +1928,10 @@ switch ($action) {
|
|||
$style['label'] = '';
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
|
||||
$values['style'] = io_safe_input(json_encode($style));
|
||||
|
@ -1842,6 +1946,10 @@ switch ($action) {
|
|||
unset($values['type']);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
|
||||
$result = db_process_sql_insert(
|
||||
|
@ -1871,6 +1979,10 @@ switch ($action) {
|
|||
WHERE id_report = '.$idReport
|
||||
);
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
|
||||
if ($max === false) {
|
||||
|
@ -1896,6 +2008,10 @@ switch ($action) {
|
|||
['id_rc' => $idItem]
|
||||
);
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
|
||||
$resultOperationDB = true;
|
||||
|
@ -1903,7 +2019,8 @@ switch ($action) {
|
|||
|
||||
break;
|
||||
}
|
||||
// If fields dont have good format
|
||||
|
||||
// If fields dont have good format.
|
||||
else {
|
||||
$resultOperationDB = false;
|
||||
}
|
||||
|
@ -1911,7 +2028,7 @@ switch ($action) {
|
|||
break;
|
||||
|
||||
default:
|
||||
if ($enterpriseEnable and $activeTab != 'advanced') {
|
||||
if ($enterpriseEnable && $activeTab != 'advanced') {
|
||||
$resultOperationDB = reporting_enterprise_update_action();
|
||||
}
|
||||
break;
|
||||
|
@ -1969,7 +2086,7 @@ switch ($action) {
|
|||
case 'agent':
|
||||
case 'type':
|
||||
|
||||
// Sort functionality for normal console
|
||||
// Sort functionality for normal console.
|
||||
if (!defined('METACONSOLE')) {
|
||||
switch ($field) {
|
||||
case 'module':
|
||||
|
@ -2003,6 +2120,10 @@ switch ($action) {
|
|||
case 'type':
|
||||
$sql = 'SELECT id_rc FROM treport_content WHERE %s ORDER BY type %s';
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
|
||||
$sql = sprintf($sql, 'id_report = '.$idReport, '%s');
|
||||
|
@ -2014,11 +2135,15 @@ switch ($action) {
|
|||
case 'down':
|
||||
$sql = sprintf($sql, 'DESC');
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
|
||||
$ids = db_get_all_rows_sql($sql);
|
||||
}
|
||||
// Sort functionality for metaconsole
|
||||
// Sort functionality for metaconsole.
|
||||
else if ($config['metaconsole'] == 1) {
|
||||
switch ($field) {
|
||||
case 'agent':
|
||||
|
@ -2036,14 +2161,14 @@ switch ($action) {
|
|||
foreach ($report_items as $report_item) {
|
||||
$connection = metaconsole_get_connection($report_item['server_name']);
|
||||
if (metaconsole_load_external_db($connection) != NOERR) {
|
||||
// ui_print_error_message ("Error connecting to ".$server_name);
|
||||
// ui_print_error_message ("Error connecting to ".$server_name);.
|
||||
}
|
||||
|
||||
switch ($field) {
|
||||
case 'agent':
|
||||
$agents_name = agents_get_agents(['id_agente' => $report_item['id_agent']], 'nombre');
|
||||
|
||||
// Item without agent
|
||||
// Item without agent.
|
||||
if (!$agents_name) {
|
||||
$element_name = '';
|
||||
} else {
|
||||
|
@ -2055,13 +2180,17 @@ switch ($action) {
|
|||
case 'module':
|
||||
$module_name = modules_get_agentmodule_name($report_item['id_agent_module']);
|
||||
|
||||
// Item without module
|
||||
// Item without module.
|
||||
if (!$module_name) {
|
||||
$element_name = '';
|
||||
} else {
|
||||
$element_name = $module_name;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
|
||||
metaconsole_restore_db();
|
||||
|
@ -2069,7 +2198,7 @@ switch ($action) {
|
|||
$temp_sort[$report_item['id_rc']] = $element_name;
|
||||
}
|
||||
|
||||
// Performes sorting
|
||||
// Performes sorting.
|
||||
switch ($dir) {
|
||||
case 'up':
|
||||
asort($temp_sort);
|
||||
|
@ -2078,6 +2207,10 @@ switch ($action) {
|
|||
case 'down':
|
||||
arsort($temp_sort);
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
|
||||
foreach ($temp_sort as $temp_element_key => $temp_element_val) {
|
||||
|
@ -2086,13 +2219,13 @@ switch ($action) {
|
|||
$i++;
|
||||
}
|
||||
|
||||
// Free resources
|
||||
// Free resources.
|
||||
unset($temp_sort);
|
||||
unset($report_items);
|
||||
}
|
||||
break;
|
||||
|
||||
// Type case only depends of local database
|
||||
// Type case only depends of local database.
|
||||
case 'type':
|
||||
$sql = 'SELECT id_rc
|
||||
FROM treport_content
|
||||
|
@ -2111,10 +2244,13 @@ switch ($action) {
|
|||
case 'down':
|
||||
$sql = sprintf($sql, 'DESC');
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
|
||||
$ids = db_get_all_rows_sql($sql);
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -2153,6 +2289,10 @@ switch ($action) {
|
|||
WHERE id_rc = '.$idItem
|
||||
);
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
|
||||
// db_get_value_filter('order', 'treport_content', array('id_rc' => $idItem));
|
||||
|
@ -2164,6 +2304,10 @@ switch ($action) {
|
|||
case 'down':
|
||||
$newOrder = ($oldOrder + 1);
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
|
||||
switch ($config['dbtype']) {
|
||||
|
@ -2201,6 +2345,10 @@ switch ($action) {
|
|||
false
|
||||
);
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
|
||||
if ($resultOperationDB !== false) {
|
||||
|
@ -2230,13 +2378,17 @@ switch ($action) {
|
|||
false
|
||||
);
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
// Added for report templates
|
||||
// Added for report templates.
|
||||
default:
|
||||
if ($enterpriseEnable) {
|
||||
$buttons = [
|
||||
|
@ -2260,7 +2412,7 @@ switch ($action) {
|
|||
break;
|
||||
}
|
||||
|
||||
// Page header for metaconsole
|
||||
// Page header for metaconsole.
|
||||
if ($enterpriseEnable and defined('METACONSOLE')) {
|
||||
// Bread crumbs
|
||||
ui_meta_add_breadcrumb(
|
||||
|
@ -2272,10 +2424,10 @@ switch ($action) {
|
|||
|
||||
ui_meta_print_page_header($nav_bar);
|
||||
|
||||
// Print header
|
||||
// Print header.
|
||||
ui_meta_print_header(__('Reporting'), '', $buttons);
|
||||
}
|
||||
// Page header for normal console
|
||||
// Page header for normal console.
|
||||
else {
|
||||
ui_print_page_header($subsection, 'images/op_reporting.png', false, '', false, $buttons, false, '', 60);
|
||||
}
|
||||
|
@ -2338,9 +2490,9 @@ if ($idReport != 0) {
|
|||
$textReportName = __('Create Custom Report');
|
||||
}
|
||||
|
||||
// Page header for metaconsole
|
||||
// Page header for metaconsole.
|
||||
if ($enterpriseEnable and defined('METACONSOLE')) {
|
||||
// Bread crumbs
|
||||
// Bread crumbs.
|
||||
ui_meta_add_breadcrumb(
|
||||
[
|
||||
'link' => 'index.php?sec=reporting&sec2=godmode/reporting/reporting_builder&pure='.$pure,
|
||||
|
@ -2350,7 +2502,7 @@ if ($enterpriseEnable and defined('METACONSOLE')) {
|
|||
|
||||
ui_meta_print_page_header($nav_bar);
|
||||
|
||||
// Print header
|
||||
// Print header.
|
||||
ui_meta_print_header(__('Reporting').$textReportName, '', $buttons);
|
||||
} else {
|
||||
ui_print_page_header(
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
/**
|
||||
* Pandora build version and version
|
||||
*/
|
||||
$build_version = 'PC190402';
|
||||
$build_version = 'PC190405';
|
||||
$pandora_version = 'v7.0NG.733';
|
||||
|
||||
// Do not overwrite default timezone set if defined.
|
||||
|
|
|
@ -434,15 +434,15 @@ function agents_get_agents(
|
|||
$filter_nogroup = $filter;
|
||||
|
||||
// Get user groups
|
||||
$groups = array_keys(users_get_groups($config['id_user'], $access, true));
|
||||
$groups = array_keys(users_get_groups($config['id_user'], $access, false));
|
||||
|
||||
// If no group specified, get all user groups
|
||||
if (isset($filter['id_grupo']) === false) {
|
||||
if (empty($filter['id_grupo'])) {
|
||||
$all_groups = true;
|
||||
$filter['id_grupo'] = $groups;
|
||||
} else if (! is_array($filter['id_grupo'])) {
|
||||
$all_groups = false;
|
||||
// If group is specified but not allowed, return false.
|
||||
// If group is specified but not allowed, return false
|
||||
if (! in_array($filter['id_grupo'], $groups)) {
|
||||
return false;
|
||||
}
|
||||
|
@ -466,6 +466,11 @@ function agents_get_agents(
|
|||
|
||||
$filter['id_group'] = $filter['id_grupo'];
|
||||
|
||||
if (in_array(0, $filter['id_grupo'])) {
|
||||
unset($filter['id_grupo']);
|
||||
unset($filter['id_group']);
|
||||
}
|
||||
|
||||
if (!is_array($fields)) {
|
||||
$fields = [];
|
||||
$fields[0] = 'id_agente';
|
||||
|
|
|
@ -8794,7 +8794,14 @@ function api_set_alert_actions($id, $id2, $other, $trash1)
|
|||
}
|
||||
|
||||
$firesMin = $other['data'][2];
|
||||
if (!$firesMin) {
|
||||
$firesMin = 0;
|
||||
}
|
||||
|
||||
$firesMax = $other['data'][3];
|
||||
if (!$firesMax) {
|
||||
$firesMax = 0;
|
||||
}
|
||||
|
||||
$values = [
|
||||
'id_alert_template_module' => $idAlertTemplateModule,
|
||||
|
|
|
@ -81,6 +81,11 @@ function config_update_value($token, $value)
|
|||
$value = ($value);
|
||||
}
|
||||
|
||||
if (!isset($config[$token])) {
|
||||
$config[$token] = $value;
|
||||
return (bool) config_create_value($token, io_safe_input($value));
|
||||
}
|
||||
|
||||
// If it has not changed.
|
||||
if ($config[$token] == $value) {
|
||||
return true;
|
||||
|
@ -95,19 +100,11 @@ function config_update_value($token, $value)
|
|||
['token' => $token]
|
||||
);
|
||||
|
||||
if ($result == 0) {
|
||||
if ($result === 0) {
|
||||
return true;
|
||||
} else {
|
||||
if (!isset($config[$token])) {
|
||||
$config[$token] = $value;
|
||||
return (bool) config_create_value(
|
||||
$token,
|
||||
io_safe_input($value)
|
||||
);
|
||||
} else {
|
||||
return (bool) $result;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -3167,8 +3167,7 @@ function events_page_general($event)
|
|||
|
||||
$table_general->data[] = $data;
|
||||
|
||||
$event['owner_user'] = $event['id_usuario'];
|
||||
|
||||
// $event['owner_user'] = $event['id_usuario'];
|
||||
$data = [];
|
||||
$data[0] = __('Owner');
|
||||
if (empty($event['owner_user'])) {
|
||||
|
|
|
@ -59,11 +59,11 @@ function menu_print_menu(&$menu)
|
|||
$allsec2 = $sec2;
|
||||
}
|
||||
|
||||
// Open list of menu
|
||||
// Open list of menu.
|
||||
echo '<ul'.(isset($menu['class']) ? ' class="'.$menu['class'].'"' : '').'>';
|
||||
|
||||
// Use $config because a global var is required because normal
|
||||
// and godmode menu are painted separately
|
||||
// and godmode menu are painted separately.
|
||||
if (!isset($config['count_main_menu'])) {
|
||||
$config['count_main_menu'] = 0;
|
||||
}
|
||||
|
@ -128,7 +128,7 @@ function menu_print_menu(&$menu)
|
|||
|
||||
if (! $submenu) {
|
||||
$main['sub'] = [];
|
||||
// Empty array won't go through foreach
|
||||
// Empty array won't go through foreach.
|
||||
}
|
||||
|
||||
$submenu_output = '';
|
||||
|
@ -140,12 +140,12 @@ function menu_print_menu(&$menu)
|
|||
foreach ($main['sub'] as $subsec2 => $sub) {
|
||||
$count_sub++;
|
||||
|
||||
// Init some variables
|
||||
// Init some variables.
|
||||
$visible = false;
|
||||
$selected = false;
|
||||
|
||||
$subsec2 = io_safe_output($subsec2);
|
||||
// Choose valid suboptions (sec2)
|
||||
// Choose valid suboptions (sec2).
|
||||
$check_2 = true;
|
||||
if (isset($sub['sub2'])) {
|
||||
$check_2 = false;
|
||||
|
@ -155,7 +155,7 @@ function menu_print_menu(&$menu)
|
|||
continue;
|
||||
}
|
||||
|
||||
// We store the first subsection to use it if the main section has not access
|
||||
// We store the first subsection to use it if the main section has not access.
|
||||
if ($count_sub_access == 0) {
|
||||
$first_sub_sec2 = $subsec2;
|
||||
}
|
||||
|
@ -175,7 +175,7 @@ function menu_print_menu(&$menu)
|
|||
$sec2 = ' ';
|
||||
}
|
||||
|
||||
// Check if some submenu was selected to mark this (the parent) as selected
|
||||
// Check if some submenu was selected to mark this (the parent) as selected.
|
||||
foreach (array_keys($sub['sub2']) as $key) {
|
||||
if (strpos($key, $sec2) !== false) {
|
||||
$selected_submenu2 = true;
|
||||
|
@ -184,13 +184,13 @@ function menu_print_menu(&$menu)
|
|||
}
|
||||
}
|
||||
|
||||
// Create godmode option if submenu has godmode on
|
||||
// Create godmode option if submenu has godmode on.
|
||||
if (isset($sub['subsecs'])) {
|
||||
// Sometimes you need to add all paths because in the
|
||||
// same dir are code from visual console and reports
|
||||
// for example
|
||||
// for example.
|
||||
if (is_array($sub['subsecs'])) {
|
||||
// Compare each string
|
||||
// Compare each string.
|
||||
foreach ($sub['subsecs'] as $god_path) {
|
||||
if (strpos($sec2, $god_path) !== false) {
|
||||
$selected_submenu2 = true;
|
||||
|
@ -198,19 +198,19 @@ function menu_print_menu(&$menu)
|
|||
}
|
||||
}
|
||||
} else {
|
||||
// If there is only a string just compare
|
||||
// If there is only a string just compare.
|
||||
if (strpos($sec2, $sub['subsecs']) !== false) {
|
||||
$selected_submenu2 = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Set class
|
||||
// Set class.
|
||||
if (($sec2 == $subsec2 || $allsec2 == $subsec2
|
||||
|| $selected_submenu2) && isset($sub[$subsec2]['options'])
|
||||
&& ( get_parameter_get($sub[$subsec2]['options']['name']) == $sub[$subsec2]['options']['value'])
|
||||
) {
|
||||
// If the subclass is selected and there are options and that options value is true
|
||||
// If the subclass is selected and there are options and that options value is true.
|
||||
$class .= 'submenu_selected selected';
|
||||
$menu_selected = true;
|
||||
$selected = true;
|
||||
|
@ -231,7 +231,7 @@ function menu_print_menu(&$menu)
|
|||
$selected = true;
|
||||
$visible = true;
|
||||
} else {
|
||||
// Else it's not selected
|
||||
// Else it's not selected.
|
||||
$class .= 'submenu_not_selected';
|
||||
}
|
||||
|
||||
|
@ -239,7 +239,7 @@ function menu_print_menu(&$menu)
|
|||
$sub['refr'] = 0;
|
||||
}
|
||||
|
||||
// Define submenu class to draw tree image
|
||||
// Define submenu class to draw tree image.
|
||||
if ($count_sub >= count($main['sub'])) {
|
||||
$sub_tree_class = 'submenu_text submenu_text_last';
|
||||
} else {
|
||||
|
@ -247,7 +247,7 @@ function menu_print_menu(&$menu)
|
|||
}
|
||||
|
||||
if (isset($sub['type']) && $sub['type'] == 'direct') {
|
||||
// This is an external link
|
||||
// This is an external link.
|
||||
$submenu_output .= '<li title="'.$sub['id'].'" id="'.str_replace(' ', '_', $sub['id']).'" class="'.$class.'">';
|
||||
|
||||
if (isset($sub['subtype']) && $sub['subtype'] == 'nolink') {
|
||||
|
@ -258,7 +258,7 @@ function menu_print_menu(&$menu)
|
|||
$submenu_output .= '<a href="'.$subsec2.'"><div class="'.$sub_tree_class.'">'.$sub['text'].'</div></a>';
|
||||
}
|
||||
} else {
|
||||
// This is an internal link
|
||||
// This is an internal link.
|
||||
if (isset($sub[$subsec2]['options'])) {
|
||||
$link_add = '&'.$sub[$subsec2]['options']['name'].'='.$sub[$subsec2]['options']['value'];
|
||||
} else {
|
||||
|
@ -267,7 +267,7 @@ function menu_print_menu(&$menu)
|
|||
|
||||
$submenu_output .= '<li id="'.str_replace(' ', '_', $sub['id']).'" '.($class ? ' class="'.$class.'"' : '').'>';
|
||||
|
||||
// Ini Add icon extension
|
||||
// Ini Add icon extension.
|
||||
$secExtension = null;
|
||||
if (array_key_exists('extension', $sub)) {
|
||||
$secExtensionBool = $sub['extension'];
|
||||
|
@ -275,7 +275,7 @@ function menu_print_menu(&$menu)
|
|||
$secExtensionBool = false;
|
||||
}
|
||||
|
||||
// DISABLE SUBMENU IMAGES
|
||||
// DISABLE SUBMENU IMAGES.
|
||||
$secExtensionBool = false;
|
||||
|
||||
if ($secExtensionBool) {
|
||||
|
@ -328,7 +328,7 @@ function menu_print_menu(&$menu)
|
|||
}
|
||||
}
|
||||
|
||||
// Print second level submenu
|
||||
// Print second level submenu.
|
||||
if (isset($sub['sub2'])) {
|
||||
$submenu2_list = '';
|
||||
|
||||
|
@ -354,7 +354,7 @@ function menu_print_menu(&$menu)
|
|||
$class .= ' selected';
|
||||
}
|
||||
|
||||
// Define submenu2 class to draw tree image
|
||||
// Define submenu2 class to draw tree image.
|
||||
if ($count_sub2 >= count($sub['sub2'])) {
|
||||
$sub_tree_class = 'submenu_text submenu2_text_last';
|
||||
} else {
|
||||
|
@ -372,7 +372,7 @@ function menu_print_menu(&$menu)
|
|||
$sub_title = '';
|
||||
}
|
||||
|
||||
// Add submenu2 to submenu string
|
||||
// Add submenu2 to submenu string.
|
||||
$submenu_output .= '<ul id="sub'.str_replace(' ', '_', $sub['id']).'" class="submenu2">';
|
||||
$submenu_output .= $submenu2_list;
|
||||
$submenu_output .= '</ul>';
|
||||
|
@ -382,7 +382,7 @@ function menu_print_menu(&$menu)
|
|||
$submenu_output .= '</li>';
|
||||
}
|
||||
|
||||
// Choose valid section (sec)
|
||||
// Choose valid section (sec).
|
||||
if (enterprise_hook('enterprise_acl', [$config['id_user'], $mainsec, $main['sec2']]) == false) {
|
||||
if ($count_sub_access > 0) {
|
||||
// If any susection have access but main section not, we change main link to first subsection found
|
||||
|
@ -398,7 +398,7 @@ function menu_print_menu(&$menu)
|
|||
$seleccionado = '';
|
||||
}
|
||||
|
||||
// Print out the first level
|
||||
// Print out the first level.
|
||||
$output .= '<li title="'.$main['text'].'" class="'.implode(' ', $classes).' '.$seleccionado.'" id="icon_'.$id.'">';
|
||||
// onclick="location.href=\'index.php?sec='.$mainsec.'&sec2='.$main["sec2"].($main["refr"] ? '&refr='.$main["refr"] : '').'\'">';
|
||||
$length = strlen(__($main['text']));
|
||||
|
@ -419,7 +419,7 @@ function menu_print_menu(&$menu)
|
|||
$length = 0;
|
||||
// $output .= html_print_image("include/styles/images/toggle.png", true, array("class" => "toggle", "alt" => "toogle"));
|
||||
if ($submenu_output != '') {
|
||||
// WARNING: IN ORDER TO MODIFY THE VISIBILITY OF MENU'S AND SUBMENU'S (eg. with cookies) YOU HAVE TO ADD TO THIS ELSEIF. DON'T MODIFY THE CSS
|
||||
// WARNING: IN ORDER TO MODIFY THE VISIBILITY OF MENU'S AND SUBMENU'S (eg. with cookies) YOU HAVE TO ADD TO THIS ELSEIF. DON'T MODIFY THE CSS.
|
||||
if ($visible || in_array('selected', $classes)) {
|
||||
$visible = true;
|
||||
}
|
||||
|
@ -439,9 +439,9 @@ function menu_print_menu(&$menu)
|
|||
$menu_selected = false;
|
||||
}
|
||||
|
||||
// Finish menu
|
||||
// Finish menu.
|
||||
echo '</ul>';
|
||||
// Invisible UL for adding border-top
|
||||
// Invisible UL for adding border-top.
|
||||
echo '</div>';
|
||||
}
|
||||
|
||||
|
@ -541,7 +541,7 @@ function menu_add_extras(&$menu)
|
|||
|
||||
$menu_extra['workspace']['sub']['operation/incidents/incident_detail']['text'] = __('Manage incident');
|
||||
|
||||
// Duplicate extensions as sec=extension to check it from url
|
||||
// Duplicate extensions as sec=extension to check it from url.
|
||||
foreach ($menu as $k => $m) {
|
||||
if (!isset($m['sub'])) {
|
||||
continue;
|
||||
|
@ -585,7 +585,7 @@ function menu_get_sec($with_categories=false)
|
|||
if ($with_categories) {
|
||||
if (!$in_godmode && $k[0] == 'g') {
|
||||
// Hack to dont confuse with gis activated because godmode
|
||||
// sec starts with g (like gismaps)
|
||||
// sec starts with g (like gismaps).
|
||||
if ($k != 'gismaps') {
|
||||
$in_godmode = true;
|
||||
}
|
||||
|
@ -654,17 +654,17 @@ function menu_get_sec_pages($sec, $menu_hash=false)
|
|||
$sec2_array = [];
|
||||
|
||||
if (isset($sec)) {
|
||||
// Get the sec2 of the main section
|
||||
// Get the sec2 of the main section.
|
||||
$sec2_array[$menu[$sec]['sec2']] = $menu[$sec]['text'];
|
||||
|
||||
// Get the sec2 of the subsections
|
||||
// Get the sec2 of the subsections.
|
||||
foreach ($menu[$sec]['sub'] as $k => $v) {
|
||||
// Avoid special cases of standalone windows
|
||||
// Avoid special cases of standalone windows.
|
||||
if (preg_match('/^javascript:/', $k) || preg_match('/\.php/', $k)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// If this value has various parameters, we only get the first
|
||||
// If this value has various parameters, we only get the first.
|
||||
$k = explode('&', $k);
|
||||
$k = $k[0];
|
||||
|
||||
|
@ -672,6 +672,7 @@ function menu_get_sec_pages($sec, $menu_hash=false)
|
|||
}
|
||||
}
|
||||
|
||||
$sec2_array = array_unique($sec2_array);
|
||||
return $sec2_array;
|
||||
}
|
||||
|
||||
|
@ -698,8 +699,8 @@ function menu_get_sec2_pages($sec, $sec2, $menu_hash=false)
|
|||
|
||||
$sec3_array = [];
|
||||
|
||||
if (isset($menu[$sec]['sub']) and isset($menu[$sec]['sub'][$sec2]['sub2'])) {
|
||||
// Get the sec2 of the subsections
|
||||
if (isset($menu[$sec]['sub']) && isset($menu[$sec]['sub'][$sec2]['sub2'])) {
|
||||
// Get the sec2 of the subsections.
|
||||
foreach ($menu[$sec]['sub'][$sec2]['sub2'] as $k => $v) {
|
||||
$sec3_array[$k] = $v['text'];
|
||||
}
|
||||
|
@ -721,7 +722,7 @@ function menu_sec2_in_sec($sec, $sec2)
|
|||
{
|
||||
$sec2_array = menu_get_sec_pages($sec);
|
||||
|
||||
// If this value has various parameters, we only get the first
|
||||
// If this value has various parameters, we only get the first.
|
||||
$sec2 = explode('&', $sec2);
|
||||
$sec2 = $sec2[0];
|
||||
|
||||
|
@ -737,7 +738,7 @@ function menu_sec3_in_sec2($sec, $sec2, $sec3)
|
|||
{
|
||||
$sec3_array = menu_get_sec2_pages($sec, $sec2, $menu_hash = false);
|
||||
|
||||
// If this value has various parameters, we only get the first
|
||||
// If this value has various parameters, we only get the first.
|
||||
$sec3 = explode('&', $sec3);
|
||||
$sec3 = $sec3[0];
|
||||
|
||||
|
|
|
@ -41,11 +41,11 @@ require_once $config['homedir'].'/include/functions_network.php';
|
|||
//
|
||||
// CONSTANTS DEFINITIONS //
|
||||
//
|
||||
// Priority modes
|
||||
// Priority modes.
|
||||
define('REPORT_PRIORITY_MODE_OK', 1);
|
||||
define('REPORT_PRIORITY_MODE_UNKNOWN', 2);
|
||||
|
||||
// Status
|
||||
// Status.
|
||||
define('REPORT_STATUS_ERR', 0);
|
||||
define('REPORT_STATUS_OK', 1);
|
||||
define('REPORT_STATUS_UNKNOWN', 2);
|
||||
|
@ -62,7 +62,7 @@ function reporting_user_can_see_report($id_report, $id_user=null)
|
|||
$id_user = $config['id_user'];
|
||||
}
|
||||
|
||||
// Get Report record (to get id_group)
|
||||
// Get Report record (to get id_group).
|
||||
$report = db_get_row('treport', 'id_report', $id_report);
|
||||
|
||||
// Check ACL on the report to see if user has access to the report.
|
||||
|
@ -108,6 +108,10 @@ function reporting_get_type($content)
|
|||
case REPORT_OLD_TYPE_SUMATORY:
|
||||
$content['type'] = 'sumatory';
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
|
||||
return $content['type'];
|
||||
|
@ -205,7 +209,7 @@ function reporting_make_reporting_data(
|
|||
$server_name = $content['server_name'];
|
||||
|
||||
// General reports with 0 period means last value
|
||||
// Avoid to overwrite it by template value
|
||||
// Avoid to overwrite it by template value.
|
||||
if (!empty($period) && ($content['type'] !== 'general' && $content['period'] != 0)) {
|
||||
$content['period'] = $period;
|
||||
}
|
||||
|
@ -229,7 +233,7 @@ function reporting_make_reporting_data(
|
|||
|
||||
if (in_array('label', $content['style'])) {
|
||||
if ($content['id_agent'] == 0) {
|
||||
// Metaconsole connection
|
||||
// Metaconsole connection.
|
||||
if ($metaconsole_on && $server_name != '') {
|
||||
$connection = metaconsole_get_connection($server_name);
|
||||
if (!metaconsole_load_external_db($connection)) {
|
||||
|
@ -240,7 +244,7 @@ function reporting_make_reporting_data(
|
|||
|
||||
array_push($agents_to_macro, modules_get_agentmodule_agent($graph_item['id_agent_module']));
|
||||
if ($metaconsole_on) {
|
||||
// Restore db connection
|
||||
// Restore db connection.
|
||||
metaconsole_restore_db();
|
||||
}
|
||||
}
|
||||
|
@ -291,7 +295,7 @@ function reporting_make_reporting_data(
|
|||
$content['name'] = reporting_label_macro($items_label, $content['style']['name_label']);
|
||||
|
||||
if ($metaconsole_on) {
|
||||
// Restore db connection
|
||||
// Restore db connection.
|
||||
metaconsole_restore_db();
|
||||
}
|
||||
}
|
||||
|
@ -781,6 +785,10 @@ function reporting_make_reporting_data(
|
|||
$pdf
|
||||
);
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
|
||||
$index_content++;
|
||||
|
@ -847,7 +855,7 @@ function reporting_SLA(
|
|||
include_once $config['homedir'].'/include/functions_planned_downtimes.php';
|
||||
$metaconsole_on = is_metaconsole();
|
||||
|
||||
// checking if needed to show graph or table
|
||||
// checking if needed to show graph or table.
|
||||
if ($content['show_graph'] == 0 || $content['show_graph'] == 1) {
|
||||
$show_table = 1;
|
||||
} else {
|
||||
|
@ -1241,7 +1249,6 @@ function reporting_SLA(
|
|||
}
|
||||
|
||||
$return['charts'] = $temp;
|
||||
|
||||
break;
|
||||
|
||||
case 2:
|
||||
|
@ -1278,7 +1285,10 @@ function reporting_SLA(
|
|||
}
|
||||
|
||||
$return['charts'] = $temp;
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -1317,7 +1327,7 @@ function reporting_event_top_n(
|
|||
|
||||
case REPORT_TOP_N_AVG:
|
||||
default:
|
||||
// If nothing is selected then it will be shown the average data
|
||||
// If nothing is selected then it will be shown the average data.
|
||||
$type_top_n = __('Avg');
|
||||
break;
|
||||
}
|
||||
|
@ -1334,7 +1344,7 @@ function reporting_event_top_n(
|
|||
$return['top_n'] = $content['top_n_value'];
|
||||
|
||||
if (empty($content['subitems'])) {
|
||||
// Get all the related data
|
||||
// Get all the related data.
|
||||
$sql = sprintf(
|
||||
'SELECT id_agent_module, server_name
|
||||
FROM treport_content_item
|
||||
|
@ -1347,7 +1357,7 @@ function reporting_event_top_n(
|
|||
$tops = $content['subitems'];
|
||||
}
|
||||
|
||||
// Get chart
|
||||
// Get chart.
|
||||
reporting_set_conf_charts(
|
||||
$width,
|
||||
$height,
|
||||
|
@ -1371,7 +1381,7 @@ function reporting_event_top_n(
|
|||
$data_top = [];
|
||||
|
||||
foreach ($tops as $key => $row) {
|
||||
// Metaconsole connection
|
||||
// Metaconsole connection.
|
||||
$server_name = $row['server_name'];
|
||||
if (($config['metaconsole'] == 1) && $server_name != '' && defined('METACONSOLE')) {
|
||||
$connection = metaconsole_get_connection($server_name);
|
||||
|
@ -1401,7 +1411,7 @@ function reporting_event_top_n(
|
|||
|
||||
case REPORT_TOP_N_AVG:
|
||||
default:
|
||||
// If nothing is selected then it will be shown the average data
|
||||
// If nothing is selected then it will be shown the average data.
|
||||
$value = reporting_get_agentmodule_data_average($row['id_agent_module'], $content['period']);
|
||||
break;
|
||||
}
|
||||
|
@ -1415,7 +1425,7 @@ function reporting_event_top_n(
|
|||
$units[$key] = $unit;
|
||||
}
|
||||
|
||||
// Restore dbconnection
|
||||
// Restore dbconnection.
|
||||
if (($config['metaconsole'] == 1) && $server_name != '' && defined('METACONSOLE')) {
|
||||
metaconsole_restore_db();
|
||||
}
|
||||
|
@ -1428,21 +1438,25 @@ function reporting_event_top_n(
|
|||
|
||||
// Order to show.
|
||||
switch ($order_uptodown) {
|
||||
// Descending
|
||||
// Descending.
|
||||
case 1:
|
||||
array_multisort($data_top, SORT_DESC, $agent_name, SORT_ASC, $module_name, SORT_ASC, $id_agent_module, SORT_ASC, $units, SORT_ASC);
|
||||
break;
|
||||
|
||||
// Ascending
|
||||
// Ascending.
|
||||
case 2:
|
||||
array_multisort($data_top, SORT_ASC, $agent_name, SORT_ASC, $module_name, SORT_ASC, $id_agent_module, SORT_ASC, $units, SORT_ASC);
|
||||
break;
|
||||
|
||||
// By agent name or without selection
|
||||
// By agent name or without selection.
|
||||
case 0:
|
||||
case 3:
|
||||
array_multisort($agent_name, SORT_ASC, $data_top, SORT_ASC, $module_name, SORT_ASC, $id_agent_module, SORT_ASC, $units, SORT_ASC);
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
|
||||
array_splice($data_top, $top_n_value);
|
||||
|
@ -1458,7 +1472,7 @@ function reporting_event_top_n(
|
|||
$data_top_values['id_agent_module'] = $id_agent_module;
|
||||
$data_top_values['units'] = $units;
|
||||
|
||||
// Define truncate size depends the graph width
|
||||
// Define truncate size depends the graph width.
|
||||
$truncate_size = ($width / (4 * ($config['font_size'])) - 1);
|
||||
|
||||
if ($order_uptodown == 1 || $order_uptodown == 2) {
|
||||
|
@ -1584,7 +1598,7 @@ function reporting_event_top_n(
|
|||
$ttl
|
||||
);
|
||||
|
||||
// Display bars graph
|
||||
// Display bars graph.
|
||||
$return['charts']['bars'] = hbar_graph(
|
||||
$data_hbar,
|
||||
$width,
|
||||
|
@ -1609,7 +1623,7 @@ function reporting_event_top_n(
|
|||
$return['resume'] = null;
|
||||
|
||||
if ($content['show_resume'] && count($data_top_values) > 0) {
|
||||
// Get the very first not null value
|
||||
// Get the very first not null value.
|
||||
$i = 0;
|
||||
do {
|
||||
$min = $data_top_values['data_top'][$i];
|
||||
|
@ -1689,14 +1703,14 @@ function reporting_event_report_group(
|
|||
|
||||
$event_filter = $content['style'];
|
||||
$return['show_summary_group'] = $event_filter['show_summary_group'];
|
||||
// filter
|
||||
// Filter.
|
||||
$show_summary_group = $event_filter['show_summary_group'];
|
||||
$filter_event_severity = json_decode($event_filter['filter_event_severity'], true);
|
||||
$filter_event_type = json_decode($event_filter['filter_event_type'], true);
|
||||
$filter_event_status = json_decode($event_filter['filter_event_status'], true);
|
||||
$filter_event_filter_search = $event_filter['event_filter_search'];
|
||||
|
||||
// graphs
|
||||
// Graphs.
|
||||
$event_graph_by_agent = $event_filter['event_graph_by_agent'];
|
||||
$event_graph_by_user_validator = $event_filter['event_graph_by_user_validator'];
|
||||
$event_graph_by_criticity = $event_filter['event_graph_by_criticity'];
|
||||
|
@ -1858,7 +1872,7 @@ function reporting_event_report_group(
|
|||
metaconsole_restore_db();
|
||||
}
|
||||
|
||||
// total_events
|
||||
// total_events.
|
||||
if ($return['data'] != '') {
|
||||
$return['total_events'] = count($return['data']);
|
||||
} else {
|
||||
|
@ -1911,14 +1925,14 @@ function reporting_event_report_module(
|
|||
|
||||
$event_filter = $content['style'];
|
||||
$return['show_summary_group'] = $event_filter['show_summary_group'];
|
||||
// filter
|
||||
// Filter.
|
||||
$show_summary_group = $event_filter['show_summary_group'];
|
||||
$filter_event_severity = json_decode($event_filter['filter_event_severity'], true);
|
||||
$filter_event_type = json_decode($event_filter['filter_event_type'], true);
|
||||
$filter_event_status = json_decode($event_filter['filter_event_status'], true);
|
||||
$filter_event_filter_search = $event_filter['event_filter_search'];
|
||||
|
||||
// graphs
|
||||
// Graphs.
|
||||
$event_graph_by_user_validator = $event_filter['event_graph_by_user_validator'];
|
||||
$event_graph_by_criticity = $event_filter['event_graph_by_criticity'];
|
||||
$event_graph_validated_vs_unvalidated = $event_filter['event_graph_validated_vs_unvalidated'];
|
||||
|
@ -1930,7 +1944,7 @@ function reporting_event_report_module(
|
|||
$metaconsole_dbtable = false;
|
||||
}
|
||||
|
||||
// data events
|
||||
// Data events.
|
||||
$data = reporting_get_module_detailed_event(
|
||||
$content['id_agent_module'],
|
||||
$content['period'],
|
||||
|
@ -1959,7 +1973,7 @@ function reporting_event_report_module(
|
|||
metaconsole_restore_db();
|
||||
}
|
||||
|
||||
// total_events
|
||||
// Total_events.
|
||||
if ($return['data'][0]['data'] != '') {
|
||||
$return['total_events'] = count($return['data'][0]['data']);
|
||||
} else {
|
||||
|
@ -2276,6 +2290,10 @@ function reporting_exception(
|
|||
$return['subtitle'] = __('Exception - Modules at critical or warning status');
|
||||
$return['subtype'] = __('Modules at critical or warning status');
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
|
||||
$return['description'] = $content['description'];
|
||||
|
@ -2286,7 +2304,7 @@ function reporting_exception(
|
|||
$return['resume'] = [];
|
||||
|
||||
if (empty($content['subitems'])) {
|
||||
// Get all the related data
|
||||
// Get all the related data.
|
||||
$sql = sprintf(
|
||||
'
|
||||
SELECT id_agent_module, server_name, operation
|
||||
|
@ -2303,10 +2321,10 @@ function reporting_exception(
|
|||
if ($exceptions === false) {
|
||||
$return['failed'] = __('There are no Agent/Modules defined');
|
||||
} else {
|
||||
// Get the very first not null value
|
||||
// Get the very first not null value.
|
||||
$i = 0;
|
||||
do {
|
||||
// Metaconsole connection
|
||||
// Metaconsole connection.
|
||||
$server_name = $exceptions[$i]['server_name'];
|
||||
if (($config['metaconsole'] == 1) && $server_name != '' && defined('METACONSOLE')) {
|
||||
$connection = metaconsole_get_connection($server_name);
|
||||
|
@ -2340,12 +2358,16 @@ function reporting_exception(
|
|||
$content['period']
|
||||
);
|
||||
break;
|
||||
|
||||
default:
|
||||
// Default.
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$i++;
|
||||
|
||||
// Restore dbconnection
|
||||
// Restore dbconnection.
|
||||
if (($config['metaconsole'] == 1) && $server_name != '' && defined('METACONSOLE')) {
|
||||
metaconsole_restore_db();
|
||||
}
|
||||
|
@ -2357,7 +2379,7 @@ function reporting_exception(
|
|||
|
||||
$i = 0;
|
||||
foreach ($exceptions as $exc) {
|
||||
// Metaconsole connection
|
||||
// Metaconsole connection.
|
||||
$server_name = $exc['server_name'];
|
||||
if (($config['metaconsole'] == 1) && $server_name != '' && defined('METACONSOLE')) {
|
||||
$connection = metaconsole_get_connection($server_name);
|
||||
|
@ -6270,6 +6292,19 @@ function reporting_availability($report, $content, $date=false, $time=false)
|
|||
$return['resume']['avg'] = $avg;
|
||||
$return['resume']['max_text'] = $max_text;
|
||||
$return['resume']['max'] = $max;
|
||||
$return['fields'] = [];
|
||||
$return['fields']['total_time'] = $content['total_time'];
|
||||
$return['fields']['time_failed'] = $content['time_failed'];
|
||||
$return['fields']['time_in_ok_status'] = $content['time_in_ok_status'];
|
||||
$return['fields']['time_in_unknown_status'] = $content['time_in_unknown_status'];
|
||||
$return['fields']['time_of_not_initialized_module'] = $content['time_of_not_initialized_module'];
|
||||
$return['fields']['time_of_downtime'] = $content['time_of_downtime'];
|
||||
$return['fields']['total_checks'] = $content['total_checks'];
|
||||
$return['fields']['checks_failed'] = $content['checks_failed'];
|
||||
$return['fields']['checks_in_ok_status'] = $content['checks_in_ok_status'];
|
||||
$return['fields']['unknown_checks'] = $content['unknown_checks'];
|
||||
$return['fields']['agent_max_value'] = $content['agent_max_value'];
|
||||
$return['fields']['agent_min_value'] = $content['agent_min_value'];
|
||||
|
||||
return reporting_check_structure_content($return);
|
||||
}
|
||||
|
@ -7443,6 +7478,21 @@ function reporting_check_structure_content($report)
|
|||
$report['date']['to'] = '';
|
||||
}
|
||||
|
||||
if (!isset($report['fields'])) {
|
||||
$return['fields']['total_time'] = '';
|
||||
$return['fields']['time_failed'] = '';
|
||||
$return['fields']['time_in_ok_status'] = '';
|
||||
$return['fields']['time_in_unknown_status'] = '';
|
||||
$return['fields']['time_of_not_initialized_module'] = '';
|
||||
$return['fields']['time_of_downtime'] = '';
|
||||
$return['fields']['total_checks'] = '';
|
||||
$return['fields']['checks_failed'] = '';
|
||||
$return['fields']['checks_in_ok_status'] = '';
|
||||
$return['fields']['unknown_checks'] = '';
|
||||
$return['fields']['agent_max_value'] = '';
|
||||
$return['fields']['agent_min_value'] = '';
|
||||
}
|
||||
|
||||
return $report;
|
||||
}
|
||||
|
||||
|
@ -11442,33 +11492,95 @@ function reporting_sla_is_ignored_from_array($sla_array)
|
|||
*
|
||||
* @return integer Status
|
||||
*/
|
||||
function reporting_sla_get_status_period($sla_times, $priority_mode=REPORT_PRIORITY_MODE_OK)
|
||||
{
|
||||
if ($sla_times['time_error'] > 0) {
|
||||
function reporting_sla_get_status_period(
|
||||
$sla,
|
||||
$priority_mode=REPORT_PRIORITY_MODE_OK
|
||||
) {
|
||||
if ($sla['time_error'] > 0) {
|
||||
return REPORT_STATUS_ERR;
|
||||
}
|
||||
|
||||
if ($priority_mode == REPORT_PRIORITY_MODE_OK && $sla_times['time_ok'] > 0) {
|
||||
if ($priority_mode == REPORT_PRIORITY_MODE_OK && $sla['time_ok'] > 0) {
|
||||
return REPORT_STATUS_OK;
|
||||
}
|
||||
|
||||
if ($sla_times['time_out'] > 0) {
|
||||
if ($sla['time_out'] > 0) {
|
||||
return REPORT_STATUS_IGNORED;
|
||||
}
|
||||
|
||||
if ($sla_times['time_downtime'] > 0) {
|
||||
if ($sla['time_downtime'] > 0) {
|
||||
return REPORT_STATUS_DOWNTIME;
|
||||
}
|
||||
|
||||
if ($sla_times['time_unknown'] > 0) {
|
||||
if ($sla['time_unknown'] > 0) {
|
||||
return REPORT_STATUS_UNKNOWN;
|
||||
}
|
||||
|
||||
if ($sla_times['time_not_init'] > 0) {
|
||||
if ($sla['time_not_init'] > 0) {
|
||||
return REPORT_STATUS_NOT_INIT;
|
||||
}
|
||||
|
||||
if ($sla_times['time_ok'] > 0) {
|
||||
if ($sla['time_ok'] > 0) {
|
||||
return REPORT_STATUS_OK;
|
||||
}
|
||||
|
||||
return REPORT_STATUS_IGNORED;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Given a period, get the SLA status
|
||||
* of the period compare with sla_limit.
|
||||
*
|
||||
* @param Array An array with all times to calculate the SLA.
|
||||
* @param int Limit SLA pass for user.
|
||||
* Only used for monthly, weekly And hourly report.
|
||||
*
|
||||
* @return integer Status
|
||||
*/
|
||||
function reporting_sla_get_status_period_compliance(
|
||||
$sla,
|
||||
$sla_limit
|
||||
) {
|
||||
global $config;
|
||||
|
||||
$time_compliance = (
|
||||
$sla['time_ok'] + $sla['time_unknown'] + $sla['time_downtime']
|
||||
);
|
||||
|
||||
$time_total_working = (
|
||||
$time_compliance + $sla['time_error']
|
||||
);
|
||||
|
||||
$time_compliance = ($time_compliance == 0) ? 0 : (($time_compliance / $time_total_working) * 100);
|
||||
|
||||
if ($sla['time_error'] > 0 && ($time_compliance < $sla_limit)) {
|
||||
return REPORT_STATUS_ERR;
|
||||
}
|
||||
|
||||
if ($priority_mode == REPORT_PRIORITY_MODE_OK
|
||||
&& $sla['time_ok'] > 0 && ($time_compliance >= $sla_limit)
|
||||
) {
|
||||
return REPORT_STATUS_OK;
|
||||
}
|
||||
|
||||
if ($sla['time_out'] > 0 && ($time_compliance < $sla_limit)) {
|
||||
return REPORT_STATUS_IGNORED;
|
||||
}
|
||||
|
||||
if ($sla['time_downtime'] > 0 && ($time_compliance < $sla_limit)) {
|
||||
return REPORT_STATUS_DOWNTIME;
|
||||
}
|
||||
|
||||
if ($sla['time_unknown'] > 0 && ($time_compliance < $sla_limit)) {
|
||||
return REPORT_STATUS_UNKNOWN;
|
||||
}
|
||||
|
||||
if ($sla['time_not_init'] > 0 && ($time_compliance < $sla_limit)) {
|
||||
return REPORT_STATUS_NOT_INIT;
|
||||
}
|
||||
|
||||
if ($sla['time_ok'] > 0 && ($time_compliance >= $sla_limit)) {
|
||||
return REPORT_STATUS_OK;
|
||||
}
|
||||
|
||||
|
|
|
@ -2907,7 +2907,6 @@ function reporting_html_availability($table, $item, $pdf=0)
|
|||
io_safe_output($style),
|
||||
true
|
||||
);
|
||||
|
||||
$same_agent_in_resume = '';
|
||||
|
||||
global $config;
|
||||
|
@ -2927,32 +2926,62 @@ function reporting_html_availability($table, $item, $pdf=0)
|
|||
$table1->head[1] = __('Module');
|
||||
}
|
||||
|
||||
if ($item['fields']['total_time']) {
|
||||
$table1->head[2] = __('Total time');
|
||||
} else {
|
||||
$table1->head[2] = __('');
|
||||
}
|
||||
|
||||
if ($item['fields']['time_failed']) {
|
||||
$table1->head[3] = __('Time failed');
|
||||
} else {
|
||||
$table1->head[3] = __('');
|
||||
}
|
||||
|
||||
if ($item['fields']['time_in_ok_status']) {
|
||||
$table1->head[4] = __('Time OK');
|
||||
$table1->head[5] = __('Time Uknown');
|
||||
} else {
|
||||
$table1->head[4] = __('');
|
||||
}
|
||||
|
||||
if ($item['fields']['time_in_unknown_status']) {
|
||||
$table1->head[5] = __('Time Unknown');
|
||||
} else {
|
||||
$table1->head[5] = __('');
|
||||
}
|
||||
|
||||
if ($item['fields']['time_of_not_initialized_module']) {
|
||||
$table1->head[6] = __('Time Not Init Module');
|
||||
} else {
|
||||
$table1->head[6] = __('');
|
||||
}
|
||||
|
||||
if ($item['fields']['time_of_downtime']) {
|
||||
$table1->head[7] = __('Time Downtime');
|
||||
} else {
|
||||
$table1->head[7] = __('');
|
||||
}
|
||||
|
||||
$table1->head[8] = __('% Ok');
|
||||
|
||||
$table1->headstyle = [];
|
||||
$table1->headstyle[0] = 'text-align: left';
|
||||
$table1->headstyle[1] = 'text-align: left';
|
||||
$table1->headstyle[2] = 'text-align: right';
|
||||
$table1->headstyle[3] = 'text-align: right';
|
||||
$table1->headstyle[4] = 'text-align: right';
|
||||
$table1->headstyle[5] = 'text-align: right';
|
||||
$table1->headstyle[6] = 'text-align: right';
|
||||
$table1->headstyle[2] = 'text-align: center';
|
||||
$table1->headstyle[3] = 'text-align: center';
|
||||
$table1->headstyle[4] = 'text-align: center';
|
||||
$table1->headstyle[5] = 'text-align: center';
|
||||
$table1->headstyle[6] = 'text-align: center';
|
||||
$table1->headstyle[7] = 'text-align: right';
|
||||
$table1->headstyle[8] = 'text-align: right';
|
||||
|
||||
$table1->style[0] = 'text-align: left';
|
||||
$table1->style[1] = 'text-align: left';
|
||||
$table1->style[2] = 'text-align: right';
|
||||
$table1->style[3] = 'text-align: right';
|
||||
$table1->style[4] = 'text-align: right';
|
||||
$table1->style[5] = 'text-align: right';
|
||||
$table1->style[6] = 'text-align: right';
|
||||
$table1->style[2] = 'text-align: center';
|
||||
$table1->style[3] = 'text-align: center';
|
||||
$table1->style[4] = 'text-align: center';
|
||||
$table1->style[5] = 'text-align: center';
|
||||
$table1->style[6] = 'text-align: center';
|
||||
$table1->style[7] = 'text-align: right';
|
||||
$table1->style[8] = 'text-align: right';
|
||||
|
||||
|
@ -2970,10 +2999,29 @@ function reporting_html_availability($table, $item, $pdf=0)
|
|||
$table2->head[1] = __('Module');
|
||||
}
|
||||
|
||||
if ($item['fields']['total_checks']) {
|
||||
$table2->head[2] = __('Total checks');
|
||||
} else {
|
||||
$table2->head[2] = __('');
|
||||
}
|
||||
|
||||
if ($item['fields']['checks_failed']) {
|
||||
$table2->head[3] = __('Checks failed');
|
||||
} else {
|
||||
$table2->head[3] = __('');
|
||||
}
|
||||
|
||||
if ($item['fields']['checks_in_ok_status']) {
|
||||
$table2->head[4] = __('Checks OK');
|
||||
} else {
|
||||
$table2->head[4] = __('');
|
||||
}
|
||||
|
||||
if ($item['fields']['unknown_checks']) {
|
||||
$table2->head[5] = __('Checks Uknown');
|
||||
} else {
|
||||
$table2->head[5] = __('');
|
||||
}
|
||||
|
||||
$table2->headstyle = [];
|
||||
$table2->headstyle[0] = 'text-align: left';
|
||||
|
@ -2995,69 +3043,97 @@ function reporting_html_availability($table, $item, $pdf=0)
|
|||
$table_row[] = $row['agent'];
|
||||
$table_row[] = $row['availability_item'];
|
||||
|
||||
if ($row['time_total'] != 0) {
|
||||
if ($row['time_total'] != 0 && $item['fields']['total_time']) {
|
||||
$table_row[] = human_time_description_raw(
|
||||
$row['time_total'],
|
||||
true
|
||||
);
|
||||
} else {
|
||||
} else if ($row['time_total'] == 0 && $item['fields']['total_time']) {
|
||||
$table_row[] = '--';
|
||||
}
|
||||
} else {
|
||||
$table_row[] = '';
|
||||
};
|
||||
|
||||
if ($row['time_error'] != 0) {
|
||||
if ($row['time_error'] != 0 && $item['fields']['time_failed']) {
|
||||
$table_row[] = human_time_description_raw(
|
||||
$row['time_error'],
|
||||
true
|
||||
);
|
||||
} else {
|
||||
} else if ($row['time_error'] == 0 && $item['fields']['time_failed']) {
|
||||
$table_row[] = '--';
|
||||
}
|
||||
} else {
|
||||
$table_row[] = '';
|
||||
};
|
||||
|
||||
if ($row['time_ok'] != 0) {
|
||||
if ($row['time_ok'] != 0 && $item['fields']['time_in_ok_status']) {
|
||||
$table_row[] = human_time_description_raw(
|
||||
$row['time_ok'],
|
||||
true
|
||||
);
|
||||
} else {
|
||||
} else if ($row['time_ok'] == 0 && $item['fields']['time_in_ok_status']) {
|
||||
$table_row[] = '--';
|
||||
}
|
||||
} else {
|
||||
$table_row[] = '';
|
||||
};
|
||||
|
||||
if ($row['time_unknown'] != 0) {
|
||||
if ($row['time_unknown'] != 0 && $item['fields']['time_in_unknown_status']) {
|
||||
$table_row[] = human_time_description_raw(
|
||||
$row['time_unknown'],
|
||||
true
|
||||
);
|
||||
} else {
|
||||
} else if ($row['time_unknown'] == 0 && $item['fields']['time_in_unknown_status']) {
|
||||
$table_row[] = '--';
|
||||
}
|
||||
} else {
|
||||
$table_row[] = '';
|
||||
};
|
||||
|
||||
if ($row['time_not_init'] != 0) {
|
||||
if ($row['time_not_init'] != 0 && $item['fields']['time_of_not_initialized_module']) {
|
||||
$table_row[] = human_time_description_raw(
|
||||
$row['time_not_init'],
|
||||
true
|
||||
);
|
||||
} else {
|
||||
} else if ($row['time_not_init'] == 0 && $item['fields']['time_of_not_initialized_module']) {
|
||||
$table_row[] = '--';
|
||||
}
|
||||
} else {
|
||||
$table_row[] = '';
|
||||
};
|
||||
|
||||
if ($row['time_downtime'] != 0) {
|
||||
if ($row['time_downtime'] != 0 && $item['fields']['time_of_downtime']) {
|
||||
$table_row[] = human_time_description_raw(
|
||||
$row['time_downtime'],
|
||||
true
|
||||
);
|
||||
} else {
|
||||
} else if ($row['time_downtime'] == 0 && $item['fields']['time_of_downtime']) {
|
||||
$table_row[] = '--';
|
||||
}
|
||||
} else {
|
||||
$table_row[] = '';
|
||||
};
|
||||
|
||||
$table_row[] = '<span style="font-size: 1.2em; font-weight:bold;">'.sla_truncate($row['SLA'], $config['graph_precision']).'%</span>';
|
||||
|
||||
$table_row2 = [];
|
||||
$table_row2[] = $row['agent'];
|
||||
$table_row2[] = $row['availability_item'];
|
||||
if ($item['fields']['total_checks']) {
|
||||
$table_row2[] = $row['checks_total'];
|
||||
} else {
|
||||
$table_row2[] = '';
|
||||
};
|
||||
if ($item['fields']['checks_failed']) {
|
||||
$table_row2[] = $row['checks_error'];
|
||||
} else {
|
||||
$table_row2[] = '';
|
||||
};
|
||||
if ($item['fields']['checks_in_ok_status']) {
|
||||
$table_row2[] = $row['checks_ok'];
|
||||
} else {
|
||||
$table_row2[] = '';
|
||||
};
|
||||
if ($item['fields']['unknown_checks']) {
|
||||
$table_row2[] = $row['checks_unknown'];
|
||||
} else {
|
||||
$table_row2[] = '';
|
||||
};
|
||||
|
||||
$table1->data[] = $table_row;
|
||||
$table2->data[] = $table_row2;
|
||||
|
@ -3096,7 +3172,7 @@ function reporting_html_availability($table, $item, $pdf=0)
|
|||
if ($item['resume']['resume'] && !empty($item['data'])) {
|
||||
$table1->width = '99%';
|
||||
$table1->data = [];
|
||||
if ((strpos($item['resume']['min_text'], $same_agent_in_resume) === false)) {
|
||||
if (empty($same_agent_in_resume) || (strpos($item['resume']['min_text'], $same_agent_in_resume) === false)) {
|
||||
$table1->head = [];
|
||||
$table1->head['max_text'] = __('Agent max value');
|
||||
$table1->head['max'] = __('Max Value');
|
||||
|
@ -3131,6 +3207,19 @@ function reporting_html_availability($table, $item, $pdf=0)
|
|||
).'%',
|
||||
'avg' => '<span style="font-size: 1.2em; font-weight:bold;">'.sla_truncate($item['resume']['avg'], $config['graph_precision']).'%</span>',
|
||||
];
|
||||
if ($item['fields']['agent_max_value'] == false) {
|
||||
$table1->head['max_text'] = '';
|
||||
$table1->data[0]['max_text'] = '';
|
||||
$table1->head['max'] = '';
|
||||
$table1->data[0]['max'] = '';
|
||||
}
|
||||
|
||||
if ($item['fields']['agent_min_value'] == false) {
|
||||
$table1->head['min_text'] = '';
|
||||
$table1->data[0]['min_text'] = '';
|
||||
$table1->head['min'] = '';
|
||||
$table1->data[0]['min'] = '';
|
||||
}
|
||||
|
||||
if ($pdf === 0) {
|
||||
$table->colspan[3][0] = 3;
|
||||
|
|
|
@ -1737,10 +1737,6 @@ function ui_process_page_head($string, $bitfield)
|
|||
// Include countdown library
|
||||
$config['jquery']['countdown'] = 'include/javascript/jquery.countdown.js';
|
||||
|
||||
// Include timezone user map library
|
||||
$config['jquery']['OpenLayers'] = 'include/javascript/OpenLayers.js';
|
||||
$config['jquery']['jquery.timezone-picker'] = 'include/javascript/jquery.timezone-picker.js';
|
||||
|
||||
// Then add each script as necessary
|
||||
$loaded = [''];
|
||||
foreach ($config['jquery'] as $name => $filename) {
|
||||
|
|
|
@ -129,7 +129,7 @@
|
|||
<div style='height: 10px'>
|
||||
<?php
|
||||
$version = '7.0NG.733';
|
||||
$build = '190402';
|
||||
$build = '190405';
|
||||
$banner = "v$version Build $build";
|
||||
|
||||
error_reporting(0);
|
||||
|
|
|
@ -565,7 +565,7 @@ if (!empty($network_interfaces)) {
|
|||
|
||||
$sqlLast_contact = sprintf(
|
||||
'
|
||||
SELECT last_try
|
||||
SELECT timestamp
|
||||
FROM tagente_estado
|
||||
WHERE id_agente_modulo = '.$interface['status_module_id']
|
||||
);
|
||||
|
|
|
@ -734,6 +734,10 @@ if (!defined('METACONSOLE')) {
|
|||
<?php
|
||||
// Closes no meta condition.
|
||||
}
|
||||
|
||||
// Include OpenLayers and timezone user map library.
|
||||
echo '<script type="text/javascript" src="'.ui_get_full_url('include/javascript/OpenLayers.js').'"></script>'."\n\t";
|
||||
echo '<script type="text/javascript" src="'.ui_get_full_url('include/javascript/jquery.timezone-picker.js').'"></script>'."\n\t";
|
||||
?>
|
||||
|
||||
<script language="javascript" type="text/javascript">
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
%define name pandorafms_console
|
||||
%define version 7.0NG.733
|
||||
%define release 190402
|
||||
%define release 190405
|
||||
|
||||
# User and Group under which Apache is running
|
||||
%define httpd_name httpd
|
||||
|
|
|
@ -0,0 +1,81 @@
|
|||
#
|
||||
# Pandora FMS Console
|
||||
#
|
||||
%define name pandorafms_console
|
||||
%define version 7.0NG.733
|
||||
%define release 190405
|
||||
|
||||
# User and Group under which Apache is running
|
||||
%define httpd_name httpd
|
||||
%define httpd_user apache
|
||||
%define httpd_group apache
|
||||
|
||||
Summary: Pandora FMS Console
|
||||
Name: %{name}
|
||||
Version: %{version}
|
||||
Release: %{release}
|
||||
License: GPL
|
||||
Vendor: Artica ST <info@artica.es>
|
||||
#Source0: %{name}-%{version}-%{revision}.tar.gz
|
||||
Source0: %{name}-%{version}.tar.gz
|
||||
URL: http://www.pandorafms.com
|
||||
Group: Productivity/Networking/Web/Utilities
|
||||
Packager: Sancho Lerena <slerena@artica.es>
|
||||
Prefix: /var/www/html
|
||||
BuildRoot: %{_tmppath}/%{name}
|
||||
BuildArch: noarch
|
||||
AutoReq: 0
|
||||
Requires: %{httpd_name} >= 2.0.0
|
||||
Requires: httpd24-mod_php >= 7.2
|
||||
Requires: rh-php72-php-gd, rh-php72-php-ldap, rh-php72-php-snmp, rh-php72-php-session, rh-php72-php-gettext
|
||||
Requires: rh-php72-php-mysqlnd, rh-php72-php-mbstring, rh-php72-php-zip, rh-php72-php-zlib, rh-php72-php-curl
|
||||
Requires: xorg-x11-fonts-75dpi, xorg-x11-fonts-misc, php-pecl-zip
|
||||
Requires: graphviz
|
||||
Provides: %{name}-%{version}
|
||||
|
||||
|
||||
%description
|
||||
The Web Console is a web application that allows to see graphical reports, state of every agent, also to access to the information sent by the agent, to see every monitored parameter and to see its evolution throughout the time, to form the different nodes, groups and users of the system. It is the part that interacts with the final user, and that will allows you to administer the system.
|
||||
|
||||
%prep
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%setup -q -n pandora_console
|
||||
|
||||
%build
|
||||
|
||||
%install
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
mkdir -p $RPM_BUILD_ROOT%{prefix}/pandora_console
|
||||
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/
|
||||
cp -aRf * $RPM_BUILD_ROOT%{prefix}/pandora_console
|
||||
rm $RPM_BUILD_ROOT%{prefix}/pandora_console/*.spec
|
||||
rm $RPM_BUILD_ROOT%{prefix}/pandora_console/pandora_console_install
|
||||
install -m 0644 pandora_console_logrotate_centos $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/pandora_console
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%post
|
||||
# Has an install already been done, if so we only want to update the files
|
||||
# push install.php aside so that the console works immediately using existing
|
||||
# configuration.
|
||||
#
|
||||
if [ -f %{prefix}/pandora_console/include/config.php ] ; then
|
||||
mv %{prefix}/pandora_console/install.php %{prefix}/pandora_console/install.done
|
||||
else
|
||||
echo "Please, now, point your browser to http://your_IP_address/pandora_console/install.php and follow all the steps described on it."
|
||||
fi
|
||||
|
||||
%preun
|
||||
|
||||
# Upgrading
|
||||
if [ "$1" = "1" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
%files
|
||||
%defattr(0644,%{httpd_user},%{httpd_group},0755)
|
||||
%docdir %{prefix}/pandora_console/docs
|
||||
%{prefix}/pandora_console
|
||||
%config(noreplace) %{_sysconfdir}/logrotate.d/pandora_console
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
%define name pandorafms_console
|
||||
%define version 7.0NG.733
|
||||
%define release 190402
|
||||
%define release 190405
|
||||
%define httpd_name httpd
|
||||
# User and Group under which Apache is running
|
||||
%define httpd_name apache2
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
package: pandorafms-server
|
||||
Version: 7.0NG.733-190402
|
||||
Version: 7.0NG.733-190405
|
||||
Architecture: all
|
||||
Priority: optional
|
||||
Section: admin
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
pandora_version="7.0NG.733-190402"
|
||||
pandora_version="7.0NG.733-190405"
|
||||
|
||||
package_cpan=0
|
||||
package_pandora=1
|
||||
|
|
|
@ -45,7 +45,7 @@ our @EXPORT = qw(
|
|||
|
||||
# version: Defines actual version of Pandora Server for this module only
|
||||
my $pandora_version = "7.0NG.733";
|
||||
my $pandora_build = "190402";
|
||||
my $pandora_build = "190405";
|
||||
our $VERSION = $pandora_version." ".$pandora_build;
|
||||
|
||||
# Setup hash
|
||||
|
@ -175,6 +175,7 @@ sub pandora_get_sharedconfig ($$) {
|
|||
|
||||
$pa_config->{"provisioning_mode"} = pandora_get_tconfig_token ($dbh, 'provisioning_mode', '');
|
||||
|
||||
$pa_config->{"event_storm_protection"} = pandora_get_tconfig_token ($dbh, 'event_storm_protection', 0);
|
||||
|
||||
if ($pa_config->{'include_agents'} eq '') {
|
||||
$pa_config->{'include_agents'} = 0;
|
||||
|
|
|
@ -32,7 +32,7 @@ our @ISA = qw(Exporter);
|
|||
|
||||
# version: Defines actual version of Pandora Server for this module only
|
||||
my $pandora_version = "7.0NG.733";
|
||||
my $pandora_build = "190402";
|
||||
my $pandora_build = "190405";
|
||||
our $VERSION = $pandora_version." ".$pandora_build;
|
||||
|
||||
our %EXPORT_TAGS = ( 'all' => [ qw() ] );
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
%define name pandorafms_server
|
||||
%define version 7.0NG.733
|
||||
%define release 190402
|
||||
%define release 190405
|
||||
|
||||
Summary: Pandora FMS Server
|
||||
Name: %{name}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
%define name pandorafms_server
|
||||
%define version 7.0NG.733
|
||||
%define release 190402
|
||||
%define release 190405
|
||||
|
||||
Summary: Pandora FMS Server
|
||||
Name: %{name}
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
# **********************************************************************
|
||||
|
||||
PI_VERSION="7.0NG.733"
|
||||
PI_BUILD="190402"
|
||||
PI_BUILD="190405"
|
||||
|
||||
MODE=$1
|
||||
if [ $# -gt 1 ]; then
|
||||
|
|
|
@ -34,7 +34,7 @@ use PandoraFMS::Config;
|
|||
use PandoraFMS::DB;
|
||||
|
||||
# version: define current version
|
||||
my $version = "7.0NG.733 PS190402";
|
||||
my $version = "7.0NG.733 PS190405";
|
||||
|
||||
# Pandora server configuration
|
||||
my %conf;
|
||||
|
|
|
@ -36,7 +36,7 @@ use Encode::Locale;
|
|||
Encode::Locale::decode_argv;
|
||||
|
||||
# version: define current version
|
||||
my $version = "7.0NG.733 PS190402";
|
||||
my $version = "7.0NG.733 PS190405";
|
||||
|
||||
# save program name for logging
|
||||
my $progname = basename($0);
|
||||
|
|
Loading…
Reference in New Issue