Merge branch 'develop' into '1058-rework-elements-labels-in-service-map-dev'
# Conflicts: # pandora_console/include/styles/pandora.css
This commit is contained in:
commit
914f09c559
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.707, AIX version
|
||||
# Version 7.0NG.711, AIX version
|
||||
# Licensed under GPL license v2,
|
||||
# Copyright (c) 2003-2010 Artica Soluciones Tecnologicas
|
||||
# http://www.pandorafms.com
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.707, FreeBSD Version
|
||||
# Version 7.0NG.711, FreeBSD Version
|
||||
# Licensed under GPL license v2,
|
||||
# Copyright (c) 2003-2010 Artica Soluciones Tecnologicas
|
||||
# http://www.pandorafms.com
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.707, HP-UX Version
|
||||
# Version 7.0NG.711, HP-UX Version
|
||||
# Licensed under GPL license v2,
|
||||
# Copyright (c) 2003-2009 Artica Soluciones Tecnologicas
|
||||
# http://www.pandorafms.com
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.707, GNU/Linux
|
||||
# Version 7.0NG.711, GNU/Linux
|
||||
# Licensed under GPL license v2,
|
||||
# Copyright (c) 2003-2009 Artica Soluciones Tecnologicas
|
||||
# http://www.pandorafms.com
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.707, GNU/Linux
|
||||
# Version 7.0NG.711, GNU/Linux
|
||||
# Licensed under GPL license v2,
|
||||
# Copyright (c) 2003-2009 Artica Soluciones Tecnologicas
|
||||
# http://www.pandorafms.com
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.707, Solaris Version
|
||||
# Version 7.0NG.711, Solaris Version
|
||||
# Licensed under GPL license v2,
|
||||
# Copyright (c) 2003-2009 Artica Soluciones Tecnologicas
|
||||
# http://www.pandorafms.com
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Base config file for Pandora FMS Windows Agent
|
||||
# (c) 2006-2010 Artica Soluciones Tecnologicas
|
||||
# Version 7.0NG.707
|
||||
# Version 7.0NG.711
|
||||
|
||||
# This program is Free Software, you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public Licence as published by the Free Software
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Fichero de configuracion base de agentes de Pandora
|
||||
# Base config file for Pandora agents
|
||||
# Version 7.0NG.707, AIX version
|
||||
# Version 7.0NG.711, AIX version
|
||||
|
||||
# General Parameters
|
||||
# ==================
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Fichero de configuracion base de agentes de Pandora
|
||||
# Base config file for Pandora agents
|
||||
# Version 7.0NG.707
|
||||
# Version 7.0NG.711
|
||||
# FreeBSD/IPSO version
|
||||
# Licenced under GPL licence, 2003-2007 Sancho Lerena
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Fichero de configuracion base de agentes de Pandora
|
||||
# Base config file for Pandora agents
|
||||
# Version 7.0NG.707, HPUX Version
|
||||
# Version 7.0NG.711, HPUX Version
|
||||
|
||||
# General Parameters
|
||||
# ==================
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.707
|
||||
# Version 7.0NG.711
|
||||
# Licensed under GPL license v2,
|
||||
# (c) 2003-2010 Artica Soluciones Tecnologicas
|
||||
# please visit http://pandora.sourceforge.net
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.707
|
||||
# Version 7.0NG.711
|
||||
# Licensed under GPL license v2,
|
||||
# (c) 2003-2009 Artica Soluciones Tecnologicas
|
||||
# please visit http://pandora.sourceforge.net
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.707
|
||||
# Version 7.0NG.711
|
||||
# Licensed under GPL license v2,
|
||||
# please visit http://pandora.sourceforge.net
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Fichero de configuracion base de agentes de Pandora
|
||||
# Base config file for Pandora agents
|
||||
# Version 7.0NG.707, Solaris version
|
||||
# Version 7.0NG.711, Solaris version
|
||||
|
||||
# General Parameters
|
||||
# ==================
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.707, AIX version
|
||||
# Version 7.0NG.711, AIX version
|
||||
# Licensed under GPL license v2,
|
||||
# Copyright (c) 2003-2010 Artica Soluciones Tecnologicas
|
||||
# http://www.pandorafms.com
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
package: pandorafms-agent-unix
|
||||
Version: 7.0NG.707-170719
|
||||
Version: 7.0NG.711-170831
|
||||
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.707-170719"
|
||||
pandora_version="7.0NG.711-170831"
|
||||
|
||||
echo "Test if you has the tools for to make the packages."
|
||||
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.707, GNU/Linux
|
||||
# Version 7.0NG.711, GNU/Linux
|
||||
# Licensed under GPL license v2,
|
||||
# Copyright (c) 2003-2012 Artica Soluciones Tecnologicas
|
||||
# http://www.pandorafms.com
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.707, FreeBSD Version
|
||||
# Version 7.0NG.711, FreeBSD Version
|
||||
# Licensed under GPL license v2,
|
||||
# Copyright (c) 2003-2016 Artica Soluciones Tecnologicas
|
||||
# http://www.pandorafms.com
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.707, HP-UX Version
|
||||
# Version 7.0NG.711, HP-UX Version
|
||||
# Licensed under GPL license v2,
|
||||
# Copyright (c) 2003-2009 Artica Soluciones Tecnologicas
|
||||
# http://www.pandorafms.com
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.707, GNU/Linux
|
||||
# Version 7.0NG.711, GNU/Linux
|
||||
# Licensed under GPL license v2,
|
||||
# Copyright (c) 2003-2014 Artica Soluciones Tecnologicas
|
||||
# http://www.pandorafms.com
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.707, GNU/Linux
|
||||
# Version 7.0NG.711, GNU/Linux
|
||||
# Licensed under GPL license v2,
|
||||
# Copyright (c) 2003-2009 Artica Soluciones Tecnologicas
|
||||
# http://www.pandorafms.com
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.707, NetBSD Version
|
||||
# Version 7.0NG.711, NetBSD Version
|
||||
# Licensed under GPL license v2,
|
||||
# Copyright (c) 2003-2010 Artica Soluciones Tecnologicas
|
||||
# http://www.pandorafms.com
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Base config file for Pandora FMS agents
|
||||
# Version 7.0NG.707, Solaris Version
|
||||
# Version 7.0NG.711, Solaris Version
|
||||
# Licensed under GPL license v2,
|
||||
# Copyright (c) 2003-2009 Artica Soluciones Tecnologicas
|
||||
# http://www.pandorafms.com
|
||||
|
|
|
@ -40,8 +40,8 @@ my $Sem = undef;
|
|||
# Semaphore used to control the number of threads
|
||||
my $ThreadSem = undef;
|
||||
|
||||
use constant AGENT_VERSION => '7.0NG.707';
|
||||
use constant AGENT_BUILD => '170719';
|
||||
use constant AGENT_VERSION => '7.0NG.711';
|
||||
use constant AGENT_BUILD => '170831';
|
||||
|
||||
# Agent log default file size maximum and instances
|
||||
use constant DEFAULT_MAX_LOG_SIZE => 600000;
|
||||
|
@ -906,11 +906,10 @@ sub fix_directory ($) {
|
|||
################################################################################
|
||||
# Sends a file to the server.
|
||||
################################################################################
|
||||
#sub send_file ($;$) {
|
||||
#sub send_file ($;$$$) {
|
||||
sub send_file {
|
||||
my ($file, $secondary) = @_;
|
||||
my ($file, $secondary, $rc_primary, $flag_always) = @_;
|
||||
my $output;
|
||||
|
||||
my $pid = fork();
|
||||
return 1 unless defined $pid;
|
||||
|
||||
|
@ -942,14 +941,14 @@ sub send_file {
|
|||
};
|
||||
|
||||
if ($@) {
|
||||
log_message ('error', "Error sending file '$file': File transfer command is not responding.");
|
||||
log_message ('error', "Error sending file '$file' to '" . $Conf{'server_ip'} . ":" . $Conf{'server_port'}. "': File transfer command is not responding.");
|
||||
exit 1;
|
||||
}
|
||||
|
||||
# Get the errorlevel
|
||||
my $rc = $? >> 8;
|
||||
if ($rc != 0) {
|
||||
log_message ('error', "Error sending file '$file': $output");
|
||||
log_message ('error', "Error sending file '$file' to '" . $Conf{'server_ip'} . ":" . $Conf{'server_port'}. "': $output");
|
||||
}
|
||||
exit $rc;
|
||||
}
|
||||
|
@ -958,6 +957,67 @@ sub send_file {
|
|||
waitpid ($pid, 0);
|
||||
my $rc = $? >> 8;
|
||||
|
||||
if( ($Conf{'secondary_mode'} eq 'always') && ( !defined($flag_always) ) ){
|
||||
# Send the file to the secondary server
|
||||
return $rc unless ($Conf{'secondary_mode'} eq 'always');
|
||||
|
||||
if(defined ($secondary)){
|
||||
if( ($rc != 0 && ($file =~ /\.data/)) ){
|
||||
$rc_primary = 1;
|
||||
}
|
||||
swap_servers ();
|
||||
$rc = send_file ($file, undef, $rc_primary);
|
||||
swap_servers ();
|
||||
|
||||
return $rc;
|
||||
}
|
||||
else{
|
||||
my $rc_secondary = 0;
|
||||
if( ($rc != 0) && ($file =~ /\.data/)){
|
||||
$rc_secondary = 1;
|
||||
}
|
||||
|
||||
if ( $rc_secondary == 1 && defined($rc_primary) ){
|
||||
return 1;
|
||||
}
|
||||
|
||||
if ( $rc_secondary == 1 ){
|
||||
if (! -d "$Conf{'temporal'}/secondary"){
|
||||
mkdir "$Conf{'temporal'}/secondary";
|
||||
}
|
||||
eval {
|
||||
copy("$file", "$Conf{'temporal'}/secondary/");
|
||||
};
|
||||
if ($@) {
|
||||
# We shouldn't reach this point...
|
||||
die ("Cannot write on $Conf{'temporal'}/secondary/");
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
if ( defined($rc_primary) ){
|
||||
if (! -d "$Conf{'temporal'}/primary"){
|
||||
mkdir "$Conf{'temporal'}/primary";
|
||||
}
|
||||
eval {
|
||||
copy("$file", "$Conf{'temporal'}/primary/");
|
||||
};
|
||||
if ($@) {
|
||||
# We shouldn't reach this point...
|
||||
die ("Cannot write on $Conf{'temporal'}/primary/");
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
if ( $rc_secondary == 0 && !defined($rc_primary) ){
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
elsif ( ($Conf{'secondary_mode'} eq 'always') && defined($flag_always) ){
|
||||
return $rc;
|
||||
}
|
||||
else{
|
||||
return $rc unless (defined ($secondary));
|
||||
|
||||
# Send the file to the secondary server
|
||||
|
@ -968,29 +1028,33 @@ sub send_file {
|
|||
swap_servers ();
|
||||
return $rc;
|
||||
}
|
||||
}
|
||||
|
||||
################################################################################
|
||||
# Send buffered XML files.
|
||||
################################################################################
|
||||
sub send_buffered_xml_files () {
|
||||
|
||||
sub send_buffered_xml_files ($;$) {
|
||||
my ($temporal_file, $flag_always) = @_;
|
||||
# Read XML files from the temporal directory
|
||||
opendir(TEMPORAL, $Conf{'temporal'}) or return;
|
||||
opendir(TEMPORAL, $temporal_file) or return;
|
||||
if (defined($flag_always) && ($flag_always == 2)){
|
||||
swap_servers ();
|
||||
}
|
||||
while (my $xml_file = readdir(TEMPORAL)) {
|
||||
|
||||
# Skip non data files and symlinks
|
||||
next if ($xml_file !~ m/^$Conf{'agent_name'}\.[0-9]+\.data$/ || -l "$Conf{'temporal'}/$xml_file");
|
||||
|
||||
my $rc = send_file ("$Conf{'temporal'}/$xml_file", 1);
|
||||
|
||||
next if ($xml_file !~ m/^$Conf{'agent_name'}\.[0-9]+\.data$/ || -l "$temporal_file/$xml_file");
|
||||
my $rc = send_file ("$temporal_file/$xml_file", 1, undef, $flag_always);
|
||||
if ($rc == 0) {
|
||||
if ($Conf{'debug'} eq '1') {
|
||||
rename "$Conf{'temporal'}/$xml_file", "$Conf{'temporal'}/$xml_file". "sent";
|
||||
rename "$temporal_file/$xml_file", "$temporal_file/$xml_file". "sent";
|
||||
} else {
|
||||
unlink ("$Conf{'temporal'}/$xml_file");
|
||||
unlink ("$temporal_file/$xml_file");
|
||||
}
|
||||
}
|
||||
}
|
||||
if (defined($flag_always) && ($flag_always == 2)){
|
||||
swap_servers ();
|
||||
}
|
||||
}
|
||||
|
||||
################################################################################
|
||||
|
@ -2769,7 +2833,20 @@ while (1) {
|
|||
|
||||
# Send buffered XML data files
|
||||
if ($Conf{'xml_buffer'} == 1) {
|
||||
send_buffered_xml_files ();
|
||||
if($Conf{'secondary_mode'} eq 'always'){
|
||||
$Conf{'__temporal_primary'} = "$Conf{'temporal'}/primary";
|
||||
$Conf{'__temporal_secondary'} = "$Conf{'temporal'}/secondary";
|
||||
if (-d "$Conf{'__temporal_primary'}"){
|
||||
send_buffered_xml_files ($Conf{'__temporal_primary'}, 1);
|
||||
}
|
||||
if (-d "$Conf{'__temporal_secondary'}"){
|
||||
send_buffered_xml_files ($Conf{'__temporal_secondary'}, 2);
|
||||
}
|
||||
send_buffered_xml_files ($Conf{'temporal'});
|
||||
}
|
||||
else{
|
||||
send_buffered_xml_files ($Conf{'temporal'});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
#Pandora FMS Linux Agent
|
||||
#
|
||||
%define name pandorafms_agent_unix
|
||||
%define version 7.0NG.707
|
||||
%define release 170719
|
||||
%define version 7.0NG.711
|
||||
%define release 170831
|
||||
|
||||
Summary: Pandora FMS Linux agent, PERL version
|
||||
Name: %{name}
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
#Pandora FMS Linux Agent
|
||||
#
|
||||
%define name pandorafms_agent_unix
|
||||
%define version 7.0NG.707
|
||||
%define release 170719
|
||||
%define version 7.0NG.711
|
||||
%define release 170831
|
||||
|
||||
Summary: Pandora FMS Linux agent, PERL version
|
||||
Name: %{name}
|
||||
|
|
|
@ -9,8 +9,8 @@
|
|||
# Please see http://www.pandorafms.org. This code is licensed under GPL 2.0 license.
|
||||
# **********************************************************************
|
||||
|
||||
PI_VERSION="7.0NG.707"
|
||||
PI_BUILD="170719"
|
||||
PI_VERSION="7.0NG.711"
|
||||
PI_BUILD="170831"
|
||||
OS_NAME=`uname -s`
|
||||
|
||||
FORCE=0
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Base config file for Pandora FMS Windows Agent
|
||||
# (c) 2006-2014 Artica Soluciones Tecnologicas
|
||||
# Version 7.0NG.707
|
||||
# Version 7.0NG.711
|
||||
|
||||
# This program is Free Software, you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public Licence as published by the Free Software
|
||||
|
|
|
@ -3,7 +3,7 @@ AllowLanguageSelection
|
|||
{Yes}
|
||||
|
||||
AppName
|
||||
{Pandora FMS Windows Agent v7.0NG.707}
|
||||
{Pandora FMS Windows Agent v7.0NG.711}
|
||||
|
||||
ApplicationID
|
||||
{17E3D2CF-CA02-406B-8A80-9D31C17BD08F}
|
||||
|
@ -186,7 +186,7 @@ UpgradeApplicationID
|
|||
{}
|
||||
|
||||
Version
|
||||
{170719}
|
||||
{170831}
|
||||
|
||||
ViewReadme
|
||||
{Yes}
|
||||
|
|
|
@ -30,7 +30,7 @@ using namespace Pandora;
|
|||
using namespace Pandora_Strutils;
|
||||
|
||||
#define PATH_SIZE _MAX_PATH+1
|
||||
#define PANDORA_VERSION ("7.0NG.707(Build 170719)")
|
||||
#define PANDORA_VERSION ("7.0NG.711(Build 170831)")
|
||||
|
||||
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.707(Build 170719))"
|
||||
VALUE "ProductVersion", "(7.0NG.711(Build 170831))"
|
||||
VALUE "FileVersion", "1.0.0.0"
|
||||
END
|
||||
END
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
package: pandorafms-console
|
||||
Version: 7.0NG.707-170719
|
||||
Version: 7.0NG.711-170831
|
||||
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.707-170719"
|
||||
pandora_version="7.0NG.711-170831"
|
||||
|
||||
package_pear=0
|
||||
package_pandora=1
|
||||
|
|
|
@ -528,24 +528,24 @@ function mainAgentsModules() {
|
|||
echo '<a href="javascript:'.$link.'">';
|
||||
switch ($status) {
|
||||
case AGENT_MODULE_STATUS_NORMAL:
|
||||
ui_print_status_image ('module_ok.png', modules_get_last_value($module_id), false, array('width' => '20px', 'height' => '20px'));
|
||||
ui_print_status_image ('module_ok.png', modules_get_last_value($module_id), false);
|
||||
break;
|
||||
case AGENT_MODULE_STATUS_CRITICAL_BAD:
|
||||
ui_print_status_image ('module_critical.png', modules_get_last_value($module_id), false, array('width' => '20px', 'height' => '20px'));
|
||||
ui_print_status_image ('module_critical.png', modules_get_last_value($module_id), false);
|
||||
break;
|
||||
case AGENT_MODULE_STATUS_WARNING:
|
||||
ui_print_status_image ('module_warning.png', modules_get_last_value($module_id), false, array('width' => '20px', 'height' => '20px'));
|
||||
ui_print_status_image ('module_warning.png', modules_get_last_value($module_id), false);
|
||||
break;
|
||||
case AGENT_MODULE_STATUS_UNKNOWN:
|
||||
ui_print_status_image ('module_unknown.png', modules_get_last_value($module_id), false, array('width' => '20px', 'height' => '20px'));
|
||||
ui_print_status_image ('module_unknown.png', modules_get_last_value($module_id), false);
|
||||
break;
|
||||
case AGENT_MODULE_STATUS_NORMAL_ALERT:
|
||||
case AGENT_MODULE_STATUS_WARNING_ALERT:
|
||||
case AGENT_MODULE_STATUS_CRITICAL_ALERT:
|
||||
ui_print_status_image ('module_alertsfired.png', modules_get_last_value($module_id), false, array('width' => '20px', 'height' => '20px'));
|
||||
ui_print_status_image ('module_alertsfired.png', modules_get_last_value($module_id), false);
|
||||
break;
|
||||
case 4:
|
||||
ui_print_status_image ('module_no_data.png', modules_get_last_value($module_id), false, array('width' => '20px', 'height' => '20px'));
|
||||
ui_print_status_image ('module_no_data.png', modules_get_last_value($module_id), false);
|
||||
break;
|
||||
}
|
||||
echo '</a>';
|
||||
|
|
|
@ -167,6 +167,7 @@ function mainInsertData() {
|
|||
$params['use_hidden_input_idagent'] = true;
|
||||
$params['print_hidden_input_idagent'] = true;
|
||||
$params['hidden_input_idagent_id'] = 'hidden-autocomplete_id_agent';
|
||||
$params['hidden_input_idagent_value'] = $id_agente;
|
||||
|
||||
$table->data[0][1] = ui_print_agent_autocomplete_input($params);
|
||||
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
START TRANSACTION;
|
||||
|
||||
SET @st_oum707 = (SELECT IF(
|
||||
(SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'tgraph_source' AND table_schema = DATABASE() AND column_name = 'id_server') > 0,
|
||||
"SELECT 1",
|
||||
"ALTER TABLE tgraph_source ADD COLUMN id_server int(11) UNSIGNED NOT NULL default 0"
|
||||
));
|
||||
|
||||
PREPARE pr_oum707 FROM @st_oum707;
|
||||
EXECUTE pr_oum707;
|
||||
DEALLOCATE PREPARE pr_oum707;
|
||||
|
||||
ALTER TABLE tserver_export_data MODIFY `module_name` varchar(600) BINARY NOT NULL default '';
|
||||
|
||||
COMMIT;
|
|
@ -0,0 +1,5 @@
|
|||
START TRANSACTION;
|
||||
|
||||
ALTER TABLE tagente MODIFY COLUMN `cascade_protection_module` int(10) unsigned NOT NULL default '0';
|
||||
|
||||
COMMIT;
|
|
@ -1215,7 +1215,7 @@ ALTER TABLE tnetwork_component ADD COLUMN `dynamic_two_tailed` tinyint(1) unsign
|
|||
-- ---------------------------------------------------------------------
|
||||
ALTER TABLE tagente ADD `transactional_agent` tinyint(1) NOT NULL default 0;
|
||||
ALTER TABLE tagente ADD `remote` tinyint(1) NOT NULL default 0;
|
||||
ALTER TABLE tagente ADD `cascade_protection_module` int(10) unsigned default '0';
|
||||
ALTER TABLE tagente ADD COLUMN `cascade_protection_module` int(10) unsigned NOT NULL default '0';
|
||||
ALTER TABLE tagente ADD COLUMN (alias varchar(600) not null default '');
|
||||
ALTER TABLE tagente ADD `alias_as_name` int(2) unsigned default '0';
|
||||
|
||||
|
@ -1327,6 +1327,7 @@ IF @vv1>0 THEN
|
|||
END IF;
|
||||
END;
|
||||
//
|
||||
delimiter ;
|
||||
CALL addcol();
|
||||
DROP PROCEDURE addcol;
|
||||
|
||||
|
@ -1351,6 +1352,17 @@ CREATE TABLE IF NOT EXISTS `tcontainer` (
|
|||
|
||||
INSERT INTO `tcontainer` SET `name` = 'Default graph container';
|
||||
|
||||
-- ----------------------------------------------------------------------
|
||||
-- Table `treset_pass_history`
|
||||
-- ----------------------------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `treset_pass_history` (
|
||||
`id` int(10) unsigned NOT NULL auto_increment,
|
||||
`id_user` varchar(60) NOT NULL,
|
||||
`reset_moment` datetime NOT NULL,
|
||||
`success` tinyint(1) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
-- ---------------------------------------------------------------------
|
||||
-- Table `tcontainer_item`
|
||||
-- ---------------------------------------------------------------------
|
||||
|
@ -1392,3 +1404,25 @@ ALTER TABLE tpolicy_modules MODIFY post_process double(24,15) default 0;
|
|||
-- ---------------------------------------------------------------------
|
||||
|
||||
ALTER TABLE tserver_export MODIFY `name` varchar(600) BINARY NOT NULL default '';
|
||||
|
||||
-- ---------------------------------------------------------------------
|
||||
-- Table `tgraph_source` column 'id_server'
|
||||
-- ---------------------------------------------------------------------
|
||||
|
||||
ALTER TABLE tgraph_source ADD COLUMN id_server int(11) UNSIGNED NOT NULL default 0;
|
||||
|
||||
-- ---------------------------------------------------------------------
|
||||
-- Table `tserver_export_data`
|
||||
-- ---------------------------------------------------------------------
|
||||
|
||||
ALTER TABLE tserver_export_data MODIFY `module_name` varchar(600) BINARY NOT NULL default '';
|
||||
|
||||
-- ---------------------------------------------------------------------
|
||||
-- Table `tserver`
|
||||
-- ---------------------------------------------------------------------
|
||||
ALTER TABLE tserver ADD COLUMN exec_proxy tinyint(1) UNSIGNED NOT NULL default 0;
|
||||
|
||||
-- ---------------------------------------------------------------------
|
||||
-- Table `tevent_response`
|
||||
-- ---------------------------------------------------------------------
|
||||
ALTER TABLE tevent_response ADD COLUMN server_to_exec int(10) unsigned NOT NULL DEFAULT 0;
|
||||
|
|
|
@ -193,7 +193,16 @@ config_check();
|
|||
|
||||
$select = db_process_sql("SELECT autorefresh_white_list FROM tusuario WHERE id_user = '" . $config['id_user'] . "'");
|
||||
$autorefresh_list = json_decode($select[0]['autorefresh_white_list']);
|
||||
|
||||
if ($autorefresh_list !== null && array_search($_GET['sec2'], $autorefresh_list) !== false) {
|
||||
$do_refresh = true;
|
||||
if ($_GET['sec2'] == 'operation/agentes/pandora_networkmap') {
|
||||
if ((!isset($_GET['tab'])) || ($_GET['tab'] != 'view')) {
|
||||
$do_refresh = false;
|
||||
}
|
||||
}
|
||||
|
||||
if ($do_refresh) {
|
||||
$autorefresh_img = html_print_image("images/header_refresh.png", true, array("class" => 'bot', "alt" => 'lightning', 'title' => __('Configure autorefresh')));
|
||||
|
||||
if ($_GET['refr']) {
|
||||
|
@ -229,6 +238,16 @@ config_check();
|
|||
$autorefresh_link_open_txt = '';
|
||||
$autorefresh_link_close = '';
|
||||
}
|
||||
}
|
||||
else {
|
||||
$autorefresh_img = html_print_image("images/header_refresh_disabled.png", true, array("class" => 'bot autorefresh_disabled', "alt" => 'lightning', 'title' => __('Disabled autorefresh')));
|
||||
|
||||
$ignored_params['refr'] = false;
|
||||
|
||||
$autorefresh_link_open_img = '';
|
||||
$autorefresh_link_open_txt = '';
|
||||
$autorefresh_link_close = '';
|
||||
}
|
||||
|
||||
$table->data[0][1] = $autorefresh_link_open_img . $autorefresh_img . $autorefresh_link_close;
|
||||
$table->data[0][2] = $autorefresh_link_open_txt . $autorefresh_txt . $autorefresh_link_close . $autorefresh_additional;
|
||||
|
@ -357,6 +376,14 @@ config_check();
|
|||
$(document).ready (function () {
|
||||
<?php
|
||||
if (($autorefresh_list !== null) && (array_search($_GET['sec2'], $autorefresh_list) !== false) && (!isset($_GET["refr"]))) {
|
||||
$do_refresh = true;
|
||||
if ($_GET['sec2'] == 'operation/agentes/pandora_networkmap') {
|
||||
if ((!isset($_GET['tab'])) || ($_GET['tab'] != 'view')) {
|
||||
$do_refresh = false;
|
||||
}
|
||||
}
|
||||
|
||||
if ($do_refresh) {
|
||||
?>
|
||||
$("a.autorefresh_txt").toggle ();
|
||||
$("#combo_refr").toggle ();
|
||||
|
@ -365,9 +392,9 @@ config_check();
|
|||
$(document).attr ("location", href + "30");
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
|
||||
if (fixed_header) {
|
||||
$('div#head').addClass('fixed_header');
|
||||
$('div#page')
|
||||
|
|
|
@ -170,19 +170,23 @@ echo '<div class="login_page">';
|
|||
}
|
||||
else {
|
||||
echo '<div class="login_nick">';
|
||||
echo '<div>';
|
||||
echo '<div style="width:15%;">';
|
||||
html_print_image ("/images/usuario_login.png", false);
|
||||
echo '</div>';
|
||||
echo '<div style="width:85%;">';
|
||||
html_print_input_text_extended ("nick", '', "nick", '', '', '' , false,
|
||||
'', 'autocomplete="off" placeholder="'.__('User').'"');
|
||||
echo '</div>';
|
||||
echo '</div>';
|
||||
echo '<div class="login_pass">';
|
||||
echo '<div>';
|
||||
echo '<div style="width:15%;">';
|
||||
html_print_image ("/images/candado_login.png", false);
|
||||
echo '</div>';
|
||||
echo '<div style="width:85%;">';
|
||||
html_print_input_text_extended ("pass", '', "pass", '', '', '' ,false,
|
||||
'', 'autocomplete="off" placeholder="'.__('Password').'"', false, true);
|
||||
echo '</div>';
|
||||
echo '</div>';
|
||||
echo '<div class="login_button">';
|
||||
html_print_submit_button(__("Login"), "login_button", false, 'class="sub next_login"');
|
||||
echo '</div>';
|
||||
|
|
|
@ -232,7 +232,7 @@ if(!$new_agent){
|
|||
if ($id_agente) {
|
||||
$table->data[2][2] =
|
||||
"<a id='qr_code_agent_view' href='javascript: show_dialog_qrcode(null, \"" .
|
||||
ui_get_full_url('index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente=' . $id_agente) . "\" );'></a>";
|
||||
ui_get_full_url('mobile/index.php?page=agent&id=' . $id_agente) . "\" );'></a>";
|
||||
}
|
||||
else {
|
||||
$table->data[2][2] = __("Only it is show when<br />the agent is saved.");
|
||||
|
@ -580,11 +580,11 @@ ui_require_jquery_file('bgiframe');
|
|||
});
|
||||
|
||||
$("#text-id_parent").on("autocompletechange", function () {
|
||||
agent_name = $("#text-id_parent").val();
|
||||
agent_id=$("#hidden-id_parent").val();
|
||||
|
||||
var params = {};
|
||||
params["get_agent_modules_json_by_name"] = 1;
|
||||
params["agent_name"] = agent_name;
|
||||
params["id_agent"] = agent_id;
|
||||
params["page"] = "include/ajax/module";
|
||||
|
||||
jQuery.ajax ({
|
||||
|
|
|
@ -34,6 +34,7 @@ $ip_target = (string) get_parameter ('ip_target', $ipAgent);
|
|||
$use_agent = get_parameter ('use_agent');
|
||||
$snmp_community = (string) get_parameter ('snmp_community', 'public');
|
||||
$snmp_version = get_parameter('snmp_version', '1');
|
||||
$server_to_exec = get_parameter('server_to_exec', 0);
|
||||
$snmp3_auth_user = get_parameter('snmp3_auth_user');
|
||||
$snmp3_security_level = get_parameter('snmp3_security_level');
|
||||
$snmp3_auth_method = get_parameter('snmp3_auth_method');
|
||||
|
@ -87,7 +88,8 @@ if ($snmpwalk) {
|
|||
// OID Used is for DISKS
|
||||
$snmpis = get_snmpwalk($ip_target, $snmp_version, $snmp_community, $snmp3_auth_user,
|
||||
$snmp3_security_level, $snmp3_auth_method, $snmp3_auth_pass,
|
||||
$snmp3_privacy_method, $snmp3_privacy_pass, 0, ".1.3.6.1.2.1.25.2.3.1.3", $tcp_port);
|
||||
$snmp3_privacy_method, $snmp3_privacy_pass, 0, ".1.3.6.1.2.1.25.2.3.1.3", $tcp_port,
|
||||
$server_to_exec);
|
||||
|
||||
if (empty($snmpis)) {
|
||||
$fail = true;
|
||||
|
@ -120,7 +122,8 @@ if ($snmpwalk) {
|
|||
// OID Used is for PROCESSES
|
||||
$snmpis = get_snmpwalk($ip_target, $snmp_version, $snmp_community, $snmp3_auth_user,
|
||||
$snmp3_security_level, $snmp3_auth_method, $snmp3_auth_pass,
|
||||
$snmp3_privacy_method, $snmp3_privacy_pass, 0, ".1.3.6.1.2.1.25.4.2.1.2", $tcp_port);
|
||||
$snmp3_privacy_method, $snmp3_privacy_pass, 0, ".1.3.6.1.2.1.25.4.2.1.2", $tcp_port,
|
||||
$server_to_exec);
|
||||
|
||||
if ($snmpis === false) {
|
||||
$snmpis = array();
|
||||
|
@ -158,7 +161,8 @@ if ($snmpwalk) {
|
|||
// OID Used is for SENSOR TEMPERATURES
|
||||
$snmpis = get_snmpwalk($ip_target, $snmp_version, $snmp_community, $snmp3_auth_user,
|
||||
$snmp3_security_level, $snmp3_auth_method, $snmp3_auth_pass,
|
||||
$snmp3_privacy_method, $snmp3_privacy_pass, 0, ".1.3.6.1.4.1.2021.13.16.2.1", $tcp_port);
|
||||
$snmp3_privacy_method, $snmp3_privacy_pass, 0, ".1.3.6.1.4.1.2021.13.16.2.1", $tcp_port,
|
||||
$server_to_exec);
|
||||
|
||||
if ($snmpis === false) {
|
||||
$snmpis = array();
|
||||
|
@ -196,7 +200,8 @@ if ($snmpwalk) {
|
|||
// OID Used is for DEVICES
|
||||
$snmpis = get_snmpwalk($ip_target, $snmp_version, $snmp_community, $snmp3_auth_user,
|
||||
$snmp3_security_level, $snmp3_auth_method, $snmp3_auth_pass,
|
||||
$snmp3_privacy_method, $snmp3_privacy_pass, 0, ".1.3.6.1.4.1.2021.13.15.1.1", $tcp_port);
|
||||
$snmp3_privacy_method, $snmp3_privacy_pass, 0, ".1.3.6.1.4.1.2021.13.15.1.1", $tcp_port,
|
||||
$server_to_exec);
|
||||
|
||||
if ($snmpis === false) {
|
||||
$snmpis = array();
|
||||
|
@ -706,6 +711,19 @@ $table->data[0][3] = html_print_input_text ('tcp_port', $tcp_port, '', 5, 20, tr
|
|||
$table->data[1][0] = '<b>' . __('Use agent ip') . '</b>';
|
||||
$table->data[1][1] = html_print_checkbox ('use_agent', 1, $use_agent, true);
|
||||
|
||||
$servers_to_exec = array();
|
||||
$servers_to_exec[0] = __('Local console');
|
||||
if (enterprise_installed()) {
|
||||
enterprise_include_once ('include/functions_satellite.php');
|
||||
|
||||
$rows = get_proxy_servers();
|
||||
foreach ($rows as $row) {
|
||||
$servers_to_exec[$row['id_server']] = $row['name'];
|
||||
}
|
||||
}
|
||||
$table->data[1][2] = '<b>' . __('Server to execute command') . '</b>';
|
||||
$table->data[1][3] = html_print_select ($servers_to_exec, 'server_to_exec', $server_to_exec, '', '', '', true);
|
||||
|
||||
$snmp_versions['1'] = 'v. 1';
|
||||
$snmp_versions['2'] = 'v. 2';
|
||||
$snmp_versions['2c'] = 'v. 2c';
|
||||
|
|
|
@ -30,6 +30,7 @@ check_login ();
|
|||
$ip_target = (string) get_parameter ('ip_target', $ipAgent);
|
||||
$use_agent = get_parameter ('use_agent');
|
||||
$snmp_community = (string) get_parameter ('snmp_community', 'public');
|
||||
$server_to_exec = get_parameter('server_to_exec', 0);
|
||||
$snmp_version = get_parameter('snmp_version', '1');
|
||||
$snmp3_auth_user = get_parameter('snmp3_auth_user');
|
||||
$snmp3_security_level = get_parameter('snmp3_security_level');
|
||||
|
@ -53,16 +54,19 @@ if ($snmpwalk) {
|
|||
// OID Used is for SNMP MIB-2 Interfaces
|
||||
$snmpis = get_snmpwalk($ip_target, $snmp_version, $snmp_community, $snmp3_auth_user,
|
||||
$snmp3_security_level, $snmp3_auth_method, $snmp3_auth_pass,
|
||||
$snmp3_privacy_method, $snmp3_privacy_pass, 0, ".1.3.6.1.2.1.2", $tcp_port);
|
||||
$snmp3_privacy_method, $snmp3_privacy_pass, 0, ".1.3.6.1.2.1.2", $tcp_port,
|
||||
$server_to_exec);
|
||||
// ifXTable is also used
|
||||
$ifxitems = get_snmpwalk($ip_target, $snmp_version, $snmp_community, $snmp3_auth_user,
|
||||
$snmp3_security_level, $snmp3_auth_method, $snmp3_auth_pass,
|
||||
$snmp3_privacy_method, $snmp3_privacy_pass, 0, ".1.3.6.1.2.1.31.1.1", $tcp_port);
|
||||
$snmp3_privacy_method, $snmp3_privacy_pass, 0, ".1.3.6.1.2.1.31.1.1", $tcp_port,
|
||||
$server_to_exec);
|
||||
|
||||
// Get the interfaces IPV4/IPV6
|
||||
$snmp_int_ip = get_snmpwalk($ip_target, $snmp_version, $snmp_community, $snmp3_auth_user,
|
||||
$snmp3_security_level, $snmp3_auth_method, $snmp3_auth_pass,
|
||||
$snmp3_privacy_method, $snmp3_privacy_pass, 0, ".1.3.6.1.2.1.4.34.1.3", $tcp_port);
|
||||
$snmp3_privacy_method, $snmp3_privacy_pass, 0, ".1.3.6.1.2.1.4.34.1.3", $tcp_port,
|
||||
$server_to_exec);
|
||||
|
||||
// Build a [<interface id>] => [<interface ip>] array
|
||||
if (!empty($snmp_int_ip)) {
|
||||
|
@ -345,6 +349,19 @@ $table->data[0][3] = html_print_input_text ('tcp_port', $tcp_port, '', 5, 20, tr
|
|||
$table->data[1][0] = '<b>' . __('Use agent ip') . '</b>';
|
||||
$table->data[1][1] = html_print_checkbox ('use_agent', 1, $use_agent, true);
|
||||
|
||||
$servers_to_exec = array();
|
||||
$servers_to_exec[0] = __('Local console');
|
||||
if (enterprise_installed()) {
|
||||
enterprise_include_once ('include/functions_satellite.php');
|
||||
|
||||
$rows = get_proxy_servers();
|
||||
foreach ($rows as $row) {
|
||||
$servers_to_exec[$row['id_server']] = $row['name'];
|
||||
}
|
||||
}
|
||||
$table->data[1][2] = '<b>' . __('Server to execute command') . '</b>';
|
||||
$table->data[1][3] = html_print_select ($servers_to_exec, 'server_to_exec', $server_to_exec, '', '', '', true);
|
||||
|
||||
$snmp_versions['1'] = 'v. 1';
|
||||
$snmp_versions['2'] = 'v. 2';
|
||||
$snmp_versions['2c'] = 'v. 2c';
|
||||
|
|
|
@ -29,6 +29,7 @@ $ip_target = (string) get_parameter ('ip_target', $ipAgent); // Host
|
|||
$plugin_user = (string) get_parameter ('plugin_user', 'Administrator'); // Username
|
||||
$plugin_pass = io_safe_output(get_parameter('plugin_pass', '')); // Password
|
||||
$tcp_send = (string) get_parameter ('tcp_send'); // Namespace
|
||||
$server_to_exec = get_parameter('server_to_exec', true);
|
||||
|
||||
//See if id_agente is set (either POST or GET, otherwise -1
|
||||
$id_agent = $idAgent;
|
||||
|
@ -53,7 +54,18 @@ if ($wmiexplore) {
|
|||
$wmi_processes = $wmi_command . ' "select Name from Win32_Process"';
|
||||
$processes_name_field = 1;
|
||||
|
||||
if (enterprise_installed()) {
|
||||
if ($server_to_exec != 0) {
|
||||
$server_data = db_get_row('tserver','id_server', $server_to_exec);
|
||||
exec("ssh pandora_exec_proxy@" . $server_data['ip_address'] . " '" . $wmi_processes . "'", $output, $rc);
|
||||
}
|
||||
else {
|
||||
exec($wmi_processes, $output);
|
||||
}
|
||||
}
|
||||
else {
|
||||
exec($wmi_processes, $output);
|
||||
}
|
||||
|
||||
$fail = false;
|
||||
if (preg_match('/^Failed/', $output[0])) {
|
||||
|
@ -79,7 +91,18 @@ if ($wmiexplore) {
|
|||
$services_name_field = 0;
|
||||
$services_check_field = 1;
|
||||
|
||||
if (enterprise_installed()) {
|
||||
if ($server_to_exec != 0) {
|
||||
$server_data = db_get_row('tserver','id_server', $server_to_exec);
|
||||
exec("ssh pandora_exec_proxy@" . $server_data['ip_address'] . " '" . $wmi_services . "'", $output, $rc);
|
||||
}
|
||||
else {
|
||||
exec($wmi_services, $output);
|
||||
}
|
||||
}
|
||||
else {
|
||||
exec($wmi_services, $output);
|
||||
}
|
||||
|
||||
foreach ($output as $index => $row) {
|
||||
// First and second rows are Class and column names, ignore it
|
||||
|
@ -98,7 +121,18 @@ if ($wmiexplore) {
|
|||
$wmi_disks = $wmi_command . ' "Select DeviceID from Win32_LogicalDisk"';
|
||||
$disks_name_field = 0;
|
||||
|
||||
if (enterprise_installed()) {
|
||||
if ($server_to_exec != 0) {
|
||||
$server_data = db_get_row('tserver','id_server', $server_to_exec);
|
||||
exec("ssh pandora_exec_proxy@" . $server_data['ip_address'] . " '" . $wmi_disks . "'", $output, $rc);
|
||||
}
|
||||
else {
|
||||
exec($wmi_disks, $output);
|
||||
}
|
||||
}
|
||||
else {
|
||||
exec($wmi_disks, $output);
|
||||
}
|
||||
|
||||
foreach ($output as $index => $row) {
|
||||
// First and second rows are Class and column names, ignore it
|
||||
|
@ -267,6 +301,19 @@ $table->data[1][3] = html_print_input_password ('plugin_pass', $plugin_pass, '',
|
|||
$table->data[1][3] .= '<div id="spinner_modules" style="float: left; display: none;">' . html_print_image("images/spinner.gif", true) . '</div>';
|
||||
html_print_input_hidden('wmiexplore', 1);
|
||||
|
||||
$servers_to_exec = array();
|
||||
$servers_to_exec[0] = __('Local console');
|
||||
if (enterprise_installed()) {
|
||||
enterprise_include_once ('include/functions_satellite.php');
|
||||
|
||||
$rows = get_proxy_servers();
|
||||
foreach ($rows as $row) {
|
||||
$servers_to_exec[$row['id_server']] = $row['name'];
|
||||
}
|
||||
}
|
||||
$table->data[2][0] = '<b>' . __('Server to execute command') . '</b>';
|
||||
$table->data[2][1] = html_print_select ($servers_to_exec, 'server_to_exec', $server_to_exec, '', '', '', true);
|
||||
|
||||
html_print_table($table);
|
||||
|
||||
echo "<div style='text-align:right; width:".$table->width."'>";
|
||||
|
|
|
@ -789,7 +789,7 @@ if ($update_agent) { // if modified some agent paramenter
|
|||
WHERE id_group = ".$group_old);
|
||||
|
||||
$result = db_process_sql_update ('tagente', $values, array ('id_agente' => $id_agente));
|
||||
if ($result === false) {
|
||||
if ($result == false) {
|
||||
ui_print_error_message(
|
||||
__('There was a problem updating the agent'));
|
||||
}
|
||||
|
@ -1000,10 +1000,11 @@ if ($update_module || $create_module) {
|
|||
|
||||
$macros = io_json_mb_encode($macros);
|
||||
|
||||
$conf_array = explode("\n",$configuration_data);
|
||||
$conf_array = explode("\n", io_safe_output($configuration_data));
|
||||
|
||||
foreach ($conf_array as $line) {
|
||||
if (preg_match("/^module_name\s*(.*)/", $line, $match)) {
|
||||
$new_configuration_data .= "module_name $name\n";
|
||||
$new_configuration_data .= "module_name " . io_safe_output($name) . "\n";
|
||||
}
|
||||
// We delete from conf all the module macros starting with _field
|
||||
else if(!preg_match("/^module_macro_field.*/", $line, $match)) {
|
||||
|
@ -1011,14 +1012,28 @@ if ($update_module || $create_module) {
|
|||
}
|
||||
}
|
||||
|
||||
$values_macros = array();
|
||||
$values_macros['macros'] = base64_encode($macros);
|
||||
|
||||
$macros_for_data = enterprise_hook(
|
||||
'config_agents_get_macros_data_conf', array($values_macros));
|
||||
|
||||
if ($macros_for_data != '') {
|
||||
$new_configuration_data = str_replace('module_end', $macros_for_data . "module_end", $new_configuration_data);
|
||||
}
|
||||
|
||||
/*
|
||||
$macros_for_data = enterprise_hook('config_agents_get_macros_data_conf', array($_POST));
|
||||
|
||||
if ($macros_for_data !== ENTERPRISE_NOT_HOOK && $macros_for_data != '') {
|
||||
// Add macros to configuration file
|
||||
$new_configuration_data = str_replace('module_end', $macros_for_data."module_end", $new_configuration_data);
|
||||
}
|
||||
*/
|
||||
$configuration_data = str_replace('\\', "\",
|
||||
io_safe_input($new_configuration_data));;
|
||||
|
||||
$configuration_data = $new_configuration_data;
|
||||
html_debug($configuration_data, true);
|
||||
}
|
||||
|
||||
// Services are an enterprise feature,
|
||||
|
@ -1228,7 +1243,7 @@ if ($update_module) {
|
|||
'min_ff_event_critical' => $ff_event_critical,
|
||||
'each_ff' => $each_ff,
|
||||
'ff_timeout' => $ff_timeout,
|
||||
'unit' => $unit,
|
||||
'unit' => io_safe_output($unit),
|
||||
'macros' => $macros,
|
||||
'quiet' => $quiet_module,
|
||||
'critical_instructions' => $critical_instructions,
|
||||
|
@ -1388,7 +1403,7 @@ if ($create_module) {
|
|||
'min_ff_event_critical' => $ff_event_critical,
|
||||
'each_ff' => $each_ff,
|
||||
'ff_timeout' => $ff_timeout,
|
||||
'unit' => $unit,
|
||||
'unit' => io_safe_output($unit),
|
||||
'macros' => $macros,
|
||||
'quiet' => $quiet_module,
|
||||
'critical_instructions' => $critical_instructions,
|
||||
|
@ -1512,7 +1527,8 @@ if ($delete_module) { // DELETE agent module !
|
|||
if ($result === false)
|
||||
$error++;
|
||||
|
||||
if (alerts_delete_alert_agent_module($id_borrar_modulo) === false)
|
||||
if (alerts_delete_alert_agent_module(false,
|
||||
array('id_agent_module' => $id_borrar_modulo)) === false)
|
||||
$error++;
|
||||
|
||||
$result = db_process_delete_temp('ttag_module', 'id_agente_modulo',
|
||||
|
|
|
@ -180,8 +180,7 @@ echo "</tr></table>";
|
|||
$order_collation = "";
|
||||
switch ($config["dbtype"]) {
|
||||
case "mysql":
|
||||
$order_collation = "";
|
||||
//$order_collation = "COLLATE utf8_general_ci";
|
||||
$order_collation = "COLLATE utf8_general_ci";
|
||||
break;
|
||||
case "postgresql":
|
||||
case "oracle":
|
||||
|
@ -275,6 +274,7 @@ switch ($sortField) {
|
|||
}
|
||||
|
||||
$search_sql = '';
|
||||
|
||||
if ($search != "") {
|
||||
$sql = "SELECT DISTINCT taddress_agent.id_agent FROM taddress
|
||||
INNER JOIN taddress_agent ON
|
||||
|
@ -488,6 +488,7 @@ if ($agents !== false) {
|
|||
'<a href="index.php?sec=gagente&sec2=godmode/agentes/modificar_agente&group_id='.$ag_group.'&recursion='.$recursion.'&search='.$search .'&offset='.$offset.'&sort_field=os&sort=up&disabled=$disabled">' . html_print_image("images/sort_up.png", true, array("style" => $selectOsUp)) . '</a>' .
|
||||
'<a href="index.php?sec=gagente&sec2=godmode/agentes/modificar_agente&group_id='.$ag_group.'&recursion='.$recursion.'&search='.$search .'&offset='.$offset.'&sort_field=os&sort=down&disabled=$disabled">' . html_print_image("images/sort_down.png", true, array("style" => $selectOsDown)) . '</a>';
|
||||
echo "</th>";
|
||||
echo "<th>".__('Type'). "</th>";
|
||||
echo "<th>".__('Group'). ' ' .
|
||||
'<a href="index.php?sec=gagente&sec2=godmode/agentes/modificar_agente&group_id='.$ag_group.'&recursion='.$recursion.'&search='.$search .'&offset='.$offset.'&sort_field=group&sort=up&disabled=$disabled">' . html_print_image("images/sort_up.png", true, array("style" => $selectGroupUp)) . '</a>' .
|
||||
'<a href="index.php?sec=gagente&sec2=godmode/agentes/modificar_agente&group_id='.$ag_group.'&recursion='.$recursion.'&search='.$search .'&offset='.$offset.'&sort_field=group&sort=down&disabled=$disabled">' . html_print_image("images/sort_down.png", true, array("style" => $selectGroupDown)) . '</a>';
|
||||
|
@ -606,6 +607,14 @@ if ($agents !== false) {
|
|||
echo "<td class='$tdcolor' align='left' valign='middle'>";
|
||||
ui_print_os_icon ($agent["id_os"], false);
|
||||
echo "</td>";
|
||||
|
||||
// Type agent (Networt, Software or Satellite)
|
||||
echo "<td class='$tdcolor' align='left' valign='middle'>";
|
||||
echo ui_print_type_agent_icon ($agent["id_os"], $agent['ultimo_contacto_remoto'],
|
||||
$agent['ultimo_contacto'], $agent['remote'], $agent['agent_version']);
|
||||
echo "</td>";
|
||||
|
||||
|
||||
// Group icon and name
|
||||
echo "<td class='$tdcolor' align='left' valign='middle'>" . ui_print_group_icon ($id_grupo, true)."</td>";
|
||||
// Description
|
||||
|
|
|
@ -149,7 +149,6 @@ $table->data = array();
|
|||
|
||||
$fields_available = array();
|
||||
|
||||
$fields_available['id_evento'] = __('Event id');
|
||||
$fields_available['evento'] = __('Event name');
|
||||
$fields_available['id_agente'] = __('Agent name');
|
||||
$fields_available['id_usuario'] = __('User');
|
||||
|
|
|
@ -53,6 +53,7 @@ else {
|
|||
$event_response['modal_width'] = 0;
|
||||
$event_response['modal_height'] = 0;
|
||||
$event_response['params'] = '';
|
||||
$event_response['server_to_exec'] = '';
|
||||
}
|
||||
|
||||
$table = new stdClass();
|
||||
|
@ -117,11 +118,25 @@ $data[3] = html_print_select($types,'type',$event_response['type'],'','','',true
|
|||
$table->data[3] = $data;
|
||||
|
||||
$data = array();
|
||||
$table->colspan[4][1] = 3;
|
||||
$data[0] = '<span id="command_label" class="labels">'.__('Command').'</span><span id="url_label" style="display:none;" class="labels">'.__('URL').'</span>'.ui_print_help_icon ("response_macros", true);
|
||||
$data[1] = html_print_input_text('target', $event_response['target'],
|
||||
'', 100, 255, true);
|
||||
$types = array('url' => __('URL'), 'command' => __('Command'));
|
||||
|
||||
$servers_to_exec = array();
|
||||
$servers_to_exec[0] = __('Local console');
|
||||
|
||||
if (enterprise_installed()) {
|
||||
enterprise_include_once ('include/functions_satellite.php');
|
||||
|
||||
$rows = get_proxy_servers();
|
||||
foreach ($rows as $row) {
|
||||
$servers_to_exec[$row['id_server']] = $row['name'];
|
||||
}
|
||||
}
|
||||
|
||||
$data[2] = '<div id="server_to_exec_label" style="display:none;" class="labels">' . __('Server to execute command') . '</div>';
|
||||
$data[3] = '<div id="server_to_exec_value" style="display:none;">' . html_print_select($servers_to_exec, 'server_to_exec', $event_response['server_to_exec'], '', '', '', true) . '</div>';
|
||||
|
||||
$table->data[4] = $data;
|
||||
|
||||
if ($event_response_id == 0) {
|
||||
|
@ -158,9 +173,13 @@ $('#type').change(function() {
|
|||
$('#new_window option[value="0"]')
|
||||
.prop('selected', true);
|
||||
$('#new_window').attr('disabled','disabled');
|
||||
$('#server_to_exec_label').css('display','');
|
||||
$('#server_to_exec_value').css('display','');
|
||||
break;
|
||||
case 'url':
|
||||
$('#new_window').removeAttr('disabled');
|
||||
$('#server_to_exec_label').css('display','none');
|
||||
$('#server_to_exec_value').css('display','none');
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
|
|
@ -40,6 +40,17 @@ switch($action) {
|
|||
$values['modal_height'] = get_parameter('modal_height');
|
||||
$values['new_window'] = get_parameter('new_window');
|
||||
$values['params'] = get_parameter('params');
|
||||
if (enterprise_installed()) {
|
||||
if ($values['type'] == 'command') {
|
||||
$values['server_to_exec'] = get_parameter('server_to_exec');
|
||||
}
|
||||
else {
|
||||
$values['server_to_exec'] = 0;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$values['server_to_exec'] = 0;
|
||||
}
|
||||
|
||||
if($values['new_window'] == 1) {
|
||||
$values['modal_width'] = 0;
|
||||
|
@ -67,6 +78,17 @@ switch($action) {
|
|||
$values['modal_height'] = get_parameter('modal_height');
|
||||
$values['new_window'] = get_parameter('new_window');
|
||||
$values['params'] = get_parameter('params');
|
||||
if (enterprise_installed()) {
|
||||
if ($values['type'] == 'command') {
|
||||
$values['server_to_exec'] = get_parameter('server_to_exec');
|
||||
}
|
||||
else {
|
||||
$values['server_to_exec'] = 0;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$values['server_to_exec'] = 0;
|
||||
}
|
||||
|
||||
if($values['new_window'] == 1) {
|
||||
$values['modal_width'] = 0;
|
||||
|
|
|
@ -48,7 +48,7 @@ if (is_ajax ()) {
|
|||
return;
|
||||
}
|
||||
|
||||
function process_manage_delete ($module_name, $id_agents) {
|
||||
function process_manage_delete ($module_name, $id_agents, $module_status = 'all') {
|
||||
|
||||
global $config;
|
||||
|
||||
|
@ -217,6 +217,20 @@ function process_manage_delete ($module_name, $id_agents) {
|
|||
}
|
||||
}
|
||||
|
||||
if (($module_status == 'unknown') && ($module_name[0] == "0") && (is_array($module_name)) && (count($module_name) == 1)) {
|
||||
$modules_to_delete = array();
|
||||
foreach ($modules as $mod_id) {
|
||||
$mod_status = (int)db_get_value_filter ('estado', 'tagente_estado', array('id_agente_modulo' => $mod_id));
|
||||
|
||||
// Unknown, not init and no data modules
|
||||
if ($mod_status == 3 || $mod_status == 4 || $mod_status == 5) {
|
||||
$modules_to_delete[$mod_id] = $mod_id;
|
||||
}
|
||||
}
|
||||
|
||||
$modules = $modules_to_delete;
|
||||
}
|
||||
|
||||
$count_deleted_modules = count($modules);
|
||||
if ($config['dbtype'] == "oracle") {
|
||||
$success = db_process_sql(sprintf("DELETE FROM tagente_modulo WHERE id_agente_modulo IN (%s)", implode(",", $modules)));
|
||||
|
@ -251,6 +265,7 @@ $agents_id = get_parameter('id_agents');
|
|||
$modules_select = get_parameter('module');
|
||||
$selection_mode = get_parameter('selection_mode', 'modules');
|
||||
$recursion = get_parameter('recursion');
|
||||
$modules_selection_mode = get_parameter('modules_selection_mode');
|
||||
|
||||
if ($delete) {
|
||||
switch ($selection_mode) {
|
||||
|
@ -299,7 +314,7 @@ if ($delete) {
|
|||
$module_name = array();
|
||||
}
|
||||
foreach ($module_name as $mod_name) {
|
||||
$result = process_manage_delete ($mod_name['nombre'], $id_agent['id_agente']);
|
||||
$result = process_manage_delete ($mod_name['nombre'], $id_agent['id_agente'], $modules_selection_mode);
|
||||
$count ++;
|
||||
$success += (int)$result;
|
||||
}
|
||||
|
@ -319,7 +334,7 @@ if ($delete) {
|
|||
$module_name = array();
|
||||
}
|
||||
else {
|
||||
$result = process_manage_delete (array(0 => 0), $id_agent);
|
||||
$result = process_manage_delete (array(0 => 0), $id_agent, $modules_selection_mode);
|
||||
}
|
||||
$success += (int)$result;
|
||||
}
|
||||
|
@ -330,7 +345,8 @@ if ($delete) {
|
|||
}
|
||||
|
||||
if (!$force) {
|
||||
$result = process_manage_delete ($modules_, $agents_);
|
||||
$result = false;
|
||||
$result = process_manage_delete ($modules_, $agents_, $modules_selection_mode);
|
||||
}
|
||||
|
||||
if ($result) {
|
||||
|
|
|
@ -149,8 +149,13 @@ if ($update_agents) {
|
|||
array ('id_agente' => $id_agent));
|
||||
|
||||
if($group_old || $result){
|
||||
if ($group_old && $group_old != null) {
|
||||
$tpolicy_group_old = db_get_all_rows_sql("SELECT id_policy FROM tpolicy_groups
|
||||
WHERE id_group = ".$group_old);
|
||||
}
|
||||
else {
|
||||
$tpolicy_group_old = db_get_all_rows_sql("SELECT id_policy FROM tpolicy_groups");
|
||||
}
|
||||
|
||||
if($tpolicy_group_old){
|
||||
foreach ($tpolicy_group_old as $key => $value) {
|
||||
|
@ -164,9 +169,13 @@ if ($update_agents) {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($values['id_grupo'] && $values['id_grupo'] != null) {
|
||||
$tpolicy_group_new = db_get_all_rows_sql("SELECT id_policy FROM tpolicy_groups
|
||||
WHERE id_group = ".$values['id_grupo']);
|
||||
}
|
||||
else {
|
||||
$tpolicy_group_new = db_get_all_rows_sql("SELECT id_policy FROM tpolicy_groups");
|
||||
}
|
||||
|
||||
if($tpolicy_group_new){
|
||||
foreach ($tpolicy_group_new as $key => $value) {
|
||||
|
@ -558,11 +567,11 @@ $(document).ready (function () {
|
|||
});
|
||||
|
||||
$("#text-id_parent").on("autocompletechange", function () {
|
||||
agent_name = $("#text-id_parent").val();
|
||||
agent_id = $("#hidden-id_parent").val();
|
||||
|
||||
var params = {};
|
||||
params["get_agent_modules_json_by_name"] = 1;
|
||||
params["agent_name"] = agent_name;
|
||||
params["id_agent"] = agent_id;
|
||||
params["page"] = "include/ajax/module";
|
||||
|
||||
jQuery.ajax ({
|
||||
|
|
|
@ -40,6 +40,7 @@ $agents_id = get_parameter('id_agents');
|
|||
$modules_select = get_parameter('module');
|
||||
$selection_mode = get_parameter('selection_mode', 'modules');
|
||||
$recursion = get_parameter('recursion');
|
||||
$modules_selection_mode = get_parameter('modules_selection_mode');
|
||||
|
||||
$update = (bool) get_parameter_post ('update');
|
||||
|
||||
|
@ -105,7 +106,7 @@ if ($update) {
|
|||
$module_name = array();
|
||||
|
||||
foreach ($module_name as $mod_name) {
|
||||
$result = process_manage_edit($mod_name['nombre'], $id_agent);
|
||||
$result = process_manage_edit($mod_name['nombre'], $id_agent, $modules_selection_mode);
|
||||
$count++;
|
||||
$success += (int)$result;
|
||||
}
|
||||
|
@ -127,7 +128,7 @@ if ($update) {
|
|||
$module_name = array();
|
||||
|
||||
foreach($module_name as $mod_name) {
|
||||
$result = process_manage_edit($mod_name['nombre'], $id_agent);
|
||||
$result = process_manage_edit($mod_name['nombre'], $id_agent, $modules_selection_mode);
|
||||
$count++;
|
||||
$success += (int)$result;
|
||||
}
|
||||
|
@ -146,7 +147,7 @@ if ($update) {
|
|||
|
||||
foreach ($modules_ as $module_) {
|
||||
|
||||
$result = process_manage_edit ($module_, $agent_);
|
||||
$result = process_manage_edit ($module_, $agent_, $modules_selection_mode);
|
||||
$count++;
|
||||
$success += (int)$result;
|
||||
|
||||
|
@ -1112,7 +1113,7 @@ function disabled_status () {
|
|||
/* ]]> */
|
||||
</script>
|
||||
<?php
|
||||
function process_manage_edit ($module_name, $agents_select = null) {
|
||||
function process_manage_edit ($module_name, $agents_select = null, $module_status = 'all') {
|
||||
|
||||
if (is_int ($module_name) && $module_name < 0) {
|
||||
ui_print_error_message(__('No modules selected'));
|
||||
|
@ -1231,6 +1232,19 @@ function process_manage_edit ($module_name, $agents_select = null) {
|
|||
if ($modules === false)
|
||||
return false;
|
||||
|
||||
if (($module_status == 'unknown') && ($module_name == "0")) {
|
||||
$modules_to_delete = array();
|
||||
foreach ($modules as $mod_id) {
|
||||
$mod_status = (int)db_get_value_filter ('estado', 'tagente_estado', array('id_agente_modulo' => $mod_id));
|
||||
|
||||
// Unknown, not init and no data modules
|
||||
if ($mod_status == 3 || $mod_status == 4 || $mod_status == 5) {
|
||||
$modules_to_delete[$mod_id] = $mod_id;
|
||||
}
|
||||
}
|
||||
$modules = $modules_to_delete;
|
||||
}
|
||||
|
||||
foreach ($modules as $module) {
|
||||
$result = modules_update_agent_module(
|
||||
$module['id_agente_modulo'], $values, true, $update_tags);
|
||||
|
|
|
@ -41,8 +41,13 @@ if (is_ajax()){
|
|||
$id_agent = get_parameter('id_agent');
|
||||
$id_agent_module = get_parameter('id_agent_module');
|
||||
$time_lapse = get_parameter('time_lapse');
|
||||
$only_avg = (int) get_parameter('only_avg');
|
||||
|
||||
$only_avg = get_parameter('only_avg');
|
||||
if($only_avg != 'false'){
|
||||
$only_avg = 1;
|
||||
}
|
||||
else{
|
||||
$only_avg = 0;
|
||||
}
|
||||
$values = array(
|
||||
'id_container' => $id_container2,
|
||||
'type' => "simple_graph",
|
||||
|
@ -76,7 +81,13 @@ if (is_ajax()){
|
|||
$agent_alias = get_parameter('agent_alias','');
|
||||
$module_name = get_parameter('module_name','');
|
||||
$tag = get_parameter('tag',0);
|
||||
|
||||
$only_avg = get_parameter('only_avg');
|
||||
if($only_avg != 'false'){
|
||||
$only_avg = 1;
|
||||
}
|
||||
else{
|
||||
$only_avg = 0;
|
||||
}
|
||||
$values = array(
|
||||
'id_container' => $id_container2,
|
||||
'type' => "dynamic_graph",
|
||||
|
@ -85,8 +96,8 @@ if (is_ajax()){
|
|||
'id_module_group' => $module_group,
|
||||
'agent' => $agent_alias,
|
||||
'module' => $module_name,
|
||||
'id_tag' => $tag);
|
||||
|
||||
'id_tag' => $tag,
|
||||
'only_average' => $only_avg);
|
||||
$id_item = db_process_sql_insert('tcontainer_item', $values);
|
||||
return;
|
||||
}
|
||||
|
@ -434,6 +445,12 @@ if($edit_container){
|
|||
$table->data[] = $data;
|
||||
$table->rowclass[] = '';
|
||||
|
||||
$data = array();
|
||||
$data[0] = __('Only average');
|
||||
$data[1] = html_print_checkbox('only_avg_2', 1, false,true);
|
||||
$table->data[] = $data;
|
||||
$table->rowclass[] = '';
|
||||
|
||||
$data = array();
|
||||
$data[0] = "";
|
||||
$data[1] = "<input style='float:right;' type=submit name='add_dynamic' class='sub add' value='".__('Add item')."'>";
|
||||
|
@ -592,6 +609,7 @@ echo html_print_input_hidden('id_agent', 0);
|
|||
var group = $("#container_id_group1").val();
|
||||
var module_group = $("#combo_modulegroup").val();
|
||||
var tag = $("#tag").val();
|
||||
var only_avg = $("#checkbox-only_avg_2").prop("checked");
|
||||
var id_container = <?php echo $id_container; ?>;
|
||||
jQuery.post ("ajax.php",
|
||||
{"page" : "godmode/reporting/create_container",
|
||||
|
@ -603,6 +621,7 @@ echo html_print_input_hidden('id_agent', 0);
|
|||
"module_name" : module_name,
|
||||
"tag" : tag,
|
||||
"id_container" : id_container,
|
||||
"only_avg" : only_avg,
|
||||
},
|
||||
function (data, status) {
|
||||
var url = location.href.replace('&update_container=1', "");
|
||||
|
|
|
@ -94,7 +94,7 @@ echo "</div>";
|
|||
},
|
||||
success: function(data) {
|
||||
$("#div_"+hash).remove();
|
||||
$("#tgl_div_"+hash).prepend("<div id='div_"+hash+"' style='width: 100%;padding-left: 63px; padding-top: 7px;'>"+data+"</div>");
|
||||
$("#tgl_div_"+hash).prepend("<div id='div_"+hash+"' class='graph_conteiner_inside' style='width: 99%;padding-left: 63px; padding-top: 7px;'>"+data+"</div>");
|
||||
|
||||
if($('div[class *= graph]').length == 0 && $('div[class *= bullet]').length == 0 && $('div[id *= gauge_]').length == 0){
|
||||
$("#div_"+hash).remove();
|
||||
|
|
|
@ -539,7 +539,7 @@ switch ($action) {
|
|||
$table->size[3] = '2%';
|
||||
$table->size[4] = '2%';
|
||||
$table->size[5] = '2%';
|
||||
$table->size[6] = '2%';
|
||||
$table->size[6] = '4%';
|
||||
$table->size['csv'] = '5%';
|
||||
|
||||
$next = 4;
|
||||
|
@ -1124,8 +1124,8 @@ switch ($action) {
|
|||
$values['treport_custom_sql_id'] = get_parameter('id_custom');
|
||||
if ($values['treport_custom_sql_id'] == 0) {
|
||||
$values['external_source'] = get_parameter('sql');
|
||||
$values['historical_db'] = get_parameter('historical_db_check');
|
||||
}
|
||||
$values['historical_db'] = get_parameter('historical_db_check');
|
||||
}
|
||||
else if ($values['type'] == 'url') {
|
||||
$values['external_source'] = get_parameter('url');
|
||||
|
@ -1214,7 +1214,6 @@ switch ($action) {
|
|||
break;
|
||||
}
|
||||
|
||||
|
||||
$resultOperationDB = db_process_sql_update(
|
||||
'treport_content',
|
||||
$values,
|
||||
|
@ -1446,8 +1445,8 @@ switch ($action) {
|
|||
$values['treport_custom_sql_id'] = get_parameter('id_custom');
|
||||
if ($values['treport_custom_sql_id'] == 0) {
|
||||
$values['external_source'] = get_parameter('sql');
|
||||
$values['historical_db'] = get_parameter('historical_db_check');
|
||||
}
|
||||
$values['historical_db'] = get_parameter('historical_db_check');
|
||||
}
|
||||
elseif ($values['type'] == 'url') {
|
||||
$values['external_source'] = get_parameter('url');
|
||||
|
|
|
@ -334,7 +334,6 @@ function update_button_palette_callback() {
|
|||
break;
|
||||
case 'percentile_bar':
|
||||
case 'percentile_item':
|
||||
|
||||
if($('input[name=width_percentile]').val() == ''){
|
||||
alert('Undefined width');
|
||||
return false;
|
||||
|
@ -344,7 +343,6 @@ function update_button_palette_callback() {
|
|||
return false;
|
||||
}
|
||||
|
||||
|
||||
$("#text_" + idItem).html(values['label']);
|
||||
$("#image_" + idItem).attr("src", "images/spinner.gif");
|
||||
if (values['type_percentile'] == 'bubble') {
|
||||
|
@ -354,12 +352,8 @@ function update_button_palette_callback() {
|
|||
setPercentileBar(idItem, values);
|
||||
}
|
||||
|
||||
|
||||
|
||||
break;
|
||||
case 'module_graph':
|
||||
|
||||
|
||||
if($('#dir_items').html() == 'horizontal'){
|
||||
if(parseInt($('#text-left').val()) + (parseInt($('input[name=height_module_graph]').val() * $('#count_items').html())) > parseInt($('#background').css('width'))
|
||||
|| parseInt($('#text-left').val()) + (parseInt($('input[name=width_module_graph]').val() * $('#count_items').html())) > parseInt($('#background').css('width'))){
|
||||
|
@ -378,7 +372,6 @@ function update_button_palette_callback() {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
if($('input[name=width_module_graph]').val() == ''){
|
||||
alert('Undefined width');
|
||||
return false;
|
||||
|
@ -392,22 +385,36 @@ function update_button_palette_callback() {
|
|||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
$("#text_" + idItem).html(values['label']);
|
||||
$("#image_" + idItem).attr("src", "images/spinner.gif");
|
||||
setModuleGraph(idItem);
|
||||
break;
|
||||
case 'auto_sla_graph':
|
||||
if($('input[name=width]').val() == ''){
|
||||
alert('Undefined width');
|
||||
return false;
|
||||
}
|
||||
if($('input[name=height]').val() == ''){
|
||||
alert('Undefined height');
|
||||
return false;
|
||||
}
|
||||
$("#text_" + idItem).html(values['label']);
|
||||
$("#image_" + idItem).attr("src", "images/spinner.gif");
|
||||
|
||||
setEventsBar(idItem, values);
|
||||
break;
|
||||
case 'simple_value':
|
||||
//checkpoint
|
||||
if(($('#text-label_ifr').contents().find('#tinymce p').html() == '_VALUE_' ||
|
||||
$('#text-label_ifr').contents().find('#tinymce').html() == '_VALUE_')
|
||||
&& $('#data_image_check').html() != 'On'){
|
||||
alert('_VALUE_ exactly value is only enable for data image. Please change label text or select a data image module.');
|
||||
return;
|
||||
}
|
||||
// if(($('#text-label_ifr').contents().find('#tinymce p').html() == '_VALUE_' ||
|
||||
// $('#text-label_ifr').contents().find('#tinymce').html() == '_VALUE_')
|
||||
// && $('#data_image_check').html() != 'On'){
|
||||
// alert('_VALUE_ exactly value is only enable for data image. Please change label text or select a data image module.');
|
||||
// return;
|
||||
// }
|
||||
$("#" + idItem).html(values['label']);
|
||||
if(values['label'].replace( /<.*?>/g, '' ) == '_VALUE_'){
|
||||
if( (values['label'].replace( /<.*?>/g, '' ) != '_VALUE_')
|
||||
&& (values['label'].replace( /<.*?>/g, '' ) != '(_VALUE_)') ){
|
||||
|
||||
$("#text_" + idItem).html('<img style="width:'+values['width_data_image']+'px;" src="images/console/signes/data_image.png">');
|
||||
$("#" + idItem).html('<img style="width:'+values['width_data_image']+'px;" src="images/console/signes/data_image.png">');
|
||||
}
|
||||
|
@ -430,7 +437,6 @@ function update_button_palette_callback() {
|
|||
$("#text_" + idItem).html(values['label']);
|
||||
break;
|
||||
case 'icon':
|
||||
|
||||
if($('input[name=width]').val() == ''){
|
||||
alert('Undefined width');
|
||||
return false;
|
||||
|
@ -576,16 +582,19 @@ function readFields() {
|
|||
}
|
||||
values['width'] = $("input[name=width]").val();
|
||||
values['width_data_image'] = $("#data_image_width").val();
|
||||
if(selectedItem == 'simple_value' || creationItem == 'simple_value'){
|
||||
if(values['width_data_image'] != 0){
|
||||
values['width'] = values['width_data_image'];
|
||||
}
|
||||
}
|
||||
values['height'] = $("input[name=height]").val();
|
||||
values['parent'] = $("select[name=parent]").val();
|
||||
values['map_linked'] = $("select[name=map_linked]").val();
|
||||
values['width_percentile'] = $("input[name=width_percentile]").val();
|
||||
values['max_percentile'] = $("input[name=max_percentile]").val();
|
||||
values['max_percentile'] = parseInt($("input[name=max_percentile]").val());
|
||||
values['width_module_graph'] = $("input[name=width_module_graph]").val();
|
||||
values['height_module_graph'] = $("input[name=height_module_graph]").val();
|
||||
values['event_max_time_row'] = $("select[name=event_max_time_row]").val();
|
||||
values['type_percentile'] = $("input[name=type_percentile]:checked").val();
|
||||
values['value_show'] = $("input[name=value_show]:checked").val();
|
||||
values['enable_link'] = $("input[name=enable_link]").is(':checked') ? 1 : 0;
|
||||
|
@ -655,6 +664,16 @@ function create_button_palette_callback() {
|
|||
validate = false;
|
||||
}
|
||||
break;
|
||||
case 'auto_sla_graph':
|
||||
if ((values['agent'] == '')) {
|
||||
alert($("#message_alert_no_agent").html());
|
||||
validate = false;
|
||||
}
|
||||
if ((values['module'] == 0)) {
|
||||
alert($("#message_alert_no_module").html());
|
||||
validate = false;
|
||||
}
|
||||
break;
|
||||
case 'label':
|
||||
if ((values['label'] == '')) {
|
||||
alert($("#message_alert_no_label").html());
|
||||
|
@ -930,6 +949,7 @@ function toggle_item_palette() {
|
|||
activeToolboxButton('group_item', true);
|
||||
activeToolboxButton('box_item', true);
|
||||
activeToolboxButton('line_item', true);
|
||||
activeToolboxButton('auto_sla_graph', true);
|
||||
|
||||
if (typeof(enterprise_activeToolboxButton) == 'function') {
|
||||
enterprise_activeToolboxButton(true);
|
||||
|
@ -949,6 +969,7 @@ function toggle_item_palette() {
|
|||
|
||||
activeToolboxButton('static_graph', false);
|
||||
activeToolboxButton('module_graph', false);
|
||||
activeToolboxButton('auto_sla_graph', false);
|
||||
activeToolboxButton('simple_value', false);
|
||||
activeToolboxButton('label', false);
|
||||
activeToolboxButton('icon', false);
|
||||
|
@ -1089,6 +1110,8 @@ function loadFieldsFromDB(item) {
|
|||
fill_parent_select(idItem);
|
||||
|
||||
jQuery.each(data, function(key, val) {
|
||||
if (key == 'event_max_time_row')
|
||||
$("select[name=event_max_time_row]").val(val);
|
||||
if (key == 'background')
|
||||
$("#background_image").val(val);
|
||||
if (key == 'width') $("input[name=width]").val(val);
|
||||
|
@ -1423,6 +1446,9 @@ function hiddenFields(item) {
|
|||
$("#process_value_row").css('display', 'none');
|
||||
$("#process_value_row." + item).css('display', '');
|
||||
|
||||
$("#event_max_time_row").css('display', 'none');
|
||||
$("#event_max_time_row." + item).css('display', '');
|
||||
|
||||
$("#background_row_1").css('display', 'none');
|
||||
$("#background_row_1." + item).css('display', '');
|
||||
|
||||
|
@ -1858,6 +1884,55 @@ function setPercentileBar(id_data, values) {
|
|||
});
|
||||
}
|
||||
|
||||
function setEventsBar(id_data, values) {
|
||||
var url_hack_metaconsole = '';
|
||||
if (is_metaconsole()) {
|
||||
url_hack_metaconsole = '../../';
|
||||
}
|
||||
|
||||
parameter = Array();
|
||||
|
||||
parameter.push ({name: "page", value: "include/ajax/visual_console_builder.ajax"});
|
||||
parameter.push ({name: "action", value: "get_module_events"});
|
||||
parameter.push ({name: "id_agent", value: values['id_agent']});
|
||||
parameter.push ({name: "id_agent_module", value: values['module']});
|
||||
if (is_metaconsole()) {
|
||||
parameter.push ({name: "id_metaconsole", value: id_metaconsole});
|
||||
}
|
||||
parameter.push ({name: "period", value: values['event_max_time_row']});
|
||||
parameter.push ({name: "id_visual_console", value: id_visual_console});
|
||||
jQuery.ajax({
|
||||
url: get_url_ajax(),
|
||||
data: parameter,
|
||||
type: "POST",
|
||||
dataType: 'json',
|
||||
success: function (data) {
|
||||
if (data['no_data'] == true) {
|
||||
if (values['width'] == "0" || values['height'] == "0") {
|
||||
$("#" + id_data + " img").attr('src', url_hack_metaconsole + 'images/console/signes/module-events.png');
|
||||
}
|
||||
else {
|
||||
$("#" + id_data + " img").attr('src', url_hack_metaconsole + 'images/console/signes/module-events.png');
|
||||
$("#" + id_data + " img").css('width', values['width'] + 'px');
|
||||
$("#" + id_data + " img").css('height', values['height'] + 'px');
|
||||
}
|
||||
}
|
||||
else {
|
||||
$("#" + id_data + " img").attr('src', url_hack_metaconsole + 'images/console/signes/module-events.png');
|
||||
|
||||
if($('#text-width').val() == 0 || $('#text-height').val() == 0){
|
||||
$("#" + id_data + " img").css('width', '300px');
|
||||
$("#" + id_data + " img").css('height', '180px');
|
||||
}
|
||||
else{
|
||||
$("#" + id_data + " img").css('width', $('#text-width').val()+'px');
|
||||
$("#" + id_data + " img").css('height', $('#text-height').val()+'px');
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function setPercentileBubble(id_data, values) {
|
||||
metaconsole = $("input[name='metaconsole']").val();
|
||||
|
||||
|
@ -2173,6 +2248,17 @@ function createItem(type, values, id_data) {
|
|||
|
||||
set_static_graph_status(id_data, values['image']);
|
||||
|
||||
break;
|
||||
case 'auto_sla_graph':
|
||||
var sizeStyle = '';
|
||||
var imageSize = '';
|
||||
item = $('<div id="' + id_data + '" class="item auto_sla_graph" style="text-align: left; position: absolute; display: inline-block; ' + sizeStyle + ' top: ' + values['top'] + 'px; left: ' + values['left'] + 'px;">' +
|
||||
'<table><tr><td></td></tr><tr><td><span id="text_' + id_data + '" class="text">' + values['label'] + '</span></td></tr><tr><td></td></tr></table>' +
|
||||
'<img class="image" id="image_' + id_data + '" src="images/spinner.gif" />' +
|
||||
'</div>'
|
||||
);
|
||||
|
||||
setEventsBar(id_data, values);
|
||||
break;
|
||||
case 'percentile_bar':
|
||||
case 'percentile_item':
|
||||
|
@ -2498,13 +2584,13 @@ function updateDB_visual(type, idElement , values, event, top, left) {
|
|||
set_static_graph_status(idElement, values['image']);
|
||||
|
||||
}
|
||||
break;
|
||||
case 'percentile_item':
|
||||
case 'simple_value':
|
||||
case 'label':
|
||||
case 'icon':
|
||||
case 'module_graph':
|
||||
|
||||
|
||||
case 'auto_sla_graph':
|
||||
if (type == 'simple_value') {
|
||||
setModuleValue(idElement,
|
||||
values.process_simple_value,
|
||||
|
@ -2667,7 +2753,6 @@ function updateDB(type, idElement , values, event) {
|
|||
update_user_line(type, idElement, top, left);
|
||||
break;
|
||||
default:
|
||||
|
||||
if ((typeof(values['mov_left']) != 'undefined') &&
|
||||
(typeof(values['mov_top']) != 'undefined')) {
|
||||
top = parseInt($("#" + idElement)
|
||||
|
@ -2728,8 +2813,6 @@ function updateDB(type, idElement , values, event) {
|
|||
function copyDB(idItem) {
|
||||
metaconsole = $("input[name='metaconsole']").val();
|
||||
|
||||
|
||||
|
||||
parameter = Array();
|
||||
parameter.push ({name: "page", value: "include/ajax/visual_console_builder.ajax"});
|
||||
parameter.push ({name: "action", value: "copy"});
|
||||
|
@ -2900,6 +2983,15 @@ function eventsItems(drag) {
|
|||
activeToolboxButton('delete_item', true);
|
||||
activeToolboxButton('show_grid', false);
|
||||
}
|
||||
if ($(divParent).hasClass('auto_sla_graph')) {
|
||||
creationItem = null;
|
||||
selectedItem = 'auto_sla_graph';
|
||||
idItem = $(divParent).attr('id');
|
||||
activeToolboxButton('copy_item', true);
|
||||
activeToolboxButton('edit_item', true);
|
||||
activeToolboxButton('delete_item', true);
|
||||
activeToolboxButton('show_grid', false);
|
||||
}
|
||||
if ($(divParent).hasClass('group_item')) {
|
||||
creationItem = null;
|
||||
selectedItem = 'group_item';
|
||||
|
@ -2989,7 +3081,7 @@ function eventsItems(drag) {
|
|||
}
|
||||
|
||||
if(selectedItem == 'simple_value'){
|
||||
|
||||
$('#data_image_width').val(event.currentTarget.clientWidth);
|
||||
var found = $('#'+idItem).find("img");
|
||||
|
||||
if(found.length > 0){
|
||||
|
@ -3040,6 +3132,9 @@ function eventsItems(drag) {
|
|||
if ($(event.target).hasClass('static_graph')) {
|
||||
selectedItem = 'static_graph';
|
||||
}
|
||||
if ($(event.target).hasClass('auto_sla_graph')) {
|
||||
selectedItem = 'auto_sla_graph';
|
||||
}
|
||||
if ($(event.target).hasClass('group_item')) {
|
||||
selectedItem = 'group_item';
|
||||
}
|
||||
|
@ -3338,12 +3433,17 @@ function click_button_toolbox(id) {
|
|||
toolbuttonActive = creationItem = 'module_graph';
|
||||
toggle_item_palette();
|
||||
break;
|
||||
case 'auto_sla_graph':
|
||||
toolbuttonActive = creationItem = 'auto_sla_graph';
|
||||
toggle_item_palette();
|
||||
break;
|
||||
case 'simple_value':
|
||||
toolbuttonActive = creationItem = 'simple_value';
|
||||
toggle_item_palette();
|
||||
$("#period_row." + id).css('display', 'none');
|
||||
break;
|
||||
case 'label':
|
||||
$("#data_image_width").val(100);
|
||||
toolbuttonActive = creationItem = 'label';
|
||||
toggle_item_palette();
|
||||
break;
|
||||
|
@ -3393,7 +3493,7 @@ function click_button_toolbox(id) {
|
|||
activeToolboxButton('icon', false);
|
||||
activeToolboxButton('service', false);
|
||||
activeToolboxButton('group_item', false);
|
||||
|
||||
activeToolboxButton('auto_sla_graph', false);
|
||||
activeToolboxButton('copy_item', false);
|
||||
activeToolboxButton('edit_item', false);
|
||||
activeToolboxButton('delete_item', false);
|
||||
|
@ -3423,6 +3523,7 @@ function click_button_toolbox(id) {
|
|||
activeToolboxButton('label', true);
|
||||
activeToolboxButton('icon', true);
|
||||
activeToolboxButton('group_item', true);
|
||||
activeToolboxButton('auto_sla_graph', true);
|
||||
}
|
||||
break;
|
||||
case 'save_visualmap':
|
||||
|
|
|
@ -152,6 +152,11 @@ foreach ($layoutDatas as $layoutData) {
|
|||
html_print_image('images/chart_curve.png', true,
|
||||
array('title' => __('Module Graph')));
|
||||
break;
|
||||
case AUTO_SLA_GRAPH:
|
||||
$table->data[$i + 1]['icon'] =
|
||||
html_print_image('images/auto_sla_graph.png', true,
|
||||
array('title' => __('Auto SLA Graph')));
|
||||
break;
|
||||
case SIMPLE_VALUE:
|
||||
$table->data[$i + 1]['icon'] =
|
||||
html_print_image('images/binary.png', true,
|
||||
|
@ -465,6 +470,7 @@ foreach ($layoutDatas as $layoutData) {
|
|||
switch ($layoutData['type']) {
|
||||
case LINE_ITEM:
|
||||
case BOX_ITEM:
|
||||
case AUTO_SLA_GRAPH:
|
||||
$table->data[$i + 2][4] = "";
|
||||
break;
|
||||
default:
|
||||
|
|
|
@ -33,11 +33,20 @@ if (isset($_GET["server"])) {
|
|||
$id_server= get_parameter_get ("server");
|
||||
// Headers
|
||||
ui_print_page_header (__('Update Server'), "images/gm_servers.png", false, "servers", true);
|
||||
$sql = sprintf("SELECT name, ip_address, description FROM tserver WHERE id_server = %d",$id_server);
|
||||
$sql = sprintf("SELECT name, ip_address, description, server_type, exec_proxy FROM tserver WHERE id_server = %d",$id_server);
|
||||
$row = db_get_row_sql ($sql);
|
||||
echo '<form name="servers" method="POST" action="index.php?sec=gservers&sec2=godmode/servers/modificar_server&update=1">';
|
||||
html_print_input_hidden ("server",$id_server);
|
||||
|
||||
$server_type = __('Standard');
|
||||
if ($row["server_type"] == 13) {
|
||||
$server_type = __('Satellite');
|
||||
}
|
||||
$exec_server_enable = __("No");
|
||||
if ($row["exec_proxy"] == 1) {
|
||||
$exec_server_enable = __('Yes');
|
||||
}
|
||||
|
||||
$table->cellpadding=4;
|
||||
$table->cellspacing=4;
|
||||
$table->width='100%';
|
||||
|
@ -46,8 +55,18 @@ if (isset($_GET["server"])) {
|
|||
$table->data[] = array (__('Name'), $row["name"]);
|
||||
$table->data[] = array (__('IP Address'), html_print_input_text ('address',$row["ip_address"],'',50,0,true));
|
||||
$table->data[] = array (__('Description'), html_print_input_text ('description',$row["description"],'',50,0,true));
|
||||
html_print_table ($table);
|
||||
|
||||
if (enterprise_installed()) {
|
||||
$table->data[] = array (__('Type'), $server_type);
|
||||
if ($row["server_type"] == 13) {
|
||||
$table->data[] = array (__('Exec Server'), html_print_checkbox ("exec_proxy", 1, $row["exec_proxy"], true));
|
||||
if ($row["exec_proxy"]) {
|
||||
$table->data[] = array (__('Check Exec Server'), '<a id="check_exec_server">' . html_print_image ("images/dot_red.disabled.png", true) . '</a>' . '<div id="check_error_message"></div>');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
html_print_table ($table);
|
||||
|
||||
echo '<div class="action-buttons" style="width: 100%">';
|
||||
echo '<input type="submit" class="sub upd" value="'.__('Update').'">';
|
||||
|
@ -105,8 +124,9 @@ else {
|
|||
$address = get_parameter_post ("address");
|
||||
$description = get_parameter_post ("description");
|
||||
$id_server = get_parameter_post ("server");
|
||||
$exec_proxy = get_parameter_post ("exec_proxy");
|
||||
|
||||
$values = array('ip_address' => $address, 'description' => $description);
|
||||
$values = array('ip_address' => $address, 'description' => $description, 'exec_proxy' => $exec_proxy);
|
||||
$result = db_process_sql_update('tserver', $values, array('id_server' => $id_server));
|
||||
if ($result !== false) {
|
||||
ui_print_success_message(__('Server updated successfully'));
|
||||
|
@ -141,3 +161,38 @@ else {
|
|||
require($config['homedir'] . '/godmode/servers/servers.build_table.php');
|
||||
}
|
||||
?>
|
||||
|
||||
<script language="javascript" type="text/javascript">
|
||||
|
||||
$(document).ready (function () {
|
||||
$("#check_exec_server img").on("click", function () {
|
||||
$("#check_exec_server img").attr("src", "images/spinner.gif");
|
||||
|
||||
check_process("<?php echo $id_server;?>");
|
||||
});
|
||||
});
|
||||
|
||||
function check_process (id_server) {
|
||||
var parameters = {};
|
||||
parameters['page'] = 'enterprise/include/ajax/servers.ajax';
|
||||
parameters['check_exec_server'] = 1;
|
||||
parameters['id_server'] = id_server;
|
||||
|
||||
jQuery.post(
|
||||
"ajax.php",
|
||||
parameters,
|
||||
function (data) {
|
||||
if (data['correct']) {
|
||||
$("#check_exec_server img").attr("src", "images/dot_green.png");
|
||||
}
|
||||
else {
|
||||
$("#check_exec_server img").attr("src", "images/dot_red.png");
|
||||
$("#check_error_message").empty();
|
||||
$("#check_error_message").append("<span>" + data['message'] + "</span>");
|
||||
}
|
||||
},
|
||||
"json"
|
||||
);
|
||||
}
|
||||
|
||||
</script>
|
||||
|
|
|
@ -127,7 +127,7 @@ else {
|
|||
|
||||
$disable_user = get_parameter ("disable_user", false);
|
||||
|
||||
if (isset ($_GET["user_del"])) { //delete user
|
||||
if (isset ($_GET["user_del"]) && isset ($_GET["delete_user"])) { //delete user
|
||||
$id_user = get_parameter ("delete_user", 0);
|
||||
// Only allow delete user if is not the actual user
|
||||
if ($id_user != $config['id_user']) {
|
||||
|
@ -197,7 +197,7 @@ elseif ($disable_user !== false) { //disable_user
|
|||
else {
|
||||
$result = false;
|
||||
}
|
||||
|
||||
if($result != null){
|
||||
if ($disable_user == 1) {
|
||||
ui_print_result_message ($result,
|
||||
__('Successfully disabled'),
|
||||
|
@ -209,6 +209,7 @@ elseif ($disable_user !== false) { //disable_user
|
|||
__('There was a problem enabling user'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$filter_group = (int)get_parameter('filter_group', 0);
|
||||
$filter_search = get_parameter('filter_search', '');
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 410 B |
Binary file not shown.
After Width: | Height: | Size: 410 B |
Binary file not shown.
After Width: | Height: | Size: 5.9 KiB |
Binary file not shown.
After Width: | Height: | Size: 21 KiB |
|
@ -122,7 +122,20 @@ if ($perform_event_response) {
|
|||
global $config;
|
||||
|
||||
$command = get_parameter('target','');
|
||||
$response_id = get_parameter ('response_id');
|
||||
|
||||
$event_response = db_get_row('tevent_response','id',$response_id);
|
||||
|
||||
if (enterprise_installed()) {
|
||||
if ($event_response['server_to_exec'] != 0 && $event_response['type'] == 'command') {
|
||||
$commandExclusions = array ('vi', 'vim', 'nano');
|
||||
|
||||
$server_data = db_get_row('tserver','id_server', $event_response['server_to_exec']);
|
||||
|
||||
if (in_array(strtolower($command),$commandExclusions)) {
|
||||
echo "Only stdin/stdout commands are supported";
|
||||
}
|
||||
else {
|
||||
switch (PHP_OS) {
|
||||
case "FreeBSD":
|
||||
$timeout_bin = '/usr/local/bin/gtimeout';
|
||||
|
@ -134,7 +147,39 @@ if ($perform_event_response) {
|
|||
$timeout_bin = '/usr/bin/timeout';
|
||||
break;
|
||||
}
|
||||
echo system($timeout_bin . ' 9 '.io_safe_output($command).' 2>&1');
|
||||
|
||||
echo system("ssh pandora_exec_proxy@" . $server_data['ip_address'] . " \"" . $timeout_bin . " 90 " . io_safe_output($command) . " 2>&1\"", $ret_val);
|
||||
}
|
||||
}
|
||||
else {
|
||||
switch (PHP_OS) {
|
||||
case "FreeBSD":
|
||||
$timeout_bin = '/usr/local/bin/gtimeout';
|
||||
break;
|
||||
case "NetBSD":
|
||||
$timeout_bin = '/usr/pkg/bin/gtimeout';
|
||||
break;
|
||||
default:
|
||||
$timeout_bin = '/usr/bin/timeout';
|
||||
break;
|
||||
}
|
||||
echo system($timeout_bin . ' 90 '.io_safe_output($command).' 2>&1');
|
||||
}
|
||||
}
|
||||
else {
|
||||
switch (PHP_OS) {
|
||||
case "FreeBSD":
|
||||
$timeout_bin = '/usr/local/bin/gtimeout';
|
||||
break;
|
||||
case "NetBSD":
|
||||
$timeout_bin = '/usr/pkg/bin/gtimeout';
|
||||
break;
|
||||
default:
|
||||
$timeout_bin = '/usr/bin/timeout';
|
||||
break;
|
||||
}
|
||||
echo system($timeout_bin . ' 90 '.io_safe_output($command).' 2>&1');
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
@ -162,7 +207,7 @@ if ($dialogue_event_response) {
|
|||
echo "<br><div id='response_out' style='text-align:left'></div>";
|
||||
|
||||
echo "<br><div id='re_exec_command' style='display:none;'>";
|
||||
html_print_button(__('Execute again'),'btn_str',false,'perform_response(\''.$command.'\');', "class='sub next'");
|
||||
html_print_button(__('Execute again'),'btn_str',false,'perform_response(\''.$command.'\', ' . $response_id . ');', "class='sub next'");
|
||||
echo "</div>";
|
||||
break;
|
||||
case 'url':
|
||||
|
|
|
@ -162,12 +162,12 @@ if ($get_graphs){
|
|||
tagente_modulo WHERE id_agente_modulo = ". $value['id_agent_module']);
|
||||
$sql_alias = db_get_all_rows_sql("SELECT alias from tagente
|
||||
WHERE id_agente = ". $sql_modulo[0]['id_agente']);
|
||||
$table .= "<div style='width: 800px'><h4>AGENT " .$sql_alias[0]['alias']." MODULE ".$sql_modulo[0]['nombre']."</h4><hr></div>";
|
||||
$table .= "<div style='width: 90%'><h4>AGENT " .$sql_alias[0]['alias']." MODULE ".$sql_modulo[0]['nombre']."</h4><hr></div>";
|
||||
$table .= grafico_modulo_sparse(
|
||||
$value['id_agent_module'],
|
||||
$value['time_lapse'],
|
||||
0,
|
||||
800,
|
||||
1000,
|
||||
300,
|
||||
'',
|
||||
'',
|
||||
|
@ -225,11 +225,11 @@ if ($get_graphs){
|
|||
} else {
|
||||
$height = 300;
|
||||
}
|
||||
$table .= "<div style='width: 800px'><h4>CUSTOM GRAPH ".$graph[0]['name']."</h4><hr></div>";
|
||||
$table .= "<div style='width: 90%'><h4>".$graph[0]['name']."</h4><hr></div>";
|
||||
$table .= graphic_combined_module($modules,
|
||||
$weights,
|
||||
$value['time_lapse'],
|
||||
800,
|
||||
1000,
|
||||
$height,
|
||||
'',
|
||||
'',
|
||||
|
@ -259,7 +259,9 @@ if ($get_graphs){
|
|||
}
|
||||
break;
|
||||
case 'dynamic_graph':
|
||||
$alias = " AND alias like '%".io_safe_output($value['agent'])."%'";
|
||||
if($value['agent'] != ''){
|
||||
$alias = " AND alias REGEXP '".$value['agent']."'";
|
||||
}
|
||||
|
||||
if($value['id_group'] === '0'){
|
||||
$id_group = "";
|
||||
|
@ -281,7 +283,9 @@ if ($get_graphs){
|
|||
$id_tag = " AND ttag_module.id_tag = ".$value['id_tag'];
|
||||
}
|
||||
|
||||
$module_name = " AND nombre like '%".io_safe_output($value['module'])."%'";
|
||||
if($value['module'] != ''){
|
||||
$module_name = " AND nombre REGEXP '".$value['module']."'";
|
||||
}
|
||||
|
||||
$id_agent_module = db_get_all_rows_sql("SELECT tagente_modulo.id_agente_modulo FROM tagente_modulo
|
||||
". $tag . "WHERE 1=1" . $id_module_group . $module_name .
|
||||
|
@ -296,13 +300,13 @@ if ($get_graphs){
|
|||
$sql_alias2 = db_get_all_rows_sql("SELECT alias from tagente
|
||||
WHERE id_agente = ". $sql_modulo2[0]['id_agente']);
|
||||
|
||||
$table .= "<div style='width: 800px'><h4>AGENT " .$sql_alias2[0]['alias']." MODULE ".$sql_modulo2[0]['nombre']."</h4><hr></div>";
|
||||
$table .= "<div style='width: 90%'><h4>AGENT " .$sql_alias2[0]['alias']." MODULE ".$sql_modulo2[0]['nombre']."</h4><hr></div>";
|
||||
|
||||
$table .= grafico_modulo_sparse(
|
||||
$value2['id_agente_modulo'],
|
||||
$value['time_lapse'],
|
||||
0,
|
||||
800,
|
||||
1000,
|
||||
300,
|
||||
'',
|
||||
'',
|
||||
|
|
|
@ -38,9 +38,7 @@ $get_agent_modules_json_by_name = (bool) get_parameter('get_agent_modules_json_b
|
|||
|
||||
|
||||
if ($get_agent_modules_json_by_name) {
|
||||
$agent_name = get_parameter('agent_name');
|
||||
|
||||
$agent_id = agents_get_agent_id($agent_name);
|
||||
$agent_id = get_parameter('id_agent');
|
||||
|
||||
$agent_modules = db_get_all_rows_sql("SELECT id_agente_modulo as id_module, nombre as name FROM tagente_modulo
|
||||
WHERE id_agente = " . $agent_id);
|
||||
|
@ -739,7 +737,7 @@ if ($list_modules) {
|
|||
$table->head[5] = __('Status') . ' ' .
|
||||
'<a href="' . $url . '&sort_field=status&sort=up&refr=&filter_monitors=1&status_filter_monitor=' .$status_filter_monitor.' &status_text_monitor='. $status_text_monitor.'&status_module_group= '.$status_module_group.'">' . html_print_image("images/sort_up.png", true, array("style" => $selectStatusUp, "alt" => "up")) . '</a>' .
|
||||
'<a href="' . $url . '&sort_field=status&sort=down&refr=&filter_monitors=1&status_filter_monitor=' .$status_filter_monitor.' &status_text_monitor='. $status_text_monitor.'&status_module_group= '.$status_module_group.'">' . html_print_image("images/sort_down.png", true, array("style" => $selectStatusDown, "alt" => "down")) . '</a>';
|
||||
$table->head[6] = __('Warn');
|
||||
$table->head[6] = __('Thresholds');
|
||||
$table->head[7] = __('Data');
|
||||
$table->head[8] = __('Graph');
|
||||
$table->head[9] = __('Last contact') . ' ' .
|
||||
|
|
|
@ -95,6 +95,7 @@ $top = get_parameter('top', null);
|
|||
$agent = get_parameter('agent', null);
|
||||
$id_module = get_parameter('module', null);
|
||||
$period = get_parameter('period', null);
|
||||
$event_max_time_row = get_parameter('event_max_time_row', null);
|
||||
$width = get_parameter('width', null);
|
||||
$height = get_parameter('height', null);
|
||||
$parent = get_parameter('parent', null);
|
||||
|
@ -139,7 +140,39 @@ switch ($action) {
|
|||
echo json_encode($return);
|
||||
break;
|
||||
|
||||
case 'get_module_events':
|
||||
$data = array ();
|
||||
|
||||
$date = get_system_time ();
|
||||
$datelimit = $date - $event_max_time_row;
|
||||
|
||||
$events = db_get_row_filter ('tevento',
|
||||
array ('id_agente' => $id_agent,
|
||||
'id_agentmodule' => $id_module,
|
||||
'utimestamp > ' . $datelimit,
|
||||
'utimestamp < ' . $date), 'criticity, utimestamp');
|
||||
|
||||
$return = array();
|
||||
if (!$events) {
|
||||
$return['no_data'] = true;
|
||||
if (!empty($id_metaconsole)) {
|
||||
$connection = db_get_row_filter ('tmetaconsole_setup',
|
||||
$id_metaconsole);
|
||||
if (metaconsole_load_external_db($connection) != NOERR) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
$return['url'] = true;
|
||||
if (!empty($id_metaconsole)) {
|
||||
metaconsole_restore_db();
|
||||
}
|
||||
}
|
||||
else {
|
||||
$return['no_data'] = false;
|
||||
}
|
||||
|
||||
echo json_encode($return);
|
||||
break;
|
||||
|
||||
case 'get_image_sparse':
|
||||
//Metaconsole db connection
|
||||
|
@ -430,6 +463,7 @@ switch ($action) {
|
|||
case 'module_graph':
|
||||
case 'label':
|
||||
case 'icon':
|
||||
case 'auto_sla_graph':
|
||||
default:
|
||||
if ($type == 'label') {
|
||||
$values['type'] = LABEL;
|
||||
|
@ -504,6 +538,18 @@ switch ($action) {
|
|||
$values['border_color'] = $line_color;
|
||||
break;
|
||||
// -------------------------------------------------
|
||||
case 'auto_sla_graph':
|
||||
$values['type'] = AUTO_SLA_GRAPH;
|
||||
if ($event_max_time_row !== null) {
|
||||
$values['period'] = $event_max_time_row;
|
||||
}
|
||||
if ($width !== null) {
|
||||
$values['width'] = $width;
|
||||
}
|
||||
if ($height !== null) {
|
||||
$values['height'] = $height;
|
||||
}
|
||||
break;
|
||||
case 'box_item':
|
||||
$values['border_width'] = $border_width;
|
||||
$values['border_color'] = $border_color;
|
||||
|
@ -659,6 +705,7 @@ switch ($action) {
|
|||
case 'simple_value':
|
||||
case 'label':
|
||||
case 'icon':
|
||||
case 'auto_sla_graph':
|
||||
$elementFields = db_get_row_filter('tlayout_data',
|
||||
array('id' => $id_element));
|
||||
|
||||
|
@ -710,6 +757,8 @@ switch ($action) {
|
|||
}
|
||||
|
||||
switch ($type) {
|
||||
case 'auto_sla_graph':
|
||||
$elementFields['event_max_time_row'] = $elementFields['period'];
|
||||
case 'percentile_item':
|
||||
case 'percentile_bar':
|
||||
$elementFields['width_percentile'] = $elementFields['width'];
|
||||
|
@ -869,6 +918,12 @@ switch ($action) {
|
|||
}
|
||||
$values['period'] = $period;
|
||||
break;
|
||||
case 'auto_sla_graph':
|
||||
$values['type'] = AUTO_SLA_GRAPH;
|
||||
$values['period'] = $event_max_time_row;
|
||||
$values['width'] = $width;
|
||||
$values['height'] = $height;
|
||||
break;
|
||||
case 'percentile_item':
|
||||
case 'percentile_bar':
|
||||
if ($type_percentile == 'percentile') {
|
||||
|
@ -985,8 +1040,6 @@ switch ($action) {
|
|||
echo json_encode($return);
|
||||
break;
|
||||
|
||||
|
||||
|
||||
case 'delete':
|
||||
if (db_process_sql_delete('tlayout_data', array('id' => $id_element, 'id_layout' => $id_visual_console)) === false) {
|
||||
$return['correct'] = 0;
|
||||
|
|
|
@ -645,9 +645,19 @@ function ldap_process_user_login ($login, $password) {
|
|||
}
|
||||
}
|
||||
|
||||
$ldap_login_attr = isset($config["ldap_login_attr"]) ? io_safe_output($config["ldap_login_attr"]) . "=" : '';
|
||||
$ldap_base_dn = isset($config["ldap_base_dn"]) ? "," . io_safe_output($config["ldap_base_dn"]) : '';
|
||||
$ldap_login_attr = !empty($config["ldap_login_attr"]) ? io_safe_output($config["ldap_login_attr"]) . "=" : '';
|
||||
$ldap_base_dn = !empty($config["ldap_base_dn"]) ? "," . io_safe_output($config["ldap_base_dn"]) : '';
|
||||
|
||||
if(!empty($ldap_base_dn)){
|
||||
if (strlen($password) == 0 ||
|
||||
!@ldap_bind($ds, $ldap_login_attr.io_safe_output($login).$ldap_base_dn, $password) ) {
|
||||
html_debug("entra1",true);
|
||||
$config["auth_error"] = 'User not found in database or incorrect password';
|
||||
@ldap_close ($ds);
|
||||
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
if (strlen($password) == 0 ||
|
||||
!@ldap_bind($ds, io_safe_output($login), $password) ) {
|
||||
$config["auth_error"] = 'User not found in database or incorrect password';
|
||||
|
@ -655,6 +665,7 @@ function ldap_process_user_login ($login, $password) {
|
|||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@ldap_close ($ds);
|
||||
|
||||
|
|
|
@ -22,8 +22,8 @@
|
|||
/**
|
||||
* Pandora build version and version
|
||||
*/
|
||||
$build_version = 'PC170719';
|
||||
$pandora_version = 'v7.0NG.707';
|
||||
$build_version = 'PC170831';
|
||||
$pandora_version = 'v7.0NG.711';
|
||||
|
||||
// Do not overwrite default timezone set if defined.
|
||||
$script_tz = @date_default_timezone_get();
|
||||
|
|
|
@ -185,6 +185,7 @@ define('AGENT_STATUS_WARNING', 2);
|
|||
define('STATIC_GRAPH', 0);
|
||||
define('PERCENTILE_BAR', 3);
|
||||
define('MODULE_GRAPH', 1);
|
||||
define('AUTO_SLA_GRAPH', 14);
|
||||
define('SIMPLE_VALUE', 2);
|
||||
define('LABEL', 4);
|
||||
define('ICON', 5);
|
||||
|
|
|
@ -1506,7 +1506,7 @@ function get_snmpwalk($ip_target, $snmp_version, $snmp_community = '',
|
|||
$snmp3_auth_user = '', $snmp3_security_level = '',
|
||||
$snmp3_auth_method = '', $snmp3_auth_pass = '',
|
||||
$snmp3_privacy_method = '', $snmp3_privacy_pass = '',
|
||||
$quick_print = 0, $base_oid = "", $snmp_port = '') {
|
||||
$quick_print = 0, $base_oid = "", $snmp_port = '', $server_to_exec = 0) {
|
||||
|
||||
global $config;
|
||||
|
||||
|
@ -1598,7 +1598,18 @@ function get_snmpwalk($ip_target, $snmp_version, $snmp_community = '',
|
|||
break;
|
||||
}
|
||||
|
||||
if (enterprise_installed()) {
|
||||
if ($server_to_exec != 0) {
|
||||
$server_data = db_get_row('tserver','id_server', $server_to_exec);
|
||||
exec("ssh pandora_exec_proxy@" . $server_data['ip_address'] . " \"" . $command_str . "\"", $output, $rc);
|
||||
}
|
||||
else {
|
||||
exec($command_str, $output, $rc);
|
||||
}
|
||||
}
|
||||
else {
|
||||
exec($command_str, $output, $rc);
|
||||
}
|
||||
|
||||
// Parse the output of snmpwalk
|
||||
$snmpwalk = array();
|
||||
|
@ -1701,7 +1712,7 @@ function check_sql ($sql) {
|
|||
|
||||
//Check that it not delete_ as "delete_pending" (this is a common field in pandora tables).
|
||||
|
||||
if (preg_match("/\*|delete[^_]|drop|alter|modify|union|password|pass|insert|update/i", $sql)) {
|
||||
if (preg_match("/\*|delete[^_]|drop|alter|modify|password|pass|insert|update/i", $sql)) {
|
||||
return "";
|
||||
}
|
||||
return $sql;
|
||||
|
@ -1796,26 +1807,6 @@ function check_acl($id_user, $id_group, $access, $onlyOneGroup = false) {
|
|||
$id_group = (int) $id_group;
|
||||
}
|
||||
|
||||
if($_SESSION['check_acl'] != null){
|
||||
if (empty ($_SESSION['check_acl']))
|
||||
return 0;
|
||||
|
||||
$result = 0;
|
||||
$acl_column = get_acl_column($access);
|
||||
foreach ($_SESSION['check_acl'] as $row) {
|
||||
// For each profile for this pair of group and user do...
|
||||
if (isset($row[$acl_column])) {
|
||||
$result += $row[$acl_column];
|
||||
}
|
||||
}
|
||||
|
||||
if ($result >= 1) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
$parents_id = array($id_group);
|
||||
if ($id_group != 0 && $onlyOneGroup !== true) {
|
||||
$group = db_get_row_filter('tgrupo', array('id_grupo' => $id_group));
|
||||
|
@ -1864,13 +1855,8 @@ function check_acl($id_user, $id_group, $access, $onlyOneGroup = false) {
|
|||
OR tusuario_perfil.id_grupo = 0)", $id_user, implode(', ', $parents_id));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
$rowdup = db_get_all_rows_sql ($query);
|
||||
|
||||
$_SESSION['check_acl'] = $rowdup;
|
||||
|
||||
if (empty ($rowdup))
|
||||
return 0;
|
||||
|
||||
|
@ -2779,4 +2765,14 @@ function remove_right_zeros ($value) {
|
|||
}
|
||||
}
|
||||
|
||||
function register_pass_change_try ($id_user, $success) {
|
||||
$values = array();
|
||||
$values['id_user'] = $id_user;
|
||||
$reset_pass_moment = new DateTime('now');
|
||||
$reset_pass_moment = $reset_pass_moment->format("Y-m-d H:i:s");
|
||||
$values['reset_moment'] = $reset_pass_moment;
|
||||
$values['success'] = $success;
|
||||
db_process_sql_insert('treset_pass_history', $values);
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
@ -9112,8 +9112,9 @@ function api_set_create_event($id, $trash1, $other, $returnType) {
|
|||
* http://127.0.0.1/pandora_console/include/api.php?op=set&op2=add_event_comment&id=event_id&other=string|&other_mode=url_encode_separator_|&apipass=1234&user=admin&pass=pandora
|
||||
*/
|
||||
function api_set_add_event_comment($id, $thrash2, $other, $thrash3) {
|
||||
$meta = false;
|
||||
if (defined ('METACONSOLE')) {
|
||||
return;
|
||||
$meta = true;
|
||||
}
|
||||
|
||||
if ($other['type'] == 'string') {
|
||||
|
@ -9122,11 +9123,9 @@ function api_set_add_event_comment($id, $thrash2, $other, $thrash3) {
|
|||
}
|
||||
else if ($other['type'] == 'array') {
|
||||
$comment = io_safe_input($other['data'][0]);
|
||||
$meta = $other['data'][1];
|
||||
$history = $other['data'][2];
|
||||
|
||||
$status = events_comment($id, $comment, 'Added comment', $meta,
|
||||
$history);
|
||||
$status = events_comment($id, $comment, 'Added comment', $meta, $history);
|
||||
if (is_error($status)) {
|
||||
returnError('error_add_event_comment',
|
||||
__('Error adding event comment.'));
|
||||
|
@ -9556,6 +9555,257 @@ function api_set_create_special_day($thrash1, $thrash2, $other, $thrash3) {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a service and return service id.
|
||||
*
|
||||
* @param $thrash1 Don't use.
|
||||
* @param $thrash2 Don't use.
|
||||
* @param array $other it's array, $other as param is <description>;<id_group>;<critical>;
|
||||
* <warning>;<id_agent>;<sla_interval>;<sla_limit>;<id_warning_module_template_alert>;
|
||||
* <id_critical_module_template_alert>;<id_critical_module_sla_template_alert>;
|
||||
* in this order and separator char (after text ; ) and separator
|
||||
* (pass in param othermode as othermode=url_encode_separator_<separator>)
|
||||
* @param $thrash3 Don't use
|
||||
*
|
||||
* example:
|
||||
* http://127.0.0.1/pandora_console/include/api.php?op=set&op2=create_service&return_type=json
|
||||
* &other=test1%7CDescripcion de prueba%7C12%7C1%7C0.5%7C1&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora
|
||||
*/
|
||||
function api_set_create_service($thrash1, $thrash2, $other, $thrash3) {
|
||||
|
||||
$name = $other['data'][0];
|
||||
$description = $other['data'][1];
|
||||
$id_group = $other['data'][2];
|
||||
$critical = $other['data'][3];
|
||||
$warning = $other['data'][4];
|
||||
$mode = 0;
|
||||
$id_agent = $other['data'][5];
|
||||
$sla_interval = $other['data'][6];
|
||||
$sla_limit = $other['data'][7];
|
||||
$id_warning_module_template = $other['data'][8];
|
||||
$id_critical_module_template = $other['data'][9];
|
||||
$id_unknown_module_template = 0;
|
||||
$id_critical_module_sla = $other['data'][10];
|
||||
|
||||
if(empty($name)){
|
||||
returnError('error_create_service', __('Error in creation service. No name'));
|
||||
return;
|
||||
}
|
||||
if(empty($id_group)){
|
||||
// By default applications
|
||||
$id_group = 12;
|
||||
}
|
||||
if(empty($critical)){
|
||||
$critical = 1;
|
||||
}
|
||||
if(empty($warning)){
|
||||
$warning = 0.5;
|
||||
}
|
||||
if(empty($id_agent)){
|
||||
returnError('error_create_service', __('Error in creation service. No agent id'));
|
||||
return;
|
||||
}
|
||||
if(empty($sla_interval)){
|
||||
// By default one month
|
||||
$sla_interval = 2592000;
|
||||
}
|
||||
if(empty($sla_limit)){
|
||||
$sla_limit = 95;
|
||||
}
|
||||
if(empty($id_warning_module_template)){
|
||||
$id_warning_module_template = 0;
|
||||
}
|
||||
if(empty($id_critical_module_template)){
|
||||
$id_critical_module_template = 0;
|
||||
}
|
||||
if(empty($id_critical_module_sla)){
|
||||
$id_critical_module_sla = 0;
|
||||
}
|
||||
|
||||
$result = services_create_service ($name, $description, $id_group,
|
||||
$critical, $warning, SECONDS_5MINUTES, $mode, $id_agent, $sla_interval, $sla_limit,
|
||||
$id_warning_module_template, $id_critical_module_template,
|
||||
$id_unknown_module_template, $id_critical_module_sla);
|
||||
|
||||
if($result){
|
||||
returnData('string', array('type' => 'string', 'data' => $result));
|
||||
} else {
|
||||
returnError('error_create_service', __('Error in creation service'));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Update a service.
|
||||
*
|
||||
* @param $thrash1 service id.
|
||||
* @param $thrash2 Don't use.
|
||||
* @param array $other it's array, $other as param is <name>;<description>;<id_group>;<critical>;
|
||||
* <warning>;<id_agent>;<sla_interval>;<sla_limit>;<id_warning_module_template_alert>;
|
||||
* <id_critical_module_template_alert>;<id_critical_module_sla_template_alert>;
|
||||
* in this order and separator char (after text ; ) and separator
|
||||
* (pass in param othermode as othermode=url_encode_separator_<separator>)
|
||||
* @param $thrash3 Don't use
|
||||
*
|
||||
* example:
|
||||
* http://172.17.0.1/pandora_console/include/api.php?op=set&op2=update_service&return_type=json
|
||||
* &id=4&other=test2%7CDescripcion%7C%7C%7C0.6%7C&other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora
|
||||
*
|
||||
*/
|
||||
function api_set_update_service($thrash1, $thrash2, $other, $thrash3) {
|
||||
|
||||
$id_service = $thrash1;
|
||||
if(empty($id_service)){
|
||||
returnError('error_update_service', __('Error in update service. No service id'));
|
||||
return;
|
||||
}
|
||||
|
||||
$service = db_get_row('tservice',
|
||||
'id', $id_service);
|
||||
|
||||
$name = $other['data'][0];
|
||||
if(empty($name)){
|
||||
$name = $service['name'];
|
||||
}
|
||||
$description = $other['data'][1];
|
||||
if(empty($description)){
|
||||
$description = $service['description'];
|
||||
}
|
||||
$id_group = $other['data'][2];
|
||||
if(empty($id_group)){
|
||||
$id_group = $service['id_group'];
|
||||
}
|
||||
$critical = $other['data'][3];
|
||||
if(empty($critical)){
|
||||
$critical = $service['critical'];
|
||||
}
|
||||
$warning = $other['data'][4];
|
||||
if(empty($warning)){
|
||||
$warning = $service['warning'];
|
||||
}
|
||||
|
||||
$mode = 0;
|
||||
|
||||
$id_agent = $other['data'][5];
|
||||
if(empty($id_agent)){
|
||||
$id_agent = $service['id_agent_module'];
|
||||
}
|
||||
$sla_interval = $other['data'][6];
|
||||
if(empty($sla_interval)){
|
||||
$sla_interval = $service['sla_interval'];
|
||||
}
|
||||
$sla_limit = $other['data'][7];
|
||||
if(empty($sla_limit)){
|
||||
$sla_limit = $service['sla_limit'];
|
||||
}
|
||||
$id_warning_module_template = $other['data'][8];
|
||||
if(empty($id_warning_module_template)){
|
||||
$id_warning_module_template = $service['id_template_alert_warning'];
|
||||
}
|
||||
$id_critical_module_template = $other['data'][9];
|
||||
if(empty($id_critical_module_template)){
|
||||
$id_critical_module_template = $service['id_template_alert_critical'];
|
||||
}
|
||||
|
||||
$id_unknown_module_template = 0;
|
||||
|
||||
$id_critical_module_sla = $other['data'][10];
|
||||
if(empty($id_critical_module_sla)){
|
||||
$id_critical_module_sla = $service['id_template_alert_critical_sla'];
|
||||
}
|
||||
|
||||
$result = services_update_service ($id_service, $name,$description, $id_group, $critical, $warning,
|
||||
SECONDS_5MINUTES, $mode, $id_agent,$sla_interval, $sla_limit,$id_warning_module_template,
|
||||
$id_critical_module_template,$id_unknown_module_template,$id_critical_module_sla);
|
||||
|
||||
|
||||
if($result){
|
||||
returnData('string', array('type' => 'string', 'data' => $result));
|
||||
} else {
|
||||
returnError('error_update_service', __('Error in update service'));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Add elements to service.
|
||||
*
|
||||
* @param $thrash1 service id.
|
||||
* @param $thrash2 Don't use.
|
||||
* @param array $other it's a json, $other as param is <description>;<id_group>;<critical>;
|
||||
* <warning>;<id_agent>;<sla_interval>;<sla_limit>;<id_warning_module_template_alert>;
|
||||
* <id_critical_module_template_alert>;<id_critical_module_sla_template_alert>;
|
||||
* in this order and separator char (after text ; ) and separator
|
||||
* (pass in param othermode as othermode=url_encode_separator_<separator>)
|
||||
* @param $thrash3 Don't use
|
||||
*
|
||||
* example:
|
||||
* http://172.17.0.1/pandora_console/include/api.php?op=set&op2=add_element_service&return_type=json&id=1
|
||||
* &other=W3sidHlwZSI6ImFnZW50IiwiaWQiOjIsImRlc2NyaXB0aW9uIjoiamlqaWppIiwid2VpZ2h0X2NyaXRpY2FsIjowLCJ3ZWlnaHRfd2FybmluZyI6MCwid2VpZ2h0X3Vua25vd24iOjAsIndlaWdodF9vayI6MH0seyJ0eXBlIjoibW9kdWxlIiwiaWQiOjEsImRlc2NyaXB0aW9uIjoiSG9sYSBxdWUgdGFsIiwid2VpZ2h0X2NyaXRpY2FsIjowLCJ3ZWlnaHRfd2FybmluZyI6MCwid2VpZ2h0X3Vua25vd24iOjAsIndlaWdodF9vayI6MH0seyJ0eXBlIjoic2VydmljZSIsImlkIjozLCJkZXNjcmlwdGlvbiI6ImplamVqZWplIiwid2VpZ2h0X2NyaXRpY2FsIjowLCJ3ZWlnaHRfd2FybmluZyI6MCwid2VpZ2h0X3Vua25vd24iOjAsIndlaWdodF9vayI6MH1d
|
||||
* &other_mode=url_encode_separator_%7C&apipass=1234&user=admin&pass=pandora
|
||||
*
|
||||
*/
|
||||
function api_set_add_element_service($thrash1, $thrash2, $other, $thrash3) {
|
||||
|
||||
$id = $thrash1;
|
||||
|
||||
if(empty($id)){
|
||||
returnError('error_add_service_element', __('Error adding elements to service. No service id'));
|
||||
return;
|
||||
}
|
||||
|
||||
$array_json = json_decode(base64_decode(io_safe_output($other['data'][0])), true);
|
||||
if(!empty($array_json)){
|
||||
$results = false;
|
||||
foreach ($array_json as $key => $element) {
|
||||
if($element['id'] == 0){
|
||||
continue;
|
||||
}
|
||||
switch ($element['type']) {
|
||||
case 'agent':
|
||||
$id_agente_modulo = 0;
|
||||
$id_service_child = 0;
|
||||
$agent_id = $element['id'];
|
||||
break;
|
||||
|
||||
case 'module':
|
||||
$agent_id = 0;
|
||||
$id_service_child = 0;
|
||||
$id_agente_modulo = $element['id'];
|
||||
break;
|
||||
|
||||
case 'service':
|
||||
$agent_id = 0;
|
||||
$id_agente_modulo = 0;
|
||||
$id_service_child = $element['id'];
|
||||
break;
|
||||
}
|
||||
|
||||
$values = array(
|
||||
'id_agente_modulo' => $id_agente_modulo,
|
||||
'description' => $element['description'],
|
||||
'id_service' => $id,
|
||||
'weight_critical' => $element['weight_critical'],
|
||||
'weight_warning' => $element['weight_warning'],
|
||||
'weight_unknown' => $element['weight_unknown'],
|
||||
'weight_ok' => $element['weight_ok'],
|
||||
'id_agent' => $agent_id,
|
||||
'id_service_child' => $id_service_child,
|
||||
'id_server_meta' => 0);
|
||||
|
||||
$result = db_process_sql_insert('tservice_element',$values);
|
||||
if($result && !$results){
|
||||
$results = $result;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($results){
|
||||
returnData('string', array('type' => 'string', 'data' => 1));
|
||||
} else {
|
||||
returnError('error_add_service_element', __('Error adding elements to service'));
|
||||
}
|
||||
|
||||
}
|
||||
/**
|
||||
* Update a special day. And return a message with the result of the operation.
|
||||
*
|
||||
|
@ -9691,6 +9941,13 @@ function api_get_module_graph($id_module, $thrash2, $other, $thrash4) {
|
|||
:
|
||||
SECONDS_1HOUR; // 1 hour by default
|
||||
|
||||
$graph_threshold =
|
||||
(!empty($other) && isset($other['data'][2]))
|
||||
?
|
||||
$other['data'][2]
|
||||
:
|
||||
0;
|
||||
|
||||
if (is_nan($graph_seconds) || $graph_seconds <= 0) {
|
||||
// returnError('error_module_graph', __(''));
|
||||
return;
|
||||
|
@ -9701,7 +9958,8 @@ function api_get_module_graph($id_module, $thrash2, $other, $thrash4) {
|
|||
$id_module, $graph_seconds, false, 600, 300, '',
|
||||
'', false, false, true, time(), '', 0, 0, true, true,
|
||||
ui_get_full_url(false) . '/', 1, false, '', false, true,
|
||||
true, 'white', null, false, false, $config['type_module_charts']);
|
||||
true, 'white', null, false, false, $config['type_module_charts'],
|
||||
false, false);
|
||||
|
||||
$graph_image_file_encoded = false;
|
||||
if (preg_match("/<img src='(.+)'./", $graph_html, $matches)) {
|
||||
|
@ -9736,6 +9994,8 @@ function api_get_module_graph($id_module, $thrash2, $other, $thrash4) {
|
|||
$_GET["id_graph"] = $id_graph;
|
||||
$_GET["graph_type"] = $graph_type;
|
||||
$_GET["static_graph"] = $static_graph;
|
||||
$_GET["graph_threshold"] = $graph_threshold;
|
||||
$_GET["id_module"] = $id_module;
|
||||
}
|
||||
|
||||
ob_start();
|
||||
|
|
|
@ -1653,6 +1653,10 @@ function config_process_config () {
|
|||
config_update_value ('command_snapshot', 1);
|
||||
}
|
||||
|
||||
if (!isset($config['custom_report_info'])) {
|
||||
config_update_value ('custom_report_info', 1);
|
||||
}
|
||||
|
||||
// Juanma (06/05/2014) New feature: Custom front page for reports
|
||||
if (!isset($config['custom_report_front'])) {
|
||||
config_update_value ('custom_report_front', 0);
|
||||
|
|
|
@ -2115,7 +2115,7 @@ function events_page_details ($event, $server = "") {
|
|||
"type" => $graph_type,
|
||||
"period" => SECONDS_1DAY,
|
||||
"id" => $module["id_agente_modulo"],
|
||||
"label" => rawurlencode(urlencode(base64_encode($module["nombre"]))),
|
||||
"label" => base64_encode($module["nombre"]),
|
||||
"refresh" => SECONDS_10MINUTES
|
||||
);
|
||||
|
||||
|
@ -2350,6 +2350,8 @@ function events_page_general ($event) {
|
|||
}
|
||||
$table_general->data[] = $data;
|
||||
|
||||
$event["owner_user"] = $event["id_usuario"];
|
||||
|
||||
$data = array();
|
||||
$data[0] = __('Owner');
|
||||
if (empty($event["owner_user"])) {
|
||||
|
|
|
@ -1092,25 +1092,25 @@ function graphic_combined_module ($module_list, $weight_list, $period,
|
|||
|
||||
// Set the title and time format
|
||||
if ($temp_range <= SECONDS_1DAY) {
|
||||
$time_format = 'd.m.Y H:i:s';
|
||||
$time_format = 'Y M d H:i:s';
|
||||
}
|
||||
elseif ($temp_range < SECONDS_15DAYS) {
|
||||
$time_format = 'M d';
|
||||
$time_format = 'Y M d';
|
||||
$time_format_2 = 'H:i';
|
||||
if ($projection != false) {
|
||||
$time_format_2 = 'H\h';
|
||||
}
|
||||
}
|
||||
elseif ($temp_range <= SECONDS_1MONTH) {
|
||||
$time_format = 'M d';
|
||||
$time_format = 'Y M d';
|
||||
$time_format_2 = 'H\h';
|
||||
}
|
||||
elseif ($temp_range <= SECONDS_1MONTH) {
|
||||
$time_format = 'M d';
|
||||
$time_format = 'Y M d';
|
||||
$time_format_2 = 'H\h';
|
||||
}
|
||||
elseif ($period < SECONDS_6MONTHS) {
|
||||
$time_format = 'M d';
|
||||
$time_format = 'Y M d';
|
||||
$time_format_2 = 'H\h';
|
||||
}
|
||||
else {
|
||||
|
@ -1382,7 +1382,8 @@ function graphic_combined_module ($module_list, $weight_list, $period,
|
|||
|
||||
// Calculate chart data
|
||||
$last_known = $previous_data;
|
||||
for ($l = 0; $l < $resolution; $l++) {
|
||||
|
||||
for ($l = 0; $l <= $resolution; $l++) {
|
||||
$countAvg ++;
|
||||
|
||||
$timestamp = $datelimit + ($interval * $l);
|
||||
|
@ -1398,6 +1399,7 @@ function graphic_combined_module ($module_list, $weight_list, $period,
|
|||
// Read data that falls in the current interval
|
||||
$interval_min = $last_known;
|
||||
$interval_max = $last_known;
|
||||
|
||||
while (isset ($data[$j]) && $data[$j]['utimestamp'] >= $timestamp && $data[$j]['utimestamp'] < ($timestamp + $interval)) {
|
||||
if ($data[$j]['datos'] > $interval_max) {
|
||||
$interval_max = $data[$j]['datos'];
|
||||
|
@ -3220,11 +3222,11 @@ function grafico_eventos_grupo ($width = 300, $height = 200, $url = "", $meta =
|
|||
}
|
||||
else {
|
||||
if ($meta) {
|
||||
$name = mb_substr (io_safe_output($row['agent_name']), 0, 14)." (".$row["count"].")";
|
||||
$name = mb_substr (io_safe_output($row['agent_name']), 0, 25)." (".$row["count"].")";
|
||||
}
|
||||
else {
|
||||
$alias = agents_get_alias($row["id_agente"]);
|
||||
$name = mb_substr($alias, 0, 14)." #".$row["id_agente"]." (".$row["count"].")";
|
||||
$name = mb_substr($alias, 0, 25)." #".$row["id_agente"]." (".$row["count"].")";
|
||||
}
|
||||
$data[$name] = $row["count"];
|
||||
}
|
||||
|
@ -3581,7 +3583,7 @@ function graph_custom_sql_graph ($id, $width, $height,
|
|||
* @param string homeurl
|
||||
* @param bool return or echo the result
|
||||
*/
|
||||
function graph_graphic_agentevents ($id_agent, $width, $height, $period = 0, $homeurl, $return = false) {
|
||||
function graph_graphic_agentevents ($id_agent, $width, $height, $period = 0, $homeurl, $return = false, $from_agent_view = false) {
|
||||
global $config;
|
||||
global $graphic_type;
|
||||
|
||||
|
@ -3598,13 +3600,119 @@ function graph_graphic_agentevents ($id_agent, $width, $height, $period = 0, $ho
|
|||
$data = array ();
|
||||
$legend = array();
|
||||
$full_legend = array();
|
||||
$full_legend_date = array();
|
||||
|
||||
$cont = 0;
|
||||
for ($i = 0; $i < $interval; $i++) {
|
||||
$bottom = $datelimit + ($periodtime * $i);
|
||||
if (! $graphic_type) {
|
||||
if ($config['flash_charts']) {
|
||||
$name = date('H:i', $bottom);
|
||||
$name = date('H:i:s', $bottom);
|
||||
}
|
||||
else {
|
||||
$name = date('H\h', $bottom);
|
||||
}
|
||||
}
|
||||
else {
|
||||
$name = $bottom;
|
||||
}
|
||||
|
||||
// Show less values in legend
|
||||
if ($cont == 0 or $cont % 2)
|
||||
$legend[$cont] = $name;
|
||||
|
||||
if ($from_agent_view) {
|
||||
$full_date = date('Y/m/d', $bottom);
|
||||
$full_legend_date[$cont] = $full_date;
|
||||
}
|
||||
|
||||
$full_legend[$cont] = $name;
|
||||
|
||||
$top = $datelimit + ($periodtime * ($i + 1));
|
||||
$event = db_get_row_filter ('tevento',
|
||||
array ('id_agente' => $id_agent,
|
||||
'utimestamp > '.$bottom,
|
||||
'utimestamp < '.$top), 'criticity, utimestamp');
|
||||
|
||||
if (!empty($event['utimestamp'])) {
|
||||
$data[$cont]['utimestamp'] = $periodtime;
|
||||
switch ($event['criticity']) {
|
||||
case EVENT_CRIT_WARNING:
|
||||
$data[$cont]['data'] = 2;
|
||||
break;
|
||||
case EVENT_CRIT_CRITICAL:
|
||||
$data[$cont]['data'] = 3;
|
||||
break;
|
||||
default:
|
||||
$data[$cont]['data'] = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$data[$cont]['utimestamp'] = $periodtime;
|
||||
$data[$cont]['data'] = 1;
|
||||
}
|
||||
$cont++;
|
||||
}
|
||||
|
||||
$colors = array(1 => COL_NORMAL, 2 => COL_WARNING, 3 => COL_CRITICAL, 4 => COL_UNKNOWN);
|
||||
|
||||
// Draw slicebar graph
|
||||
if ($config['flash_charts']) {
|
||||
$out = flot_slicesbar_graph($data, $period, $width, $height, $full_legend, $colors, $config['fontpath'], $config['round_corner'], $homeurl, '', '', false, $id_agent, $full_legend_date);
|
||||
}
|
||||
else {
|
||||
$out = slicesbar_graph($data, $period, $width, $height, $colors, $config['fontpath'], $config['round_corner'], $homeurl);
|
||||
|
||||
// Draw legend
|
||||
$out .= "<br>";
|
||||
$out .= " ";
|
||||
foreach ($legend as $hour) {
|
||||
$out .= "<span style='font-size: 6pt'>" . $hour . "</span>";
|
||||
$out .= " ";
|
||||
}
|
||||
}
|
||||
|
||||
if ($return) {
|
||||
return $out;
|
||||
}
|
||||
else {
|
||||
echo $out;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Print a static graph with event data of agents
|
||||
*
|
||||
* @param integer id_agent Agent ID
|
||||
* @param integer width pie graph width
|
||||
* @param integer height pie graph height
|
||||
* @param integer period time period
|
||||
* @param string homeurl
|
||||
* @param bool return or echo the result
|
||||
*/
|
||||
function graph_graphic_moduleevents ($id_agent, $id_module, $width, $height, $period = 0, $homeurl, $return = false) {
|
||||
global $config;
|
||||
global $graphic_type;
|
||||
|
||||
$data = array ();
|
||||
|
||||
$resolution = $config['graph_res'] * ($period * 2 / $width); // Number of "slices" we want in graph
|
||||
$interval = (int) ($period / $resolution);
|
||||
$date = get_system_time ();
|
||||
$datelimit = $date - $period;
|
||||
$periodtime = floor ($period / $interval);
|
||||
$time = array ();
|
||||
$data = array ();
|
||||
$legend = array();
|
||||
$full_legend = array();
|
||||
|
||||
$cont = 0;
|
||||
for ($i = 0; $i < $interval; $i++) {
|
||||
$bottom = $datelimit + ($periodtime * $i);
|
||||
if (! $graphic_type) {
|
||||
if ($config['flash_charts']) {
|
||||
$name = date('H:i:s', $bottom);
|
||||
}
|
||||
else {
|
||||
$name = date('H\h', $bottom);
|
||||
|
@ -3621,8 +3729,10 @@ function graph_graphic_agentevents ($id_agent, $width, $height, $period = 0, $ho
|
|||
$full_legend[$cont] = $name;
|
||||
|
||||
$top = $datelimit + ($periodtime * ($i + 1));
|
||||
|
||||
$event = db_get_row_filter ('tevento',
|
||||
array ('id_agente' => $id_agent,
|
||||
'id_agentmodule' => $id_module,
|
||||
'utimestamp > '.$bottom,
|
||||
'utimestamp < '.$top), 'criticity, utimestamp');
|
||||
|
||||
|
|
|
@ -1722,7 +1722,7 @@ function modules_get_agentmodule_data ($id_agent_module, $period,
|
|||
break;
|
||||
//log4x
|
||||
case 24:
|
||||
$sql = sprintf ("SELECT message AS data, utimestamp
|
||||
$sql = sprintf ("SELECT stacktrace AS data, utimestamp
|
||||
FROM tagente_datos_log4x
|
||||
WHERE id_agente_modulo = %d
|
||||
AND utimestamp > %d AND utimestamp <= %d
|
||||
|
|
|
@ -126,26 +126,6 @@ function reporting_make_reporting_data($report = null, $id_report,
|
|||
foreach ($contents as $content) {
|
||||
if (!empty($period)) {
|
||||
$content['period'] = $period;
|
||||
}
|
||||
|
||||
if(defined('METACONSOLE')){
|
||||
if (is_array($content['id_agent'])) {
|
||||
$new_array = array();
|
||||
foreach ($content['id_agent'] as $key => $value) {
|
||||
$meta_id = explode("|",$value);
|
||||
array_push($new_array,$meta_id[1]);
|
||||
}
|
||||
$content['id_agent'] = $new_array;
|
||||
}
|
||||
else {
|
||||
$meta_id = explode("|",$content['id_agent']);
|
||||
if ($meta_id[1] != null) {
|
||||
$content['id_agent'] = array();
|
||||
$content['id_agent'] = $meta_id[1];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
$content['style'] = json_decode(io_safe_output($content['style']), true);
|
||||
|
@ -168,7 +148,6 @@ function reporting_make_reporting_data($report = null, $id_report,
|
|||
}
|
||||
|
||||
|
||||
|
||||
if(sizeof($content['id_agent']) != 1){
|
||||
$content['style']['name_label'] = str_replace("_agent_",sizeof($content['id_agent']).__(' agents'),$content['style']['name_label']);
|
||||
}
|
||||
|
@ -179,7 +158,6 @@ function reporting_make_reporting_data($report = null, $id_report,
|
|||
|
||||
$content['name'] = reporting_label_macro($items_label, $content['style']['name_label']);
|
||||
|
||||
|
||||
if ($metaconsole_on) {
|
||||
//Restore db connection
|
||||
metaconsole_restore_db();
|
||||
|
@ -2469,6 +2447,13 @@ function reporting_database_serialized($report, $content) {
|
|||
$return['agent_name'] = $agent_name;
|
||||
$return['module_name'] = $module_name;
|
||||
|
||||
if ($config['metaconsole']) {
|
||||
$id_meta = metaconsole_get_id_server($content["server_name"]);
|
||||
|
||||
|
||||
$server = metaconsole_get_connection_by_id ($id_meta);
|
||||
metaconsole_connect($server);
|
||||
}
|
||||
|
||||
$datelimit = $report["datetime"] - $content['period'];
|
||||
$search_in_history_db = db_search_in_history_db($datelimit);
|
||||
|
@ -2546,6 +2531,10 @@ function reporting_database_serialized($report, $content) {
|
|||
}
|
||||
}
|
||||
|
||||
if ($config['metaconsole']) {
|
||||
metaconsole_restore_db();
|
||||
}
|
||||
|
||||
$return["data"] = $data;
|
||||
|
||||
return reporting_check_structure_content($return);
|
||||
|
@ -4002,7 +3991,7 @@ function reporting_sql($report, $content) {
|
|||
}
|
||||
else {
|
||||
$return['correct'] = 0;
|
||||
$return['error'] = __('Illegal query: Due security restrictions, there are some tokens or words you cannot use: *, delete, drop, alter, modify, union, password, pass, insert or update.');
|
||||
$return['error'] = __('Illegal query: Due security restrictions, there are some tokens or words you cannot use: *, delete, drop, alter, modify, password, pass, insert or update.');
|
||||
}
|
||||
|
||||
if ($config['metaconsole']) {
|
||||
|
@ -5811,10 +5800,8 @@ function reporting_custom_graph($report, $content, $type = 'dinamic',
|
|||
|
||||
require_once ($config["homedir"] . '/include/functions_graph.php');
|
||||
|
||||
if ($config['metaconsole']) {
|
||||
if ($config['metaconsole'] && $type_report != 'automatic_graph') {
|
||||
$id_meta = metaconsole_get_id_server($content["server_name"]);
|
||||
|
||||
|
||||
$server = metaconsole_get_connection_by_id ($id_meta);
|
||||
metaconsole_connect($server);
|
||||
}
|
||||
|
@ -5870,7 +5857,25 @@ function reporting_custom_graph($report, $content, $type = 'dinamic',
|
|||
'id_agent_module'=>$graph_item['id_agent_module']);
|
||||
}
|
||||
|
||||
$label = reporting_label_macro($item, $content['style']['label']);
|
||||
if($type_report == 'automatic_graph'){
|
||||
$label = (isset($content['style']['label'])) ? $content['style']['label'] : '';
|
||||
if (!empty($label)) {
|
||||
if ($config['metaconsole']) {
|
||||
$id_meta = metaconsole_get_id_server($content["server_name"]);
|
||||
$server = metaconsole_get_connection_by_id ($id_meta);
|
||||
metaconsole_connect($server);
|
||||
}
|
||||
$label = reporting_label_macro($content, $label);
|
||||
|
||||
if ($config['metaconsole']) {
|
||||
metaconsole_restore_db();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$label = (isset($content['style']['label'])) ? $content['style']['label'] : '';
|
||||
$label = reporting_label_macro($content, $label);
|
||||
}
|
||||
|
||||
$labels[$graph_item['id_agent_module']] = $label;
|
||||
}
|
||||
}
|
||||
|
@ -5889,13 +5894,6 @@ function reporting_custom_graph($report, $content, $type = 'dinamic',
|
|||
$height = 50;
|
||||
}
|
||||
}
|
||||
if (defined('METACONSOLE')) {
|
||||
$modules_new = array();
|
||||
foreach ($modules as $mod) {
|
||||
$modules_new[] = $mod['module'];
|
||||
}
|
||||
$modules = $modules_new;
|
||||
}
|
||||
|
||||
switch ($type) {
|
||||
case 'dinamic':
|
||||
|
@ -5934,14 +5932,9 @@ function reporting_custom_graph($report, $content, $type = 'dinamic',
|
|||
break;
|
||||
}
|
||||
|
||||
if ($type_report == 'automatic_graph') {
|
||||
// Do none
|
||||
}
|
||||
else {
|
||||
if ($config['metaconsole']) {
|
||||
if ($config['metaconsole'] && $type_report != 'automatic_graph') {
|
||||
metaconsole_restore_db();
|
||||
}
|
||||
}
|
||||
|
||||
return reporting_check_structure_content($return);
|
||||
}
|
||||
|
@ -10292,6 +10285,7 @@ function reporting_get_agentmodule_sla_working_timestamp ($period, $date_end, $w
|
|||
}
|
||||
|
||||
function reporting_label_macro ($item, $label) {
|
||||
|
||||
switch ($item['type']) {
|
||||
case 'event_report_agent':
|
||||
case 'alert_report_agent':
|
||||
|
@ -10317,7 +10311,6 @@ function reporting_label_macro ($item, $label) {
|
|||
$label = str_replace("_address_", $agent_name, $label);
|
||||
}
|
||||
break;
|
||||
case 'automatic_graph':
|
||||
case 'simple_graph':
|
||||
case 'module_histogram_graph':
|
||||
case 'custom_graph':
|
||||
|
@ -10337,6 +10330,7 @@ function reporting_label_macro ($item, $label) {
|
|||
case 'TTO':
|
||||
case 'MTBF':
|
||||
case 'MTTR':
|
||||
case 'automatic_graph':
|
||||
if (preg_match("/_agent_/", $label)) {
|
||||
$agent_name = agents_get_alias($item['id_agent']);
|
||||
$label = str_replace("_agent_", $agent_name, $label);
|
||||
|
|
|
@ -3780,6 +3780,7 @@ function reporting_get_event_histogram ($events, $text_header_event = false) {
|
|||
);
|
||||
}
|
||||
}
|
||||
|
||||
$table = new stdClass();
|
||||
if (!$text_header_event) {
|
||||
$table->width = '100%';
|
||||
|
@ -3839,6 +3840,157 @@ function reporting_get_event_histogram ($events, $text_header_event = false) {
|
|||
return $event_graph;
|
||||
}
|
||||
|
||||
function reporting_get_event_histogram_meta ($width) {
|
||||
global $config;
|
||||
if (!defined("METACONSOLE")) {
|
||||
include_once ($config['homedir'] .'/include/graphs/functions_gd.php');
|
||||
}
|
||||
else {
|
||||
include_once ('../../include/graphs/functions_gd.php');
|
||||
}
|
||||
|
||||
$period = SECONDS_1HOUR;
|
||||
|
||||
if (!$text_header_event) {
|
||||
$text_header_event = __('Events info (1hr.)');
|
||||
}
|
||||
|
||||
$ttl = 1;
|
||||
$urlImage = ui_get_full_url(false, true, false, false);
|
||||
|
||||
$data = array ();
|
||||
|
||||
$resolution = $config['graph_res'] * ($period * 2 / $width); // Number of "slices" we want in graph
|
||||
|
||||
$interval = (int) ($period / $resolution);
|
||||
$date = get_system_time ();
|
||||
$datelimit = $date - $period;
|
||||
$periodtime = floor ($period / $interval);
|
||||
$time = array ();
|
||||
$data = array ();
|
||||
$legend = array();
|
||||
$full_legend = array();
|
||||
$full_legend_date = array();
|
||||
|
||||
$colors = array(
|
||||
EVENT_CRIT_MAINTENANCE => COL_MAINTENANCE,
|
||||
EVENT_CRIT_INFORMATIONAL => COL_INFORMATIONAL,
|
||||
EVENT_CRIT_NORMAL => COL_NORMAL,
|
||||
EVENT_CRIT_MINOR => COL_MINOR,
|
||||
EVENT_CRIT_WARNING => COL_WARNING,
|
||||
EVENT_CRIT_MAJOR => COL_MAJOR,
|
||||
EVENT_CRIT_CRITICAL => COL_CRITICAL
|
||||
);
|
||||
|
||||
$cont = 0;
|
||||
for ($i = 0; $i < $interval; $i++) {
|
||||
$bottom = $datelimit + ($periodtime * $i);
|
||||
if (! $graphic_type) {
|
||||
if ($config['flash_charts']) {
|
||||
$name = date('H:i:s', $bottom);
|
||||
}
|
||||
else {
|
||||
$name = date('H\h', $bottom);
|
||||
}
|
||||
}
|
||||
else {
|
||||
$name = $bottom;
|
||||
}
|
||||
|
||||
// Show less values in legend
|
||||
if ($cont == 0 or $cont % 2)
|
||||
$legend[$cont] = $name;
|
||||
|
||||
if ($from_agent_view) {
|
||||
$full_date = date('Y/m/d', $bottom);
|
||||
$full_legend_date[$cont] = $full_date;
|
||||
}
|
||||
|
||||
$full_legend[$cont] = $name;
|
||||
|
||||
$top = $datelimit + ($periodtime * ($i + 1));
|
||||
$event = db_get_row_filter ('tmetaconsole_event',
|
||||
array (
|
||||
'utimestamp > '.$bottom,
|
||||
'utimestamp < '.$top),
|
||||
'criticity, utimestamp');
|
||||
|
||||
if (!empty($event['utimestamp'])) {
|
||||
$data[$cont]['utimestamp'] = $periodtime;
|
||||
switch ($event['criticity']) {
|
||||
case 0:
|
||||
$data[$cont]['data'] = EVENT_CRIT_MAINTENANCE;
|
||||
break;
|
||||
case 1:
|
||||
$data[$cont]['data'] = EVENT_CRIT_INFORMATIONAL;
|
||||
break;
|
||||
case 2:
|
||||
$data[$cont]['data'] = EVENT_CRIT_NORMAL;
|
||||
break;
|
||||
case 3:
|
||||
$data[$cont]['data'] = EVENT_CRIT_WARNING;
|
||||
break;
|
||||
case 4:
|
||||
$data[$cont]['data'] = EVENT_CRIT_CRITICAL;
|
||||
break;
|
||||
case 5:
|
||||
$data[$cont]['data'] = EVENT_CRIT_MINOR;
|
||||
break;
|
||||
case 6:
|
||||
$data[$cont]['data'] = EVENT_CRIT_MAJOR;
|
||||
break;
|
||||
case 20:
|
||||
$data[$cont]['data'] = EVENT_CRIT_NOT_NORMAL;
|
||||
break;
|
||||
case 34:
|
||||
$data[$cont]['data'] = EVENT_CRIT_WARNING_OR_CRITICAL;
|
||||
break;
|
||||
default:
|
||||
$data[$cont]['data'] = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$data[$cont]['utimestamp'] = $periodtime;
|
||||
$data[$cont]['data'] = 1;
|
||||
}
|
||||
$cont++;
|
||||
}
|
||||
|
||||
$table = new stdClass();
|
||||
|
||||
$table->width = '100%';
|
||||
|
||||
$table->data = array ();
|
||||
$table->size = array ();
|
||||
$table->head = array ();
|
||||
$table->title = '<span>' . $text_header_event . '</span>';
|
||||
$table->data[0][0] = "" ;
|
||||
|
||||
if (!empty($data)) {
|
||||
$slicebar = flot_slicesbar_graph($data, $period, "100%", 30, $full_legend, $colors, $config['fontpath'], $config['round_corner'], $url, '', '', false, 0, $full_legend_date);
|
||||
|
||||
$table->data[0][0] = $slicebar;
|
||||
}
|
||||
else {
|
||||
$table->data[0][0] = __('No events');
|
||||
}
|
||||
|
||||
if (!$text_header_event) {
|
||||
$event_graph = '<fieldset class="databox tactical_set">
|
||||
<legend>' .
|
||||
$text_header_event .
|
||||
'</legend>' .
|
||||
html_print_table($table, true) . '</fieldset>';
|
||||
}
|
||||
else {
|
||||
$table->class = 'noclass';
|
||||
$event_graph = html_print_table($table, true);
|
||||
}
|
||||
|
||||
return $event_graph;
|
||||
}
|
||||
|
||||
function reporting_html_planned_downtimes_table ($planned_downtimes) {
|
||||
global $config;
|
||||
|
||||
|
|
|
@ -138,7 +138,7 @@ function snmp_browser_print_tree ($tree, $id = 0, $depth = 0, $last = 0, $last_a
|
|||
*
|
||||
* @return array The SNMP tree.
|
||||
*/
|
||||
function snmp_browser_get_tree ($target_ip, $community, $starting_oid = '.', $version = '2c', $snmp3_auth_user = '', $snmp3_security_level = '', $snmp3_auth_method = '', $snmp3_auth_pass = '', $snmp3_privacy_method = '', $snmp3_privacy_pass = '') {
|
||||
function snmp_browser_get_tree ($target_ip, $community, $starting_oid = '.', $version = '2c', $snmp3_auth_user = '', $snmp3_security_level = '', $snmp3_auth_method = '', $snmp3_auth_pass = '', $snmp3_privacy_method = '', $snmp3_privacy_pass = '', $server_to_exec = 0) {
|
||||
global $config;
|
||||
|
||||
if ($target_ip == '') {
|
||||
|
@ -174,6 +174,33 @@ function snmp_browser_get_tree ($target_ip, $community, $starting_oid = '.', $ve
|
|||
break;
|
||||
}
|
||||
|
||||
if ($server_to_exec != 0) {
|
||||
$sql = sprintf("SELECT ip_address FROM tserver WHERE id_server = %d", $server_to_exec);
|
||||
$server_data = db_get_row_sql($sql);
|
||||
|
||||
if (enterprise_installed()) {
|
||||
enterprise_include_once ('include/functions_satellite.php');
|
||||
|
||||
$oid_tree = array('__LEAVES__' => array());
|
||||
if ($version == "3") {
|
||||
switch ($snmp3_security_level) {
|
||||
case "authPriv":
|
||||
$command = $snmpwalk_bin . " -m ALL -v 3 -u " . escapeshellarg($snmp3_auth_user) . " -A " . escapeshellarg($snmp3_auth_pass) . " -l " . escapeshellarg($snmp3_security_level) . " -a " . escapeshellarg($snmp3_auth_method) . " -x " . escapeshellarg($snmp3_privacy_method) . " -X " . escapeshellarg($snmp3_privacy_pass) . " " . escapeshellarg($target_ip) . " " . escapeshellarg($starting_oid) . " 2> " . $error_redir_dir;
|
||||
break;
|
||||
case "authNoPriv":
|
||||
$command = $snmpwalk_bin . " -m ALL -v 3 -u " . escapeshellarg($snmp3_auth_user) . " -A " . escapeshellarg($snmp3_auth_pass) . " -l " . escapeshellarg($snmp3_security_level) . " -a " . escapeshellarg($snmp3_auth_method) . " " . escapeshellarg($target_ip) . " " . escapeshellarg($starting_oid) . " 2> " . $error_redir_dir;
|
||||
break;
|
||||
case "noAuthNoPriv":
|
||||
$command = $snmpwalk_bin . " -m ALL -v 3 -u " . escapeshellarg($snmp3_auth_user) . " -l " . escapeshellarg($snmp3_security_level) . " " . escapeshellarg($target_ip) . ' ' . escapeshellarg($starting_oid) . " 2> " . $error_redir_dir;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$command = $snmpwalk_bin . " -m ALL -M +" . escapeshellarg($config['homedir'] . "/attachment/mibs") . " -Cc -c " . escapeshellarg($community) . " -v " . escapeshellarg($version) . " " . escapeshellarg($target_ip) . " " . escapeshellarg($starting_oid) . " 2> " . $error_redir_dir;
|
||||
}
|
||||
exec("ssh pandora_exec_proxy@" . $server_data['ip_address'] . " \"" . $command . "\"", $output, $rc);
|
||||
}
|
||||
else {
|
||||
$oid_tree = array('__LEAVES__' => array());
|
||||
if ($version == "3") {
|
||||
switch ($snmp3_security_level) {
|
||||
|
@ -191,9 +218,28 @@ function snmp_browser_get_tree ($target_ip, $community, $starting_oid = '.', $ve
|
|||
else {
|
||||
exec ($snmpwalk_bin . ' -m ALL -M +' . escapeshellarg($config['homedir'] . '/attachment/mibs') . ' -Cc -c ' . escapeshellarg($community) . ' -v ' . escapeshellarg($version) . ' ' . escapeshellarg($target_ip) . ' ' . escapeshellarg($starting_oid) . ' 2> ' . $error_redir_dir, $output, $rc);
|
||||
}
|
||||
//if ($rc != 0) {
|
||||
// return __('No data');
|
||||
//}
|
||||
}
|
||||
}
|
||||
else {
|
||||
$oid_tree = array('__LEAVES__' => array());
|
||||
if ($version == "3") {
|
||||
switch ($snmp3_security_level) {
|
||||
case "authPriv":
|
||||
exec ($snmpwalk_bin . ' -m ALL -v 3 -u ' . escapeshellarg($snmp3_auth_user) . ' -A ' . escapeshellarg($snmp3_auth_pass) . ' -l ' . escapeshellarg($snmp3_security_level) . ' -a ' . escapeshellarg($snmp3_auth_method) . ' -x ' . escapeshellarg($snmp3_privacy_method) . ' -X ' . escapeshellarg($snmp3_privacy_pass) . ' ' . escapeshellarg($target_ip) . ' ' . escapeshellarg($starting_oid) . ' 2> ' . $error_redir_dir, $output, $rc);
|
||||
break;
|
||||
case "authNoPriv":
|
||||
exec ($snmpwalk_bin . ' -m ALL -v 3 -u ' . escapeshellarg($snmp3_auth_user) . ' -A ' . escapeshellarg($snmp3_auth_pass) . ' -l ' . escapeshellarg($snmp3_security_level) . ' -a ' . escapeshellarg($snmp3_auth_method) . ' ' . escapeshellarg($target_ip) . ' ' . escapeshellarg($starting_oid) . ' 2> ' . $error_redir_dir, $output, $rc);
|
||||
break;
|
||||
case "noAuthNoPriv":
|
||||
exec ($snmpwalk_bin . ' -m ALL -v 3 -u ' . escapeshellarg($snmp3_auth_user) . ' -l ' . escapeshellarg($snmp3_security_level) . ' ' . escapeshellarg($target_ip) . ' ' . escapeshellarg($starting_oid) . ' 2> ' . $error_redir_dir, $output, $rc);
|
||||
break;
|
||||
}
|
||||
}
|
||||
else {
|
||||
exec ($snmpwalk_bin . ' -m ALL -M +' . escapeshellarg($config['homedir'] . '/attachment/mibs') . ' -Cc -c ' . escapeshellarg($community) . ' -v ' . escapeshellarg($version) . ' ' . escapeshellarg($target_ip) . ' ' . escapeshellarg($starting_oid) . ' 2> ' . $error_redir_dir, $output, $rc);
|
||||
}
|
||||
}
|
||||
html_debug($output, true);
|
||||
foreach ($output as $line) {
|
||||
|
||||
// Separate the OID from the value
|
||||
|
@ -518,7 +564,21 @@ function snmp_browser_print_container ($return = false, $width = '100%', $height
|
|||
'3' => 'v. 3'),
|
||||
'snmp_browser_version', '', 'checkSNMPVersion();', '', '', true, false, false, '');
|
||||
|
||||
$table->data[0][4] = html_print_button(__('Browse'), 'browse', false, 'snmpBrowse()', 'class="sub search" style="margin-top:0px;"', true);
|
||||
$servers_to_exec = array();
|
||||
$servers_to_exec[0] = __('Local console');
|
||||
|
||||
if (enterprise_installed()) {
|
||||
enterprise_include_once ('include/functions_satellite.php');
|
||||
|
||||
$rows = get_proxy_servers();
|
||||
foreach ($rows as $row) {
|
||||
$servers_to_exec[$row['id_server']] = $row['name'];
|
||||
}
|
||||
}
|
||||
$table->data[0][4] = '<strong>' . __('Server to execute') . '</strong> ';
|
||||
$table->data[0][4] .= html_print_select($servers_to_exec, 'server_to_exec', '', '', '', '', true);
|
||||
|
||||
$table->data[0][5] = html_print_button(__('Browse'), 'browse', false, 'snmpBrowse()', 'class="sub search" style="margin-top:0px;"', true);
|
||||
|
||||
// SNMP v3 options
|
||||
$table3 = new stdClass();
|
||||
|
|
|
@ -660,6 +660,28 @@ function ui_print_os_icon ($id_os, $name = true, $return = false,
|
|||
return $output;
|
||||
}
|
||||
|
||||
function ui_print_type_agent_icon ( $id_os = false, $remote_contact = false, $contact = false,
|
||||
$return = false, $remote = 0, $version = ""){
|
||||
|
||||
if($id_os == 19){
|
||||
//Satellite
|
||||
$options['title'] = __('Satellite');
|
||||
$output = html_print_image("images/op_satellite.png", true, $options, false, false, false, true);
|
||||
}
|
||||
else if ($remote_contact == $contact && $remote == 0 && $version == ""){
|
||||
//Network
|
||||
$options['title'] = __('Network');
|
||||
$output = html_print_image("images/network.png", true, $options, false, false, false, true);
|
||||
}
|
||||
else{
|
||||
//Software
|
||||
$options['title'] = __('Software');
|
||||
$output = html_print_image("images/data.png", true, $options, false, false, false, true);
|
||||
}
|
||||
|
||||
return $output;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prints an agent name with the correct link
|
||||
*
|
||||
|
|
|
@ -624,8 +624,8 @@ function update_manager_extract_package() {
|
|||
|
||||
$extracted = false;
|
||||
|
||||
// Phar and exception working fine in 5.5.0 or higher
|
||||
if (PHP_VERSION_ID >= 50505) {
|
||||
// Phar and exception working fine in 5.6.0 or higher
|
||||
if (PHP_VERSION_ID >= 50600) {
|
||||
$phar = new PharData($path_package);
|
||||
try {
|
||||
$result = $phar->extractTo($config['attachment_store'] . "/downloads/",null, true);
|
||||
|
|
|
@ -115,8 +115,6 @@ function visual_map_print_item($mode = "read", $layoutData,
|
|||
$borderStyle = '';
|
||||
$imageSize = '';
|
||||
|
||||
|
||||
|
||||
if (!empty($proportion)) {
|
||||
$top = $top * $proportion['proportion_height'];
|
||||
$left = $left * $proportion['proportion_width'];
|
||||
|
@ -156,6 +154,7 @@ function visual_map_print_item($mode = "read", $layoutData,
|
|||
$wimg ='70';
|
||||
break;
|
||||
case 3:
|
||||
case 14:
|
||||
if (get_parameter('action') == 'edit') {
|
||||
$himg = '30';
|
||||
$wimg = '150';
|
||||
|
@ -201,7 +200,7 @@ function visual_map_print_item($mode = "read", $layoutData,
|
|||
$text = '<table style="float:right;height:'.$himg.'px;"><tr><td></td></tr><tr><td><span style="" id="text_' . $id . '" class="text">' . $label .'</span></td></tr><tr><td></td></tr></table>';
|
||||
}
|
||||
else {
|
||||
$text = '<table style="width:'.$wimg.'px;"><tr><td></td></tr><tr><td><span style="" id="text_' . $id . '" class="text">' . $label .'</span></td></tr><tr><td></td></tr></table>';
|
||||
$text = '<table style="text-align:center ;width:'.$wimg.'px;"><tr><td></td></tr><tr><td><span style="" id="text_' . $id . '" class="text">' . $label .'</span></td></tr><tr><td></td></tr></table>';
|
||||
}
|
||||
|
||||
|
||||
|
@ -376,6 +375,9 @@ function visual_map_print_item($mode = "read", $layoutData,
|
|||
$link = true;
|
||||
}
|
||||
|
||||
break;
|
||||
case AUTO_SLA_GRAPH:
|
||||
$link = true;
|
||||
break;
|
||||
default:
|
||||
if (!empty($element_enterprise)) {
|
||||
|
@ -391,7 +393,6 @@ function visual_map_print_item($mode = "read", $layoutData,
|
|||
$is_a_service = false;
|
||||
$is_a_link_to_other_visualconsole = false;
|
||||
|
||||
|
||||
if (enterprise_installed()) {
|
||||
$id_service = services_service_from_module
|
||||
($layoutData['id_agente_modulo']);
|
||||
|
@ -404,9 +405,6 @@ function visual_map_print_item($mode = "read", $layoutData,
|
|||
$is_a_link_to_other_visualconsole = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if ($is_a_service) {
|
||||
if (empty($layoutData['id_metaconsole'])) {
|
||||
$url = $config['homeurl'] .
|
||||
|
@ -458,6 +456,36 @@ function visual_map_print_item($mode = "read", $layoutData,
|
|||
}
|
||||
|
||||
|
||||
break;
|
||||
case AUTO_SLA_GRAPH:
|
||||
$e_period = $layoutData['period'];
|
||||
$date = get_system_time ();
|
||||
$datelimit = $date - $e_period;
|
||||
|
||||
$time_format = "Y/m/d H:i:s";
|
||||
|
||||
$timestamp_init = date($time_format, $datelimit);
|
||||
$timestamp_end = date($time_format, $date);
|
||||
|
||||
$timestamp_init_aux = explode(" ", $timestamp_init);
|
||||
$timestamp_end_aux = explode(" ", $timestamp_end);
|
||||
|
||||
$date_from = $timestamp_init_aux[0];
|
||||
$time_from = $timestamp_init_aux[1];
|
||||
|
||||
$date_to = $timestamp_end_aux[0];
|
||||
$time_to = $timestamp_end_aux[1];
|
||||
|
||||
if (empty($layout_data['id_metaconsole'])) {
|
||||
$url = $config['homeurl'] . "index.php?sec=eventos&sec2=operation/events/events&id_agent=" . $layoutData['id_agent'] .
|
||||
"&module_search_hidden=" . $layoutData['id_agente_modulo'] . "&date_from=" . $date_from . "&time_from=" . $time_from .
|
||||
"&date_to=" . $date_to . "&time_to=" . $time_to . "&status=-1";
|
||||
}
|
||||
else {
|
||||
$url = "index.php?sec=eventos&sec2=operation/events/events&id_agent=" . $layoutData['id_agent'] .
|
||||
"&module_search_hidden=" . $layoutData['id_agente_modulo'] . "&date_from=" . $date_from . "&time_from=" . $time_from .
|
||||
"&date_to=" . $date_to . "&time_to=" . $time_to . "&status=-1";
|
||||
}
|
||||
break;
|
||||
case GROUP_ITEM:
|
||||
$is_a_link_to_other_visualconsole = false;
|
||||
|
@ -1037,8 +1065,6 @@ function visual_map_print_item($mode = "read", $layoutData,
|
|||
metaconsole_restore_db();
|
||||
}
|
||||
|
||||
//$img = str_replace('>', 'class="image" id="image_' . $id . '" />', $img);
|
||||
|
||||
break;
|
||||
case LABEL:
|
||||
$z_index = 4 + 1;
|
||||
|
@ -1046,6 +1072,61 @@ function visual_map_print_item($mode = "read", $layoutData,
|
|||
case BOX_ITEM:
|
||||
$z_index = 1;
|
||||
break;
|
||||
case AUTO_SLA_GRAPH:
|
||||
if ((get_parameter('action') == 'edit') || (get_parameter('operation') == 'edit_visualmap')) {
|
||||
if($width == 0 || $height == 0){
|
||||
if ($layoutData['id_metaconsole'] != 0) {
|
||||
$img = '<img src="../../images/console/signes/module-events.png">';
|
||||
}
|
||||
else{
|
||||
$img = '<img src="images/console/signes/module-events.png">';
|
||||
}
|
||||
}
|
||||
else{
|
||||
if ($layoutData['id_metaconsole'] != 0) {
|
||||
$img = '<img src="../../images/console/signes/module-events.png" style="width:'.$width.'px;height:'. $height.'px;">';
|
||||
}
|
||||
else{
|
||||
$img = '<img src="images/console/signes/module-events.png" style="width:'.$width.'px;height:'. $height.'px;">';
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if ($width == 0 || $height == 0) {
|
||||
if ($layoutData['label_position']=='left') {
|
||||
$img = '<div style="float:left;height:'.$himg.'px;">' .
|
||||
$img = graph_graphic_moduleevents ($layoutData['id_agent'], $layoutData['id_agente_modulo'], 500, 50, $layoutData['period'], '', true);
|
||||
}
|
||||
elseif ($layoutData['label_position']=='right') {
|
||||
$img = '<div style="float:right;height:'.$himg.'px;">' .
|
||||
$img = graph_graphic_moduleevents ($layoutData['id_agent'], $layoutData['id_agente_modulo'], 500, 50, $layoutData['period'], '', true);
|
||||
}
|
||||
else {
|
||||
$img = graph_graphic_moduleevents ($layoutData['id_agent'], $layoutData['id_agente_modulo'], 500, 50, $layoutData['period'], '', true);
|
||||
}
|
||||
}
|
||||
else{
|
||||
if ($layoutData['label_position']=='left') {
|
||||
$img = '<div style="float:left;height:'.$himg.'px;">' .
|
||||
$img = graph_graphic_moduleevents ($layoutData['id_agent'], $layoutData['id_agente_modulo'], $width, $height, $layoutData['period'], '', true);
|
||||
}
|
||||
elseif ($layoutData['label_position']=='right') {
|
||||
$img = '<div style="float:right;height:'.$himg.'px;">' .
|
||||
$img = graph_graphic_moduleevents ($layoutData['id_agent'], $layoutData['id_agente_modulo'], $width, $height, $layoutData['period'], '', true);
|
||||
}
|
||||
else {
|
||||
$img = graph_graphic_moduleevents ($layoutData['id_agent'], $layoutData['id_agente_modulo'], $width, $height, $layoutData['period'], '', true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Restore db connection
|
||||
if ($layoutData['id_metaconsole'] != 0) {
|
||||
metaconsole_restore_db();
|
||||
}
|
||||
|
||||
$z_index = 2 + 1;
|
||||
break;
|
||||
}
|
||||
|
||||
$class = "item ";
|
||||
|
@ -1053,6 +1134,9 @@ function visual_map_print_item($mode = "read", $layoutData,
|
|||
case STATIC_GRAPH:
|
||||
$class .= "static_graph";
|
||||
break;
|
||||
case AUTO_SLA_GRAPH:
|
||||
$class .= "auto_sla_graph";
|
||||
break;
|
||||
case GROUP_ITEM:
|
||||
$class .= "group_item";
|
||||
break;
|
||||
|
@ -1379,6 +1463,20 @@ function visual_map_print_item($mode = "read", $layoutData,
|
|||
|
||||
echo $img;
|
||||
|
||||
if ($layoutData['label_position']=='down') {
|
||||
echo io_safe_output($text);
|
||||
}
|
||||
elseif($layoutData['label_position']=='left' || $layoutData['label_position']=='right') {
|
||||
echo io_safe_output($text);
|
||||
}
|
||||
break;
|
||||
case AUTO_SLA_GRAPH:
|
||||
if ($layoutData['label_position']=='up') {
|
||||
echo io_safe_output($text);
|
||||
}
|
||||
|
||||
echo $img;
|
||||
|
||||
if ($layoutData['label_position']=='down') {
|
||||
echo io_safe_output($text);
|
||||
}
|
||||
|
@ -1433,32 +1531,24 @@ function visual_map_print_item($mode = "read", $layoutData,
|
|||
}
|
||||
}
|
||||
|
||||
//$io_safe_output_text = str_replace(array('_VALUE_','_value_'), $value, $io_safe_output_text);
|
||||
|
||||
|
||||
|
||||
if(get_parameter('action') == 'edit'){
|
||||
//html_debug($layoutData);
|
||||
//echo 'Data value';
|
||||
if(strip_tags($io_safe_output_text) != '_VALUE_'){
|
||||
if( (strip_tags($io_safe_output_text) != '_VALUE_') || (strip_tags($io_safe_output_text) != '(_VALUE_)') ) {
|
||||
echo $io_safe_output_text;
|
||||
}
|
||||
else {
|
||||
echo "<img style='width:".$layoutData['width']."px;' src='images/console/signes/data_image.png'>";
|
||||
}
|
||||
|
||||
} else {
|
||||
if(strrpos(strip_tags($io_safe_output_text),'(_VALUE_)') !== false || (strip_tags($io_safe_output_text) == '(_VALUE_)')) {
|
||||
echo str_replace(array("(_VALUE_)","(_value_)"), $value, $io_safe_output_text);
|
||||
}
|
||||
else{
|
||||
if(strip_tags($io_safe_output_text) != '_VALUE_'){
|
||||
elseif(strrpos(strip_tags($io_safe_output_text),'_VALUE_') !== false || (strip_tags($io_safe_output_text) == '_VALUE_')) {
|
||||
echo str_replace(array('_VALUE_','_value_'), $value, $io_safe_output_text);
|
||||
}
|
||||
else{
|
||||
} else {
|
||||
echo str_replace('>', ' style="width:'.$layoutData['width'].'px">',$value);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
//Restore db connection
|
||||
if ($layoutData['id_metaconsole'] != 0) {
|
||||
metaconsole_restore_db();
|
||||
|
@ -1583,8 +1673,6 @@ function visual_map_get_simple_value_type($process_simple_value) {
|
|||
function visual_map_get_simple_value($type, $id_module, $period = SECONDS_1DAY) {
|
||||
global $config;
|
||||
|
||||
|
||||
|
||||
$unit_text = db_get_sql ('SELECT unit
|
||||
FROM tagente_modulo WHERE id_agente_modulo = ' . $id_module);
|
||||
$unit_text = trim(io_safe_output($unit_text));
|
||||
|
@ -1593,8 +1681,6 @@ function visual_map_get_simple_value($type, $id_module, $period = SECONDS_1DAY)
|
|||
case SIMPLE_VALUE:
|
||||
$value = db_get_value ('datos', 'tagente_estado',
|
||||
'id_agente_modulo', $id_module);
|
||||
|
||||
|
||||
if ($value === false) {
|
||||
$value = __('Unknown');
|
||||
|
||||
|
@ -2559,6 +2645,8 @@ function visual_map_print_visual_map ($id_layout, $show_links = true,
|
|||
'proportion_width' => $proportion_width);
|
||||
}
|
||||
|
||||
$layout_data['label'] = visual_map_macro($layout_data['label']);
|
||||
|
||||
switch ($layout_data['type']) {
|
||||
case LINE_ITEM:
|
||||
visual_map_print_user_lines($layout_data, $proportion);
|
||||
|
@ -2768,6 +2856,10 @@ function visual_map_create_internal_name_item($label = null, $type, $image, $age
|
|||
case MODULE_GRAPH:
|
||||
$text = __('Module graph');
|
||||
break;
|
||||
case 'auto_sla_graph':
|
||||
case AUTO_SLA_GRAPH:
|
||||
$text = __('Auto SLA Graph');
|
||||
break;
|
||||
case 'percentile_bar':
|
||||
case PERCENTILE_BAR:
|
||||
$text = __('Percentile bar');
|
||||
|
@ -2879,6 +2971,9 @@ function visual_map_type_in_js($type) {
|
|||
case MODULE_GRAPH:
|
||||
return 'module_graph';
|
||||
break;
|
||||
case AUTO_SLA_GRAPH:
|
||||
return 'auto_sla_graph';
|
||||
break;
|
||||
case SIMPLE_VALUE:
|
||||
return 'simple_value';
|
||||
break;
|
||||
|
@ -2915,4 +3010,10 @@ function visual_map_type_in_js($type) {
|
|||
}
|
||||
}
|
||||
|
||||
function visual_map_macro($label){
|
||||
$label = str_replace('_date_',strftime("%x"),$label);
|
||||
$label = str_replace('_time_',strftime("%T"),$label);
|
||||
return $label;
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
@ -54,6 +54,7 @@ function visual_map_editor_print_item_palette($visualConsole_id, $background) {
|
|||
'static_graph' => __('Static Graph'),
|
||||
'percentile_item' => __('Percentile Item'),
|
||||
'module_graph' => __('Graph'),
|
||||
'auto_sla_graph' => __('Auto SLA Graph'),
|
||||
'simple_value' => __('Simple value') . ui_print_help_tip(__("To use 'label'field, you should write
|
||||
a text to replace '(_VALUE_)' and the value of the module will be printed at the end."), true),
|
||||
'label' => __('Label'),
|
||||
|
@ -153,7 +154,6 @@ function visual_map_editor_print_item_palette($visualConsole_id, $background) {
|
|||
html_print_input_text('height_module_graph', 180, '', 3, 5, true) .
|
||||
'</td>';
|
||||
|
||||
|
||||
$form_items['label_row'] = array();
|
||||
$form_items['label_row']['items'] = array('label',
|
||||
'static_graph',
|
||||
|
@ -162,7 +162,8 @@ function visual_map_editor_print_item_palette($visualConsole_id, $background) {
|
|||
'module_graph',
|
||||
'simple_value',
|
||||
'datos',
|
||||
'group_item');
|
||||
'group_item',
|
||||
'auto_sla_graph');
|
||||
$form_items['label_row']['html'] =
|
||||
'<td align="left" valign="top" style="">' . __('Label') . '
|
||||
|
||||
|
@ -276,7 +277,7 @@ function visual_map_editor_print_item_palette($visualConsole_id, $background) {
|
|||
$form_items['agent_row'] = array();
|
||||
$form_items['agent_row']['items'] = array('static_graph',
|
||||
'percentile_bar', 'percentile_item', 'module_graph',
|
||||
'simple_value', 'datos');
|
||||
'simple_value', 'datos', 'auto_sla_graph');
|
||||
$form_items['agent_row']['html'] = '<td align="left">' .
|
||||
__('Agent') . '</td>';
|
||||
$params = array();
|
||||
|
@ -306,17 +307,27 @@ function visual_map_editor_print_item_palette($visualConsole_id, $background) {
|
|||
ui_print_agent_autocomplete_input($params) .
|
||||
'</td>';
|
||||
|
||||
|
||||
$form_items['module_row'] = array();
|
||||
$form_items['module_row']['items'] = array('static_graph',
|
||||
'percentile_bar', 'percentile_item', 'module_graph',
|
||||
'simple_value', 'datos');
|
||||
'simple_value', 'datos', 'auto_sla_graph');
|
||||
$form_items['module_row']['html'] = '<td align="left">' .
|
||||
__('Module') . '</td>
|
||||
<td align="left">' .
|
||||
html_print_select(array(), 'module', '', '', __('Any'), 0, true). '<div id="data_image_container" style="display:none;"><span id="data_image_check_label" style="margin-left:20px;">'.__("Data image").': </span><span id="data_image_check">Off</span><span id="data_image_width_label"> - Width: </span><input style="margin-left:5px;width:40px;" type="number" id="data_image_width" value="100"></input></div>
|
||||
html_print_select(array(), 'module', '', '', __('Any'), 0, true) . '<div id="data_image_container" style="display:none;"><span id="data_image_check_label" style="margin-left:20px;">'.__("Data image").': </span><span id="data_image_check">Off</span><span id="data_image_width_label"> - Width: </span><input style="margin-left:5px;width:40px;" type="number" min="0" id="data_image_width" value="100"></input></div>
|
||||
</td>';
|
||||
|
||||
$event_times = array(86400 => __('24h'),
|
||||
28800 => __('8h'),
|
||||
7200 => __('2h'),
|
||||
3600 => __('1h'),);
|
||||
$form_items['event_max_time_row'] = array();
|
||||
$form_items['event_max_time_row']['items'] = array('auto_sla_graph');
|
||||
$form_items['event_max_time_row']['html'] = '<td align="left">' .
|
||||
__('Max. Time') . '</td>
|
||||
<td align="left">' .
|
||||
html_print_select($event_times, 'event_max_time_row', '', '', 0, 86400, true, false, false) .
|
||||
'</td>';
|
||||
|
||||
$form_items['type_graph'] = array();
|
||||
$form_items['type_graph']['items'] = array(
|
||||
|
@ -499,7 +510,8 @@ function visual_map_editor_print_item_palette($visualConsole_id, $background) {
|
|||
$form_items_advance['position_row'] = array();
|
||||
$form_items_advance['position_row']['items'] = array('static_graph',
|
||||
'percentile_bar', 'percentile_item', 'module_graph',
|
||||
'simple_value', 'label', 'icon', 'datos', 'box_item');
|
||||
'simple_value', 'label', 'icon', 'datos', 'box_item',
|
||||
'auto_sla_graph');
|
||||
$form_items_advance['position_row']['html'] = '
|
||||
<td align="left">' . __('Position') . '</td>
|
||||
<td align="left">(' . html_print_input_text('left', '0', '', 3, 5, true) .
|
||||
|
@ -510,7 +522,8 @@ function visual_map_editor_print_item_palette($visualConsole_id, $background) {
|
|||
$form_items_advance['size_row'] = array();
|
||||
$form_items_advance['size_row']['items'] = array(
|
||||
'group_item', 'background',
|
||||
'static_graph', 'icon datos');
|
||||
'static_graph', 'icon datos',
|
||||
'auto_sla_graph');
|
||||
$form_items_advance['size_row']['html'] = '<td align="left">' .
|
||||
__('Size') .
|
||||
ui_print_help_tip (
|
||||
|
@ -527,7 +540,7 @@ function visual_map_editor_print_item_palette($visualConsole_id, $background) {
|
|||
$form_items_advance['parent_row']['items'] = array(
|
||||
'group_item', 'static_graph',
|
||||
'percentile_bar', 'percentile_item', 'module_graph',
|
||||
'simple_value', 'label', 'icon', 'datos');
|
||||
'simple_value', 'label', 'icon', 'datos', 'auto_sla_graph');
|
||||
$form_items_advance['parent_row']['html'] = '<td align="left">' .
|
||||
__('Parent') . '</td>
|
||||
<td align="left">' .
|
||||
|
@ -654,6 +667,7 @@ function visual_map_editor_print_toolbox() {
|
|||
visual_map_print_button_editor('static_graph', __('Static Graph'), 'left', false, 'camera_min', true);
|
||||
visual_map_print_button_editor('percentile_item', __('Percentile Item'), 'left', false, 'percentile_item_min', true);
|
||||
visual_map_print_button_editor('module_graph', __('Module Graph'), 'left', false, 'graph_min', true);
|
||||
visual_map_print_button_editor('auto_sla_graph', __('Auto SLA Graph'), 'left', false, 'auto_sla_graph_min', true);
|
||||
visual_map_print_button_editor('simple_value', __('Simple Value'), 'left', false, 'binary_min', true);
|
||||
visual_map_print_button_editor('label', __('Label'), 'left', false, 'label_min', true);
|
||||
visual_map_print_button_editor('icon', __('Icon'), 'left', false, 'icon_min', true);
|
||||
|
@ -672,7 +686,6 @@ function visual_map_editor_print_toolbox() {
|
|||
|
||||
$text_autosave = html_print_input_hidden ('auto_save', true, true);
|
||||
visual_map_print_item_toolbox('auto_save', $text_autosave, 'right');
|
||||
//visual_map_print_button_editor('save_visualmap', __('Save'), 'right', true, 'save_min', true);
|
||||
visual_map_print_button_editor('show_grid', __('Show grid'), 'right', true, 'grid_min', true);
|
||||
visual_map_print_button_editor('edit_item', __('Update item'), 'right', true, 'config_min', true);
|
||||
visual_map_print_button_editor('delete_item', __('Delete item'), 'right', true, 'delete_min', true);
|
||||
|
|
|
@ -34,9 +34,6 @@
|
|||
}
|
||||
if (dataObjects.length > 1) {
|
||||
dataObjects.forEach(function (element) {
|
||||
if (/^Avg.:/i.test(element.label))
|
||||
result = element;
|
||||
if (/^Percentil/i.test(element.label))
|
||||
result = element;
|
||||
});
|
||||
|
||||
|
@ -88,7 +85,10 @@
|
|||
else if (typeof labels[index] !== 'undefined')
|
||||
date = labels[index];
|
||||
|
||||
result.data.push([date, value,dataObject.label]);
|
||||
var clean_label = dataObject.label;
|
||||
clean_label = clean_label.replace( new RegExp("<.*?>", "g"), "");
|
||||
clean_label = clean_label.replace( new RegExp(";", "g"), "");
|
||||
result.data.push([date, value, clean_label]);
|
||||
});
|
||||
}
|
||||
/* [
|
||||
|
@ -139,7 +139,7 @@
|
|||
|
||||
try {
|
||||
var elements = [];
|
||||
var custom_graph = $('input:hidden[name=custom_graph]').value;
|
||||
var custom_graph = $('#hidden-custom_graph').val();
|
||||
|
||||
if (custom_graph) {
|
||||
dataObject = retrieveDataOject(dataObjects);
|
||||
|
|
|
@ -608,12 +608,15 @@ function pandoraFlotVBars(graph_id, values, labels, labels_long, legend, colors,
|
|||
}
|
||||
}
|
||||
|
||||
function pandoraFlotSlicebar(graph_id, values, datacolor, labels, legend, acumulate_data, intervaltick, water_mark, maxvalue, separator, separator2, graph_javascript, id_agent) {
|
||||
function pandoraFlotSlicebar(graph_id, values, datacolor, labels, legend, acumulate_data, intervaltick, water_mark, maxvalue, separator, separator2, graph_javascript, id_agent, full_legend) {
|
||||
values = values.split(separator2);
|
||||
labels = labels.split(separator);
|
||||
legend = legend.split(separator);
|
||||
acumulate_data = acumulate_data.split(separator);
|
||||
datacolor = datacolor.split(separator);
|
||||
if (full_legend != false) {
|
||||
full_legend = full_legend.split(separator);
|
||||
}
|
||||
|
||||
// Check possible adapt_keys on classes
|
||||
check_adaptions(graph_id);
|
||||
|
@ -635,6 +638,10 @@ function pandoraFlotSlicebar(graph_id, values, datacolor, labels, legend, acumul
|
|||
|
||||
var stack = 0, bars = true, lines = false, steps = false;
|
||||
|
||||
var regex = /visual_console/;
|
||||
var match = regex.exec(window.location.href);
|
||||
|
||||
if (match == null) {
|
||||
var options = {
|
||||
series: {
|
||||
stack: stack,
|
||||
|
@ -662,9 +669,40 @@ function pandoraFlotSlicebar(graph_id, values, datacolor, labels, legend, acumul
|
|||
show: false
|
||||
}
|
||||
};
|
||||
}
|
||||
else {
|
||||
var options = {
|
||||
series: {
|
||||
stack: stack,
|
||||
shadowSize: 0.1,
|
||||
color: '#ddd'
|
||||
},
|
||||
grid: {
|
||||
hoverable: false,
|
||||
clickable: false,
|
||||
borderWidth:1,
|
||||
borderColor: '',
|
||||
tickColor: '#fff'
|
||||
},
|
||||
xaxes: [ {
|
||||
tickFormatter: xFormatter,
|
||||
color: '',
|
||||
tickSize: intervaltick,
|
||||
tickLength: 0
|
||||
} ],
|
||||
yaxes: [ {
|
||||
show: false,
|
||||
tickLength: 0
|
||||
}],
|
||||
legend: {
|
||||
show: false
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
var plot = $.plot($('#'+graph_id), datas, options );
|
||||
|
||||
if (match == null) {
|
||||
// Events
|
||||
$('#'+graph_id).bind('plothover', function (event, pos, item) {
|
||||
if (item) {
|
||||
|
@ -692,21 +730,38 @@ function pandoraFlotSlicebar(graph_id, values, datacolor, labels, legend, acumul
|
|||
var to = legend[item.seriesIndex+1];
|
||||
//current date
|
||||
var dateObj = new Date();
|
||||
|
||||
if (full_legend != "") {
|
||||
newdate = full_legend[item.seriesIndex];
|
||||
newdate2 = full_legend[item.seriesIndex+1];
|
||||
}
|
||||
else {
|
||||
var month = dateObj.getUTCMonth() + 1; //months from 1-12
|
||||
var day = dateObj.getUTCDate();
|
||||
var year = dateObj.getUTCFullYear();
|
||||
newdate = year + "/" + month + "/" + day;
|
||||
}
|
||||
|
||||
if(!to){
|
||||
to= '23:59';
|
||||
}
|
||||
|
||||
if (full_legend != "") {
|
||||
if (newdate2 == undefined) {
|
||||
window.location='index.php?sec=eventos&sec2=operation/events/events&id_agent='+id_agent+'&date_from='+newdate+'&time_from='+from+'&status=-1';
|
||||
}
|
||||
else {
|
||||
window.location='index.php?sec=eventos&sec2=operation/events/events&id_agent='+id_agent+'&date_from='+newdate+'&time_from='+from+'&date_to='+newdate2+'&time_to='+to+'&status=-1';
|
||||
}
|
||||
}
|
||||
else {
|
||||
window.location='index.php?sec=eventos&sec2=operation/events/events&id_agent='+id_agent+'&date_from='+newdate+'&time_from='+from+'&date_to='+newdate+'&time_to='+to+'&status=-1';
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
$('#'+graph_id).bind('mouseout',resetInteractivity);
|
||||
}
|
||||
|
||||
// Reset interactivity styles
|
||||
function resetInteractivity() {
|
||||
|
@ -784,11 +839,16 @@ function pandoraFlotArea(graph_id, values, labels, labels_long, legend,
|
|||
|
||||
// Prepared to turn series with a checkbox
|
||||
// var showed = new Array();
|
||||
|
||||
var min_check = 0;
|
||||
for (i = 0; i < values.length; i++) {
|
||||
var serie = values[i].split(separator);
|
||||
var aux = new Array();
|
||||
$.each(serie, function(i, v) {
|
||||
if(v < 0){
|
||||
if(min_check > parseFloat(v)){
|
||||
min_check = v;
|
||||
}
|
||||
}
|
||||
aux.push([i, v]);
|
||||
});
|
||||
|
||||
|
@ -872,7 +932,9 @@ function pandoraFlotArea(graph_id, values, labels, labels_long, legend,
|
|||
// Prepared to turn series with a checkbox
|
||||
// showed[i] = true;
|
||||
}
|
||||
|
||||
if(min_check != 0){
|
||||
min_check = min_check -5;
|
||||
}
|
||||
// If threshold and up are the same, that critical or warning is disabled
|
||||
if (yellow_threshold == yellow_up) yellow_inverse = false;
|
||||
if (red_threshold == red_up) red_inverse = false;
|
||||
|
@ -1421,7 +1483,6 @@ function pandoraFlotArea(graph_id, values, labels, labels_long, legend,
|
|||
xaxes: [{
|
||||
axisLabelFontSizePixels: font_size,
|
||||
axisLabelUseCanvas: false,
|
||||
axisLabel: xaxisname,
|
||||
tickFormatter: xFormatter,
|
||||
labelHeight: 50,
|
||||
color: '',
|
||||
|
@ -1435,6 +1496,7 @@ function pandoraFlotArea(graph_id, values, labels, labels_long, legend,
|
|||
position: 'left',
|
||||
font: font,
|
||||
reserveSpace: true,
|
||||
min: min_check
|
||||
}],
|
||||
legend: {
|
||||
position: 'se',
|
||||
|
@ -1605,6 +1667,15 @@ function pandoraFlotArea(graph_id, values, labels, labels_long, legend,
|
|||
how_bigger = "K";
|
||||
y = y / 1000;
|
||||
}
|
||||
else if(y < -1000000) {
|
||||
how_bigger = "M";
|
||||
y = y / 1000000;
|
||||
}
|
||||
else if (y < -1000) {
|
||||
console.log('entra por negativo');
|
||||
how_bigger = "K";
|
||||
y = y / 1000;
|
||||
}
|
||||
|
||||
if (currentRanges == null || (currentRanges.xaxis.from < j && j < currentRanges.xaxis.to)) {
|
||||
$('#timestamp_'+graph_id).show();
|
||||
|
@ -2028,6 +2099,10 @@ function number_format(number, force_integer, unit) {
|
|||
pos++; //Position in array starting with 0
|
||||
number = number / 1000;
|
||||
}
|
||||
else if (number <= -1000) {
|
||||
pos++;
|
||||
number = number / 1000;
|
||||
}
|
||||
else {
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -846,7 +846,7 @@ function flot_vcolumn_chart ($graph_data, $width, $height, $color, $legend, $lon
|
|||
return $return;
|
||||
}
|
||||
|
||||
function flot_slicesbar_graph ($graph_data, $period, $width, $height, $legend, $colors, $fontpath, $round_corner, $homeurl, $watermark = '', $adapt_key = '', $stat_win = false, $id_agent = 0) {
|
||||
function flot_slicesbar_graph ($graph_data, $period, $width, $height, $legend, $colors, $fontpath, $round_corner, $homeurl, $watermark = '', $adapt_key = '', $stat_win = false, $id_agent = 0, $full_legend_date = array()) {
|
||||
global $config;
|
||||
|
||||
include_javascript_dependencies_flot_graph();
|
||||
|
@ -932,7 +932,6 @@ function flot_slicesbar_graph ($graph_data, $period, $width, $height, $legend, $
|
|||
$acumulate += $value;
|
||||
$c++;
|
||||
|
||||
//$return .= "<div id='value_".$i."_$graph_id' class='values_$graph_id' style='color: #000; position:absolute;'>$value</div>";
|
||||
if ($value > $max) {
|
||||
$max = $value;
|
||||
}
|
||||
|
@ -943,6 +942,12 @@ function flot_slicesbar_graph ($graph_data, $period, $width, $height, $legend, $
|
|||
$labels = implode($separator,$labels);
|
||||
$datacolor = implode($separator,$datacolor);
|
||||
$legend = io_safe_output(implode($separator,$legend));
|
||||
if (!empty($full_legend_date)) {
|
||||
$full_legend_date = io_safe_output(implode($separator,$full_legend_date));
|
||||
}
|
||||
else {
|
||||
$full_legend_date = false;
|
||||
}
|
||||
$acumulate_data = io_safe_output(implode($separator,$acumulate_data));
|
||||
|
||||
// Store data series in javascript format
|
||||
|
@ -966,7 +971,7 @@ function flot_slicesbar_graph ($graph_data, $period, $width, $height, $legend, $
|
|||
// Javascript code
|
||||
$return .= "<script type='text/javascript'>";
|
||||
$return .= "//<![CDATA[\n";
|
||||
$return .= "pandoraFlotSlicebar('$graph_id', '$values', '$datacolor', '$labels', '$legend', '$acumulate_data', $intervaltick, false, $max, '$separator', '$separator2', '', $id_agent)";
|
||||
$return .= "pandoraFlotSlicebar('$graph_id', '$values', '$datacolor', '$labels', '$legend', '$acumulate_data', $intervaltick, false, $max, '$separator', '$separator2', '', $id_agent, '$full_legend_date')";
|
||||
$return .= "\n//]]>";
|
||||
$return .= "</script>";
|
||||
|
||||
|
|
|
@ -54,6 +54,11 @@ $graph_type = get_parameter('graph_type', '');
|
|||
|
||||
$id_graph = get_parameter('id_graph', false);
|
||||
|
||||
$graph_threshold = get_parameter('graph_threshold', false);
|
||||
|
||||
$id_module = get_parameter('id_module');
|
||||
|
||||
|
||||
if (!$id_graph) {
|
||||
exit;
|
||||
}
|
||||
|
@ -383,7 +388,7 @@ switch ($graph_type) {
|
|||
pch_vertical_graph($graph_type, $data_keys, $data_values, $width,
|
||||
$height, $rgb_color, $xaxisname, $yaxisname, false, $legend,
|
||||
$font, $antialiasing, $water_mark, $font_size,
|
||||
$backgroundColor, $unit, $series_type);
|
||||
$backgroundColor, $unit, $series_type, $graph_threshold, $id_module);
|
||||
break;
|
||||
case 'threshold':
|
||||
pch_threshold_graph($graph_type, $data_keys, $data_values, $width,
|
||||
|
@ -769,7 +774,8 @@ function pch_bar_graph ($graph_type, $index, $data, $width, $height, $font,
|
|||
function pch_vertical_graph ($graph_type, $index, $data, $width, $height,
|
||||
$rgb_color = false, $xaxisname = "", $yaxisname = "", $show_values = false,
|
||||
$legend = array(), $font, $antialiasing, $water_mark = '', $font_size,
|
||||
$backgroundColor = 'white', $unit = '', $series_type = array()) {
|
||||
$backgroundColor = 'white', $unit = '', $series_type = array(),
|
||||
$graph_threshold = false, $id_module) {
|
||||
|
||||
global $config;
|
||||
|
||||
|
@ -975,8 +981,8 @@ function pch_vertical_graph ($graph_type, $index, $data, $width, $height,
|
|||
($height - $margin_bottom));
|
||||
|
||||
/*Get minimun value to draw axis properly*/
|
||||
$min_data = min(min($data));
|
||||
|
||||
$min_data = min(min($data));
|
||||
$ManualScale = array();
|
||||
$mode = SCALE_MODE_START0;
|
||||
if ($min_data < 0) {
|
||||
|
@ -987,6 +993,135 @@ function pch_vertical_graph ($graph_type, $index, $data, $width, $height,
|
|||
$ManualScale = array(0 => array("Min" => $min_data, "Max" => 0));
|
||||
$mode = SCALE_MODE_MANUAL;
|
||||
}
|
||||
else if ($max_data >= 0 && $min_data <= 0){
|
||||
$ManualScale = array(0 => array("Min" => $min_data, "Max" => $max_data));
|
||||
$mode = SCALE_MODE_MANUAL;
|
||||
}
|
||||
|
||||
if($graph_threshold){
|
||||
$sql_treshold = 'select min_critical, max_critical, min_warning, max_warning, critical_inverse, warning_inverse from tagente_modulo where id_agente_modulo =' . $id_module;
|
||||
$treshold_position = db_get_all_rows_sql($sql_treshold);
|
||||
|
||||
//min, max and inverse critical and warning
|
||||
$p_min_crit = $treshold_position[0]['min_critical'];
|
||||
$p_max_crit = $treshold_position[0]['max_critical'];
|
||||
$p_inv_crit = $treshold_position[0]['critical_inverse'];
|
||||
$p_min_warn = $treshold_position[0]['min_warning'];
|
||||
$p_max_warn = $treshold_position[0]['max_warning'];
|
||||
$p_inv_warn = $treshold_position[0]['warning_inverse'];
|
||||
|
||||
//interval warning
|
||||
$print_rectangle_warning = 1;
|
||||
if($p_min_warn == "0.00" && $p_max_warn == "0.00" && $p_inv_warn == 0){
|
||||
$print_rectangle_warning = 0;
|
||||
}
|
||||
if($print_rectangle_warning){
|
||||
if($p_inv_warn){
|
||||
if($p_max_warn == 0){
|
||||
$p_max_warn = $p_min_warn;
|
||||
$p_min_warn = "none";
|
||||
}
|
||||
else{
|
||||
$p_max_warn_inv = $p_min_warn;
|
||||
$p_min_warn_inv = $min_data + 2;
|
||||
|
||||
$p_min_warn = $p_max_warn;
|
||||
if($p_max_warn > $max_data){
|
||||
$p_max_warn = $p_max_warn + 21;
|
||||
}
|
||||
else{
|
||||
$p_max_warn = $max_data + 21;
|
||||
}
|
||||
}
|
||||
}
|
||||
else{
|
||||
if($p_max_warn == 0){
|
||||
if($max_data > $p_min_warn){
|
||||
$p_max_warn = $max_data + 21;
|
||||
}
|
||||
else{
|
||||
$p_max_warn = $p_min_warn + 21;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//interval critical
|
||||
$print_rectangle_critical = 1;
|
||||
if($p_min_crit == "0.00" && $p_max_crit == "0.00" && $p_inv_crit == 0){
|
||||
$print_rectangle_critical = 0;
|
||||
}
|
||||
|
||||
if($print_rectangle_critical){
|
||||
if($p_inv_crit){
|
||||
if($p_max_crit == 0){
|
||||
$p_max_crit = $p_min_crit;
|
||||
$p_min_crit = "none";
|
||||
}
|
||||
else{
|
||||
$p_max_crit_inv = $p_min_crit;
|
||||
$p_min_crit_inv = $min_data + 2;
|
||||
|
||||
$p_min_crit = $p_max_crit;
|
||||
if($p_inv_warn){
|
||||
if($p_max_crit < $p_max_warn){
|
||||
$p_max_crit = $p_max_warn;
|
||||
}
|
||||
}
|
||||
else{
|
||||
if($p_max_crit > $max_data){
|
||||
$p_max_crit = $p_max_crit + 21;
|
||||
}
|
||||
else{
|
||||
$p_max_crit = $max_data + 21;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else{
|
||||
if($p_max_crit == 0){
|
||||
if($p_max_warn > $p_min_crit){
|
||||
$p_max_crit = $p_max_warn;
|
||||
}
|
||||
else{
|
||||
if($max_data > $p_min_crit){
|
||||
$p_max_crit = $max_data + 21;
|
||||
}
|
||||
else{
|
||||
$p_max_crit = $p_min_crit + 21;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Check size scale
|
||||
//Which of the thresholds is higher?
|
||||
if($p_max_crit > $p_max_warn){
|
||||
$check_scale = $p_max_crit;
|
||||
}
|
||||
else{
|
||||
$check_scale = $p_max_warn;
|
||||
}
|
||||
|
||||
if($p_min_crit < $p_min_warn){
|
||||
$check_scale_min = $p_min_crit;
|
||||
}
|
||||
else{
|
||||
$check_scale_min = $p_min_warn;
|
||||
}
|
||||
|
||||
//Is the threshold higher than our maximum?
|
||||
if($max_data > $check_scale){
|
||||
$check_scale = $max_data;
|
||||
}
|
||||
|
||||
if($min_data < $check_scale_min){
|
||||
$check_scale_min = $min_data;
|
||||
}
|
||||
|
||||
$ManualScale = array( 0 => array("Min" => $check_scale_min, "Max" => $check_scale) );
|
||||
$mode = SCALE_MODE_MANUAL;
|
||||
|
||||
/* Draw the scale */
|
||||
$scaleSettings = array(
|
||||
|
@ -1014,6 +1149,93 @@ function pch_vertical_graph ($graph_type, $index, $data, $width, $height,
|
|||
|
||||
$myPicture->drawScale($scaleSettings);
|
||||
|
||||
|
||||
//values
|
||||
$scale_max = $myPicture->DataSet->Data["Axis"][0]["ScaleMax"];
|
||||
$scale_min = $myPicture->DataSet->Data["Axis"][0]["ScaleMin"];
|
||||
|
||||
$position_y1 = $myPicture->GraphAreaY1;
|
||||
$position_y2 = $myPicture->GraphAreaY2;
|
||||
|
||||
$position1 = $myPicture->GraphAreaX1;
|
||||
$position3 = $myPicture->GraphAreaX2;
|
||||
|
||||
$cte = ($position_y2 - $position_y1) / ($scale_max - $scale_min);
|
||||
|
||||
//warning
|
||||
if($print_rectangle_warning){
|
||||
$RectangleSettings = array("R"=>255,"G"=>255,"B"=>000,"Dash"=>TRUE,"DashR"=>170,"DashG"=>220,"DashB"=>190);
|
||||
if($p_min_warn == "none"){
|
||||
$p_min_warn = $scale_min;
|
||||
}
|
||||
|
||||
$position2 = ($scale_max - $p_min_warn)*$cte + $position_y1;
|
||||
$position4 = ($scale_max - $p_max_warn)*$cte + $position_y1;
|
||||
|
||||
$myPicture->drawFilledRectangle($position1, floor($position2),
|
||||
$position3, floor($position4),
|
||||
$RectangleSettings);
|
||||
if($p_inv_warn){
|
||||
$position2 = ($scale_max - $p_min_warn_inv)*$cte + $position_y1;
|
||||
$position4 = ($scale_max - $p_max_warn_inv)*$cte + $position_y1;
|
||||
$myPicture->drawFilledRectangle($position1, floor($position2),
|
||||
$position3, floor($position4),
|
||||
$RectangleSettings);
|
||||
}
|
||||
}
|
||||
|
||||
//critical
|
||||
if($print_rectangle_critical){
|
||||
$RectangleSettings = array("R"=>248,"G"=>000,"B"=>000,"Dash"=>TRUE,"DashR"=>170,"DashG"=>220,"DashB"=>190);
|
||||
|
||||
if($p_min_crit == "none"){
|
||||
$p_min_crit = $scale_min;
|
||||
}
|
||||
|
||||
$position2 = ($scale_max - $p_min_crit)*$cte + $position_y1;
|
||||
$position4 = ($scale_max - $p_max_crit)*$cte + $position_y1;
|
||||
$myPicture->drawFilledRectangle($position1, $position2,
|
||||
$position3, $position4,
|
||||
$RectangleSettings);
|
||||
|
||||
if($p_inv_crit){
|
||||
$position2 = ($scale_max - $p_min_crit_inv)*$cte + $position_y1;
|
||||
$position4 = ($scale_max - $p_max_crit_inv)*$cte + $position_y1;
|
||||
$myPicture->drawFilledRectangle($position1, $position2,
|
||||
$position3, $position4,
|
||||
$RectangleSettings);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else{
|
||||
/* Draw the scale */
|
||||
$scaleSettings = array(
|
||||
"GridR" => 200,
|
||||
"GridG" => 200,
|
||||
"GridB" => 200,
|
||||
"GridAlpha" => 30,
|
||||
"DrawSubTicks" => true,
|
||||
"CycleBackground" => true,
|
||||
"BackgroundAlpha1" => 35,
|
||||
"BackgroundAlpha2" => 35,
|
||||
"Mode" => $mode,
|
||||
"ManualScale" => $ManualScale,
|
||||
"LabelRotation" => 40,
|
||||
"XMargin" => 0,
|
||||
"MinDivHeight" => 15,
|
||||
"TicksFontSize" => $font_size - 1);
|
||||
|
||||
$scaleSettings['AxisR'] = '200';
|
||||
$scaleSettings['AxisG'] = '200';
|
||||
$scaleSettings['AxisB'] = '200';
|
||||
$scaleSettings['TickR'] = '200';
|
||||
$scaleSettings['TickG'] = '200';
|
||||
$scaleSettings['TickB'] = '200';
|
||||
|
||||
$myPicture->drawScale($scaleSettings);
|
||||
}
|
||||
|
||||
/* Turn on shadow computing */
|
||||
//$myPicture->setShadow(TRUE,array("X"=>0,"Y"=>1,"R"=>0,"G"=>0,"B"=>0,"Alpha"=>10));
|
||||
|
||||
|
@ -1087,7 +1309,6 @@ function pch_vertical_graph ($graph_type, $index, $data, $width, $height,
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/* Render the picture */
|
||||
$myPicture->stroke();
|
||||
}
|
||||
|
|
|
@ -63,7 +63,11 @@ Apart from the defined module macros, the following macros are also available:
|
|||
<li>_groupcontact_ : Group contact information. Configured when the group is created.</li>
|
||||
<li>_groupother_ : Other information about the group. Configured when the group is created.</li>
|
||||
<li>_email_tag_ : Emails associated to the module tags.</li>
|
||||
<li>_alert_critical_instructions_: Instructions for CRITICAL status contained in the module.</li>
|
||||
<li>_alert_warning_instructions_: Instructions for WARNING status contained in the module.</li>
|
||||
<li>_alert_unknown_instructions_: Instructions for UNKNOWN status contained in the module.</li>
|
||||
<li>_modulegraph_nh_: (Only for alerts that use the command eMail) Returns an image of a module graph with a period of n hours (eg. _modulegraph_24h_). A correct setup of the connection between the server and the console's api is required. This setup is done into the server's configuration file.</li>
|
||||
<li>_modulegraphth_<i>n</i>h_:Same operation as the previous macro only with the critical and warning thresholds of the module provided they are defined.</li>
|
||||
<li>_homeurl_ : It is a link of the public URL this must be configured in the general options of the setup.</li>
|
||||
</ul>
|
||||
<p>
|
||||
|
|
|
@ -67,6 +67,7 @@ Besides the defined module macros, the following macros are available:
|
|||
Returns an image encoded in base64 of a module’s graph with a period of <i>n</i> hours (eg. _modulegraph_24h_).
|
||||
A correct setup of the connection between the server and the console's API is required.
|
||||
This setup is done on the server's configuration file.</li>
|
||||
<li>_modulegraphth_<i>n</i>h_:Same operation as the previous macro only with the critical and warning thresholds of the module provided they are defined.</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
The following macros are also available: <br />
|
||||
<ul>
|
||||
Only if you select one graph for each agent.<br />
|
||||
<li><b>_agent_ </b>: Name of the agent that you selected in report item.<li />
|
||||
<li><b>_agentdescription_ </b>: Description of the agent that you selected in report item.<li />
|
||||
<li><b>_agentgroup_ </b>: Agent group name.<li />
|
||||
|
|
|
@ -65,7 +65,11 @@ Además de las macros de módulo definidas, las siguientes macros están disponi
|
|||
<li>_groupcontact_ : Información de contacto del grupo. Se configura al crear el grupo.</li>
|
||||
<li>_groupother_ : Otra información sobre el grupo. Se configura al crear el grupo.</li>
|
||||
<li>_email_tag_ : Emails asociados a los tags de módulos.</li>
|
||||
<li>_modulegraph_nh_: (Sólo para alertas que usen el comando eMail) Devuelve una imagen codificada en base64 de una gráfica del módulo con un período de n horas (eg. _modulegraph_24h_). Requiere de una configuración correcta de la conexión del servidor a la consola vía api, la cual se realiza en el fichero de configuración del servidor.</li>
|
||||
<li>_alert_critical_instructions_: Instrucciones contenidas en el módulo para un estado CRITICAL.</li>
|
||||
<li>_alert_warning_instructions_: Instrucciones contenidas en el módulo para un estado WARNING.</li>
|
||||
<li>_alert_unknown_instructions_: Instrucciones contenidas en el módulo para un estado UNKNOWN.</li>
|
||||
<li>_modulegraph_<i>n</i>h_: (Sólo para alertas que usen el comando eMail) Devuelve una imagen codificada en base64 de una gráfica del módulo con un período de n horas (eg. _modulegraph_24h_). Requiere de una configuración correcta de la conexión del servidor a la consola vía api, la cual se realiza en el fichero de configuración del servidor.</li>
|
||||
<li>_modulegraphth_<i>n</i>h_:mismo funcionamiento que la macro anterior solo que con los umbrales critical y warning del modulo siempre que estos esten definidos</li>
|
||||
<li>_homeurl_ : Es un link de la URL pública esta debe de estar configurada en las opciones generales del setup.</li>
|
||||
</ul>
|
||||
<p>
|
||||
|
|
|
@ -67,6 +67,7 @@ Además de las macros de módulo definidas, las siguientes macros están disponi
|
|||
Devuelve una imagen codificada en base64 de una gráfica del módulo con un período de <i>n</i> horas (eg. _modulegraph_24h_).
|
||||
Requiere de una configuración correcta de la conexión del servidor a la consola vía api,
|
||||
la cual se realiza en el fichero de configuración del servidor.</li>
|
||||
<li>_modulegraphth_<i>n</i>h_:mismo funcionamiento que la macro anterior solo que con los umbrales critical y warning del modulo siempre que estos esten definidos</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
Lista de las macros admitidas en este campo: <br />
|
||||
<ul>
|
||||
Solamente si seleccionas una gráfica por cada agente.<br />
|
||||
<li><b>_agent_ </b>: Nombre del agente que ha seleccionado en el elemento del informe.<li />
|
||||
<li><b>_agentdescription_ </b>: Descripción del agente que ha seleccionado en el elemento del informe.<li />
|
||||
<li><b>_agentgroup_ </b>: Grupo del agente que ha seleccionado en el elemento del informe<li />
|
||||
|
|
|
@ -307,7 +307,12 @@ function change_shape(id_db_node) {
|
|||
})
|
||||
.on("click", selected_node)
|
||||
.on("dblclick", function(d) {
|
||||
if (d.type == undefined) {
|
||||
move_to_networkmap(d);
|
||||
}
|
||||
else {
|
||||
edit_node(d, true);
|
||||
}
|
||||
})
|
||||
.on("contextmenu", function(d) { show_menu("node", d);});
|
||||
|
||||
|
@ -342,7 +347,12 @@ function change_shape(id_db_node) {
|
|||
})
|
||||
.on("click", selected_node)
|
||||
.on("dblclick", function(d) {
|
||||
if (d.type == undefined) {
|
||||
move_to_networkmap(d);
|
||||
}
|
||||
else {
|
||||
edit_node(d, true);
|
||||
}
|
||||
})
|
||||
.on("contextmenu", function(d) { show_menu("node", d);});
|
||||
|
||||
|
@ -365,7 +375,12 @@ function change_shape(id_db_node) {
|
|||
})
|
||||
.on("click", selected_node)
|
||||
.on("dblclick", function(d) {
|
||||
if (d.type == undefined) {
|
||||
move_to_networkmap(d);
|
||||
}
|
||||
else {
|
||||
edit_node(d, true);
|
||||
}
|
||||
})
|
||||
.on("contextmenu", function(d) { show_menu("node", d);});
|
||||
|
||||
|
@ -400,7 +415,12 @@ function change_shape(id_db_node) {
|
|||
})
|
||||
.on("click", selected_node)
|
||||
.on("dblclick", function(d) {
|
||||
if (d.type == undefined) {
|
||||
move_to_networkmap(d);
|
||||
}
|
||||
else {
|
||||
edit_node(d, true);
|
||||
}
|
||||
})
|
||||
.on("contextmenu", function(d) { show_menu("node", d);});
|
||||
|
||||
|
@ -425,7 +445,12 @@ function change_shape(id_db_node) {
|
|||
})
|
||||
.on("click", selected_node)
|
||||
.on("dblclick", function(d) {
|
||||
if (d.type == undefined) {
|
||||
move_to_networkmap(d);
|
||||
}
|
||||
else {
|
||||
edit_node(d, true);
|
||||
}
|
||||
})
|
||||
.on("contextmenu", function(d) { show_menu("node", d);});
|
||||
|
||||
|
@ -460,7 +485,12 @@ function change_shape(id_db_node) {
|
|||
})
|
||||
.on("click", selected_node)
|
||||
.on("dblclick", function(d) {
|
||||
if (d.type == undefined) {
|
||||
move_to_networkmap(d);
|
||||
}
|
||||
else {
|
||||
edit_node(d, true);
|
||||
}
|
||||
})
|
||||
.on("contextmenu", function(d) { show_menu("node", d);});
|
||||
}
|
||||
|
@ -3154,7 +3184,12 @@ function draw_elements_graph() {
|
|||
})
|
||||
.on("click", selected_node)
|
||||
.on("dblclick", function(d) {
|
||||
if (d.type == undefined) {
|
||||
move_to_networkmap(d);
|
||||
}
|
||||
else {
|
||||
edit_node(d, true);
|
||||
}
|
||||
})
|
||||
.on("contextmenu", function(d) { show_menu("node", d);});
|
||||
|
||||
|
@ -3188,7 +3223,12 @@ function draw_elements_graph() {
|
|||
})
|
||||
.on("click", selected_node)
|
||||
.on("dblclick", function(d) {
|
||||
if (d.type == undefined) {
|
||||
move_to_networkmap(d);
|
||||
}
|
||||
else {
|
||||
edit_node(d, true);
|
||||
}
|
||||
})
|
||||
.on("contextmenu", function(d) { show_menu("node", d);});
|
||||
|
||||
|
@ -3216,7 +3256,12 @@ function draw_elements_graph() {
|
|||
})
|
||||
.on("click", selected_node)
|
||||
.on("dblclick", function(d) {
|
||||
if (d.type == undefined) {
|
||||
move_to_networkmap(d);
|
||||
}
|
||||
else {
|
||||
edit_node(d, true);
|
||||
}
|
||||
})
|
||||
.on("contextmenu", function(d) { show_menu("node", d);});
|
||||
|
||||
|
@ -3254,7 +3299,12 @@ function draw_elements_graph() {
|
|||
})
|
||||
.on("click", selected_node)
|
||||
.on("dblclick", function(d) {
|
||||
if (d.type == undefined) {
|
||||
move_to_networkmap(d);
|
||||
}
|
||||
else {
|
||||
edit_node(d, true);
|
||||
}
|
||||
})
|
||||
.on("contextmenu", function(d) { show_menu("node", d);});
|
||||
|
||||
|
@ -3284,7 +3334,12 @@ function draw_elements_graph() {
|
|||
})
|
||||
.on("click", selected_node)
|
||||
.on("dblclick", function(d) {
|
||||
if (d.type == undefined) {
|
||||
move_to_networkmap(d);
|
||||
}
|
||||
else {
|
||||
edit_node(d, true);
|
||||
}
|
||||
})
|
||||
.on("contextmenu", function(d) { show_menu("node", d);});
|
||||
|
||||
|
@ -3322,7 +3377,12 @@ function draw_elements_graph() {
|
|||
})
|
||||
.on("click", selected_node)
|
||||
.on("dblclick", function(d) {
|
||||
if (d.type == undefined) {
|
||||
move_to_networkmap(d);
|
||||
}
|
||||
else {
|
||||
edit_node(d, true);
|
||||
}
|
||||
})
|
||||
.on("contextmenu", function(d) { show_menu("node", d);});
|
||||
|
||||
|
@ -3353,6 +3413,29 @@ function draw_elements_graph() {
|
|||
node.exit().remove();
|
||||
}
|
||||
|
||||
function move_to_networkmap (node) {
|
||||
var params = [];
|
||||
params.push("get_networkmap_from_fictional=1");
|
||||
params.push("id=" + node.id_db);
|
||||
params.push("id_map=" + node.map_id);
|
||||
params.push("page=enterprise/operation/agentes/pandora_networkmap.view");
|
||||
|
||||
jQuery.ajax ({
|
||||
data: params.join ("&"),
|
||||
dataType: 'json',
|
||||
type: 'POST',
|
||||
url: action="ajax.php",
|
||||
success: function (data) {
|
||||
if (data['correct']) {
|
||||
window.location="index.php?sec=network&sec2=operation/agentes/pandora_networkmap&tab=view&id_networkmap=" + data['id_networkmap'];
|
||||
}
|
||||
else {
|
||||
edit_node(node, true);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function choose_group_for_show_agents() {
|
||||
if (enterprise_installed) {
|
||||
group = $("#group_for_show_agents option:selected").val();
|
||||
|
|
|
@ -177,7 +177,7 @@ function show_response_dialog(event_id, response_id, response) {
|
|||
draggable: true,
|
||||
modal: false,
|
||||
open: function(event, ui) {
|
||||
perform_response(response['target']);
|
||||
perform_response(response['target'], response_id);
|
||||
},
|
||||
width: response['modal_width'],
|
||||
height: response['modal_height']
|
||||
|
@ -336,7 +336,7 @@ function get_response_target(event_id, response_id, server_id) {
|
|||
}
|
||||
|
||||
// Perform a response and put the output into a div
|
||||
function perform_response(target) {
|
||||
function perform_response(target, response_id) {
|
||||
var ajax_file = $('#hidden-ajax_file').val();
|
||||
|
||||
$('#re_exec_command').hide();
|
||||
|
@ -351,6 +351,7 @@ function perform_response(target) {
|
|||
params.push("page=include/ajax/events");
|
||||
params.push("perform_event_response=1");
|
||||
params.push("target="+target);
|
||||
params.push("response_id="+response_id)
|
||||
|
||||
jQuery.ajax ({
|
||||
data: params.join ("&"),
|
||||
|
|
|
@ -19,6 +19,7 @@ function snmpBrowse () {
|
|||
var community = $('#text-community').val();
|
||||
var starting_oid = $('#text-starting_oid').val();
|
||||
var snmp_version = $('#snmp_browser_version').val();
|
||||
var server_to_exec = $('#server_to_exec').val();
|
||||
var snmp3_auth_user = $('#text-snmp3_browser_auth_user').val();
|
||||
var snmp3_security_level = $('#snmp3_browser_security_level').val();
|
||||
var snmp3_auth_method = $('#snmp3_browser_auth_method').val();
|
||||
|
@ -33,6 +34,7 @@ function snmpBrowse () {
|
|||
"community=" + community,
|
||||
"starting_oid=" + starting_oid,
|
||||
"snmp_browser_version=" + snmp_version,
|
||||
"server_to_exec=" + server_to_exec,
|
||||
"snmp3_browser_auth_user=" + snmp3_auth_user,
|
||||
"snmp3_browser_security_level=" + snmp3_security_level,
|
||||
"snmp3_browser_auth_method=" + snmp3_auth_method,
|
||||
|
|
|
@ -781,6 +781,12 @@ input.percentile_item_min {
|
|||
input.percentile_item_min[disabled] {
|
||||
background: #fefefe url(../../images/percentile_item.disabled.png) no-repeat center !important;
|
||||
}
|
||||
input.auto_sla_graph_min {
|
||||
background: #fefefe url(../../images/auto_sla_graph.png) no-repeat center !important;
|
||||
}
|
||||
input.auto_sla_graph_min[disabled] {
|
||||
background: #fefefe url(../../images/auto_sla_graph.disabled.png) no-repeat center !important;
|
||||
}
|
||||
input.binary_min {
|
||||
background: #fefefe url(../../images/binary.png) no-repeat center !important;
|
||||
}
|
||||
|
@ -4168,3 +4174,25 @@ div#footer_help{
|
|||
.service_text_odd {
|
||||
transform: translateY(100px);
|
||||
}
|
||||
|
||||
/*styles graph conteiner*/
|
||||
.graph_conteiner_inside > .parent_graph{
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.graph_conteiner_inside > .parent_graph > .menu_graph{
|
||||
left: 90% !important;
|
||||
}
|
||||
|
||||
.graph_conteiner_inside > .parent_graph > .noresizevc{
|
||||
width: 90% !important;
|
||||
}
|
||||
|
||||
.graph_conteiner_inside > div > .nodata_container > .nodata_text {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.graph_conteiner_inside > div > .nodata_container{
|
||||
background-size: 120px 80px !important;
|
||||
>>>>>>> pandora_console/include/styles/pandora.css
|
||||
}
|
|
@ -2837,6 +2837,14 @@ div#agent_wizard_subtabs {
|
|||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#code_license_dialog a:hover {
|
||||
color:red;
|
||||
}
|
||||
|
||||
#code_license_dialog *{
|
||||
color: #222222;
|
||||
}
|
||||
|
||||
/* GRAPHS CSS */
|
||||
|
||||
.parent_graph {
|
||||
|
|
|
@ -584,12 +584,18 @@ if (! isset ($config['id_user'])) {
|
|||
$res = update_user_password ($id_user, $pass1);
|
||||
if ($res) {
|
||||
$correct_reset_pass_process = __('Password changed successfully');
|
||||
|
||||
register_pass_change_try($id_user, 1);
|
||||
}
|
||||
else {
|
||||
register_pass_change_try($id_user, 0);
|
||||
|
||||
$process_error_message = __('Failed to change password');
|
||||
}
|
||||
}
|
||||
else {
|
||||
register_pass_change_try($id_user, 0);
|
||||
|
||||
$process_error_message = __('Passwords must be the same');
|
||||
}
|
||||
require_once ('general/login_page.php');
|
||||
|
@ -605,6 +611,7 @@ if (! isset ($config['id_user'])) {
|
|||
|
||||
if ($db_reset_pass_entry) {
|
||||
if (($db_reset_pass_entry + SECONDS_2HOUR) < time()) {
|
||||
register_pass_change_try($id_user, 0);
|
||||
$process_error_message = __('Too much time since password change request');
|
||||
delete_reset_pass_entry($id_user);
|
||||
require_once ('general/login_page.php');
|
||||
|
@ -615,6 +622,7 @@ if (! isset ($config['id_user'])) {
|
|||
}
|
||||
}
|
||||
else {
|
||||
register_pass_change_try($id_user, 0);
|
||||
$process_error_message = __('This user has not requested a password change');
|
||||
require_once ('general/login_page.php');
|
||||
}
|
||||
|
@ -641,7 +649,8 @@ if (! isset ($config['id_user'])) {
|
|||
|
||||
if (!$check_user) {
|
||||
$reset = false;
|
||||
$error = __('User doesn\'t exist in database');
|
||||
register_pass_change_try($user_reset_pass, 0);
|
||||
$error = __('Error in reset password request');
|
||||
$show_error = true;
|
||||
}
|
||||
else {
|
||||
|
@ -649,6 +658,7 @@ if (! isset ($config['id_user'])) {
|
|||
|
||||
if (!$check_mail) {
|
||||
$reset = false;
|
||||
register_pass_change_try($user_reset_pass, 0);
|
||||
$error = __('This user doesn\'t have a valid email address');
|
||||
$show_error = true;
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue