Merge remote-tracking branch 'origin/develop' into 2784-Pantalla_por_dispositivos_filtrado_por_custom_fields

This commit is contained in:
daniel 2018-10-31 09:23:58 +01:00
commit 879b1cfecb
43 changed files with 114 additions and 110 deletions

View File

@ -1,5 +1,5 @@
package: pandorafms-agent-unix
Version: 7.0NG.728-181029
Version: 7.0NG.728-181031
Architecture: all
Priority: optional
Section: admin

View File

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

View File

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

View File

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

View File

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

View File

@ -10,7 +10,7 @@
# **********************************************************************
PI_VERSION="7.0NG.728"
PI_BUILD="181029"
PI_BUILD="181031"
OS_NAME=`uname -s`
FORCE=0

View File

@ -186,7 +186,7 @@ UpgradeApplicationID
{}
Version
{181029}
{181031}
ViewReadme
{Yes}

View File

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

View File

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

View File

@ -1,10 +1,10 @@
package: pandorafms-console
Version: 7.0NG.728-181029
Version: 7.0NG.728-181031
Architecture: all
Priority: optional
Section: admin
Installed-Size: 42112
Maintainer: Artica ST <deptec@artica.es>
Homepage: http://pandorafms.org/
Depends: php5.6 | php5, php5.6-snmp | php5-snmp, php5.6-gd | php5-gd, php5.6-mysql | php5-mysql, php-db, php5.6-xmlrpc | php5-xmlrpc, php-gettext, php5.6-curl | php5-curl, graphviz, dbconfig-common, php5.6-ldap | php5-ldap, mysql-client | virtual-mysql-client
Depends: php | php7.2, php7.2-snmp | php-snmp, php7.2-gd | php-gd, php7.2-mysqlnd | php-mysqlnd, php-db, php7.2-xmlrpc | php-xmlrpc, php-gettext, php7.2-curl | php-curl, graphviz, dbconfig-common, php7.2-ldap | php-ldap, mysql-client | virtual-mysql-client, php-xmlrpc
Description: Pandora FMS is an Open Source monitoring tool. It monitor your systems and applications, and allows you to control the status of any element of them. The web console is the graphical user interface (GUI) to manage the pool and to generate reports and graphs from the Pandora FMS monitoring process.

View File

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

View File

@ -50,7 +50,7 @@ function dbmanager_query ($sql, &$error, $dbconnection) {
}
if($config["mysqli"]){
while ($row = mysqli_fetch_array ($result)) {
while ($row = mysqli_fetch_array ($result, MYSQLI_ASSOC)) {
array_push ($retval, $row);
}
}

View File

@ -102,16 +102,8 @@ if ($groups_user === false) {
$groups_id = implode(',', array_keys($groups_user));
$form_filter .= "<tr>";
switch ($config["dbtype"]) {
case "mysql":
case "postgresql":
$temp = db_get_all_rows_sql("SELECT id, name FROM talert_actions WHERE id_group IN ($groups_id);");
break;
case "oracle":
$temp = db_get_all_rows_sql("SELECT id, name FROM talert_actions WHERE id_group IN ($groups_id)");
break;
}
$temp = db_get_all_rows_sql("SELECT id, name FROM talert_actions WHERE id_group IN ($groups_id);");
$arrayActions = array();
if (is_array($temp)) {
foreach ($temp as $actionElement) {
@ -186,23 +178,10 @@ if ($searchFlag) {
field3_recovery LIKE '%" . trim($fieldContent) . "%')";
if (strlen(trim($moduleName)) > 0)
$where .= " AND id_agent_module IN (SELECT id_agente_modulo FROM tagente_modulo WHERE nombre LIKE '%" . trim($moduleName) . "%')";
//if ($agentID != -1)
//$where .= " AND id_agent_module IN (SELECT id_agente_modulo FROM tagente_modulo WHERE id_agente = " . $agentID . ")";
if (strlen(trim($agentName)) > 0) {
switch ($config["dbtype"]) {
case "mysql":
case "postgresql":
$where .= " AND id_agent_module IN (SELECT t2.id_agente_modulo
FROM tagente t1 INNER JOIN tagente_modulo t2 ON t1.id_agente = t2.id_agente
WHERE t1.alias LIKE '" . trim($agentName) . "')";
break;
case "oracle":
$where .= " AND id_agent_module IN (SELECT t2.id_agente_modulo
FROM tagente t1 INNER JOIN tagente_modulo t2 ON t1.id_agente = t2.id_agente
WHERE t1.alias LIKE '" . trim($agentName) . "')";
break;
}
$where .= " AND id_agent_module IN (SELECT t2.id_agente_modulo
FROM tagente t1 INNER JOIN tagente_modulo t2 ON t1.id_agente = t2.id_agente
WHERE t1.alias LIKE '" . trim($agentName) . "')";
}
if ($actionID != -1 && $actionID != '')
$where .= " AND talert_template_modules.id IN (SELECT id_alert_template_module FROM talert_template_module_actions WHERE id_alert_action = " . $actionID . ")";
@ -212,17 +191,7 @@ if ($searchFlag) {
$where .= " AND talert_template_modules.standby = " . $standby;
}
switch ($config["dbtype"]) {
case "mysql":
case "postgresql":
$id_agents = array_keys ($agents);
break;
case "oracle":
$id_agents = false;
break;
}
$id_agents = array_keys ($agents);
$total = agents_get_alerts_simple ($id_agents, false,
false, $where, false, false, false, true);
@ -704,27 +673,32 @@ foreach ($simple_alerts as $alert) {
// To manage alert is necessary LW permissions in the agent group
if(check_acl_one_of_groups ($config['id_user'], $all_groups, "LW")) {
$data[4] .= '&nbsp;&nbsp;<form class="delete_alert_form" action="' . $url . '" method="post" style="display: inline;">';
if ($alert['disabled']) {
}
else {
$data[4] .= '<a href="javascript:show_add_action(\'' . $alert['id'] . '\');">';
$data[4] .= '</a>';
$is_cluster = (bool)get_parameter('id_cluster');
if (!$is_cluster) {
if ($alert['disabled']) {
$data[4] .= html_print_image('images/add.disabled.png',
true, array('title' => __("Add action")));
}
else {
$data[4] .= '<a href="javascript:show_add_action(\'' . $alert['id'] . '\');">';
$data[4] .= html_print_image('images/add.png', true, array('title' => __("Add action")));
$data[4] .= '</a>';
}
}
$data[4] .= html_print_input_image ('delete', 'images/cross.png', 1, '', true, array('title' => __('Delete')));
$data[4] .= html_print_input_hidden ('delete_alert', 1, true);
$data[4] .= html_print_input_hidden ('id_alert', $alert['id'], true);
$data[4] .= '</form>';
$data[4] .= '<form class="view_alert_form" method="post" style="display: inline;">';
if ($is_cluster) {
$data[4] .= '<form class="view_alert_form" method="post" style="display: inline;">';
$data[4] .= html_print_input_image ('update', 'images/builder.png', 1, '', true, array('title' => __('Update')));
$data[4] .= html_print_input_hidden ('upd_alert', 1, true);
$data[4] .= html_print_input_hidden ('id_alert', $alert['id'], true);
$data[4] .= html_print_input_image ('update', 'images/builder.png', 1, '', true, array('title' => __('Update')));
$data[4] .= html_print_input_hidden ('upd_alert', 1, true);
$data[4] .= html_print_input_hidden ('id_alert', $alert['id'], true);
$data[4] .= '</form>';
$data[4] .= '</form>';
}
}
if(check_acl_one_of_groups ($config['id_user'], $all_groups, "LM")) {

View File

@ -245,11 +245,12 @@ $module_types = db_get_all_rows_filter (
if ($module_types === false)
$module_types = array ();
$types = '';
$types = array();
foreach ($module_types as $type) {
$types[$type['id_tipo']] = $type['description'];
}
$table = new stdClass();
$table->width = '100%';
$table->class = 'databox filters';
$table->data = array ();

View File

@ -1869,7 +1869,7 @@ switch ($action) {
break;
}
metaconsole_restore_db_force();
metaconsole_restore_db();
$temp_sort[$report_item['id_rc']] = $element_name;

View File

@ -45,7 +45,7 @@ $rows = db_get_all_rows_in_table('tupdate_settings');
$settings = new StdClass;
foreach ($rows as $row) {
$settings->$row['key'] = $row['value'];
$settings->{$row['key']} = $row['value'];
}
echo '<script type="text/javascript">';

View File

@ -415,7 +415,7 @@ if ($get_extended_event) {
$custom_data = events_page_custom_data($event);
if ($meta) {
metaconsole_restore_db_force();
metaconsole_restore_db();
}
$general = events_page_general($event);

View File

@ -22,7 +22,7 @@
/**
* Pandora build version and version
*/
$build_version = 'PC181029';
$build_version = 'PC181031';
$pandora_version = 'v7.0NG.728';
// Do not overwrite default timezone set if defined.

View File

@ -69,6 +69,10 @@ require_once('functions_io.php');
//}
function https_is_running() {
if(isset ($_SERVER['HTTP_X_FORWARDED_PROTO'])
&& $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
return true;
}
if (isset ($_SERVER['HTTPS'])
&& ($_SERVER['HTTPS'] === true
|| $_SERVER['HTTPS'] == 'on')) {

View File

@ -1888,7 +1888,7 @@ function events_get_response_target($event_id, $response_id, $server_id, $histor
);
if($meta) {
metaconsole_restore_db_force();
metaconsole_restore_db();
}
} else {
$target = str_replace('_module_address_', __('N/A'), $target);

View File

@ -14,6 +14,8 @@
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
global $config;
require_once ($config['homedir'].'/include/functions_users.php');
/**
@ -1226,7 +1228,7 @@ function groups_get_monitors_counter ($group, $agent_filter = array(), $module_f
else
$module_status = array($module_filter["status"]);
$status_array = "";
$status_array = array();
foreach ($module_status as $status) {
switch ($status) {
case AGENT_MODULE_STATUS_ALL:

View File

@ -2395,6 +2395,10 @@ function ui_get_full_url ($url = '', $no_proxy = false, $add_name_php_file = fal
$port = null; // null means 'use the starndard port'
$proxy = false; //By default Pandora FMS doesn't run across proxy.
if(isset ($_SERVER['HTTP_X_FORWARDED_PROTO'])
&& $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
$_SERVER['HTTPS'] = 'on';
}
if (isset ($_SERVER['HTTPS'])
&& ($_SERVER['HTTPS'] === true
|| $_SERVER['HTTPS'] == 'on')) {
@ -3845,8 +3849,7 @@ function ui_print_module_string_value($value, $id_agente_module,
'id_module' => $id_agente_module,
'last_data' => $value,
'interval' => $current_interval,
'module_name' => $module_name,
'timestamp' => db_get_value('timestamp', 'tagente_estado', 'id_agente_modulo', $id_agente_module)
'module_name' => $module_name
));
$salida = ui_get_snapshot_image($link, $is_snapshot) . '&nbsp;&nbsp;';
} else {
@ -3964,8 +3967,14 @@ function ui_get_snapshot_link($params, $only_params = false) {
"id=" . $params['id_module'] .
"&label=" . rawurlencode(urlencode(io_safe_output($params['module_name']))).
"&id_node=" . $params['id_node'];
if ($params['timestamp'] != 0) $url .= "&timestamp=" . $parms['timestamp'];
if ($params['timestamp'] != 0) $url .= "&refr=" . $parms['interval'];
if ($params['timestamp'] != 0) {
$url .= "&timestamp=" . $params['timestamp'];
}
if ($params['interval'] != 0) {
$url .= "&refr=" . $params['interval'];
}
// Second parameter of js winopeng_var
$win_handle = dechex(crc32('snapshot_' . $params['id_module']));

View File

@ -640,7 +640,7 @@ function visual_map_editor_print_item_palette($visualConsole_id, $background) {
foreach ($form_items as $item => $item_options) {
echo '<tr id="' . $item . '" style="" class="' . implode(' ', $item_options['items']) . '">';
echo '<tr id="' . $item . '" style="" class="' . implode(' ', (array)$item_options['items']) . '">';
echo $item_options['html'];
echo '</tr>';
}
@ -721,9 +721,11 @@ function visual_map_editor_print_item_palette($visualConsole_id, $background) {
$node_visual_maps = db_get_all_rows_filter("tlayout", array(), array("id", "name"));
foreach ($node_visual_maps as $node_visual_map) {
$node_visual_map["node_id"] = (int) $server["id"];
$visual_maps[] = $node_visual_map;
if(isset($node_visual_maps) && is_array($node_visual_maps)){
foreach ($node_visual_maps as $node_visual_map) {
$node_visual_map["node_id"] = (int) $server["id"];
$visual_maps[] = $node_visual_map;
}
}
metaconsole_restore_db();

View File

@ -690,7 +690,8 @@ function flot_slicesbar_graph (
$round_corner, $homeurl, $watermark = '',
$adapt_key = '', $stat_win = false,
$id_agent = 0, $full_legend_date = array(),
$not_interactive = 0, $ttl = 1) {
$not_interactive = 0, $ttl = 1,
$widgets = false) {
global $config;
@ -725,7 +726,12 @@ function flot_slicesbar_graph (
$return = "<div id='$graph_id' class='noresizevc graph $adapt_key' style='width: ".$width."%; height: ".$height."px; display: inline-block;'></div>";
}
else {
$return = "<div id='$graph_id' class='noresizevc graph $adapt_key' style='width: ".$width."%; height: ".$height."px;'></div>";
if($widgets){
$return = "<div id='$graph_id' class='noresizevc graph $adapt_key' style='width: ".$width."px; height: ".$height."px;'></div>";
}
else{
$return = "<div id='$graph_id' class='noresizevc graph $adapt_key' style='width: ".$width."%; height: ".$height."px;'></div>";
}
}
$return .= "<div id='value_$graph_id' style='display:none; position:absolute; background:#fff; border: solid 1px #aaa; padding: 2px'></div>";

View File

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

View File

@ -12,10 +12,6 @@
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
if (!isset($config)) {
require_once('../include/config.php');
}
//Singleton
class System {
private static $instance;

View File

@ -34,10 +34,9 @@ class User {
self::$instance = $user;
}
else {
self::$instance = new self;
self::$instance = new self();
}
}
return self::$instance;
}

View File

@ -25,6 +25,8 @@ require_once("include/system.class.php");
require_once("include/db.class.php");
require_once("include/user.class.php");
require_once('../include/config.php');
require_once('operation/home.php');
require_once('operation/tactical.php');
require_once('operation/groups.php');
@ -78,10 +80,6 @@ require_once($system->getConfig('homedir').'/include/constants.php');
$user = User::getInstance();
if (!is_object($user) && gettype($user) == 'object') {
$user = unserialize (serialize ($user));
}
$user->saveLogin();
$default_page = 'home';

View File

@ -50,11 +50,23 @@ if ($id_node > 0) {
}
}
$row_module = modules_get_agentmodule($id);
$row_state = db_get_row('tagente_estado', 'id_agente_modulo', $id);
// Retrieve data
$utimestamp = get_parameter("timestamp", '');
if($utimestamp == '') {
// Retrieve last data
$row_state = db_get_row('tagente_estado', 'id_agente_modulo', $id);
$last_timestamp = date("Y-m-d H:i:s", $row_state['utimestamp']);
} else {
// Retrieve target data
$state = db_get_row('tagente_estado', 'id_agente_modulo', $id, array('id_agente'));
$row_state = db_get_row_filter('tagente_datos_string', array('id_agente_modulo' => $id, 'utimestamp' => $utimestamp));
$row_state['id_agente'] = $state['id_agente'];
$last_timestamp = date("Y-m-d H:i:s", $row_state['utimestamp']);
}
// Build the info
$label = get_parameter ("label", io_safe_output($row_module['module_name']));
$last_timestamp = get_parameter("timestamp", $row_state['timestamp']);
$last_data = io_safe_output($row_state["datos"]);
$refresh = (int) get_parameter ("refr", $row_state['current_interval']);

View File

@ -3,7 +3,7 @@
#
%define name pandorafms_console
%define version 7.0NG.728
%define release 181029
%define release 181031
# User and Group under which Apache is running
%define httpd_name httpd
@ -28,7 +28,7 @@ AutoReq: 0
Requires: %{httpd_name} >= 2.0.0
Requires: mod_php >= 5.2.0
Requires: php-gd, php-ldap, php-snmp, php-session, php-gettext
Requires: php-mysql, php-mbstring, php-zip, php-zlib, php-curl
Requires: php-mysqlnd, php-mbstring, php-zip, php-zlib, php-curl
Requires: xorg-x11-fonts-75dpi, xorg-x11-fonts-misc
Requires: graphviz
Provides: %{name}-%{version}

View File

@ -3,7 +3,7 @@
#
%define name pandorafms_console
%define version 7.0NG.728
%define release 181029
%define release 181031
%define httpd_name httpd
# User and Group under which Apache is running
%define httpd_name apache2
@ -29,10 +29,10 @@ BuildArch: noarch
AutoReq: 0
Requires: apache2, apache2-mod_php5
Requires: php >= 4.3.0
Requires: php5-gd, php5-snmp, php5-json, php5-gettext
Requires: php5-mysql, php5-ldap, php5-mbstring, php5
Requires: php-gd, php-snmp, php-json, php-gettext
Requires: php-mysqlnd, php-ldap, php-mbstring, php
Requires: graphviz, xorg-x11-fonts-core, graphviz-gd
Requires: php5-zip, php5-zlib, php5-curl
Requires: php-zip, php-zlib, php-curl
Provides: %{name}-%{version}
%description

View File

@ -1,5 +1,5 @@
package: pandorafms-server
Version: 7.0NG.728-181029
Version: 7.0NG.728-181031
Architecture: all
Priority: optional
Section: admin

View File

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

View File

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

View File

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

View File

@ -1293,7 +1293,7 @@ sub scan_subnet($) {
if (-x $self->{'fping'} && $net_addr->num() > 1) {
$self->call('message', "Calling fping...", 5);
my @hosts = `$self->{'fping'} -ga "$subnet" 2>DEVNULL`;
my @hosts = `"$self->{'fping'}" -ga "$subnet" 2>DEVNULL`;
next if (scalar(@hosts) == 0);
my $step = 50.0 / scalar(@subnets) / scalar(@hosts); # The first 50% of the recon task approx.

View File

@ -587,7 +587,7 @@ sub PandoraFMS::Recon::Base::create_agent($$) {
}
}
# ifInOctets
else {
elsif (defined($self->snmp_get_value($device, "$PandoraFMS::Recon::Base::IFINOCTECTS.$if_index"))) {
$module_id = get_agent_module_id($self->{'dbh'}, "${if_name}_ifInOctets", $agent_id);
if ($module_id <= 0) {
my %module = ('id_tipo_modulo' => 16,
@ -660,7 +660,7 @@ sub PandoraFMS::Recon::Base::create_agent($$) {
}
}
# ifOutOctets
else {
elsif (defined($self->snmp_get_value($device, "$PandoraFMS::Recon::Base::IFOUTOCTECTS.$if_index"))) {
$module_id = get_agent_module_id($self->{'dbh'}, "${if_name}_ifOutOctets", $agent_id);
if ($module_id <= 0) {
my %module = ('id_tipo_modulo' => 16,

View File

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

View File

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

View File

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

View File

@ -34,7 +34,7 @@ use PandoraFMS::Config;
use PandoraFMS::DB;
# version: define current version
my $version = "7.0NG.728 PS181029";
my $version = "7.0NG.728 PS181031";
# Pandora server configuration
my %conf;

View File

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

View File

@ -69,6 +69,7 @@ RUN yum install -y \
php-ldap \
php-common \
php-zip \
php-xmlrpc \
nmap \
xprobe2 \
mysql-server \