Resolve merge conflict

This commit is contained in:
Luis Calvo 2019-05-27 18:30:24 +02:00
commit 588d19102f
186 changed files with 6841 additions and 3275 deletions

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.734, AIX version
# Version 7.0NG.735, AIX version
# Licensed under GPL license v2,
# Copyright (c) 2003-2010 Artica Soluciones Tecnologicas
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.734, FreeBSD Version
# Version 7.0NG.735, FreeBSD Version
# Licensed under GPL license v2,
# Copyright (c) 2003-2010 Artica Soluciones Tecnologicas
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.734, HP-UX Version
# Version 7.0NG.735, HP-UX Version
# Licensed under GPL license v2,
# Copyright (c) 2003-2009 Artica Soluciones Tecnologicas
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.734, GNU/Linux
# Version 7.0NG.735, GNU/Linux
# Licensed under GPL license v2,
# Copyright (c) 2003-2009 Artica Soluciones Tecnologicas
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.734, GNU/Linux
# Version 7.0NG.735, GNU/Linux
# Licensed under GPL license v2,
# Copyright (c) 2003-2009 Artica Soluciones Tecnologicas
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.734, Solaris Version
# Version 7.0NG.735, Solaris Version
# Licensed under GPL license v2,
# Copyright (c) 2003-2009 Artica Soluciones Tecnologicas
# http://www.pandorafms.com

View File

@ -1,6 +1,6 @@
# Base config file for Pandora FMS Windows Agent
# (c) 2006-2010 Artica Soluciones Tecnologicas
# Version 7.0NG.734
# Version 7.0NG.735
# 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

View File

@ -1,6 +1,6 @@
# Fichero de configuracion base de agentes de Pandora
# Base config file for Pandora agents
# Version 7.0NG.734, AIX version
# Version 7.0NG.735, AIX version
# General Parameters
# ==================

View File

@ -1,6 +1,6 @@
# Fichero de configuracion base de agentes de Pandora
# Base config file for Pandora agents
# Version 7.0NG.734
# Version 7.0NG.735
# FreeBSD/IPSO version
# Licenced under GPL licence, 2003-2007 Sancho Lerena

View File

@ -1,6 +1,6 @@
# Fichero de configuracion base de agentes de Pandora
# Base config file for Pandora agents
# Version 7.0NG.734, HPUX Version
# Version 7.0NG.735, HPUX Version
# General Parameters
# ==================

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.734
# Version 7.0NG.735
# Licensed under GPL license v2,
# (c) 2003-2010 Artica Soluciones Tecnologicas
# please visit http://pandora.sourceforge.net

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.734
# Version 7.0NG.735
# Licensed under GPL license v2,
# (c) 2003-2009 Artica Soluciones Tecnologicas
# please visit http://pandora.sourceforge.net

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.734
# Version 7.0NG.735
# Licensed under GPL license v2,
# please visit http://pandora.sourceforge.net

View File

@ -1,6 +1,6 @@
# Fichero de configuracion base de agentes de Pandora
# Base config file for Pandora agents
# Version 7.0NG.734, Solaris version
# Version 7.0NG.735, Solaris version
# General Parameters
# ==================

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.734, AIX version
# Version 7.0NG.735, AIX version
# Licensed under GPL license v2,
# Copyright (c) 2003-2010 Artica Soluciones Tecnologicas
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
package: pandorafms-agent-unix
Version: 7.0NG.734-190516
Version: 7.0NG.735-190527
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.734-190516"
pandora_version="7.0NG.735-190527"
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

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.734, GNU/Linux
# Version 7.0NG.735, GNU/Linux
# Licensed under GPL license v2,
# Copyright (c) 2003-2012 Artica Soluciones Tecnologicas
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.734, FreeBSD Version
# Version 7.0NG.735, FreeBSD Version
# Licensed under GPL license v2,
# Copyright (c) 2003-2016 Artica Soluciones Tecnologicas
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.734, HP-UX Version
# Version 7.0NG.735, HP-UX Version
# Licensed under GPL license v2,
# Copyright (c) 2003-2009 Artica Soluciones Tecnologicas
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.734, GNU/Linux
# Version 7.0NG.735, GNU/Linux
# Licensed under GPL license v2,
# Copyright (c) 2003-2014 Artica Soluciones Tecnologicas
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.734, GNU/Linux
# Version 7.0NG.735, GNU/Linux
# Licensed under GPL license v2,
# Copyright (c) 2003-2009 Artica Soluciones Tecnologicas
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.734, NetBSD Version
# Version 7.0NG.735, NetBSD Version
# Licensed under GPL license v2,
# Copyright (c) 2003-2010 Artica Soluciones Tecnologicas
# http://www.pandorafms.com

View File

@ -1,5 +1,5 @@
# Base config file for Pandora FMS agents
# Version 7.0NG.734, Solaris Version
# Version 7.0NG.735, Solaris Version
# Licensed under GPL license v2,
# Copyright (c) 2003-2009 Artica Soluciones Tecnologicas
# http://www.pandorafms.com

View File

@ -41,8 +41,8 @@ my $Sem = undef;
# Semaphore used to control the number of threads
my $ThreadSem = undef;
use constant AGENT_VERSION => '7.0NG.734';
use constant AGENT_BUILD => '190516';
use constant AGENT_VERSION => '7.0NG.735';
use constant AGENT_BUILD => '190527';
# Agent log default file size maximum and instances
use constant DEFAULT_MAX_LOG_SIZE => 600000;

View File

@ -2,8 +2,8 @@
#Pandora FMS Linux Agent
#
%define name pandorafms_agent_unix
%define version 7.0NG.734
%define release 190516
%define version 7.0NG.735
%define release 190527
Summary: Pandora FMS Linux agent, PERL version
Name: %{name}

View File

@ -2,8 +2,8 @@
#Pandora FMS Linux Agent
#
%define name pandorafms_agent_unix
%define version 7.0NG.734
%define release 190516
%define version 7.0NG.735
%define release 190527
Summary: Pandora FMS Linux agent, PERL version
Name: %{name}

View File

@ -9,8 +9,8 @@
# Please see http://www.pandorafms.org. This code is licensed under GPL 2.0 license.
# **********************************************************************
PI_VERSION="7.0NG.734"
PI_BUILD="190516"
PI_VERSION="7.0NG.735"
PI_BUILD="190527"
OS_NAME=`uname -s`
FORCE=0

View File

@ -1,6 +1,6 @@
# Base config file for Pandora FMS Windows Agent
# (c) 2006-2017 Artica Soluciones Tecnologicas
# Version 7.0NG.734
# Version 7.0NG.735
# 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

View File

@ -3,7 +3,7 @@ AllowLanguageSelection
{Yes}
AppName
{Pandora FMS Windows Agent v7.0NG.734}
{Pandora FMS Windows Agent v7.0NG.735}
ApplicationID
{17E3D2CF-CA02-406B-8A80-9D31C17BD08F}
@ -186,7 +186,7 @@ UpgradeApplicationID
{}
Version
{190516}
{190527}
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.734(Build 190516)")
#define PANDORA_VERSION ("7.0NG.735(Build 190527)")
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.734(Build 190516))"
VALUE "ProductVersion", "(7.0NG.735(Build 190527))"
VALUE "FileVersion", "1.0.0.0"
END
END

View File

@ -1,5 +1,5 @@
package: pandorafms-console
Version: 7.0NG.734-190516
Version: 7.0NG.735-190527
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.734-190516"
pandora_version="7.0NG.735-190527"
package_pear=0
package_pandora=1

View File

@ -138,8 +138,15 @@ function mainAgentsAlerts()
$onheader['combo_refr'] = $comborefr;
}
// Header
ui_print_page_header(__('Agents/Alerts'), 'images/op_alerts.png', false, '', false, $updated_time);
// Header.
ui_print_page_header(
__('Agents/Alerts'),
'images/op_alerts.png',
false,
'agents_alerts_view',
false,
$updated_time
);
// Old style table, we need a lot of special formatting,don't use table function
// Prepare old-style table
@ -291,7 +298,7 @@ function mainAgentsAlerts()
$table2->data[2][0] = __('Threshold');
$table2->data[2][1] = html_print_input_text('module_action_threshold', '0', '', 5, 7, true);
$table2->data[2][1] .= ' '.__('seconds').ui_print_help_icon('action_threshold', true);
$table2->data[2][1] .= ' '.__('seconds');
$content2 = '<form class="add_alert_form" method="post">';
$content2 .= html_print_table($table2, true);

View File

@ -181,8 +181,15 @@ function mainAgentsModules()
// Old style table, we need a lot of special formatting,don't use table function
// Prepare old-style table
if ($config['pure'] == 0) {
// Header
ui_print_page_header(__('Agents/Modules'), 'images/module_mc.png', false, '', false, $updated_time);
// Header.
ui_print_page_header(
__('Agents/Modules'),
'images/module_mc.png',
false,
'agents_module_view',
false,
$updated_time
);
echo '<table style="width:100%;">';
echo '<tr>';
echo "<td> <span style='float: right;'>".$fullscreen['text'].'</span> </td>';
@ -826,4 +833,4 @@ $ignored_params['refresh'] = '';
}
}
</script>
</script>

View File

@ -25,7 +25,7 @@ function extension_db_status()
__('DB Schema check'),
'images/extensions.png',
false,
'',
'db_status_tab',
true,
''
);

View File

@ -192,7 +192,14 @@ function mainModuleGroups()
$array_data[$value['id_grupo']][$value['id_mg']] = $value;
}
ui_print_page_header(__('Combined table of agent group and module group'), 'images/module_group.png', false, '', false, '');
ui_print_page_header(
__('Combined table of agent group and module group'),
'images/module_group.png',
false,
'module_groups_view',
false,
''
);
echo "<table cellpadding='4' cellspacing='4' class='databox filters' width='100%' style='font-weight: bold; margin-bottom: 10px;'>
<tr>";

View File

@ -29,7 +29,14 @@ function pandora_realtime_graphs()
$hide_header = get_parameter('hide_header', 0);
if (!$hide_header) {
ui_print_page_header(__('Realtime graphs'), 'images/extensions.png', false, '', false, $onheader);
ui_print_page_header(
__('Realtime graphs'),
'images/extensions.png',
false,
'real_time_view',
false,
$onheader
);
}
$chart[time()]['graph'] = '0';

View File

@ -1,3 +1,3 @@
/godmode/servers/recon_script.php
/godmode/servers/manage_recontask_form.php
/godmode/servers/manage_recontask.php
/general/login_identification_wizard.php
/general/login_required.php
/godmode/update_manager/update_manager.messages.php

View File

@ -9,9 +9,12 @@ ALTER TABLE `talert_commands` ADD COLUMN `fields_hidden` text;
ALTER TABLE `talert_templates` MODIFY COLUMN `type` ENUM('regex','max_min','max','min','equal','not_equal','warning','critical','onchange','unknown','always','not_normal');
DELETE FROM `tevent_response` WHERE `name` LIKE 'Create&#x20;Integria&#x20;IMS&#x20;incident&#x20;from&#x20;event';
INSERT INTO `tnews` (`id_news`, `author`, `subject`, `text`, `timestamp`) VALUES (1,'admin','Welcome&#x20;to&#x20;Pandora&#x20;FMS&#x20;Console', '&amp;lt;p&#x20;style=&quot;text-align:&#x20;center;&#x20;font-size:&#x20;13px;&quot;&amp;gt;Hello,&#x20;congratulations,&#x20;if&#x20;you&apos;ve&#x20;arrived&#x20;here&#x20;you&#x20;already&#x20;have&#x20;an&#x20;operational&#x20;monitoring&#x20;console.&#x20;Remember&#x20;that&#x20;our&#x20;forums&#x20;and&#x20;online&#x20;documentation&#x20;are&#x20;available&#x20;24x7&#x20;to&#x20;get&#x20;you&#x20;out&#x20;of&#x20;any&#x20;trouble.&#x20;You&#x20;can&#x20;replace&#x20;this&#x20;message&#x20;with&#x20;a&#x20;personalized&#x20;one&#x20;at&#x20;Admin&#x20;tools&#x20;-&amp;amp;gt;&#x20;Site&#x20;news.&amp;lt;/p&amp;gt;&#x20;',NOW());
INSERT INTO `tnews` (`id_news`, `author`, `subject`, `text`, `timestamp`) VALUES (NULL,'admin','Welcome&#x20;to&#x20;Pandora&#x20;FMS&#x20;Console', '&amp;lt;p&#x20;style=&quot;text-align:&#x20;center;&#x20;font-size:&#x20;13px;&quot;&amp;gt;Hello,&#x20;congratulations,&#x20;if&#x20;you&apos;ve&#x20;arrived&#x20;here&#x20;you&#x20;already&#x20;have&#x20;an&#x20;operational&#x20;monitoring&#x20;console.&#x20;Remember&#x20;that&#x20;our&#x20;forums&#x20;and&#x20;online&#x20;documentation&#x20;are&#x20;available&#x20;24x7&#x20;to&#x20;get&#x20;you&#x20;out&#x20;of&#x20;any&#x20;trouble.&#x20;You&#x20;can&#x20;replace&#x20;this&#x20;message&#x20;with&#x20;a&#x20;personalized&#x20;one&#x20;at&#x20;Admin&#x20;tools&#x20;-&amp;amp;gt;&#x20;Site&#x20;news.&amp;lt;/p&amp;gt;&#x20;',NOW());
INSERT INTO `tnotification_source_user` (`id_source`, `id_user`, `enabled`, `also_mail`) VALUES ((SELECT `id` FROM `tnotification_source` WHERE `description`="Official&#x20;communication"), "admin", 1, 0);
UPDATE `tnotification_source` SET `enabled`=1 WHERE `description` = 'System&#x20;status' OR `description` = 'Official&#x20;communication';
UPDATE `tnotification_source` SET `icon`="icono_logo_pandora.png" WHERE `description` = 'Official&#x20;communication';
ALTER TABLE `tusuario` ADD COLUMN `ehorus_user_login_user` VARCHAR(60);
ALTER TABLE `tusuario` ADD COLUMN `ehorus_user_login_pass` VARCHAR(45);

View File

@ -295,7 +295,7 @@ $key_buffer_size_min_rec_value = 256;
$read_buffer_size_min_rec_value = 32;
$read_rnd_buffer_size_min_rec_value = 32;
$query_cache_min_res_unit_min_rec_value = 2;
$innodb_file_per_table_min_rec_value = 0;
$innodb_file_per_table_min_rec_value = 1;
function status_fragmentation_tables($tables_fragmentation_max_rec_value, $tables_fragmentation)
@ -345,15 +345,21 @@ if ($console_mode == 1) {
include '../include/config.php';
}
// Not from console, this is a web session
if ((!isset($config['id_user'])) or (!check_acl($config['id_user'], 0, 'PM'))) {
// Not from console, this is a web session.
if ((!isset($config['id_user'])) || (!check_acl($config['id_user'], 0, 'PM'))) {
echo "<h2>You don't have privileges to use diagnostic tool</h2>";
echo '<p>Please login with an administrator account before try to use this tool</p>';
exit;
}
// Header
ui_print_page_header(__('Pandora FMS Diagnostic tool'), '', false, '', true);
// Header.
ui_print_page_header(
__('Pandora FMS Diagnostic tool'),
'',
false,
'diagnostic_tool_tab',
true
);
echo "<table width='1000px' border='0' style='border:0px;' class='databox data' cellpadding='4' cellspacing='4'>";
echo "<tr><th style='background-color:#b1b1b1;font-weight:bold;font-style:italic;border-radius:2px;' align=center colspan='2'>".__('Pandora status info').'</th></tr>';
@ -678,7 +684,7 @@ render_info_data(
$read_rnd_buffer_size = (db_get_value_sql('SELECT @@read_rnd_buffer_size') / 1024);
$query_cache_min_res_unit = (db_get_value_sql('SELECT @@query_cache_min_res_unit') / 1024);
$innodb_file_per_table = db_get_value_sql('SELECT @@innodb_file_per_table');
echo "<tr><th style='background-color:#b1b1b1;font-weight:bold;font-style:italic;border-radius:2px;' align=center colspan='2'>".__('MySQL Performance metrics').'</th></tr>';
echo "<tr><th style='background-color:#b1b1b1;font-weight:bold;font-style:italic;border-radius:2px;' align=center colspan='2'>".__('MySQL Performance metrics').' '.ui_print_help_icon('performance_metrics_tab', true).'</th></tr>';
render_row(status_values($innodb_log_file_size_min_rec_value, $innodb_log_file_size), 'InnoDB log file size ', 'InnoDB log file size ');
render_row(status_values($innodb_log_buffer_size_min_rec_value, $innodb_log_buffer_size), 'InnoDB log buffer size ', 'InnoDB log buffer size ');

View File

@ -2008,7 +2008,7 @@ INSERT INTO `tnotification_source`(`description`, `icon`, `max_postpone_time`, `
("Message", "icono_info_mr.png", 86400, 1, 1, 0),
("Pending&#x20;task", "icono_info_mr.png", 86400, 1, 1, 0),
("Advertisement", "icono_info_mr.png", 86400, 1, 1, 0),
("Official&#x20;communication", "icono_info_mr.png", 86400, 1, 1, 0),
("Official&#x20;communication", "icono_logo_pandora.png", 86400, 1, 1, 0),
("Sugerence", "icono_info_mr.png", 86400, 1, 1, 0);
-- -----------------------------------------------------
@ -2105,6 +2105,9 @@ INSERT INTO `talert_commands` (`name`, `command`, `description`, `internal`, `fi
INSERT INTO `tnotification_source_user` (`id_source`, `id_user`, `enabled`, `also_mail`) VALUES ((SELECT `id` FROM `tnotification_source` WHERE `description`="System&#x20;status"), "admin", 1, 0);
INSERT INTO `tnotification_source_group` SELECT `id`,0 FROM `tnotification_source` WHERE `description`="Message";
INSERT INTO `tnotification_user` (`id_mensaje`, `id_user`) SELECT `id_mensaje`, `id_usuario_destino` FROM `tmensajes` WHERE `id_usuario_destino` != '';
INSERT INTO `tnotification_source_user` (`id_source`, `id_user`, `enabled`, `also_mail`) VALUES ((SELECT `id` FROM `tnotification_source` WHERE `description`="Official&#x20;communication"), "admin", 1, 0);
UPDATE `tnotification_source` SET `enabled`=1 WHERE `description` = 'System&#x20;status' OR `description` = 'Official&#x20;communication';
-- ----------------------------------------------------------------------
-- Add custom internal recon scripts
-- ----------------------------------------------------------------------

View File

@ -143,6 +143,57 @@ if ($config['menu_type'] == 'classic') {
$_GET['sec2'] = '';
}
if ($_GET['sec'] == 'main' || !isset($_GET['sec'])) {
// home screen chosen by the user
$home_page = '';
if (isset($config['id_user'])) {
$user_info = users_get_user_by_id($config['id_user']);
$home_page = io_safe_output($user_info['section']);
$home_url = $user_info['data_section'];
}
if ($home_page != '') {
switch ($home_page) {
case 'Event list':
$_GET['sec2'] = 'operation/events/events';
break;
case 'Group view':
$_GET['sec2'] = 'operation/agentes/group_view';
break;
case 'Alert detail':
$_GET['sec2'] = 'operation/agentes/alerts_status';
break;
case 'Tactical view':
$_GET['sec2'] = 'operation/agentes/tactical';
break;
case 'Default':
$_GET['sec2'] = 'general/logon_ok';
break;
case 'Dashboard':
$_GET['sec2'] = 'enterprise/dashboard/main_dashboard';
break;
case 'Visual console':
$_GET['sec2'] = 'operation/visual_console/render_view';
break;
case 'Other':
$home_url = io_safe_output($home_url);
$url_array = parse_url($home_url);
parse_str($url_array['query'], $res);
foreach ($res as $key => $param) {
$_GET[$key] = $param;
}
break;
}
}
}
if (!isset($_GET['refr'])) {
$_GET['refr'] = null;
}
@ -212,14 +263,21 @@ if ($config['menu_type'] == 'classic') {
);
$autorefresh_additional .= '</span>';
unset($values);
$autorefresh_link_open_img = '<a class="white autorefresh" href="'.ui_get_url_refresh($ignored_params).'">';
if ($home_page != '') {
$autorefresh_link_open_img = '<a class="white autorefresh" href="index.php?refr=">';
} else {
$autorefresh_link_open_img = '<a class="white autorefresh" href="'.ui_get_url_refresh($ignored_params).'">';
}
if ($_GET['refr']
|| ((isset($select[0]['time_autorefresh']) === true)
&& $select[0]['time_autorefresh'] !== 0)
) {
$autorefresh_link_open_txt = '<a class="autorefresh autorefresh_txt" href="'.ui_get_url_refresh($ignored_params).'">';
if ($home_page != '') {
$autorefresh_link_open_txt = '<a class="autorefresh autorefresh_txt" href="index.php?refr=">';
} else {
$autorefresh_link_open_txt = '<a class="autorefresh autorefresh_txt" href="'.ui_get_url_refresh($ignored_params).'">';
}
} else {
$autorefresh_link_open_txt = '<a>';
}
@ -614,7 +672,7 @@ if ($config['menu_type'] == 'classic') {
if ($_GET['refr'] || $do_refresh === true) {
?>
$("#header_autorefresh").css('padding-right', '5px');
var refr_time = <?php echo (int) get_parameter('refr', 0); ?>;
var refr_time = <?php echo (int) get_parameter('refr', $config['refr']); ?>;
var t = new Date();
t.setTime (t.getTime () + parseInt(<?php echo ($config['refr'] * 1000); ?>));
$("#refrcounter").countdown ({

View File

@ -1,455 +0,0 @@
<?php
// Pandora FMS - http://pandorafms.com
// ==================================================
// Copyright (c) 2005-2011 Artica Soluciones Tecnologicas
// Please see http://pandorafms.org for full contribution list
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; version 2
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
/**
* @package General
*/
global $config;
function display_register($data)
{
if ($data['instance_registered'] == 1) {
return false;
}
if ($data['force_register'] == 1) {
return true;
}
if ($data['force_register'] == 0) {
return false;
}
if ($data['identification_reminder'] == 0) {
return false;
}
if (!isset($data['identification_reminder_timestamp'])) {
return true;
}
if ($data['identification_reminder_timestamp'] < time()) {
return true;
}
return false;
}
function display_newsletter($data)
{
if ($data['newsletter_subscribed'] == 1) {
return false;
}
if ($data['force_newsletter'] == 1) {
return true;
}
if ($data['force_newsletter'] == 0) {
return false;
}
if ($data['newsletter_reminder'] === 0) {
return false;
}
if (!isset($data['newsletter_reminder_timestamp'])) {
return true;
}
if (!is_numeric($data['newsletter_reminder_timestamp'])) {
return true;
}
if ($data['newsletter_reminder_timestamp'] < time()) {
return true;
}
return false;
}
if (is_ajax()) {
include_once $config['homedir'].'/include/functions_update_manager.php';
$open_wizard = get_parameter('open_wizard', 0);
$not_return = get_parameter('not_return', 0);
$reset_initial_wizard = get_parameter('reset_initial_wizard', 0);
if ($reset_initial_wizard) {
config_update_value('initial_wizard', 0);
}
if ($open_wizard) {
$register_pandora = get_parameter('register_pandora', 0);
$newsletter = get_parameter('newsletter', 0);
$forced = get_parameter('forced', 0);
$future_8_days = (time() + 8 * SECONDS_1DAY);
$ui_feedback = [
'status' => true,
'message' => '',
];
if ($register_pandora) {
// Pandora register update
$um_message = update_manager_register_instance();
$ui_feedback['message'] .= $um_message['message'].'<br><br>';
if ($um_message['success']) {
config_update_value('instance_registered', 1);
$ui_feedback['status'] = true && $ui_feedback['status'];
} else {
$ui_feedback['status'] = false;
}
} else if (!$forced) {
config_update_value('identification_reminder_timestamp', $future_8_days);
}
if ($newsletter) {
// Pandora newsletter update
$email = get_parameter('email', '');
$um_message = update_manager_insert_newsletter($email);
$ui_feedback['message'] .= $um_message['message'];
if ($um_message['success']) {
db_process_sql_update('tusuario', ['middlename' => 1], ['id_user' => $config['id_user']]);
$ui_feedback['status'] = true && $ui_feedback['status'];
} else {
$ui_feedback['status'] = false;
}
} else if (!$forced) {
db_process_sql_update('tusuario', ['lastname' => $future_8_days], ['id_user' => $config['id_user']]);
}
// Form answer JSON
$ui_feedback['status'] = $ui_feedback['status'] ? 1 : 0;
echo io_json_mb_encode($ui_feedback);
}
if (!$not_return) {
return;
}
}
// Check if user is admin
if (!license_free()) {
return;
}
if (!users_is_admin($config['id_user'])) {
return;
}
// Get data to display properly the wizard
$wizard_data = [];
$wizard_data['newsletter_subscribed'] = db_get_value('middlename', 'tusuario', 'id_user', $config['id_user']);
// force_* = 1 -> force show
// force_* = 0 -> force hide
// force_* = -1 -> show or hide depends reminder and timestamp
$wizard_data['force_newsletter'] = get_parameter('force_newsletter', -1);
$wizard_data['newsletter_reminder'] = db_get_value('firstname', 'tusuario', 'id_user', $config['id_user']);
$wizard_data['newsletter_reminder_timestamp'] = db_get_value('lastname', 'tusuario', 'id_user', $config['id_user']);
$wizard_data['instance_registered'] = $config['instance_registered'];
$wizard_data['force_register'] = get_parameter('force_register', -1);
$wizard_data['identification_reminder'] = $config['identification_reminder'];
$wizard_data['identification_reminder_timestamp'] = $config['identification_reminder_timestamp'];
$display_newsletter = display_newsletter($wizard_data);
$display_register = display_register($wizard_data);
$display_forced = ($wizard_data['force_newsletter'] != -1) || ($wizard_data['force_register'] != -1);
// Return if it is fully completed
if ((!$display_register) && (!$display_newsletter)) {
return false;
}
$return_button = get_parameter('return_button', 0) == 1;
$email = db_get_value('email', 'tusuario', 'id_user', $config['id_user']);
// Avoid to show default email
if ($email == 'admin@example.com') {
$email = '';
}
// Prints accept register license
echo '<div id="login_accept_register" title="'.__('The %s community wizard', get_product_name()).'" style="">';
echo '<div style="margin: 5px 0 10px; float: left; padding-left: 15px;">';
echo html_print_image('images/pandora_circle_big.png', true);
echo '</div>';
echo '<div style="font-size: 12pt; margin: 5px 20px; float: left; padding-top: 23px;">';
echo __('Stay up to date with the %s community', get_product_name()).'.';
echo '</div>';
echo '<div id="license_newsletter">';
echo '<p>'.__('When you subscribe to the %s Update Manager service, you accept that we register your %s instance as an identifier on the database owned by Artica TS. This data will solely be used to provide you with information about %s and will not be conceded to third parties. You can unregister from said database at any time from the Update Manager options.', get_product_name(), get_product_name(), get_product_name()).'</p>';
echo '<p>'.__('In the same fashion, when subscribed to the newsletter you accept that your email will pass on to a database property of Artica TS. This data will solely be used to provide you with information about %s and will not be conceded to third parties. You can unregister from said database at any time from the newsletter subscription options.', get_product_name()).'</p>';
echo '</div>';
echo '<div style="position:absolute; margin: 0 auto; bottom: 0px; padding-top:10px; position:relative; border: 1px solid #FFF;">';
echo '<div style="float: right;">';
html_print_submit_button(__('Finish'), 'finish_dialog_button', false, 'class="ui-button-dialog ui-widget ui-state-default ui-corner-all ui-button-text-only sub ok" style="width:100px;"');
echo '</div>';
$display_status_return = $return_button ? 'block' : 'none';
echo '<div style="float: right; width: 20%; display: '.$display_status_return.';">';
html_print_submit_button(__('Return'), 'return_dialog_button', false, 'class="ui-button-dialog ui-widget ui-state-default ui-corner-all ui-button-text-only sub upd" style="width:100px;"');
echo '</div>';
echo '<div style="float: left; margin-left: 0px; width: 50%; text-align: left;">';
html_print_checkbox('register', 1, false, false, false, 'cursor: \'pointer\'');
echo '&nbsp;<span style="font-size: 12px;" id="label-register">'.__('Join the %s community!', get_product_name()).'!</span><br>';
html_print_checkbox('newsletter', 1, false, false, false, 'cursor: \'pointer\'');
echo '&nbsp;<span style="font-size: 12px;" id="label-newsletter">'.__('Subscribe to our newsletter').'</span>';
echo '<br>';
echo '<div id="email_container">';
echo '&nbsp;<span id="label-email-newsletter"style="font-size: 12px; display: none">'.__('Email').': </span>';
html_print_input_text_extended('email-newsletter', $email, 'text-email-newsletter', '', 30, 255, false, '', ['style' => 'display:none; width: 200px;']);
echo '&nbsp;<span id="label-email-newsletter"style="font-size: 12px; display: none">'.__('Email').': </span>';
echo '&nbsp;<span id="required-email-newsletter">*'.__('Required').' </span>';
echo '</div>';
echo '</div>';
echo '</div>';
echo '</div>';
// Print yes or not dialog
echo '<div id="login_registration_yesno" title="'.__('%s instance identification wizard', get_product_name()).'" style="">';
echo '<div style="font-size: 12pt; margin: 20px;">';
echo __('Do you want to continue without any registration').'?';
echo '</div>';
echo '<div style="float: left; padding-left: 15px; padding-top: 20px;">';
html_print_submit_button(__('No'), 'no_registration', false, 'class="ui-button-dialog ui-widget ui-state-default ui-corner-all ui-button-text-only sub cancel" style="width:100px;"');
echo '</div>';
echo '<div style="float: right; padding-right: 15px; padding-top: 20px;">';
html_print_submit_button(__('Yes'), 'yes_registration', false, 'class="ui-button-dialog ui-widget ui-state-default ui-corner-all ui-button-text-only sub upd" style="width:100px;"');
echo '</div>';
echo '</div>';
// Print feedback user dialog
echo '<div id="ui_messages_feedback" style="">';
echo '<div style="float: left; margin: 15px; margin-left: 5px;">';
echo html_print_image('images/success_circle_big.png', true);
echo '</div>';
echo '<div id="feedback_message" style="font-size: 13pt; margin: 15px 20px; padding-left:80px;"></div>';
echo '</div>';
?>
<script type="text/javascript" language="javascript">
/* <![CDATA[ */
//Show newsletter and register checkboxes
var display_register = <?php echo json_encode($display_register); ?>;
var display_newsletter = <?php echo json_encode($display_newsletter); ?>;
var display_forced = <?php echo json_encode($display_forced); ?>;
var return_button = <?php echo json_encode($return_button); ?>;
////////////////////////////////////////////////////////////////////////
//HELPER FUNCTIONS
function submit_open_wizard (register, newsletter, email, forced) {
register = register;
newsletter = newsletter ? 1 : 0;
forced = forced ? 1 : 0;
var feedback_message = '';
var feedback_status = 1;
jQuery.post ("ajax.php",
{"page": "general/login_identification_wizard",
"open_wizard": 1,
"register_pandora": register,
"newsletter": newsletter,
"email": email,
"forced": forced},
function (data) {
var feedback_message = '';
var feedback_status = 1;
jQuery.each (data, function (i, val) {
if (i == 'message') feedback_message = val;
if (i == 'status') feedback_status = val;
});
if (feedback_status == 0) {
$("#ui_messages_feedback img").attr("src", "images/fail_circle_big.png");
} else {
$("#ui_messages_feedback img").attr("src", "images/success_circle_big.png");
}
$("#feedback_message").html(feedback_message);
},
"json"
);
}
////////////////////////////////////////////////////////////////////////
//EVENT FUNCTIONS
$("#submit-return_dialog_button").click (function () {
$("#login_accept_register" ).dialog('close');
$("#all-required").hide();
$("#login_id_dialog" ).dialog('open');
jQuery.post ("ajax.php",
{"page": "general/login_identification_wizard",
"reset_initial_wizard": 1},
function (data) {}
);
});
$("#submit-finish_dialog_button").click (function () {
var newsletter = $("#checkbox-newsletter").is(':checked') ? 1 : 0;
var register = $("#checkbox-register").is(':checked');
var email = $("#text-email-newsletter").val();
if (email == '' && newsletter) {
$("#label-email-newsletter").show();
$("#text-email-newsletter").show();
$("#required-email-newsletter").show();
return;
}
if (!register && display_register && !display_forced) {
$("#login_registration_yesno").dialog('open');
} else {
var register_forced = register ? 1 : 0;
submit_open_wizard (register_forced, newsletter, email, display_forced);
$("#login_accept_register" ).dialog('close');
if (register || newsletter) {
$("#ui_messages_feedback").dialog('open');
}
}
});
$("#submit-no_registration").click (function () {
$("#login_registration_yesno").dialog('close');
});
$("#submit-yes_registration").click (function () {
var newsletter = $("#checkbox-newsletter").is(':checked') ? 1 : 0;
var email = $("#text-email-newsletter").val();
submit_open_wizard (0, newsletter, email, display_forced);
$("#login_registration_yesno").dialog('close');
$("#login_accept_register" ).dialog('close');
});
$("#checkbox-newsletter").click (function () {
var newsletter = $("#checkbox-newsletter").is(':checked') ? 1 : 0;
if (!return_button && newsletter) {
$("#label-email-newsletter").show();
$("#text-email-newsletter").show();
}
if (!newsletter) {
$("#label-email-newsletter").hide();
$("#text-email-newsletter").hide();
$("#required-email-newsletter").hide();
}
});
////////////////////////////////////////////////////////////////////////
//DISPLAY
$(document).ready (function () {
$("#login_accept_register").dialog({
resizable: false,
draggable: true,
modal: true,
height: 320,
width: 750
});
$("#login_registration_yesno").dialog({
resizable: false,
draggable: true,
modal: true,
width: 320,
overlay: {
opacity: 1,
background: "black"
},
autoOpen: false
});
$("#ui_messages_feedback").dialog({
resizable: false,
draggable: true,
modal: true,
width: 300,
overlay: {
opacity: 1,
background: "black"
},
autoOpen: false
});
//Display return button if required
if (return_button) {
$("#submit-return_dialog_button").show ();
}
// Remove the completed parts
if (!display_register) {
$("#checkbox-register").attr ('style', 'display: none !important');
$("#label-register").hide ();
}
if (!display_newsletter) {
$("#checkbox-newsletter").attr ('style', 'display: none !important');
$("#label-newsletter").hide ();
}
});
/* ]]> */
</script>
<style type="text/css">
#required-email-newsletter{
font-size : 9px;
color: red;
margin-left: -2px;
margin-top: 3px;
position: absolute;
display: none;
}
#email_container{
margin-top: 3px;
width: 500px;
}
#license_newsletter {
height: 100px;
width: 100%;
overflow-y: scroll;
border: 1px solid #E4E4E4;
border-radius: 3px;
}
#license_newsletter p{
padding: 0 3px;
}
.ui-widget-overlay {
background: #000;
opacity: .6;
}
.ui-draggable {
cursor: inherit;
}
</style>

View File

@ -1,273 +0,0 @@
<?php
// Pandora FMS - http://pandorafms.com
// ==================================================
// Copyright (c) 2005-2011 Artica Soluciones Tecnologicas
// Please see http://pandorafms.org for full contribution list
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; version 2
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
/**
* @package General
*/
global $config;
if (is_ajax()) {
$save_identification = get_parameter('save_required_wizard', 0);
$change_language = get_parameter('change_language', 0);
$cancel_wizard = get_parameter('cancel_wizard', 0);
// Updates the values get on the identification wizard
if ($save_identification) {
$email = get_parameter('email', false);
$timezone = get_parameter('timezone', false);
$language = get_parameter('language', false);
if ($email !== false) {
config_update_value('language', $language);
}
if ($timezone !== false) {
config_update_value('timezone', $timezone);
}
if ($email !== false) {
db_process_sql_update(
'tusuario',
['email' => $email],
['id_user' => $config['id_user']]
);
}
// Update the alert action Mail to XXX/Administrator if it is set to default
$mail_check = 'yourmail@domain.es';
$mail_alert = alerts_get_alert_action_field1(1);
if ($mail_check === $mail_alert && $email !== false) {
alerts_update_alert_action(
1,
[
'field1' => $email,
'field1_recovery' => $email,
]
);
}
config_update_value('initial_wizard', 1);
}
// Change the language if is change in checkbox
if ($change_language !== 0) {
config_update_value('language', $change_language);
}
if ($cancel_wizard !== 0) {
config_update_value('initial_wizard', 1);
}
return;
}
$email = db_get_value('email', 'tusuario', 'id_user', $config['id_user']);
// Avoid to show default email
if ($email == 'admin@example.com') {
$email = '';
}
// Prints first step pandora registration
echo '<div id="login_id_dialog" title="'.__('%s instance identification wizard', get_product_name()).'" style="display: none;">';
echo '<div style="font-size: 10pt; margin: 20px;">';
echo __('Please fill the following information in order to configure your %s instance successfully', get_product_name()).'.';
echo '</div>';
echo '<div style="">';
$table = new StdClass();
$table->class = 'databox filters';
$table->width = '100%';
$table->data = [];
$table->size = [];
$table->size[0] = '40%';
$table->style[0] = 'font-weight:bold';
$table->size[1] = '60%';
$table->border = '5px solid';
$table->data[0][0] = __('Language code');
$table->data[0][1] = html_print_select_from_sql(
'SELECT id_language, name FROM tlanguage',
'language',
$config['language'],
'',
'',
'',
true
);
$zone_name = [
'Africa' => __('Africa'),
'America' => __('America'),
'Antarctica' => __('Antarctica'),
'Arctic' => __('Arctic'),
'Asia' => __('Asia'),
'Atlantic' => __('Atlantic'),
'Australia' => __('Australia'),
'Europe' => __('Europe'),
'Indian' => __('Indian'),
'Pacific' => __('Pacific'),
'UTC' => __('UTC'),
];
if ($zone_selected == '') {
if ($config['timezone'] != '') {
$zone_array = explode('/', $config['timezone']);
$zone_selected = $zone_array[0];
} else {
$zone_selected = 'Europe';
}
}
$timezones = timezone_identifiers_list();
foreach ($timezones as $timezone) {
if (strpos($timezone, $zone_selected) !== false) {
$timezone_country = preg_replace('/^.*\//', '', $timezone);
$timezone_n[$timezone] = $timezone_country;
}
}
$table->data[2][0] = __('Timezone setup').' '.ui_print_help_tip(
__('Must have the same time zone as the system or database to avoid mismatches of time.'),
true
);
$table->data[2][1] = html_print_select($zone_name, 'zone', $zone_selected, 'show_timezone()', '', '', true);
$table->data[2][1] .= '&nbsp;&nbsp;'.html_print_select($timezone_n, 'timezone', $config['timezone'], '', '', '', true);
$table->data[4][0] = __('E-mail for receiving alerts');
$table->data[4][1] = html_print_input_text('email', $email, '', 50, 255, true);
html_print_table($table);
echo '</div>';
echo '<div style="position:absolute; margin: 0 auto; bottom: 0px; right: 10px; border: 1px solid #FFF; width: 570px">';
echo '<div style="float: right; width: 20%;">';
html_print_submit_button(__('Register'), 'id_dialog_button', false, 'class="ui-button-dialog ui-widget ui-state-default ui-corner-all ui-button-text-only sub ok" style="width:100px;"');
echo '</div>';
echo '<div style="float: right; width: 20%;">';
html_print_button(__('Cancel'), 'cancel', false, '', 'class="ui-button-dialog ui-widget ui-state-default ui-corner-all ui-button-text-only sub ok" style="width:100px;"');
echo '</div>';
echo '<div id="all-required" style="float: right; margin-right: 30px; display: none; color: red;">';
echo __('All fields required');
echo '</div>';
echo '</div>';
echo '</div>';
?>
<script type="text/javascript" language="javascript">
/* <![CDATA[ */
var default_language_displayed;
////////////////////////////////////////////////////////////////////////
//HELPER FUNCTIONS
function show_timezone () {
zone = $("#zone").val();
$.ajax({
type: "POST",
url: "ajax.php",
data: "page=godmode/setup/setup&select_timezone=1&zone=" + zone,
dataType: "json",
success: function(data) {
$("#timezone").empty();
jQuery.each (data, function (id, value) {
timezone = value;
var timezone_country = timezone.replace (/^.*\//g, "");
$("select[name='timezone']").append($("<option>").val(timezone).html(timezone_country));
});
}
});
}
////////////////////////////////////////////////////////////////////////
//EVENT FUNCTIONS
$("#submit-id_dialog_button").click (function () {
//All fields required
if ($("#text-email").val() == '') {
$("#all-required").show();
} else {
var timezone = $("#timezone").val();
var language = $("#language").val();
var email_identification = $("#text-email").val();
jQuery.post ("ajax.php",
{"page": "general/login_required",
"save_required_wizard": 1,
"email": email_identification,
"language": language,
"timezone": timezone},
function (data) {}
);
$("#login_id_dialog").dialog('close');
first_time_identification ();
}
});
$("#language").click(function () {
var change_language = $("#language").val();
if (change_language === default_language_displayed) return;
jQuery.post ("ajax.php",
{"page": "general/login_required",
"change_language": change_language},
function (data) {}
).done(function () {
location.reload();
});
});
////////////////////////////////////////////////////////////////////////
//DISPLAY
$(document).ready (function () {
$("#login_id_dialog").dialog({
resizable: true,
draggable: true,
modal: true,
height: 280,
width: 630,
overlay: {
opacity: 0.5,
background: "black"
},
closeOnEscape: false,
open: function(event, ui) { $(".ui-dialog-titlebar-close").hide(); }
});
default_language_displayed = $("#language").val();
$(".ui-widget-overlay").css("background", "#000");
$(".ui-widget-overlay").css("opacity", 0.6);
$(".ui-draggable").css("cursor", "inherit");
$("#button-cancel").click (function () {
jQuery.post ("ajax.php",
{"page": "general/login_required",
"cancel_wizard": 1},
function (data) {}
);
$("#login_id_dialog" ).dialog('close');
});
});
/* ]]> */
</script>

View File

@ -197,12 +197,17 @@ if (!empty($all_data)) {
}
foreach ($news as $article) {
$image = false;
if ($article['text'] == '&amp;lt;p&#x20;style=&quot;text-align:&#x20;center;&#x20;font-size:&#x20;13px;&quot;&amp;gt;Hello,&#x20;congratulations,&#x20;if&#x20;you&apos;ve&#x20;arrived&#x20;here&#x20;you&#x20;already&#x20;have&#x20;an&#x20;operational&#x20;monitoring&#x20;console.&#x20;Remember&#x20;that&#x20;our&#x20;forums&#x20;and&#x20;online&#x20;documentation&#x20;are&#x20;available&#x20;24x7&#x20;to&#x20;get&#x20;you&#x20;out&#x20;of&#x20;any&#x20;trouble.&#x20;You&#x20;can&#x20;replace&#x20;this&#x20;message&#x20;with&#x20;a&#x20;personalized&#x20;one&#x20;at&#x20;Admin&#x20;tools&#x20;-&amp;amp;gt;&#x20;Site&#x20;news.&amp;lt;/p&amp;gt;&#x20;') {
$image = true;
}
$text_bbdd = io_safe_output($article['text']);
$text = html_entity_decode($text_bbdd);
echo '<tr><th class="green_title">'.$article['subject'].'</th></tr>';
echo '<tr><td>'.__('by').' <b>'.$article['author'].'</b> <i>'.ui_print_timestamp($article['timestamp'], true).'</i> '.$comparation_suffix.'</td></tr>';
echo '<tr><td class="datos">';
if ($article['id_news'] == 1) {
if ($image) {
echo '<center><img src="./images/welcome_image.png" alt="img colabora con nosotros - Support" width="191" height="207"></center>';
}
@ -218,58 +223,6 @@ if (!empty($all_data)) {
// END OF NEWS BOARD.
}
$nots = messages_get_overview('utimestamp', 'DESC', false);
if (!empty($nots)) {
// Notifications board.
echo '<div id="notifications_board">';
echo '<table cellpadding="0" width=100% cellspacing="0" class="databox filters">';
echo '<tr><th style="text-align:center;"><span >'.__('Pending notifications').'</span></th></tr>';
if ($config['prominent_time'] == 'timestamp') {
$comparation_suffix = '';
} else {
$comparation_suffix = __('ago');
}
foreach ($nots as $msg) {
$conversation = io_safe_output(
messages_get_conversation($msg)
);
if (is_array($conversation)) {
$text = array_pop($conversation)['message'];
} else {
// Skip empty message.
continue;
}
$url = ui_get_full_url(
'index.php?sec=message_list&sec2=operation/messages/message_edit&read_message=1&id_message='.$msg['id_mensaje']
);
if ($msg['url'] != '') {
$url = $msg['url'];
}
echo '<tr><th class="green_title">'.$msg['subject'].'</th></tr>';
echo '<tr><td><a href="'.$url.'">';
if ($msg['id_usuario_origen'] != '') {
echo '<b>'.get_user_fullname($msg['id_usuario_origen']).'</b> ';
}
echo '<i>'.ui_print_timestamp($msg['timestamp'], true).'</i> '.$comparation_suffix.'</a></td></tr>';
echo '<tr><td class="datos">';
echo nl2br($text);
echo '</td></tr>';
}
echo '</table>';
echo '</div>';
echo '<br><br>';
// EO Notifications board.
}
// LAST ACTIVITY.
// Show last activity from this user.
echo '<div id="activity">';

View File

@ -0,0 +1,184 @@
<?php
/**
* Update Manager registration process client controller.
*
* @category Client controller
* @package Pandora FMS
* @subpackage Update manager
* @version 1.0.0
* @license See below
*
* ______ ___ _______ _______ ________
* | __ \.-----.--.--.--| |.-----.----.-----. | ___| | | __|
* | __/| _ | | _ || _ | _| _ | | ___| |__ |
* |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
*
* ============================================================================
* Copyright (c) 2005-2019 Artica Soluciones Tecnologicas
* Please see http://pandorafms.org for full contribution list
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation for version 2.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* ============================================================================
*/
// Begin.
global $config;
require_once $config['homedir'].'/include/functions_update_manager.php';
if (is_ajax()) {
// Parse responses, flow control.
$configuration_wizard = get_parameter('save_required_wizard', 0);
$change_language = get_parameter('change_language', 0);
$cancel_wizard = get_parameter('cancel_wizard', 0);
// Console registration.
$cancel_registration = get_parameter('cancel_registration', 0);
$register_console = get_parameter('register_console', 0);
// Newsletter.
$cancel_newsletter = get_parameter('cancel_newsletter', 0);
$register_newsletter = get_parameter('register_newsletter', 0);
// Load wizards.
$load_wizards = get_parameter('load_wizards', '');
$feedback = [];
// Load wizards.
if ($load_wizards != '') {
switch ($load_wizards) {
case 'initial':
return config_wiz_modal(false, false);
case 'registration':
return registration_wiz_modal(false, false);
case 'newsletter':
return newsletter_wiz_modal(false, false);
case 'all':
config_wiz_modal(false, false);
registration_wiz_modal(false, false);
newsletter_wiz_modal(false, false);
return;
default:
// Ignore.
break;
}
}
// Configuration wizard process.
if ($configuration_wizard) {
$feedback = config_wiz_process();
}
if ($change_language) {
// Change the language if is change in checkbox.
config_update_value('language', $change_language);
}
if ($cancel_wizard) {
config_update_value('initial_wizard', 1);
}
// Update Manager registration.
if ($cancel_registration) {
config_update_value('pandora_uid', 'OFFLINE');
}
if ($register_console) {
$feedback = registration_wiz_process();
}
// Newsletter.
if ($cancel_newsletter) {
db_process_sql_update(
'tusuario',
['middlename' => -1],
['id_user' => $config['id_user']]
);
// XXX: Also notify UpdateManager.
}
if ($register_newsletter) {
$feedback = newsletter_wiz_process();
}
if (is_array($feedback)) {
echo json_encode($feedback);
}
// Ajax calls finish here.
exit();
}
ui_require_css_file('register');
$initial = isset($config['initial_wizard']) !== true
|| $config['initial_wizard'] != '1';
$newsletter = db_get_value(
'middlename',
'tusuario',
'id_user',
$config['id_user']
);
$show_newsletter = $newsletter == '0' || $newsletter == '';
$registration = isset($config['pandora_uid']) !== true
|| $config['pandora_uid'] == '';
if ($initial) {
// Show all forms in order.
// 1- Ask for email, timezone, etc. Fullfill alerts and user mail.
config_wiz_modal(
false,
true,
(($registration === true) ? 'show_registration_wizard()' : null)
);
}
if ($registration) {
// Prepare registration wizard, not launch. leave control to flow.
registration_wiz_modal(
false,
// Launch only if not being launch from 'initial'.
!$initial,
(($show_newsletter === true) ? 'force_run_newsletter()' : null)
);
} else {
if ($show_newsletter) {
// Show newsletter wizard for current user.
newsletter_wiz_modal(
false,
// Launch only if not being call from 'registration'.
!$registration && !$initial
);
}
}
$newsletter = null;
?>
<script type="text/javascript">
$(document).ready (function () {
});
</script>

View File

@ -341,7 +341,7 @@ $table_server .= html_print_select(
__('None'),
0,
true
).'<div class="label_select_child_icons">'.ui_print_help_icon('agent_server', true).'</div></div></div>';
).'<div class="label_select_child_icons"></div></div></div>';
// Description.
$table_description = '<div class="label_select"><p class="input_label">'.__('Description').': </p>';
@ -368,7 +368,7 @@ echo '</div>';
if (enterprise_installed()) {
$secondary_groups_selected = enterprise_hook('agents_get_secondary_groups', [$id_agente]);
$table_adv_secondary_groups = '<div class="label_select"><p class="input_label">'.__('Secondary groups').': '.ui_print_help_icon('secondary_groups', true).'</p></div>';
$table_adv_secondary_groups = '<div class="label_select"><p class="input_label">'.__('Secondary groups').':</p></div>';
$table_adv_secondary_groups_left = html_print_select_groups(
false,
// Use the current user to select the groups
@ -546,13 +546,13 @@ $params['cascade_protection'] = true;
$table_adv_parent .= '<div class="label_simple_items">';
$table_adv_parent .= ui_print_agent_autocomplete_input($params);
if (enterprise_installed()) {
$table_adv_parent .= html_print_checkbox_switch('cascade_protection', 1, $cascade_protection, true).__('Cascade protection').'&nbsp;'.ui_print_help_icon('cascade_protection', true);
$table_adv_parent .= html_print_checkbox_switch('cascade_protection', 1, $cascade_protection, true).__('Cascade protection').'&nbsp;';
}
$table_adv_parent .= __('Module').'&nbsp;'.html_print_select($modules_values, 'cascade_protection_module', $cascade_protection_module, '', '', 0, true).'</div></div>';
// Learn mode / Normal mode
$table_adv_module_mode = '<div class="label_select"><p class="input_label">'.__('Module definition').': '.ui_print_help_icon('module_definition', true).'</p>';
$table_adv_module_mode = '<div class="label_select"><p class="input_label">'.__('Module definition').':</p>';
$table_adv_module_mode .= '<div class="switch_radio_button">';
$table_adv_module_mode .= html_print_radio_button_extended(
'modo',

View File

@ -317,7 +317,6 @@ $table->data[0][0] = '<b>'.__('Target IP').'</b>';
$table->data[0][1] = html_print_input_text('ip_target', $ip_target, '', 15, 60, true);
$table->data[0][2] = '<b>'.__('Namespace').'</b>';
$table->data[0][2] .= ui_print_help_icon('wminamespace', true);
$table->data[0][3] = html_print_input_text('tcp_send', $tcp_send, '', 15, 60, true);
$table->data[1][0] = '<b>'.__('Username').'</b>';

View File

@ -579,11 +579,11 @@ if ($id_agente) {
switch ($tab) {
case 'main':
$tab_description = '- '.__('Setup');
$help_header = 'main_tab';
break;
case 'collection':
$tab_description = '- '.__('Collection');
$help_header = 'collection_tab';
break;
case 'inventory':
@ -601,6 +601,8 @@ if ($id_agente) {
$tab_description = '- '.__('Modules');
if ($type_module_t == 'webux') {
$help_header = 'wux_console';
} else {
$help_header = 'local_module_tab';
}
break;
@ -611,7 +613,6 @@ if ($id_agente) {
case 'template':
$tab_description = '- '.__('Templates');
$help_header = 'template_tab';
break;
case 'gis':
@ -631,14 +632,17 @@ if ($id_agente) {
switch (get_parameter('wizard_section')) {
case 'snmp_explorer':
$tab_description = '- '.__('SNMP Wizard');
$help_header = 'agent_snmp_explorer_tab';
break;
case 'snmp_interfaces_explorer':
$tab_description = '- '.__('SNMP Interfaces wizard');
$help_header = 'agent_snmp_interfaces_explorer_tab';
break;
case 'wmi_explorer':
$tab_description = '- '.__('WMI Wizard');
$help_header = 'agent_snmp_wmi_explorer_tab';
break;
default:
@ -1216,6 +1220,7 @@ if ($update_module || $create_module) {
// Get macros.
$macros = (string) get_parameter('macros');
$macros_names = (array) get_parameter('macro_name', []);
if (!empty($macros)) {
$macros = json_decode(base64_decode($macros), true);
@ -1226,10 +1231,18 @@ if ($update_module || $create_module) {
$m_hide = $m['hide'];
}
if ($m_hide == '1') {
$macros[$k]['value'] = io_input_password(get_parameter($m['macro'], ''));
if ($update_module) {
if ($m_hide == '1') {
$macros[$k]['value'] = io_input_password(get_parameter($m['macro'], ''));
} else {
$macros[$k]['value'] = get_parameter($m['macro'], '');
}
} else {
$macros[$k]['value'] = get_parameter($m['macro'], '');
if ($m_hide == '1') {
$macros[$k]['value'] = io_input_password($macros_names[$k]);
} else {
$macros[$k]['value'] = $macros_names[$k];
}
}
}

View File

@ -591,7 +591,7 @@ ui_toggle(
);
ui_toggle(
html_print_table($table_macros, true),
__('Custom macros').ui_print_help_icon('module_macros', true)
__('Custom macros')
);
if ($moduletype != 13) {

View File

@ -81,7 +81,6 @@ function add_component_selection($id_network_component_type)
$data = [];
$data[0] = __('Using module component').' ';
$data[0] .= ui_print_help_icon('network_component', true);
$component_groups = network_components_get_groups($id_network_component_type);
$data[1] = '<span id="component_group" class="left">';
@ -159,6 +158,7 @@ if ($disabledBecauseInPolicy) {
}
$update_module_id = (int) get_parameter_get('update_module');
$edit_module = (bool) get_parameter_get('edit_module');
$table_simple = new stdClass();
$table_simple->id = 'simple';
$table_simple->width = '100%';
@ -270,7 +270,7 @@ if (!$in_policy) {
}
}
$table_simple->data[2][0] = __('Type').' '.ui_print_help_icon('module_type', true);
$table_simple->data[2][0] = __('Type').' '.ui_print_help_icon($help_type, true, '', 'images/help_green.png', '', 'module_type_help');
$table_simple->data[2][0] .= html_print_input_hidden('id_module_type_hidden', $id_module_type, true);
if (isset($id_agent_module)) {
@ -350,11 +350,40 @@ if (!$edit) {
$table_simple->data[2][1] .= html_print_input_hidden('type_names', base64_encode(io_json_mb_encode($type_names_hash)), true);
}
if ($edit_module) {
$id_module_type = (int) $id_module_type;
if (($id_module_type >= 1 && $id_module_type <= 5)
|| ($id_module_type >= 21 && $id_module_type <= 23)
|| ($id_module_type == 100)
) {
$help_header = 'local_module';
}
if ($id_module_type === 6 || $id_module_type === 7
) {
$help_header = 'icmp_module_tab';
}
if ($id_module_type >= 15 && $id_module_type <= 18) {
$help_header = 'snmp_module_tab';
}
if ($id_module_type >= 8 && $id_module_type <= 11) {
$help_header = 'tcp_module_tab';
}
if ($id_module_type >= 30 && $id_module_type <= 33) {
$help_header = 'webserver_module_tab';
}
$table_simple->data[2][0] = __('Type').' '.ui_print_help_icon($help_header, true);
}
if ($disabledBecauseInPolicy) {
$table_simple->data[2][3] .= html_print_input_hidden('id_module_group', $id_module_group, true);
}
$table_simple->data[3][0] = __('Dynamic Threshold Interval').' '.ui_print_help_icon('dynamic_threshold', true);
$table_simple->data[3][0] = __('Dynamic Threshold Interval');
$table_simple->data[3][1] = html_print_extended_select_for_time('dynamic_interval', $dynamic_interval, '', 'None', '0', 10, true, 'width:150px', false, $classdisabledBecauseInPolicy, $disabledBecauseInPolicy);
$table_simple->data[3][1] .= '<a onclick=advanced_option_dynamic()>'.html_print_image('images/cog.png', true, ['title' => __('Advanced options Dynamic Threshold')]).'</a>';
if ($in_policy) {
@ -394,7 +423,7 @@ $table_simple->data[3][2] .= html_print_input_text(
$table_simple->data[3][3] = '<span><em>'.__('Dynamic Threshold Two Tailed: ').'</em>';
$table_simple->data[3][3] .= html_print_checkbox('dynamic_two_tailed', 1, $dynamic_two_tailed, true, $disabledBecauseInPolicy);
$table_simple->data[4][0] = __('Warning status').' '.ui_print_help_icon('warning_status', true);
$table_simple->data[4][0] = __('Warning status');
if (!modules_is_string_type($id_module_type) || $edit) {
$table_simple->data[4][1] .= '<span id="minmax_warning"><em>'.__('Min. ').'</em>';
$table_simple->data[4][1] .= html_print_input_text(
@ -447,7 +476,7 @@ if (!modules_is_string_type($id_module_type) || $edit) {
$table_simple->data[4][2] = '<svg id="svg_dinamic" width="500" height="300"> </svg>';
}
$table_simple->data[5][0] = __('Critical status').' '.ui_print_help_icon('critical_status', true);
$table_simple->data[5][0] = __('Critical status');
if (!modules_is_string_type($id_module_type) || $edit) {
$table_simple->data[5][1] .= '<span id="minmax_critical"><em>'.__('Min. ').'</em>';
$table_simple->data[5][1] .= html_print_input_text(
@ -498,7 +527,6 @@ $table_simple->data[5][1] .= html_print_checkbox('critical_inverse', 1, $critica
// FF stands for Flip-flop.
$table_simple->data[6][0] = __('FF threshold').' ';
$table_simple->data[6][0] .= ui_print_help_icon('ff_threshold', true);
$table_simple->data[6][1] .= __('Keep counters');
$table_simple->data[6][1] .= html_print_checkbox(
@ -673,15 +701,15 @@ if ($moduletype == MODULE_DATA) {
if (isset($id_agente)) {
$agent_interval = agents_get_interval($id_agente);
$interval_factor = ($interval / $agent_interval);
$table_advanced->data[2][1] = human_time_description_raw($interval).' ('.sprintf(__('Agent interval x %s'), $interval_factor).') '.ui_print_help_icon('module_interval_factor', true);
$table_advanced->data[2][1] = human_time_description_raw($interval).' ('.sprintf(__('Agent interval x %s'), $interval_factor).') ';
} else {
$table_advanced->data[2][1] = sprintf(__('Agent interval x %s'), $interval_factor).ui_print_help_icon('module_interval_factor', true);
$table_advanced->data[2][1] = sprintf(__('Agent interval x %s'), $interval_factor);
}
if ($__code_from == 'policies') {
// If is the policy form, module_interval will store the factor (not the seconds).
// So server will transform it to interval in seconds
$table_advanced->data[2][1] = sprintf(__('Default').': 1', $interval_factor).ui_print_help_icon('module_interval_factor', true);
$table_advanced->data[2][1] = sprintf(__('Default').': 1', $interval_factor);
$table_advanced->data[2][1] .= html_print_input_hidden('module_interval', $interval_factor, true);
} else if ($module_id_policy_module != 0) {
$table_advanced->data[2][1] .= ui_print_help_tip(__('The policy modules of data type will only update their intervals when policy is applied.'), true);
@ -690,14 +718,14 @@ if ($moduletype == MODULE_DATA) {
// If it is a non policy form, the module_interval will not provided and will
// be taken the agent interval (this code is at configurar_agente.php)
} else {
$table_advanced->data[2][0] = __('Interval').ui_print_help_icon('module_interval', true);
$table_advanced->data[2][0] = __('Interval');
$table_advanced->colspan[2][1] = 2;
$table_advanced->data[2][1] = html_print_extended_select_for_time('module_interval', $interval, '', '', '0', false, true, false, false, $classdisabledBecauseInPolicy, $disabledBecauseInPolicy);
}
$table_advanced->data[2][1] .= html_print_input_hidden('moduletype', $moduletype, true);
$table_advanced->data[2][3] = __('Post process').' '.ui_print_help_icon('postprocess', true);
$table_advanced->data[2][3] = __('Post process');
$table_advanced->data[2][4] = html_print_extended_select_for_post_process(
'post_process',
$post_process,
@ -763,7 +791,7 @@ $table_advanced->data[4][4] = html_print_checkbox(
);
$table_advanced->colspan[4][4] = 3;
$table_advanced->data[5][0] = __('FF interval').' '.ui_print_help_icon('ff_interval', true);
$table_advanced->data[5][0] = __('FF interval');
$table_advanced->data[5][1] = html_print_input_text(
'module_ff_interval',
$ff_interval,
@ -778,7 +806,7 @@ $table_advanced->data[5][1] = html_print_input_text(
).ui_print_help_tip(__('Module execution flip flop time interval (in secs).'), true);
$table_advanced->colspan[5][1] = 2;
$table_advanced->data[5][3] = __('FF timeout').' '.ui_print_help_icon('ff_timeout', true);
$table_advanced->data[5][3] = __('FF timeout');
$module_type_name = modules_get_type_name($id_module_type);
$table_advanced->data[5][4] = '';
@ -980,7 +1008,7 @@ $table_advanced->colspan[10][1] = 6;
if (isset($id_agente) && $moduletype == MODULE_DATA) {
$has_remote_conf = enterprise_hook('config_agents_has_remote_configuration', [$agent['id_agente']]);
if ($has_remote_conf) {
$table_advanced->data[11][0] = __('Cron from').ui_print_help_icon('cron', true);
$table_advanced->data[11][0] = __('Cron from');
$table_advanced->data[11][1] = html_print_extended_select_for_cron($hour_from, $minute_from, $mday_from, $month_from, $wday_from, true, $disabledBecauseInPolicy);
$table_advanced->colspan[11][1] = 6;
@ -988,7 +1016,7 @@ if (isset($id_agente) && $moduletype == MODULE_DATA) {
$table_advanced->data[12][1] = html_print_extended_select_for_cron($hour_to, $minute_to, $mday_to, $month_to, $wday_to, true, $disabledBecauseInPolicy, true);
$table_advanced->colspan[12][1] = 6;
} else {
$table_advanced->data[11][0] = __('Cron from').ui_print_help_icon('cron', true);
$table_advanced->data[11][0] = __('Cron from');
$table_advanced->data[11][1] = html_print_extended_select_for_cron($hour_from, $minute_from, $mday_from, $month_from, $wday_from, true, true);
$table_advanced->colspan[11][1] = 6;
@ -997,7 +1025,7 @@ if (isset($id_agente) && $moduletype == MODULE_DATA) {
$table_advanced->colspan[12][1] = 6;
}
} else {
$table_advanced->data[11][0] = __('Cron from').ui_print_help_icon('cron', true);
$table_advanced->data[11][0] = __('Cron from');
$table_advanced->data[11][1] = html_print_extended_select_for_cron($hour_from, $minute_from, $mday_from, $month_from, $wday_from, true, $disabledBecauseInPolicy);
$table_advanced->colspan[11][1] = 6;
@ -1224,7 +1252,124 @@ $(document).ready (function () {
var type_names = jQuery.parseJSON(Base64.decode($('#hidden-type_names').val()));
var type_name_selected = type_names[type_selected];
var element = document.getElementById("module_type_help");
var language = "<?php echo $config['language']; ?>" ;
element.onclick = function (event) {
if(type_name_selected == 'async_data' ||
type_name_selected == 'async_proc' ||
type_name_selected == 'async_string' ||
type_name_selected == 'generic_proc'||
type_name_selected == 'generic_data' ||
type_name_selected == 'generic_data_inc' ||
type_name_selected == 'generic_data_inc_abs'||
type_name_selected == 'generic_data_string' ||
type_name_selected == 'keep_alive'
){
if (language == 'es'){
window.open(
'https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_es:Operacion&printable=yes#Tipos_de_m.C3.B3dulos',
'_blank',
'width=800,height=600'
);
}
else{
window.open(
'https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_en:Operations&printable=yes#Types_of_Modules',
'_blank',
'width=800,height=600'
);
}
}
if(type_name_selected == 'remote_icmp' ||
type_name_selected == 'remote_icmp_proc'
){
if(language == 'es'){
window.open(
'https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_es:Monitorizacion_remota&printable=yes#Monitorizaci.C3.B3n_ICMP',
'_blank',
'width=800,height=600'
);
}
else{
window.open(
'https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_en:Remote_Monitoring&printable=yes#ICMP_Monitoring',
'_blank',
'width=800,height=600'
);
}
}
if(type_name_selected == 'remote_snmp_string' ||
type_name_selected == 'remote_snmp_proc' ||
type_name_selected == 'remote_snmp_inc' ||
type_name_selected == 'remote_snmp'
){
if(language == 'es'){
window.open(
'https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_es:Monitorizacion_remota&printable=yes#Monitorizando_con_m.C3.B3dulos_de_red_tipo_SNMP',
'_blank',
'width=800,height=600'
);
}
else{
window.open(
'https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_en:Remote_Monitoring&printable=yes#Monitoring_by_Network_Modules_with_SNMP',
'_blank',
'width=800,height=600'
);
}
}
if(type_name_selected == 'remote_tcp_string' ||
type_name_selected == 'remote_tcp_proc' ||
type_name_selected == 'remote_tcp_inc' ||
type_name_selected == 'remote_tcp'
){
if(language == 'es'){
window.open(
'https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_es:Monitorizacion_remota&printable=yes#Monitorizaci.C3.B3n_TCP',
'_blank',
'width=800,height=600'
);
}
else{
window.open(
'https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_en:Remote_Monitoring&printable=yes#TCP_Monitoring',
'_blank',
'width=800,height=600'
);
}
}
if(type_name_selected == 'web_data' ||
type_name_selected == 'web_proc' ||
type_name_selected == 'web_content_data' ||
type_name_selected == 'web_content_string'
){
if(language == 'es'){
window.open(
'https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_es:Monitorizacion_web&printable=yes#Creaci.C3.B3n_de_m.C3.B3dulos_web',
'_blank',
'width=800,height=600'
);
}
else{
window.open(
'https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_en:Web_Monitoring&printable=yes#Creating_Web_Modules',
'_blank',
'width=800,height=600'
);
}
}
}
if (type_name_selected.match(/_string$/) == null) {
// Numeric types
$('#string_critical').hide();

View File

@ -128,7 +128,7 @@ $snmp_versions['2c'] = 'v. 2c';
$snmp_versions['3'] = 'v. 3';
$data = [];
$data[0] = __('SNMP community').ui_print_help_icon('column_macros', true);
$data[0] = __('SNMP community');
$adopt = false;
if ($isFunctionPolicies !== ENTERPRISE_NOT_HOOK && isset($id_agent_module)) {
$adopt = policies_is_module_adopt($id_agent_module);
@ -233,7 +233,7 @@ push_table_simple($data, 'snmp_2');
// Advanced stuff
$data = [];
$data[0] = __('TCP send').' '.ui_print_help_icon('tcp_send', true);
$data[0] = __('TCP send');
$data[1] = html_print_textarea('tcp_send', 2, 65, $tcp_send, $disabledTextBecauseInPolicy, true, $largeclassdisabledBecauseInPolicy);
$table_simple->colspan['tcp_send'][1] = 3;
@ -277,7 +277,7 @@ if (!isset($id_agent_module)) {
}
$data = [];
$data[0] = __('Auth user').ui_print_help_icon('column_macros', true);
$data[0] = __('Auth user');
$data[1] = html_print_input_text(
'snmp3_auth_user',
$snmp3_auth_user,
@ -290,7 +290,7 @@ $data[1] = html_print_input_text(
'',
$classdisabledBecauseInPolicy
);
$data[2] = __('Auth password').ui_print_help_icon('column_macros', true).ui_print_help_tip(__('The pass length must be eight character minimum.'), true);
$data[2] = __('Auth password').ui_print_help_tip(__('The pass length must be eight character minimum.'), true);
$data[3] = html_print_input_password(
'snmp3_auth_pass',
$snmp3_auth_pass,
@ -312,7 +312,7 @@ push_table_simple($data, 'field_snmpv3_row1');
$data = [];
$data[0] = __('Privacy method');
$data[1] = html_print_select(['DES' => __('DES'), 'AES' => __('AES')], 'snmp3_privacy_method', $snmp3_privacy_method, '', '', '', true, false, false, '', $disabledBecauseInPolicy);
$data[2] = __('Privacy pass').ui_print_help_icon('column_macros', true).ui_print_help_tip(__('The pass length must be eight character minimum.'), true);
$data[2] = __('Privacy pass').ui_print_help_tip(__('The pass length must be eight character minimum.'), true);
$data[3] = html_print_input_password(
'snmp3_privacy_pass',
$snmp3_privacy_pass,

View File

@ -79,7 +79,7 @@ push_table_simple($data, 'plugin_1');
$data = [];
$data[0] = 'macro_desc';
$data[0] .= ui_print_help_tip('macro_help', true);
$data[1] = html_print_input_text('macro_name', 'macro_value', '', 100, 1024, true);
$data[1] = html_print_input_text('macro_name[]', 'macro_value', '', 100, 1024, true);
$table_simple->colspan['macro_field'][1] = 3;
$table_simple->rowstyle['macro_field'] = 'display:none';

View File

@ -42,7 +42,7 @@ if (empty($update_module_id)) {
}
$data = [];
$data[0] = __('Target IP');
$data[0] = __('Target IP').' '.ui_print_help_icon('wmi_module_tab', true);
$data[1] = html_print_input_text('ip_target', $ip_target, '', 15, 60, true);
$data[2] = __('Namespace').ui_print_help_tip(__('Optional. WMI namespace. If unsure leave blank.'), true);
$data[3] = html_print_input_text(
@ -60,7 +60,7 @@ $data[3] = html_print_input_text(
push_table_simple($data, 'target_ip');
$data = [];
$data[0] = __('Username').ui_print_help_icon('column_macros', true);
$data[0] = __('Username');
$data[1] = html_print_input_text(
'plugin_user',
$plugin_user,
@ -73,7 +73,7 @@ $data[1] = html_print_input_text(
'',
$classdisabledBecauseInPolicy
);
$data[2] = __('Password').ui_print_help_icon('column_macros', true);
$data[2] = __('Password');
$data[3] = html_print_input_password(
'plugin_pass',
$plugin_pass,
@ -91,7 +91,6 @@ push_table_simple($data, 'user_pass');
$data = [];
$data[0] = __('WMI query');
$data[0] .= ui_print_help_icon('wmiquery', true);
$data[1] = html_print_input_text(
'snmp_oid',
$snmp_oid,

View File

@ -1,16 +1,32 @@
<?php
// Pandora FMS - http://pandorafms.com
// ==================================================
// Copyright (c) 2005-2010 Artica Soluciones Tecnologicas
// Please see http://pandorafms.org for full contribution list
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation for version 2.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// Load global vars
/**
* Extension to manage a list of gateways and the node address where they should
* point to.
*
* @category Planned Donwtimes
* @package Pandora FMS
* @subpackage Community
* @version 1.0.0
* @license See below
*
* ______ ___ _______ _______ ________
* | __ \.-----.--.--.--| |.-----.----.-----. | ___| | | __|
* | __/| _ | | _ || _ | _| _ | | ___| |__ |
* |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
*
* ============================================================================
* Copyright (c) 2005-2019 Artica Soluciones Tecnologicas
* Please see http://pandorafms.org for full contribution list
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation for version 2.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* ============================================================================
*/
global $config;
check_login();
@ -27,82 +43,119 @@ if (!$agent_d && !$agent_w) {
return;
}
// Default
// Default.
set_unless_defined($config['past_planned_downtimes'], 1);
require_once 'include/functions_users.php';
// Buttons
// Buttons.
$buttons = [
'text' => "<a href='index.php?sec=extensions&sec2=godmode/agentes/planned_downtime.list'>".html_print_image('images/list.png', true, ['title' => __('List')]).'</a>',
'text' => "<a href='index.php?sec=extensions&sec2=godmode/agentes/planned_downtime.list'>".html_print_image(
'images/list.png',
true,
['title' => __('List')]
).'</a>',
];
// Header
// Header.
ui_print_page_header(
__('Planned Downtime'),
'images/gm_monitoring.png',
false,
'planned_downtime',
'planned_downtime_editor',
true,
$buttons
);
// recursion group filter
// Recursion group filter.
$recursion = get_parameter('recursion', $_POST['recursion']);
// Initialize data
$id_group = (int) get_parameter('id_group');
$name = (string) get_parameter('name');
$description = (string) get_parameter('description');
// Initialize data.
$id_group = (int) get_parameter('id_group');
$name = (string) get_parameter('name');
$description = (string) get_parameter('description');
$type_downtime = (string) get_parameter('type_downtime', 'quiet');
$type_execution = (string) get_parameter('type_execution', 'once');
$type_periodicity = (string) get_parameter('type_periodicity', 'weekly');
$type_downtime = (string) get_parameter('type_downtime', 'quiet');
$type_execution = (string) get_parameter('type_execution', 'once');
$type_periodicity = (string) get_parameter('type_periodicity', 'weekly');
$utimestamp = get_system_time();
// Fake utimestamp to retrieve the string date of the system
// Fake utimestamp to retrieve the string date of the system.
$system_time = ($utimestamp - get_fixed_offset());
$once_date_from = (string) get_parameter('once_date_from', date(DATE_FORMAT, $utimestamp));
$once_time_from = (string) get_parameter('once_time_from', date(TIME_FORMAT, $utimestamp));
$once_date_to = (string) get_parameter('once_date_to', date(DATE_FORMAT, $utimestamp));
$once_time_to = (string) get_parameter('once_time_to', date(TIME_FORMAT, ($utimestamp + SECONDS_1HOUR)));
$once_date_from = (string) get_parameter(
'once_date_from',
date(DATE_FORMAT, $utimestamp)
);
$once_time_from = (string) get_parameter(
'once_time_from',
date(TIME_FORMAT, $utimestamp)
);
$once_date_to = (string) get_parameter(
'once_date_to',
date(DATE_FORMAT, $utimestamp)
);
$once_time_to = (string) get_parameter(
'once_time_to',
date(TIME_FORMAT, ($utimestamp + SECONDS_1HOUR))
);
$periodically_day_from = (int) get_parameter('periodically_day_from', 1);
$periodically_day_to = (int) get_parameter('periodically_day_to', 31);
$periodically_time_from = (string) get_parameter('periodically_time_from', date(TIME_FORMAT, $system_time));
$periodically_time_to = (string) get_parameter('periodically_time_to', date(TIME_FORMAT, ($system_time + SECONDS_1HOUR)));
$periodically_day_from = (int) get_parameter(
'periodically_day_from',
1
);
$periodically_day_to = (int) get_parameter(
'periodically_day_to',
31
);
$periodically_time_from = (string) get_parameter(
'periodically_time_from',
date(TIME_FORMAT, $system_time)
);
$periodically_time_to = (string) get_parameter(
'periodically_time_to',
date(TIME_FORMAT, ($system_time + SECONDS_1HOUR))
);
$monday = (bool) get_parameter('monday');
$tuesday = (bool) get_parameter('tuesday');
$wednesday = (bool) get_parameter('wednesday');
$thursday = (bool) get_parameter('thursday');
$friday = (bool) get_parameter('friday');
$saturday = (bool) get_parameter('saturday');
$sunday = (bool) get_parameter('sunday');
$monday = (bool) get_parameter('monday');
$tuesday = (bool) get_parameter('tuesday');
$wednesday = (bool) get_parameter('wednesday');
$thursday = (bool) get_parameter('thursday');
$friday = (bool) get_parameter('friday');
$saturday = (bool) get_parameter('saturday');
$sunday = (bool) get_parameter('sunday');
$first_create = (int) get_parameter('first_create');
$create_downtime = (int) get_parameter('create_downtime');
$update_downtime = (int) get_parameter('update_downtime');
$edit_downtime = (int) get_parameter('edit_downtime');
$id_downtime = (int) get_parameter('id_downtime');
$first_create = (int) get_parameter('first_create');
$create_downtime = (int) get_parameter('create_downtime');
$update_downtime = (int) get_parameter('update_downtime');
$edit_downtime = (int) get_parameter('edit_downtime');
$id_downtime = (int) get_parameter('id_downtime');
$id_agent = (int) get_parameter('id_agent');
$insert_downtime_agent = (int) get_parameter('insert_downtime_agent');
$delete_downtime_agent = (int) get_parameter('delete_downtime_agent');
$id_agent = (int) get_parameter('id_agent');
$insert_downtime_agent = (int) get_parameter('insert_downtime_agent');
$delete_downtime_agent = (int) get_parameter('delete_downtime_agent');
$modules_selection_mode = (string) get_parameter('modules_selection_mode');
// User groups with AD or AW permission for ACL checks
$user_groups_ad = array_keys(users_get_groups($config['id_user'], $access));
// User groups with AD or AW permission for ACL checks.
$user_groups_ad = array_keys(
users_get_groups($config['id_user'], $access)
);
// INSERT A NEW DOWNTIME_AGENT ASSOCIATION
// INSERT A NEW DOWNTIME_AGENT ASSOCIATION.
if ($insert_downtime_agent === 1) {
// Check AD permission on downtime
$downtime_group = db_get_value('id_group', 'tplanned_downtime', 'id', $id_downtime);
// Check AD permission on downtime.
$downtime_group = db_get_value(
'id_group',
'tplanned_downtime',
'id',
$id_downtime
);
if ($downtime_group === false || !in_array($downtime_group, $user_groups_ad)) {
if ($downtime_group === false
|| !in_array($downtime_group, $user_groups_ad)
) {
db_pandora_audit(
'ACL Violation',
'Trying to access downtime scheduler'
@ -116,17 +169,27 @@ if ($insert_downtime_agent === 1) {
$all_modules = (empty($module_names) || ($module_names[0] === '0'));
// 'Is running' check
$is_running = (bool) db_get_value('executed', 'tplanned_downtime', 'id', $id_downtime);
// 'Is running' check.
$is_running = (bool) db_get_value(
'executed',
'tplanned_downtime',
'id',
$id_downtime
);
if ($is_running) {
ui_print_error_message(__('This elements cannot be modified while the downtime is being executed'));
ui_print_error_message(
__('This elements cannot be modified while the downtime is being executed')
);
} else {
foreach ($agents as $agent_id) {
// check module belongs to the agent
// Check module belongs to the agent.
if ($modules_selection_mode == 'all') {
$check = false;
foreach ($module_names as $module_name) {
$check_module = modules_get_agentmodule_id($module_name, $agent_id);
$check_module = modules_get_agentmodule_id(
$module_name,
$agent_id
);
if (!empty($check_module)) {
$check = true;
}
@ -137,10 +200,17 @@ if ($insert_downtime_agent === 1) {
}
}
// Check AD permission on agent
$agent_group = db_get_value('id_grupo', 'tagente', 'id_agente', $agent_id);
// Check AD permission on agent.
$agent_group = db_get_value(
'id_grupo',
'tagente',
'id_agente',
$agent_id
);
if ($agent_group === false || !in_array($agent_group, $user_groups_ad)) {
if ($agent_group === false
|| !in_array($agent_group, $user_groups_ad)
) {
continue;
}
@ -149,11 +219,17 @@ if ($insert_downtime_agent === 1) {
'id_agent' => $agent_id,
'all_modules' => $all_modules,
];
$result = db_process_sql_insert('tplanned_downtime_agents', $values);
$result = db_process_sql_insert(
'tplanned_downtime_agents',
$values
);
if ($result && !$all_modules) {
foreach ($module_names as $module_name) {
$module = modules_get_agentmodule_id($module_name, $agent_id);
$module = modules_get_agentmodule_id(
$module_name,
$agent_id
);
if (empty($module)) {
continue;
@ -164,7 +240,10 @@ if ($insert_downtime_agent === 1) {
'id_agent' => $agent_id,
'id_agent_module' => $module['id_agente_modulo'],
];
$result = db_process_sql_insert('tplanned_downtime_modules', $values);
$result = db_process_sql_insert(
'tplanned_downtime_modules',
$values
);
if ($result) {
$values = ['id_user' => $config['id_user']];
@ -180,14 +259,21 @@ if ($insert_downtime_agent === 1) {
}
}
// DELETE A DOWNTIME_AGENT ASSOCIATION
// DELETE A DOWNTIME_AGENT ASSOCIATION.
if ($delete_downtime_agent === 1) {
$id_da = (int) get_parameter('id_downtime_agent');
// Check AD permission on downtime
$downtime_group = db_get_value('id_group', 'tplanned_downtime', 'id', $id_downtime);
// Check AD permission on downtime.
$downtime_group = db_get_value(
'id_group',
'tplanned_downtime',
'id',
$id_downtime
);
if ($downtime_group === false || !in_array($downtime_group, $user_groups_ad)) {
if ($downtime_group === false
|| !in_array($downtime_group, $user_groups_ad)
) {
db_pandora_audit(
'ACL Violation',
'Trying to access downtime scheduler'
@ -196,10 +282,17 @@ if ($delete_downtime_agent === 1) {
return;
}
// Check AD permission on agent
$agent_group = db_get_value('id_grupo', 'tagente', 'id_agente', $id_agent);
// Check AD permission on agent.
$agent_group = db_get_value(
'id_grupo',
'tagente',
'id_agente',
$id_agent
);
if ($agent_group === false || !in_array($agent_group, $user_groups_ad)) {
if ($agent_group === false
|| !in_array($agent_group, $user_groups_ad)
) {
db_pandora_audit(
'ACL Violation',
'Trying to access downtime scheduler'
@ -208,17 +301,27 @@ if ($delete_downtime_agent === 1) {
return;
}
// 'Is running' check
$is_running = (bool) db_get_value('executed', 'tplanned_downtime', 'id', $id_downtime);
// 'Is running' check.
$is_running = (bool) db_get_value(
'executed',
'tplanned_downtime',
'id',
$id_downtime
);
if ($is_running) {
ui_print_error_message(__('This elements cannot be modified while the downtime is being executed'));
ui_print_error_message(
__('This elements cannot be modified while the downtime is being executed')
);
} else {
$row_to_delete = db_get_row('tplanned_downtime_agents', 'id', $id_da);
$result = db_process_sql_delete('tplanned_downtime_agents', ['id' => $id_da]);
$result = db_process_sql_delete(
'tplanned_downtime_agents',
['id' => $id_da]
);
if ($result) {
// Delete modules in downtime
// Delete modules in downtime.
db_process_sql_delete(
'tplanned_downtime_modules',
[
@ -230,7 +333,7 @@ if ($delete_downtime_agent === 1) {
}
}
// UPDATE OR CREATE A DOWNTIME (MAIN DATA, NOT AGENT ASSOCIATION)
// UPDATE OR CREATE A DOWNTIME (MAIN DATA, NOT AGENT ASSOCIATION).
if ($create_downtime || $update_downtime) {
$check = (bool) db_get_value('name', 'tplanned_downtime', 'name', $name);
@ -239,22 +342,32 @@ if ($create_downtime || $update_downtime) {
$now = time();
if ($type_execution == 'once' && !$config['past_planned_downtimes'] && $datetime_from < $now) {
ui_print_error_message(__('Not created. Error inserting data. Start time must be higher than the current time'));
ui_print_error_message(
__('Not created. Error inserting data. Start time must be higher than the current time')
);
} else if ($type_execution == 'once' && $datetime_from >= $datetime_to) {
ui_print_error_message(__('Not created. Error inserting data').'. '.__('The end date must be higher than the start date'));
ui_print_error_message(
__('Not created. Error inserting data').'. '.__('The end date must be higher than the start date')
);
} else if ($type_execution == 'once' && $datetime_to <= $now && !$config['past_planned_downtimes']) {
ui_print_error_message(__('Not created. Error inserting data').'. '.__('The end date must be higher than the current time'));
ui_print_error_message(
__('Not created. Error inserting data').'. '.__('The end date must be higher than the current time')
);
} else if ($type_execution == 'periodically'
&& (($type_periodicity == 'weekly' && $periodically_time_from >= $periodically_time_to)
|| ($type_periodicity == 'monthly' && $periodically_day_from == $periodically_day_to && $periodically_time_from >= $periodically_time_to))
) {
ui_print_error_message(__('Not created. Error inserting data').'. '.__('The end time must be higher than the start time'));
ui_print_error_message(
__('Not created. Error inserting data').'. '.__('The end time must be higher than the start time')
);
} else if ($type_execution == 'periodically' && $type_periodicity == 'monthly' && $periodically_day_from > $periodically_day_to) {
ui_print_error_message(__('Not created. Error inserting data').'. '.__('The end day must be higher than the start day'));
ui_print_error_message(
__('Not created. Error inserting data').'. '.__('The end day must be higher than the start day')
);
} else {
$sql = '';
if ($create_downtime) {
// Check AD permission on new downtime
// Check AD permission on new downtime.
if (!in_array($id_group, $user_groups_ad)) {
db_pandora_audit(
'ACL Violation',
@ -295,7 +408,10 @@ if ($create_downtime || $update_downtime) {
$values['periodically_time_to'] = '1970/01/01 '.$values['periodically_time_to'];
}
$result = db_process_sql_insert('tplanned_downtime', $values);
$result = db_process_sql_insert(
'tplanned_downtime',
$values
);
} else {
ui_print_error_message(
__('Each planned downtime must have a different name')
@ -309,7 +425,7 @@ if ($create_downtime || $update_downtime) {
} else if ($update_downtime) {
$old_downtime = db_get_row('tplanned_downtime', 'id', $id_downtime);
// Check AD permission on OLD downtime
// Check AD permission on OLD downtime.
if (empty($old_downtime) || !in_array($old_downtime['id_group'], $user_groups_ad)) {
db_pandora_audit(
'ACL Violation',
@ -319,7 +435,7 @@ if ($create_downtime || $update_downtime) {
return;
}
// Check AD permission on NEW downtime group
// Check AD permission on NEW downtime group.
if (!in_array($id_group, $user_groups_ad)) {
db_pandora_audit(
'ACL Violation',
@ -329,14 +445,17 @@ if ($create_downtime || $update_downtime) {
return;
}
// 'Is running' check
// 'Is running' check.
$is_running = (bool) $old_downtime['executed'];
$values = [];
if (trim(io_safe_output($name)) == '') {
ui_print_error_message(__('Planned downtime must have a name'));
ui_print_error_message(
__('Planned downtime must have a name')
);
}
// When running only certain items can be modified for the 'once' type
// When running only certain items can be modified for the 'once' type.
else if ($is_running && $type_execution == 'once') {
$values = [
'description' => $description,
@ -344,7 +463,9 @@ if ($create_downtime || $update_downtime) {
'id_user' => $config['id_user'],
];
} else if ($is_running) {
ui_print_error_message(__('Cannot be modified while the downtime is being executed'));
ui_print_error_message(
__('Cannot be modified while the downtime is being executed')
);
} else {
$values = [
'name' => $name,
@ -376,7 +497,11 @@ if ($create_downtime || $update_downtime) {
}
if (!empty($values)) {
$result = db_process_sql_update('tplanned_downtime', $values, ['id' => $id_downtime]);
$result = db_process_sql_update(
'tplanned_downtime',
$values,
['id' => $id_downtime]
);
}
}
@ -399,7 +524,7 @@ if ($create_downtime || $update_downtime) {
// Have any data to show ?
if ($id_downtime > 0) {
// Columns of the table tplanned_downtime
// Columns of the table tplanned_downtime.
$columns = [
'id',
'name',
@ -436,7 +561,8 @@ if ($id_downtime > 0) {
break;
case 'oracle':
// Oracle doesn't have TIME type, so we should transform the DATE value
// Oracle doesn't have TIME type,
// so we should transform the DATE value.
$new_time_from = "TO_CHAR(periodically_time_from, 'HH24:MI:SS') AS periodically_time_from";
$new_time_to = "TO_CHAR(periodically_time_to, 'HH24:MI:SS') AS periodically_time_to";
@ -500,7 +626,8 @@ if ($id_downtime > 0) {
$running = (bool) $result['executed'];
}
// when the planned downtime is in execution, only action to postpone on once type is enabled and the other are disabled.
// When the planned downtime is in execution,
// only action to postpone on once type is enabled and the other are disabled.
$disabled_in_execution = (int) $running;
$table = new StdClass();
@ -508,11 +635,40 @@ $table->class = 'databox filters';
$table->width = '100%';
$table->data = [];
$table->data[0][0] = __('Name');
$table->data[0][1] = html_print_input_text('name', $name, '', 25, 40, true, $disabled_in_execution);
$table->data[0][1] = html_print_input_text(
'name',
$name,
'',
25,
40,
true,
$disabled_in_execution
);
$table->data[1][0] = __('Group');
$table->data[1][1] = html_print_select_groups(false, $access, true, 'id_group', $id_group, '', '', 0, true, false, true, '', $disabled_in_execution);
$table->data[1][1] = html_print_select_groups(
false,
$access,
true,
'id_group',
$id_group,
'',
'',
0,
true,
false,
true,
'',
$disabled_in_execution
);
$table->data[2][0] = __('Description');
$table->data[2][1] = html_print_textarea('description', 3, 35, $description, '', true);
$table->data[2][1] = html_print_textarea(
'description',
3,
35,
$description,
'',
true
);
$table->data[3][0] = __('Type').ui_print_help_tip(
__('Quiet: Modules will not generate events or fire alerts.').'<br>'.__('Disable Agents: Disables the selected agents.').'<br>'.__('Disable Alerts: Disable alerts for the selected agents.'),
@ -554,7 +710,7 @@ $table->data[4][1] = html_print_select(
);
$days = array_combine(range(1, 31), range(1, 31));
$table->data[5][0] = __('Configure the time').'&nbsp;'.ui_print_help_icon('planned_downtime_time', true);
$table->data[5][0] = __('Configure the time').'&nbsp;';
;
$table->data[5][1] = "
<div id='once_time' style='display: none;'>
@ -678,7 +834,7 @@ if ($id_downtime > 0) {
echo "<tr><td width=75% valign='top'>";
}
// Editor form
// Editor form.
html_print_table($table);
html_print_input_hidden('id_agent', $id_agent);
@ -686,10 +842,20 @@ echo '<div class="action-buttons" style="width: 100%">';
if ($id_downtime > 0) {
html_print_input_hidden('update_downtime', 1);
html_print_input_hidden('id_downtime', $id_downtime);
html_print_submit_button(__('Update'), 'updbutton', false, 'class="sub upd"');
html_print_submit_button(
__('Update'),
'updbutton',
false,
'class="sub upd"'
);
} else {
html_print_input_hidden('create_downtime', 1);
html_print_submit_button(__('Add'), 'crtbutton', false, 'class="sub wand"');
html_print_submit_button(
__('Add'),
'crtbutton',
false,
'class="sub wand"'
);
}
echo '</div>';
@ -700,11 +866,11 @@ if ($id_downtime > 0) {
$filter_group = (int) get_parameter('filter_group', 0);
// User AD groups to str for the filter
// User AD groups to str for the filter.
$id_groups_str = implode(',', $user_groups_ad);
if (empty($id_groups_str)) {
// Restrictive filter on error. This will filter all the downtimes
// Restrictive filter on error. This will filter all the downtimes.
$id_groups_str = '-1';
}
@ -752,7 +918,7 @@ if ($id_downtime > 0) {
$agent_ids = extract_column($agents, 'id_agente');
$agent_names = extract_column($agents, 'alias');
// item[<id>] = <name>;
$agents = array_combine($agent_ids, $agent_names);
if ($agents === false) {
$agents = [];
@ -763,7 +929,6 @@ if ($id_downtime > 0) {
$disabled_add_button = true;
}
echo "<form method=post action='index.php?sec=estado&sec2=godmode/agentes/planned_downtime.editor&id_downtime=$id_downtime'>";
html_print_select_groups(false, $access, true, 'filter_group', $filter_group, '', '', '', false, false, true, '', false, 'min-width:180px;margin-right:15px;');
@ -803,7 +968,10 @@ if ($id_downtime > 0) {
);
echo '</div>';
echo '<h4>'.__('Available modules:').ui_print_help_tip(__('Only for type Quiet for downtimes.'), true).'</h4>';
echo '<h4>'.__('Available modules:').ui_print_help_tip(
__('Only for type Quiet for downtimes.'),
true
).'</h4>';
if ($type_downtime != 'quiet') {
echo '<div id="available_modules" style="display: none;">';
@ -811,17 +979,36 @@ if ($id_downtime > 0) {
echo '<div id="available_modules" style="">';
}
echo html_print_select([], 'module[]', '', '', '', 0, false, true, true, '', false, 'width: 180px;');
echo html_print_select(
[],
'module[]',
'',
'',
'',
0,
false,
true,
true,
'',
false,
'width: 180px;'
);
echo '</div>';
echo '<br /><br /><br />';
html_print_submit_button(__('Add'), 'add_item', $disabled_add_button, 'class="sub next"', false);
html_print_submit_button(
__('Add'),
'add_item',
$disabled_add_button,
'class="sub next"',
false
);
echo '</form>';
echo '</table>';
// Start Overview of existing planned downtime
// Start Overview of existing planned downtime.
echo '<h4>'.__('Agents planned for this downtime').':</h4>';
// User the $id_groups_str built before
// User the $id_groups_str built before.
$sql = sprintf(
'SELECT ta.nombre, tpda.id,
ta.id_os, ta.id_agente, ta.id_grupo,
@ -860,13 +1047,18 @@ if ($id_downtime > 0) {
foreach ($downtimes_agents as $downtime_agent) {
$data = [];
$alias = db_get_value('alias', 'tagente', 'id_agente', $downtime_agent['id_agente']);
$alias = db_get_value(
'alias',
'tagente',
'id_agente',
$downtime_agent['id_agente']
);
$data[0] = $alias;
$data[1] = db_get_sql(
'SELECT nombre
FROM tgrupo
WHERE id_grupo = '.$downtime_agent['id_grupo']
FROM tgrupo
WHERE id_grupo = '.$downtime_agent['id_grupo']
);
$data[2] = ui_print_os_icon($downtime_agent['id_os'], true, true);
@ -887,7 +1079,9 @@ if ($id_downtime > 0) {
if (!$running) {
$data[5] = '';
if ($type_downtime != 'disable_agents_alerts' && $type_downtime != 'disable_agents') {
if ($type_downtime != 'disable_agents_alerts'
&& $type_downtime != 'disable_agents'
) {
$data[5] = '<a href="javascript:show_editor_module('.$downtime_agent['id_agente'].');">'.html_print_image('images/config.png', true, ['border' => '0', 'alt' => __('Delete')]).'</a>';
}

View File

@ -50,7 +50,7 @@ if ($migrate_malformed) {
}
}
// Header
// Header.
ui_print_page_header(
__('Planned Downtime'),
'images/gm_monitoring.png',
@ -115,7 +115,7 @@ if ($delete_downtime) {
}
}
// Filter parameters
// Filter parameters.
$offset = (int) get_parameter('offset');
$filter_params = [];
@ -131,7 +131,7 @@ $module_name = $filter_params['module_name'] = (string) (!empty($module_
$filter_params_str = http_build_query($filter_params);
// Table filter
// Table filter.
$table_form = new StdClass();
$table_form->class = 'databox filters';
$table_form->width = '100%';
@ -143,9 +143,9 @@ $table_form->data = [];
$row = [];
// Search text
// Search text.
$row[] = __('Search').'&nbsp;'.html_print_input_text('search_text', $search_text, '', 50, 250, true);
// Dates
// Dates.
$date_inputs = __('From').'&nbsp;'.html_print_input_text('date_from', $date_from, '', 10, 10, true);
$date_inputs .= '&nbsp;&nbsp;';
$date_inputs .= __('To').'&nbsp;'.html_print_input_text('date_to', $date_to, '', 10, 10, true);
@ -155,20 +155,20 @@ $table_form->data[] = $row;
$row = [];
// Execution type
// Execution type.
$execution_type_fields = [
'once' => __('Once'),
'periodically' => __('Periodically'),
];
$row[] = __('Execution type').'&nbsp;'.html_print_select($execution_type_fields, 'execution_type', $execution_type, '', __('Any'), '', true, false, false);
// Show past downtimes
// Show past downtimes.
$row[] = __('Show past downtimes').'&nbsp;'.html_print_checkbox('archived', 1, $show_archived, true);
$table_form->data[] = $row;
$row = [];
// Agent
// Agent.
$params = [];
$params['show_helptip'] = true;
$params['input_name'] = 'agent_name';
@ -180,14 +180,14 @@ $params['hidden_input_idagent_value'] = $agent_id;
$agent_input = __('Agent').'&nbsp;'.ui_print_agent_autocomplete_input($params);
$row[] = $agent_input;
// Module
// Module.
$row[] = __('Module').'&nbsp;'.html_print_autocomplete_modules('module_name', $module_name, false, true, '', [], true);
$row[] = html_print_submit_button(__('Search'), 'search', false, 'class="sub search"', true);
$table_form->data[] = $row;
// End of table filter
// Useful to know if the user has done a form filtering
// End of table filter.
// Useful to know if the user has done a form filtering.
$filter_performed = false;
$groups = users_get_groups(false, $access);
@ -197,7 +197,7 @@ if (!empty($groups)) {
$groups_string = implode(',', array_keys($groups));
$where_values .= " AND id_group IN ($groups_string)";
// WARNING: add $filter_performed = true; to any future filter
// WARNING: add $filter_performed = true; to any future filter.
if (!empty($search_text)) {
$filter_performed = true;
@ -272,7 +272,7 @@ if (!empty($groups)) {
AND tpda.all_modules = 1))";
}
// Columns of the table tplanned_downtime
// Columns of the table tplanned_downtime.
$columns = [
'id',
'name',
@ -353,23 +353,23 @@ if (!empty($groups)) {
$downtimes = [];
}
// No downtimes cause the user has not anyone
// No downtimes cause the user has not anyone.
if (!$downtimes && !$filter_performed) {
include_once $config['homedir'].'/general/firts_task/planned_downtime.php';
}
// No downtimes cause the user performed a search
// No downtimes cause the user performed a search.
else if (!$downtimes) {
// Filter form
// Filter form.
echo "<form method='post' action='index.php?sec=estado&sec2=godmode/agentes/planned_downtime.list'>";
html_print_table($table_form);
echo '</form>';
// Info message
// Info message.
echo '<div class="nf">'.__('No planned downtime').'</div>';
echo '<div class="action-buttons" style="width: 100%">';
// Create button
// Create button.
if ($write_permisson) {
echo '&nbsp;';
echo '<form method="post" action="index.php?sec=estado&amp;sec2=godmode/agentes/planned_downtime.editor" style="display: inline;">';
@ -379,7 +379,7 @@ else if (!$downtimes) {
echo '</div>';
}
// Has downtimes
// Has downtimes.
else {
echo "<form method='post' action='index.php?sec=estado&sec2=godmode/agentes/planned_downtime.list'>";
html_print_table($table_form);
@ -387,11 +387,11 @@ else {
ui_pagination($downtimes_number, "index.php?sec=estado&sec2=godmode/agentes/planned_downtime.list&$filter_params_str", $offset);
// User groups with AR, AD or AW permission
// User groups with AR, AD or AW permission.
$groupsAD = users_get_groups($config['id_user'], $access);
$groupsAD = array_keys($groupsAD);
// View available downtimes present in database (if any of them)
// View available downtimes present in database (if any of them).
$table = new StdClass();
$table->class = 'info_table';
$table->width = '100%';
@ -475,7 +475,7 @@ else {
);
}
// If user have writting permissions
// If user have writting permissions.
if (in_array($downtime['id_group'], $groupsAD)) {
// Stop button
if ($downtime['type_execution'] == 'once' && $downtime['executed'] == 1) {
@ -484,16 +484,16 @@ else {
$data['stop'] = '';
}
// Edit & delete buttons
// Edit & delete buttons.
if ($downtime['executed'] == 0) {
// Edit
// Edit.
$data['edit'] = '<a href="index.php?sec=estado&sec2=godmode/agentes/planned_downtime.editor&edit_downtime=1&id_downtime='.$downtime['id'].'">'.html_print_image('images/config.png', true, ['title' => __('Update')]).'</a>';
// Delete
// Delete.
$data['delete'] = '<a id="delete_downtime" href="index.php?sec=gagente&sec2=godmode/agentes/planned_downtime.list'.'&delete_downtime=1&id_downtime='.$downtime['id'].'&'.$filter_params_str.'">'.html_print_image('images/cross.png', true, ['title' => __('Delete')]);
} else if ($downtime['executed'] == 1 && $downtime['type_execution'] == 'once') {
// Edit
// Edit.
$data['edit'] = '<a href="index.php?sec=estado&sec2=godmode/agentes/planned_downtime.editor&edit_downtime=1&id_downtime='.$downtime['id'].'">'.html_print_image('images/config.png', true, ['title' => __('Update')]).'</a>';
// Delete
// Delete.
$data['delete'] = __('N/A');
} else {
$data['edit'] = '';
@ -521,7 +521,7 @@ else {
ui_pagination($downtimes_number, "index.php?sec=estado&sec2=godmode/agentes/planned_downtime.list&$filter_params_str", $offset, 0, false, 'offset', true, 'pagination-bottom');
echo '<div class="action-buttons" style="width: '.$table->width.'">';
// CSV export button
// CSV export button.
echo '<div style="display: inline;">';
html_print_button(
__('Export to CSV'),
@ -532,7 +532,7 @@ else {
);
echo '</div>';
// Create button
// Create button.
if ($write_permisson) {
echo '&nbsp;';
echo '<form method="post" action="index.php?sec=estado&amp;sec2=godmode/agentes/planned_downtime.editor" style="display: inline;">';

View File

@ -62,7 +62,7 @@ if ((!$copy_action) && (!$delete_action)) {
if (defined('METACONSOLE')) {
alerts_meta_print_header();
} else {
ui_print_page_header(__('Alerts').' &raquo; '.__('Alert actions'), 'images/gm_alerts.png', false, 'alerts_config', true);
ui_print_page_header(__('Alerts').' &raquo; '.__('Alert actions'), 'images/gm_alerts.png', false, 'alerts_action', true);
}
}

View File

@ -68,10 +68,6 @@ if (is_ajax()) {
$fields_rows = [];
for ($i = 1; $i <= $config['max_macro_fields']; $i++) {
if (($i == 5) && ($command['id'] == 3)) {
continue;
}
$field_description = $fields_descriptions[($i - 1)];
$field_value = $fields_values[($i - 1)];
$field_hidden = $fields_hidden_checked[($i - 1)];
@ -88,9 +84,7 @@ if (is_ajax()) {
// If the field is the number one, print the help message.
if ($i == 1) {
// If our context is snmpconsole, show snmp_alert helps.
if ((isset($_SERVER['HTTP_REFERER'])) && ( preg_match('/snmp_alert/', $_SERVER['HTTP_REFERER']) > 0 )) {
$fdesc .= ui_print_help_icon('snmp_alert_field1', true);
} else {
if ((!isset($_SERVER['HTTP_REFERER'])) && ( preg_match('/snmp_alert/', $_SERVER['HTTP_REFERER']) > 0 )) {
$fdesc .= ui_print_help_icon('alert_config', true);
}
}
@ -255,10 +249,6 @@ if (is_ajax()) {
}
// If command is PandoraFMS event, field 5 must be empty because "severity" must be set by the alert.
if ($command['id'] == 3) {
$fields_rows[5] = '';
}
$command['fields_rows'] = $fields_rows;
echo json_encode($command);
@ -278,7 +268,13 @@ if ($update_command) {
if (defined('METACONSOLE')) {
alerts_meta_print_header();
} else {
ui_print_page_header(__('Alerts').' &raquo; '.__('Alert commands'), 'images/gm_alerts.png', false, 'alerts_config', true);
ui_print_page_header(
__('Alerts').' &raquo; '.__('Alert commands'),
'images/gm_alerts.png',
false,
'alerts_command_tab',
true
);
}
if ($create_command) {

View File

@ -124,11 +124,7 @@ $table->data[1][1] .= __('Number of alerts match from').' ';
$table->data[1][1] .= html_print_input_text('fires_min', '', '', 4, 10, true);
$table->data[1][1] .= ' '.__('to').' ';
$table->data[1][1] .= html_print_input_text('fires_max', '', '', 4, 10, true);
$table->data[1][1] .= ui_print_help_icon(
'alert-matches',
true,
ui_get_full_url(false, false, false, false)
);
$table->data[1][1] .= '</span>';
if (check_acl($config['id_user'], 0, 'LM')) {
$table->data[1][1] .= '<a style="margin-left:5px;" href="index.php?sec=galertas&sec2=godmode/alerts/configure_alert_action&pure='.$pure.'">';
@ -172,8 +168,7 @@ if ($own_info['is_admin'] || check_acl($config['id_user'], 0, 'PM')) {
$table->data[3][0] = __('Threshold');
$table->data[3][1] = html_print_input_text('module_action_threshold', '0', '', 5, 7, true);
$table->data[3][1] .= ' '.__('seconds').ui_print_help_icon('action_threshold', true);
$table->data[3][1] .= ' '.__('seconds');
if (!isset($step)) {
echo '<form class="add_alert_form" method="post">';

View File

@ -700,20 +700,41 @@ foreach ($simple_alerts as $alert) {
$data[2] .= '</tr>';
$data[2] .= '<tr class="datos">';
$data[2] .= '<td class="datos" style="font-weight:bold;padding:6px;">';
$data[2] .= __('Number of alerts match from').'&nbsp;'.ui_print_help_icon('alert-matches', true, ui_get_full_url(false, false, false, false));
$data[2] .= __('Number of alerts match from');
$data[2] .= '</td>';
$data[2] .= '<td class="datos">';
$data[2] .= html_print_input_text('fires_min', 0, '', 4, 10, true);
$data[2] .= html_print_input_text(
'fires_min',
0,
'',
4,
10,
true
);
$data[2] .= ' '.__('to').' ';
$data[2] .= html_print_input_text('fires_max', 0, '', 4, 10, true);
$data[2] .= html_print_input_text(
'fires_max',
0,
'',
4,
10,
true
);
$data[2] .= '</td>';
$data[2] .= '</tr>';
$data[2] .= '<tr class="datos2">';
$data[2] .= '<td class="datos2" style="font-weight:bold;padding:6px;">';
$data[2] .= __('Threshold').'&nbsp;'.ui_print_help_icon('action_threshold', true, ui_get_full_url(false, false, false, false));
$data[2] .= __('Threshold');
$data[2] .= '</td>';
$data[2] .= '<td class="datos2">';
$data[2] .= html_print_input_text('module_action_threshold', '', '', 4, 10, true);
$data[2] .= html_print_input_text(
'module_action_threshold',
'',
'',
4,
10,
true
);
$data[2] .= '</td>';
$data[2] .= '</tr>';
$data[2] .= '</table>';

View File

@ -41,7 +41,13 @@ if (is_ajax()) {
}
// Header
ui_print_page_header(__('Alerts').' &raquo; '.__('Special days list'), 'images/gm_alerts.png', false, 'alert_special_days', true);
ui_print_page_header(
__('Alerts').' &raquo; '.__('Special days list'),
'images/gm_alerts.png',
false,
'alert_special_days',
true
);
$update_special_day = (bool) get_parameter('update_special_day');
$create_special_day = (bool) get_parameter('create_special_day');

View File

@ -132,7 +132,13 @@ if (!$delete_template) {
alerts_meta_print_header();
} else {
// ~ ui_print_page_header (__('Alerts')." &raquo; ". __('Alert templates'), "images/gm_alerts.png", false, "alerts_config", true);
ui_print_page_header(__('Alerts').' &raquo; '.__('Alert templates'), 'images/gm_alerts.png', false, '', true);
ui_print_page_header(
__('Alerts').' &raquo; '.__('Alert templates'),
'images/gm_alerts.png',
false,
'alert_templates_tab',
true
);
}
}
@ -201,7 +207,13 @@ if ($delete_template) {
if (defined('METACONSOLE')) {
alerts_meta_print_header();
} else {
ui_print_page_header(__('Alerts').' &raquo; '.__('Alert templates'), 'images/gm_alerts.png', false, 'alerts_config', true);
ui_print_page_header(
__('Alerts').' &raquo; '.__('Alert templates'),
'images/gm_alerts.png',
false,
'alerts_config',
true
);
}
} else {
db_pandora_audit(
@ -216,7 +228,13 @@ if ($delete_template) {
if (defined('METACONSOLE')) {
alerts_meta_print_header();
} else {
ui_print_page_header(__('Alerts').' &raquo; '.__('Alert templates'), 'images/gm_alerts.png', false, 'alerts_config', true);
ui_print_page_header(
__('Alerts').' &raquo; '.__('Alert templates'),
'images/gm_alerts.png',
false,
'alerts_config',
true
);
}
}

View File

@ -386,7 +386,7 @@ if (count($actions) == 1 && isset($actions[0])) {
$table->data[$kaction][($k + 1)] = human_time_description_raw($action_threshold, true, 'tiny');
}
$table->head[($k + 1)] = __('Threshold').'<span style="float: right;">'.ui_print_help_icon('action_threshold', true, '', 'images/header_help.png').'</span>';
$table->head[($k + 1)] = __('Threshold');
}
}

View File

@ -184,7 +184,6 @@ $table->colspan[2][1] = 2;
$table->data[3][0] = __('Threshold');
$table->data[3][1] = html_print_input_text('action_threshold', $action_threshold, '', 5, 7, true);
$table->data[3][1] .= ' '.__('seconds').ui_print_help_icon('action_threshold', true);
$table->colspan[3][1] = 2;
$table->data[4][0] = '';

View File

@ -43,7 +43,7 @@ if (defined('METACONSOLE')) {
__('Alerts').' &raquo; '.__('Configure alert command'),
'images/gm_alerts.png',
false,
'alerts_config',
'alerts_config_command_tab',
true
);
}
@ -174,7 +174,6 @@ $table->data['name'][2] = html_print_input_text('name', $name, '', 35, 255, true
$table->colspan['command'][1] = 3;
$table->data['command'][0] = __('Command');
$table->data['command'][0] .= ui_print_help_icon('alert_macros', true);
$table->data['command'][1] = html_print_textarea('command', 8, 30, $command, '', true);
$table->colspan['group'][1] = 3;
@ -199,11 +198,6 @@ $table->data['description'][1] = html_print_textarea('description', 10, 30, $des
for ($i = 1; $i <= $config['max_macro_fields']; $i++) {
$table->data['field'.$i][0] = sprintf(__('Field %s description'), $i);
// Only show help on first row.
if ($i == 1) {
$table->data['field'.$i][0] .= ui_print_help_icon('alert_fields_description', true);
}
if (!empty($fields_descriptions)) {
$field_description = $fields_descriptions[($i - 1)];
} else {
@ -214,11 +208,6 @@ for ($i = 1; $i <= $config['max_macro_fields']; $i++) {
$table->data['field'.$i][2] = sprintf(__('Field %s values'), $i);
// Only show help on first row.
if ($i == 1) {
$table->data['field'.$i][2] .= ui_print_help_icon('alert_fields_values', true);
}
if (!empty($fields_values)) {
$field_values = $fields_values[($i - 1)];
} else {

View File

@ -56,14 +56,20 @@ if ($a_template !== false) {
if (defined('METACONSOLE')) {
alerts_meta_print_header();
} else {
// ~ ui_print_page_header (__('Alerts') .
// ~ ' &raquo; ' . __('Configure alert template'), "",
// ~ false, "alerts_config", true);
$step = (int) get_parameter('step', 1);
if ($step == 1) {
$help_header = 'configure_alert_template_step_1';
} else if ($step == 2) {
$help_header = 'configure_alert_template_step_2';
} else if ($step == 3) {
$help_header = 'configure_alert_template_step_3';
}
ui_print_page_header(
__('Alerts').' &raquo; '.__('Configure alert template'),
'',
false,
'',
$help_header,
true
);
}
@ -83,7 +89,13 @@ if ($a_template !== false) {
if (defined('METACONSOLE')) {
alerts_meta_print_header();
} else {
ui_print_page_header(__('Alerts').' &raquo; '.__('Configure alert template'), 'images/gm_alerts.png', false, 'conf_alert_template', true);
ui_print_page_header(
__('Alerts').' &raquo; '.__('Configure alert template'),
'images/gm_alerts.png',
false,
'conf_alert_template',
true
);
}
} else {
db_pandora_audit(
@ -101,7 +113,22 @@ if ($a_template !== false) {
if (defined('METACONSOLE')) {
alerts_meta_print_header();
} else {
ui_print_page_header(__('Alerts').' &raquo; '.__('Configure alert template'), 'images/gm_alerts.png', false, 'conf_alert_template', true);
$step = (int) get_parameter('step', 1);
if ($step == 1) {
$help_header = 'configure_alert_template_step_1';
} else if ($step == 2) {
$help_header = 'configure_alert_template_step_2';
} else if ($step == 3) {
$help_header = 'configure_alert_template_step_3';
}
ui_print_page_header(
__('Alerts').' &raquo; '.__('Configure alert template'),
'images/gm_alerts.png',
false,
$help_header,
true
);
}
}

View File

@ -124,7 +124,7 @@ $data[3] .= '<span class="size">'.html_print_input_text('modal_height', $event_r
$table->data[2] = $data;
$data = [];
$data[0] = __('Parameters').ui_print_help_icon('response_parameters', true);
$data[0] = __('Parameters');
$data[1] = html_print_input_text(
'params',
$event_response['params'],

View File

@ -77,6 +77,7 @@ switch ($section) {
case 'responses':
$buttons['responses']['active'] = true;
$subpage = ' - '.__('Responses');
$help_header = 'events_responses_tab';
break;
case 'view':
@ -90,7 +91,14 @@ switch ($section) {
}
if (! defined('METACONSOLE')) {
ui_print_page_header(__('Manage events').$subpage, 'images/gm_events.png', false, '', true, $buttons);
ui_print_page_header(
__('Manage events').$subpage,
'images/gm_events.png',
false,
$help_header,
true,
$buttons
);
} else {
ui_meta_print_header(__('Manage events').$subpage, '', $buttons);
}

View File

@ -277,7 +277,7 @@ ui_print_page_header(
__('GIS Maps builder'),
'images/gm_gis.png',
false,
'configure_gis_map',
'configure_gis_map_edit',
true,
$buttons
);

View File

@ -87,7 +87,14 @@ if (defined('METACONSOLE')) {
$title_in_header = __('Create group');
}
ui_print_page_header($title_in_header, 'images/group.png', false, '', true, '');
ui_print_page_header(
$title_in_header,
'images/group.png',
false,
'create_group_tab',
true,
''
);
$sec = 'gagente';
}
@ -175,11 +182,11 @@ if ($config['enterprise_installed']) {
}
$table->data[$i][0] = __('Alerts');
$table->data[$i][1] = html_print_checkbox('alerts_enabled', 1, ! $alerts_disabled, true);
$table->data[$i][1] = html_print_checkbox_switch('alerts_enabled', 1, ! $alerts_disabled, true);
$i++;
$table->data[$i][0] = __('Propagate ACL').ui_print_help_tip(__('Propagate the same ACL security into the child subgroups.'), true);
$table->data[$i][1] = html_print_checkbox('propagate', 1, $propagate, true).ui_print_help_icon('propagate_acl', true);
$table->data[$i][1] = html_print_checkbox_switch('propagate', 1, $propagate, true);
$i++;
$table->data[$i][0] = __('Custom ID');

View File

@ -275,7 +275,7 @@ if (defined('METACONSOLE')) {
__('Groups defined in %s', get_product_name()),
'images/group.png',
false,
'',
'group_list_tab',
true,
$buttons
);

View File

@ -215,7 +215,6 @@ $table->data[3][1] .= __('Number of alerts match from').' ';
$table->data[3][1] .= html_print_input_text('fires_min', 0, '', 4, 10, true);
$table->data[3][1] .= ' '.__('to').' ';
$table->data[3][1] .= html_print_input_text('fires_max', 0, '', 4, 10, true);
$table->data[3][1] .= ui_print_help_icon('alert-matches', true);
$table->data[3][1] .= '</span>';
echo '<form method="post" id="form_alerts" action="index.php?sec=gmassive&sec2=godmode/massive/massive_operations&option=add_action_alerts">';

View File

@ -125,7 +125,7 @@ echo '<form '.'action="index.php?'.'sec=gmassive&'.'sec2=godmode/massive/massive
echo '<fieldset id="fieldset_source">';
echo '<legend>';
echo '<span>'.__('Source').ui_print_help_icon('manageconfig', true).'</span>';
echo '<span>'.__('Source');
echo '</legend>';
html_print_table($table);
echo '</fieldset>';

View File

@ -489,7 +489,7 @@ $params['selectbox_id'] = 'cascade_protection_module';
$params['javascript_is_function_select'] = true;
$table->data[0][1] = ui_print_agent_autocomplete_input($params);
$table->data[0][1] .= '<b>'.__('Cascade protection').'</b>&nbsp;'.ui_print_help_icon('cascade_protection', true).html_print_select(
$table->data[0][1] .= '<b>'.__('Cascade protection').'</b>'.html_print_select(
[
1 => __('Yes'),
0 => __('No'),
@ -587,7 +587,7 @@ $table->data[0][0] = __('Custom ID');
$table->data[0][1] = html_print_input_text('custom_id', $custom_id, '', 16, 255, true);
// Learn mode / Normal mode
$table->data[1][0] = __('Module definition').ui_print_help_icon('module_definition', true);
$table->data[1][0] = __('Module definition');
$table->data[1][1] = __('No change').' '.html_print_radio_button_extended('mode', -1, '', $mode, false, '', 'style="margin-right: 40px;"', true);
$table->data[1][1] .= __('Learning mode').' '.html_print_radio_button_extended('mode', 1, '', $mode, false, '', 'style="margin-right: 40px;"', true);
$table->data[1][1] .= __('Normal mode').' '.html_print_radio_button_extended('mode', 0, '', $mode, false, '', 'style="margin-right: 40px;"', true);

View File

@ -695,7 +695,7 @@ $table->data['edit1'][1] = '<table width="100%">';
true
);
$table->data['edit3'][0] = __('Post process').ui_print_help_icon('postprocess', true);
$table->data['edit3'][0] = __('Post process');
$table->data['edit3'][1] = html_print_extended_select_for_post_process(
'post_process',
@ -846,10 +846,6 @@ $table->data['edit1'][1] = '<table width="100%">';
// FF stands for Flip-flop.
$table->data['edit7'][0] = __('FF threshold').' ';
$table->data['edit7'][0] .= ui_print_help_icon(
'ff_threshold',
true
);
$table->colspan['edit7'][1] = 3;
$table->data['edit7'][1] = __('Mode').' ';
@ -1060,26 +1056,26 @@ $table->data['edit1'][1] = '<table width="100%">';
true
);
$table->data['edit22'][0] = __('Web checks').ui_print_help_icon('web_checks', true);
$table->data['edit22'][0] = __('Web checks');
;
$table->data['edit22'][1] = '<textarea id="textarea_plugin_parameter" name="plugin_parameter_text" cols="65" rows="15"></textarea>';
$table->data['edit16'][2] = __('Port');
$table->data['edit16'][3] = html_print_input_text('tcp_port', '', '', 5, 20, true);
$table->data['edit17'][0] = __('TCP send').' '.ui_print_help_icon('tcp_send', true);
$table->data['edit17'][0] = __('TCP send');
$table->data['edit17'][1] = html_print_textarea('tcp_send2', 2, 65, '', '', true);
$table->data['edit17'][2] = __('TCP receive');
$table->data['edit17'][3] = html_print_textarea('tcp_rcv', 2, 65, '', '', true);
$table->data['edit18'][0] = __('WMI query').ui_print_help_icon('wmiquery', true);
$table->data['edit18'][0] = __('WMI query');
$table->data['edit18'][1] = html_print_input_text('wmi_query', '', '', 35, 255, true);
$table->data['edit18'][2] = __('Key string');
$table->data['edit18'][3] = html_print_input_text('key_string', '', '', 20, 60, true);
$table->data['edit19'][0] = __('Field number').ui_print_help_icon('wmifield', true);
$table->data['edit19'][0] = __('Field number');
$table->data['edit19'][1] = html_print_input_text('field_number', '', '', 5, 15, true);
$table->data['edit20'][0] = __('Plugin').ui_print_help_icon('plugin_macros', true);

View File

@ -11,7 +11,7 @@
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// Load global vars
// Load global vars.
check_login();
if (! check_acl($config['id_user'], 0, 'AW')) {
@ -72,6 +72,7 @@ if (! check_acl($config['id_user'], 0, 'AW')) {
$options_policies = [];
$policies_options = enterprise_hook('massive_policies_options');
$policies_options = array_unique($policies_options);
if ($policies_options != ENTERPRISE_NOT_HOOK) {
$options_policies = array_merge($options_policies, $policies_options);
@ -118,10 +119,12 @@ switch ($tab) {
case 'massive_agents':
$options = $options_agents;
$help_header = 'massive_agents_tab';
break;
case 'massive_modules':
$options = $options_modules;
$help_header = 'massive_modules_tab';
break;
case 'massive_users':
@ -130,6 +133,7 @@ switch ($tab) {
case 'massive_policies':
$options = $options_policies;
$help_header = 'massive_policies_tab';
break;
case 'massive_snmp':
@ -143,9 +147,13 @@ switch ($tab) {
case 'massive_plugins':
$options = $options_plugins;
break;
default:
// Default.
break;
}
// Set the default option of the category
// Set the default option of the category.
if ($option == '') {
$option = array_shift(array_keys($options));
}
@ -235,16 +243,16 @@ ui_print_page_header(
__('Bulk operations').' &raquo; '.$options[$option],
'images/gm_massive_operations.png',
false,
'',
$help_header,
true,
$onheader,
true,
'massivemodal'
);
// Checks if the PHP configuration is correctly
// Checks if the PHP configuration is correctly.
if ((get_cfg_var('max_execution_time') != 0)
or (get_cfg_var('max_input_time') != -1)
|| (get_cfg_var('max_input_time') != -1)
) {
echo '<div id="notify_conf" class="notify">';
echo __('In order to perform massive operations, PHP needs a correct configuration in timeout parameters. Please, open your PHP configuration file (php.ini) for example: <i>sudo vi /etc/php5/apache2/php.ini;</i><br> And set your timeout parameters to a correct value: <br><i> max_execution_time = 0</i> and <i>max_input_time = -1</i>');
@ -256,7 +264,7 @@ if ($tab == 'massive_policies' && is_central_policies_on_node()) {
return;
}
// Catch all submit operations in this view to display Wait banner
// Catch all submit operations in this view to display Wait banner.
$submit_action = get_parameter('go');
$submit_update = get_parameter('updbutton');
$submit_del = get_parameter('del');

View File

@ -457,19 +457,6 @@ if (check_acl($config['id_user'], 0, 'PM') && $config['enable_update_manager'])
$sub['godmode/update_manager/update_manager&tab=setup']['text'] = __('Update Manager options');
$sub['godmode/update_manager/update_manager&tab=setup']['id'] = 'Options';
if (license_free() && is_user_admin($config['id_user'])) {
include_once 'include/functions_update_manager.php';
// If there are unread messages, display the notification icon
$number_total_messages;
$number_unread_messages = update_manager_get_unread_messages();
if ($number_unread_messages > 0) {
$menu_godmode['messages']['notification'] = $number_unread_messages;
}
$sub['godmode/update_manager/update_manager&tab=messages']['text'] = __('Messages');
$sub['godmode/update_manager/update_manager&tab=messages']['id'] = 'Messages';
}
$menu_godmode['messages']['sub'] = $sub;
}

View File

@ -36,7 +36,13 @@ if (defined('METACONSOLE')) {
components_meta_print_header();
$sec = 'advanced';
} else {
ui_print_page_header(__('Module management').' &raquo; '.__('Component group management'), '', false, 'component_groups', true);
ui_print_page_header(
__('Module management').' &raquo; '.__('Component group management'),
'',
false,
'component_groups',
true
);
$sec = 'gmodules';
}

View File

@ -46,11 +46,22 @@ if (defined('METACONSOLE')) {
*/
$id_modulo = (int) get_parameter('id_component_type');
$new_component = (bool) get_parameter('new_component');
if ($id_modulo == 2 || $id_modulo == 4 || $id_modulo == 6) {
$help_header = 'local_module_tab';
} else if (!$new_component) {
$help_header = 'network_component_tab';
} else {
$help_header = 'network_component_tab';
}
ui_print_page_header(
__('Module management').' &raquo; '.__('Network component management'),
'',
false,
'network_component',
$help_header,
true,
'',
false,
@ -90,7 +101,6 @@ if (!empty($macros)) {
$max_timeout = (int) get_parameter('max_timeout');
$max_retries = (int) get_parameter('max_retries');
$id_modulo = (int) get_parameter('id_component_type');
$id_plugin = (int) get_parameter('id_plugin');
$dynamic_interval = (int) get_parameter('dynamic_interval');
$dynamic_max = (int) get_parameter('dynamic_max');
@ -150,7 +160,6 @@ $disabled_types_event = json_encode($disabled_types_event);
$create_component = (bool) get_parameter('create_component');
$update_component = (bool) get_parameter('update_component');
$delete_component = (bool) get_parameter('delete_component');
$new_component = (bool) get_parameter('new_component');
$duplicate_network_component = (bool) get_parameter('duplicate_network_component');
$delete_multiple = (bool) get_parameter('delete_multiple');
$multiple_delete = (bool) get_parameter('multiple_delete', 0);

View File

@ -72,7 +72,7 @@ if (enterprise_installed()) {
}
}
$table->data[1][0] = __('Type').' '.ui_print_help_icon('module_type', true);
$table->data[1][0] = __('Type').' '.ui_print_help_icon($help_type, true, '', 'images/help_green.png', '', 'module_type_help');
$sql = sprintf(
'SELECT id_tipo, descripcion
FROM ttipo_modulo
@ -154,7 +154,7 @@ $table->data[2][1] = html_print_select(
$table->data[2][2] = __('Interval');
$table->data[2][3] = html_print_extended_select_for_time('module_interval', $module_interval, '', '', '0', false, true);
$table->data[3][0] = __('Dynamic Interval').' '.ui_print_help_icon('dynamic_threshold', true);
$table->data[3][0] = __('Dynamic Interval');
$table->data[3][1] = html_print_extended_select_for_time('dynamic_interval', $dynamic_interval, '', 'None', '0', 10, true, 'width:150px', false);
$table->data[3][1] .= '<a onclick=advanced_option_dynamic()>'.html_print_image('images/cog.png', true, ['title' => __('Advanced options Dynamic Threshold')]).'</a>';
@ -165,7 +165,7 @@ $table->data[3][2] .= html_print_input_text('dynamic_max', $dynamic_max, '', 10,
$table->data[3][3] = '<span><em>'.__('Dynamic Two Tailed: ').'</em>';
$table->data[3][3] .= html_print_checkbox('dynamic_two_tailed', 1, $dynamic_two_tailed, true);
$table->data[4][0] = __('Warning status').' '.ui_print_help_icon('warning_status', true);
$table->data[4][0] = __('Warning status');
$table->data[4][1] = '<span id="minmax_warning"><em>'.__('Min.').'&nbsp;</em>&nbsp;';
$table->data[4][1] .= html_print_input_text(
'min_warning',
@ -200,7 +200,7 @@ $table->data[4][2] = '<svg id="svg_dinamic" width="500" height="300"> </svg>';
$table->colspan[4][2] = 2;
$table->rowspan[4][2] = 3;
$table->data[5][0] = __('Critical status').' '.ui_print_help_icon('critical_status', true);
$table->data[5][0] = __('Critical status');
$table->data[5][1] = '<span id="minmax_critical"><em>'.__('Min.').'&nbsp;</em>&nbsp;';
$table->data[5][1] .= html_print_input_text(
'min_critical',
@ -231,7 +231,7 @@ $table->data[5][1] .= html_print_input_text(
$table->data[5][1] .= '<br /><em>'.__('Inverse interval').'</em>';
$table->data[5][1] .= html_print_checkbox('critical_inverse', 1, $critical_inverse, true);
$table->data[6][0] = __('FF threshold').' '.ui_print_help_icon('ff_threshold', true);
$table->data[6][0] = __('FF threshold');
$table->colspan[6][1] = 3;
$table->data[6][1] = __('Keep counters');
@ -396,6 +396,124 @@ $next_row++;
var type_names = jQuery.parseJSON(Base64.decode($('#hidden-type_names').val()));
var type_name_selected = type_names[type_selected];
console.log(type_name_selected);
var element = document.getElementById("module_type_help");
var language = "<?php echo $config['language']; ?>" ;
element.onclick = function (event) {
if(type_name_selected == 'async_data' ||
type_name_selected == 'async_proc' ||
type_name_selected == 'async_string' ||
type_name_selected == 'generic_proc'||
type_name_selected == 'generic_data' ||
type_name_selected == 'generic_data_inc' ||
type_name_selected == 'generic_data_inc_abs'||
type_name_selected == 'generic_data_string' ||
type_name_selected == 'keep_alive'
){
if (language == 'es'){
window.open(
'https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_es:Operacion&printable=yes#Tipos_de_m.C3.B3dulos',
'_blank',
'width=800,height=600'
);
}
else{
window.open(
'https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_en:Operations&printable=yes#Types_of_Modules',
'_blank',
'width=800,height=600'
);
}
}
if(type_name_selected == 'remote_icmp' ||
type_name_selected == 'remote_icmp_proc'
){
if(language == 'es'){
window.open(
'https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_es:Monitorizacion_remota&printable=yes#Monitorizaci.C3.B3n_ICMP',
'_blank',
'width=800,height=600'
);
}
else{
window.open(
'https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_en:Remote_Monitoring&printable=yes#ICMP_Monitoring',
'_blank',
'width=800,height=600'
);
}
}
if(type_name_selected == 'remote_snmp_string' ||
type_name_selected == 'remote_snmp_proc' ||
type_name_selected == 'remote_snmp_inc' ||
type_name_selected == 'remote_snmp'
){
if(language == 'es'){
window.open(
'https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_es:Monitorizacion_remota&printable=yes#Monitorizando_con_m.C3.B3dulos_de_red_tipo_SNMP',
'_blank',
'width=800,height=600'
);
}
else{
window.open(
'https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_en:Remote_Monitoring&printable=yes#Monitoring_by_Network_Modules_with_SNMP',
'_blank',
'width=800,height=600'
);
}
}
if(type_name_selected == 'remote_tcp_string' ||
type_name_selected == 'remote_tcp_proc' ||
type_name_selected == 'remote_tcp_inc' ||
type_name_selected == 'remote_tcp'
){
if(language == 'es'){
window.open(
'https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_es:Monitorizacion_remota&printable=yes#Monitorizaci.C3.B3n_TCP',
'_blank',
'width=800,height=600'
);
}
else{
window.open(
'https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_en:Remote_Monitoring&printable=yes#TCP_Monitoring',
'_blank',
'width=800,height=600'
);
}
}
if(type_name_selected == 'web_data' ||
type_name_selected == 'web_proc' ||
type_name_selected == 'web_content_data' ||
type_name_selected == 'web_content_string'
){
if(language == 'es'){
window.open(
'https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_es:Monitorizacion_web&printable=yes#Creaci.C3.B3n_de_m.C3.B3dulos_web',
'_blank',
'width=800,height=600'
);
}
else{
window.open(
'https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_en:Web_Monitoring&printable=yes#Creating_Web_Modules',
'_blank',
'width=800,height=600'
);
}
}
}
if (type_name_selected.match(/_string$/) == null) {
// Numeric types

View File

@ -57,16 +57,16 @@ $data = [];
$data[0] = __('SNMP Enterprise String');
$data[1] = html_print_input_text('snmp_oid', $snmp_oid, '', 30, 400, true);
// $table->colspan['snmp_2'][1] = 3;
$data[2] = __('SNMP community').ui_print_help_icon('column_macros', true);
$data[2] = __('SNMP community');
$data[3] = html_print_input_text('snmp_community', $snmp_community, '', 15, 60, true);
push_table_row($data, 'snmp_2');
$data = [];
$data[0] = __('Auth user').ui_print_help_icon('column_macros', true);
$data[0] = __('Auth user');
$data[1] = html_print_input_text('snmp3_auth_user', $snmp3_auth_user, '', 15, 60, true);
$data[2] = __('Auth password').ui_print_help_icon('column_macros', true);
$data[2] = __('Auth password');
$data[3] = html_print_input_password('snmp3_auth_pass', $snmp3_auth_pass, '', 15, 60, true);
$data[3] .= html_print_input_hidden_extended('active_snmp_v3', 0, 'active_snmp_v3_mncfn', true);
push_table_row($data, 'field_snmpv3_row1');
@ -74,7 +74,7 @@ push_table_row($data, 'field_snmpv3_row1');
$data = [];
$data[0] = __('Privacy method');
$data[1] = html_print_select(['DES' => __('DES'), 'AES' => __('AES')], 'snmp3_privacy_method', $snmp3_privacy_method, '', '', '', true);
$data[2] = __('Privacy pass').ui_print_help_icon('column_macros', true);
$data[2] = __('Privacy pass');
$data[3] = html_print_input_password('snmp3_privacy_pass', $snmp3_privacy_pass, '', 15, 60, true);
push_table_row($data, 'field_snmpv3_row2');
@ -98,7 +98,7 @@ $data[3] = html_print_select(
push_table_row($data, 'field_snmpv3_row3');
$data = [];
$data[0] = __('Post process').' '.ui_print_help_icon('postprocess', true);
$data[0] = __('Post process');
$data[1] = html_print_extended_select_for_post_process(
'post_process',
$post_process,
@ -117,7 +117,7 @@ push_table_row($data, 'field_process');
// Advanced stuff
$data = [];
$data[0] = __('TCP send').' '.ui_print_help_icon('tcp_send', true);
$data[0] = __('TCP send');
$data[1] = html_print_textarea('tcp_send', 2, 65, $tcp_send, '', true);
$table->colspan['tcp_send'][1] = 3;

View File

@ -31,7 +31,7 @@ $data[1] = html_print_select_from_sql(
);
// Store the macros in base64 into a hidden control to move between pages
$data[1] .= html_print_input_hidden('macros', base64_encode($macros), true);
$data[2] = __('Post process').' '.ui_print_help_icon('postprocess', true, ui_get_full_url(false, false, false, false));
$data[2] = __('Post process');
$data[3] = html_print_extended_select_for_post_process(
'post_process',
$post_process,

View File

@ -28,31 +28,31 @@ if (! check_acl($config['id_user'], 0, 'PM')) {
require_once $config['homedir'].'/include/functions_modules.php';
$data = [];
$data[0] = __('WMI query');
$data[0] = __('WMI query').' '.ui_print_help_icon('wmi_query_tab', true);
$data[1] = html_print_input_text('snmp_oid', $snmp_oid, '', 25, 255, true);
$data[2] = __('Key string').' '.ui_print_help_icon('wmikey', true, ui_get_full_url(false, false, false, false));
$data[2] = __('Key string');
$data[3] = html_print_input_text('snmp_community', $snmp_community, '', 25, 255, true);
push_table_row($data, 'wmi_1');
$data = [];
$data[0] = __('Field number').' '.ui_print_help_icon('wmifield', true, ui_get_full_url(false, false, false, false));
$data[0] = __('Field number');
$data[1] = html_print_input_text('tcp_port', $tcp_port, '', 5, 25, true);
$data[2] = __('Namespace').' '.ui_print_help_icon('wminamespace', true, ui_get_full_url(false, false, false, false));
$data[2] = __('Namespace');
$data[3] = html_print_input_text('tcp_send', $tcp_send, '', 25, 255, true);
push_table_row($data, 'wmi_2');
$data = [];
$data[0] = __('Username').ui_print_help_icon('column_macros', true);
$data[0] = __('Username');
$data[1] = html_print_input_text('plugin_user', $plugin_user, '', 15, 255, true);
$data[2] = __('Password').ui_print_help_icon('column_macros', true);
$data[2] = __('Password');
$data[3] = html_print_input_password('plugin_pass', $plugin_pass, '', 25, 255, true);
push_table_row($data, 'wmi_3');
$data = [];
$data[0] = __('Post process').' '.ui_print_help_icon('postprocess', true, ui_get_full_url(false, false, false, false));
$data[0] = __('Post process');
$data[1] = html_print_extended_select_for_post_process(
'post_process',
$post_process,

View File

@ -35,7 +35,16 @@ if (! check_acl($config['id_user'], 0, 'PM')) {
*/
ui_print_page_header(__('Module management').' &raquo; '.__('Module template management'), 'images/gm_modules.png', false, 'template_tab', true, '', true, 'modulemodal');
ui_print_page_header(
__('Module management').' &raquo; '.__('Module template management'),
'images/gm_modules.png',
false,
'module_template_tab',
true,
'',
true,
'modulemodal'
);
require_once 'include/functions_network_profiles.php';

View File

@ -34,7 +34,13 @@ $pure = get_parameter('pure', 0);
// Header
if (! defined('METACONSOLE')) {
ui_print_page_header(__('Manage Netflow Filter'), 'images/gm_netflow.png', false, '', true);
ui_print_page_header(
__('Manage Netflow Filter'),
'images/gm_netflow.png',
false,
'pcap_filter',
true
);
$is_windows = strtoupper(substr(PHP_OS, 0, 3)) == 'WIN';
if ($is_windows) {

View File

@ -54,7 +54,14 @@ if (! defined('METACONSOLE')) {
$buttons['add']['text'] = '<a href="index.php?sec=netf&sec2=godmode/netflow/nf_edit_form">'.html_print_image('images/add_mc.png', true, ['title' => __('Add filter')]).'</a>';
ui_print_page_header(__('Netflow Filter'), 'images/gm_netflow.png', false, '', true, $buttons);
ui_print_page_header(
__('Netflow Filter'),
'images/gm_netflow.png',
false,
'pcap_filter',
true,
$buttons
);
} else {
$nav_bar = [
[
@ -230,10 +237,9 @@ $table->data[5][1] = html_print_input_text('dst_port', $dst_port, false, 40, 80,
$table->data[6][0] = __('Src Port').ui_print_help_tip(__('Source port. A comma separated list of source ports. If we leave the field blank, will show all ports. Example filter by ports 80 and 22:<br>80,22'), true);
$table->data[6][1] = html_print_input_text('src_port', $src_port, false, 40, 80, true);
$table->data[7][0] = ui_print_help_icon('pcap_filter', true);
$table->data[7][1] = html_print_textarea('advanced_filter', 4, 40, $advanced_filter, '', true);
$table->data[8][0] = '<b>'.__('Aggregate by').'</b>'.ui_print_help_icon('aggregate_by', true);
$table->data[8][0] = '<b>'.__('Aggregate by').'</b>';
$aggregate_list = [
'srcip' => __('Src Ip Address'),
'dstip' => __('Dst Ip Address'),

View File

@ -276,19 +276,30 @@ if (isset($name)) {
$head .= ' - '.$name;
}
// Header
// Header.
$tab = get_parameter('tab', '');
switch ($tab) {
default:
case 'main':
ui_print_page_header($head, 'images/chart.png', false, 'graph_builder', false, $buttons);
ui_print_page_header(
$head,
'images/chart.png',
false,
'graph_builder',
false,
$buttons
);
break;
case 'graph_editor':
ui_print_page_header($head, 'images/chart.png', false, 'graph_editor', false, $buttons);
break;
default:
ui_print_page_header($head, 'images/chart.png', false, 'graph_builder', false, $buttons);
ui_print_page_header(
$head,
'images/chart.png',
false,
'graph_editor',
false,
$buttons
);
break;
}

View File

@ -15,7 +15,7 @@ global $config;
require_once $config['homedir'].'/include/functions_visual_map.php';
// ACL for the general permission
// ACL for the general permission.
$vconsoles_read = check_acl($config['id_user'], 0, 'VR');
$vconsoles_write = check_acl($config['id_user'], 0, 'VW');
$vconsoles_manage = check_acl($config['id_user'], 0, 'VM');
@ -84,7 +84,7 @@ if (!$is_metaconsole) {
__('Reporting').' &raquo; '.__('Visual Console'),
'images/op_reporting.png',
false,
'map_builder',
'map_builder_intro',
false,
$buttons
);

View File

@ -820,7 +820,7 @@ $class = 'databox filters';
<tr id="row_name" style="" class="datos">
<td style="font-weight:bold;">
<?php echo __('Name').ui_print_help_icon('reports_label_field', true); ?>
<?php echo __('Name'); ?>
</td>
<td style="">
<?php
@ -877,7 +877,7 @@ $class = 'databox filters';
<tr id="row_label" style="" class="datos">
<td style="font-weight:bold;">
<?php
echo __('Label').ui_print_help_icon('reports_label_field', true);
echo __('Label');
?>
</td>
<td style="">
@ -981,11 +981,6 @@ $class = 'databox filters';
<td style="font-weight:bold;">
<?php
echo __('Period');
if ($type == 'projection_graph') {
echo ui_print_help_icon('projection_graph', true);
} else {
echo ui_print_help_icon('prediction_date', true);
}
?>
</td>
<td style="">
@ -1004,10 +999,7 @@ $class = 'databox filters';
<tr id="row_estimate" style="" class="datos">
<td style="font-weight:bold;">
<?php
echo __('Projection period').ui_print_help_icon(
'projection_graph',
true
);
echo __('Projection period');
?>
</td>
<td style="">
@ -1026,10 +1018,7 @@ $class = 'databox filters';
<tr id="row_interval" style="" class="datos">
<td style="font-weight:bold;">
<?php
echo __('Data range').ui_print_help_icon(
'prediction_date',
true
);
echo __('Data range');
?>
</td>
<td>
@ -4865,7 +4854,6 @@ function chooseType() {
switch (type) {
case 'event_report_agent':
case 'simple_graph':
case 'agent_configuration':
case 'event_report_module':
case 'alert_report_agent':
case 'alert_report_module':
@ -4876,8 +4864,6 @@ function chooseType() {
case 'min_value':
case 'max_value':
case 'avg_value':
case 'projection_graph':
case 'prediction_date':
case 'TTRT':
case 'TTO':
case 'MTBF':

View File

@ -745,7 +745,12 @@ function message_check_delete_items() {
}
function added_ids_deleted_items_to_hidden_input() {
message_check_delete_items();
var success = message_check_delete_items();
if(success === false){
$(".check_delete").prop("checked", false);
return false;
}
var ids = '';
var first = true;

View File

@ -480,6 +480,7 @@ switch ($action) {
}
$subsection = '';
$helpers = '';
switch ($activeTab) {
case 'main':
$buttons['list_reports']['active'] = true;
@ -487,10 +488,14 @@ switch ($action) {
break;
default:
$subsection = reporting_enterprise_add_subsection_main(
$data_tab = reporting_enterprise_add_subsection_main(
$activeTab,
$buttons
);
$subsection = $data_tab['subsection'];
$buttons = $data_tab['buttons'];
$helpers = $data_tab['helpers'];
break;
}
@ -2909,6 +2914,7 @@ switch ($action) {
$buttons = reporting_enterprise_add_main_Tabs($buttons);
$subsection = '';
$helpers = '';
switch ($activeTab) {
case 'main':
$buttons['list_reports']['active'] = true;
@ -2916,10 +2922,14 @@ switch ($action) {
break;
default:
$subsection = reporting_enterprise_add_subsection_main(
$data_tab = reporting_enterprise_add_subsection_main(
$activeTab,
$buttons
);
$subsection = $data_tab['subsection'];
$buttons = $data_tab['buttons'];
$helpers = $data_tab['helper'];
break;
}
@ -3027,11 +3037,21 @@ if ($enterpriseEnable && defined('METACONSOLE')) {
// Print header.
ui_meta_print_header(__('Reporting').$textReportName, '', $buttons);
} else {
switch ($activeTab) {
case 'main':
$helpers = '';
break;
default:
$helpers = 'reporting_'.$activeTab.'_tab';
break;
}
ui_print_page_header(
$textReportName,
'images/op_reporting.png',
false,
'reporting_'.$activeTab.'_tab',
$helpers,
false,
$buttons,
false,

View File

@ -78,7 +78,7 @@ if (!$is_metaconsole) {
__('Reporting').' &raquo; '.__('Visual Favourite Console'),
'images/op_reporting.png',
false,
'map_builder',
'map_builder_favorite',
false,
$buttons
);

View File

@ -403,7 +403,7 @@ if (($create != '') || ($view != '')) {
$table->data['plugin_command'] = $data;
$data = [];
$data[0] = __('Plug-in parameters').ui_print_help_icon('plugin_parameters', true);
$data[0] = __('Plug-in parameters');
$data[1] = '<input type="text" name="form_parameters" id="form_parameters" class="command_component command_advanced_conf" size=100 value="'.$parameters.'" '.$disabled.'>';
if ($locked) {
$data[1] .= html_print_image('images/lock.png', true, ['class' => 'command_advanced_conf lock']);
@ -549,7 +549,7 @@ if (($create != '') || ($view != '')) {
$table->headstyle[0] = 'text-align: center';
html_print_table($table);
} else {
echo '<fieldset>'.'<legend>'.__('Parameters macros').ui_print_help_icon('macros', true).'</legend>';
echo '<fieldset>'.'<legend>'.__('Parameters macros').'</legend>';
html_print_table($table);
echo '</fieldset>';
}
@ -612,7 +612,16 @@ if (($create != '') || ($view != '')) {
config_update_value('metaconsole_deploy_plugin_server', 1);
}
} else {
ui_print_page_header(__('Plug-ins registered on %s', get_product_name()), 'images/gm_servers.png', false, '', true);
ui_print_page_header(
__(
'Plug-ins registered on %s',
get_product_name()
),
'images/gm_servers.png',
false,
'',
true
);
$management_allowed = !is_central_policies_on_node();
if (!$management_allowed) {

View File

@ -28,8 +28,14 @@ require_once 'include/functions_gis.php';
ui_require_javascript_file('openlayers.pandora');
// Header
ui_print_page_header(__('Map conections GIS'), '', false, 'setup_gis_index', true);
// Header.
ui_print_page_header(
__('Map conections GIS'),
'',
false,
'',
true
);
$action = get_parameter('action');

View File

@ -13,7 +13,7 @@
* GNU General Public License for more details.
*/
// Load global vars
// Load global vars.
global $config;
check_login();
@ -35,8 +35,14 @@ echo '<form action="index.php?sec=gsetup&sec2=godmode/setup/gis_step_2" method="
switch ($action) {
case 'create_connection_map':
// Header
ui_print_page_header(__('Create new map connection'), '', false, 'gis_setup_map_connection', true);
// Header.
ui_print_page_header(
__('Create new map connection'),
'',
false,
'',
true
);
$mapConnection_name = '';
$mapConnection_group = '';
@ -55,8 +61,14 @@ switch ($action) {
break;
case 'edit_connection_map':
// Header
ui_print_page_header(__('Edit map connection'), '', false, 'gis_setup_map_connection', true);
// Header.
ui_print_page_header(
__('Edit map connection'),
'',
false,
'',
true
);
$idConnectionMap = get_parameter('id_connection_map');
$mapConnection = db_get_row_sql('SELECT * FROM tgis_map_connection WHERE id_tmap_connection = '.$idConnectionMap);
@ -142,9 +154,13 @@ switch ($action) {
'layers' => $layers,
];
break;
default:
// Default.
break;
}
// TODO VALIDATE PARAMETERS
// TODO VALIDATE PARAMETERS.
if ($mapConnection_name != '' && $mapConnection_type != '') {
gis_save_map_connection(
$mapConnection_name,
@ -170,6 +186,9 @@ switch ($action) {
return;
break;
default:
// Default.
break;
}
$table->width = '90%';
@ -188,7 +207,7 @@ $table->data[2][1] = html_print_input_text('num_levels_zoom', $mapConnection_num
$table->data[3][0] = __('Default zoom level').ui_print_help_tip(__('Zoom level used when the map is opened'), true).':';
$table->data[3][1] = html_print_input_text('initial_zoom', $mapConnection_defaultZoom, '', 4, 10, true);
echo '<h4>'.__('Basic configuration').'</h4>';
echo '<h4>'.__('Basic configuration').' '.ui_print_help_icon('gis_basic_configurations_tab', true).'</h4>';
html_print_table($table);
$table->width = '60%';
@ -200,7 +219,7 @@ $types['WMS'] = __('WMS Server');
$table->data[0][0] = __('Type').':';
$table->data[0][1] = html_print_select($types, 'sel_type', $mapConnection_type, 'selMapConnectionType();', __('Please select the connection type'), 0, true);
echo '<h4>'.__('Map connection type').'</h4>';
echo '<h4>'.__('Map connection type').' '.ui_print_help_icon('gis_map_connection_tab', true).'</h4>';
html_print_table($table);
$optionsConnectionTypeTable = '';
@ -239,22 +258,26 @@ if ($mapConnectionData != null) {
$mapConnectionDataUrl = $mapConnectionData['url'];
$layers = $mapConnectionData['layers'];
break;
default:
// Default.
break;
}
}
// Open Street Map Connection
// Open Street Map Connection.
$optionsConnectionOSMTable = '<table class="databox" border="0" cellpadding="4" cellspacing="4" width="50%">'.'<tr class="row_0">'.'<td>'.htmlentities(__('Tile Server URL'), ENT_QUOTES, 'UTF-8').':</td>'.'<td><input id="type" type="hidden" name="type" value="OSM" />'.html_print_input_text('url', $mapConnectionDataUrl, '', 45, 90, true).'</td>'.'</tr>'.'</table>';
// Google Maps Connection
// Google Maps Connection.
$gmaps_types['G_PHYSICAL_MAP'] = __('Google Physical');
$gmaps_types['G_HYBRID_MAP'] = __('Google Hybrid');
$gmaps_types['G_SATELITE_MAP'] = __('Google Satelite');
// TODO: Use label tags for the forms.
$optionsConnectionGmapTable = '<table class="databox" border="0" cellpadding="4" cellspacing="4" width="90%">'.'<tr class="row_0">'.'<td>'.__('Google Map Type').':</td>'.'<td><input id="type" type="hidden" name="type" value="Gmap" />'.trim(html_print_select($gmaps_types, 'gmap_type', $gmap_type, '', '', 0, true)).'</td>'.'</tr>'.'<tr class="row_2">'.'<td>'.__('Google Maps Key').':</td>'.'</tr>'.'<tr class="row_3">'.'<td colspan="2">'.html_print_input_text('gmap_key', $gmap_key, '', 90, 128, true).'</td>'.'</tr>'.'</table>';
// Image Map Connection
// Image Map Connection.
$optionsConnectionImageTable = '<table class="databox" border="0" cellpadding="4" cellspacing="4" width="50%">'.'<tr class="row_0">'.'<td>'.__('Image URL').':</td>'.'<td colspan="3"><input id="type" type="hidden" name="type" value="Static_Image" />'.html_print_input_text('url', $mapConnectionDataUrl, '', 45, 90, true).'</td>'.'</tr>'.'<tr class="row_1">'.'<td colspan="4"><strong>'.__('Corners of the area of the image').':</strong></td>'.'</tr>'.'<tr class="row_2">'.'<td>'.__('Left').':</td>'.'<td>'.html_print_input_text('bb_left', $bb_left, '', 25, 25, true).'</td>'.'<td>'.__('Bottom').':</td>'.'<td>'.html_print_input_text('bb_bottom', $bb_bottom, '', 25, 25, true).'</td>'.'</tr>'.'<tr class="row_3">'.'<td>'.__('Right').':</td>'.'<td>'.html_print_input_text('bb_right', $bb_right, '', 25, 25, true).'</td>'.'<td>'.__('Top').':</td>'.'<td>'.html_print_input_text('bb_top', $bb_top, '', 25, 25, true).'</td>'.'</tr>'.'<tr class="row_4">'.'<td colspan="4"><strong>'.__('Image Size').':</strong></td>'.'</tr>'.'<tr class="row_5">'.'<td>'.__('Width').':</td>'.'<td>'.html_print_input_text('image_width', $image_width, '', 25, 25, true).'</td>'.'<td>'.__('Height').':</td>'.'<td>'.html_print_input_text('image_height', $image_height, '', 25, 25, true).'</td>'.'</tr>'.'</table>';
// WMS Server Connection
// WMS Server Connection.
$optionsConnectionWMSTable = '<table class="databox" border="0" cellpadding="4" cellspacing="4" width="50%">'.'<tr class="row_0">'.'<td>'.__('WMS Server URL').'</td>'.'<td>'.'<input id="type" type="hidden" name="type" value="WMS" />'.html_print_input_text('url', $mapConnectionDataUrl, '', 90, 255, true).'</td>'.'</tr>'.'<tr class="row_1">'.'<td>'.__('Layers').ui_print_help_tip(__('Enter a single element or a comma separated list'), true).'</td>'.'<td>'.html_print_input_text('layers', $layers, '', 90, 255, true).'</td>'.'</tr>'.'</table>';
if ($mapConnectionData != null) {
@ -274,6 +297,10 @@ if ($mapConnectionData != null) {
case 'WMS':
$optionsConnectionTypeTable = $optionsConnectionWMSTable;
break;
default:
// Default.
break;
}
}

View File

@ -1,15 +1,32 @@
<?php
// Pandora FMS- http://pandorafms.com
// ==================================================
// Copyright (c) 2005-2011 Artica Soluciones Tecnologicas
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation for version 2.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// Load global vars
/**
* License form.
*
* @category Form
* @package Pandora FMS
* @subpackage Enterprise
* @version 1.0.0
* @license See below
*
* ______ ___ _______ _______ ________
* | __ \.-----.--.--.--| |.-----.----.-----. | ___| | | __|
* | __/| _ | | _ || _ | _| _ | | ___| |__ |
* |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
*
* ============================================================================
* Copyright (c) 2005-2019 Artica Soluciones Tecnologicas
* Please see http://pandorafms.org for full contribution list
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation for version 2.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* ============================================================================
*/
// File begin.
global $config;
check_login();
@ -22,22 +39,38 @@ if (! check_acl($config['id_user'], 0, 'PM')) {
$update_settings = (bool) get_parameter_post('update_settings');
ui_print_page_header(__('License management'), 'images/extensions.png', false, '', true);
if (is_metaconsole()) {
// Metaconsole.
ui_require_javascript_file_enterprise('load_enterprise', true);
enterprise_include_once('include/functions_license.php');
} else {
ui_print_page_header(
__('License management'),
'images/extensions.png',
false,
'',
true
);
if ($update_settings) {
foreach ($_POST['keys'] as $key => $value) {
db_process_sql_update(
'tupdate_settings',
[db_escape_key_identifier('value') => $value],
[db_escape_key_identifier('key') => $key]
);
}
ui_print_success_message(__('License updated'));
ui_require_javascript_file_enterprise('load_enterprise');
enterprise_include_once('include/functions_license.php');
}
if ($update_settings) {
if (!is_metaconsole()) {
// Node.
foreach ($_POST['keys'] as $key => $value) {
db_process_sql_update(
'tupdate_settings',
[db_escape_key_identifier('value') => $value],
[db_escape_key_identifier('key') => $key]
);
}
ui_print_success_message(__('License updated'));
}
}
ui_require_javascript_file_enterprise('load_enterprise');
enterprise_include_once('include/functions_license.php');
$license = enterprise_hook('license_get_info');
$rows = db_get_all_rows_in_table('tupdate_settings');
@ -55,11 +88,20 @@ if (enterprise_installed()) {
echo '</script>';
echo '<form method="post">';
// Retrieve UM url configured (or default).
$url = get_um_url();
$table = new stdClass();
$table->width = '100%';
$table->class = 'databox filters';
if (is_metaconsole()) {
$table->head[0] = __('Licence');
$table->head_colspan[0] = 3;
$table->headstyle[0] = 'text-align: center';
$table->style[0] = 'font-weight: bold;';
}
$table->data = [];
$table->data[0][0] = '<strong>'.__('Customer key').'</strong>';
@ -98,34 +140,45 @@ if (enterprise_installed()) {
html_print_input_hidden('update_settings', 1);
html_print_submit_button(__('Validate'), 'update_button', false, 'class="sub upd"');
echo '&nbsp;&nbsp;';
html_print_button(__('Request new license'), '', false, 'generate_request_code()', 'class="ui-button-dialog ui-widget ui-state-default ui-corner-all ui-button-text-only sub next"');
html_print_button(__('Request new license'), '', false, 'generate_request_code()', 'class="sub next"');
echo '</div>';
}
echo '</form>';
echo '<div id="code_license_dialog" style="display: none; text-align: left;" title="'.__('Request new license').'">';
echo '<div id="logo">';
html_print_image(ui_get_custom_header_logo(true));
echo '</div>';
echo ''.__('To get your <b>%s Enterprise License</b>:', get_product_name()).'<br />';
echo '<ul>';
echo '<li>';
echo ''.sprintf(__('Go to %s'), '<a target="_blank" href="https://licensing.artica.es/pandoraupdate7/index.php?section=generate_key_client">https://licensing.artica.es/pandoraupdate7/index.php?section=generate_key_client</a>');
echo '</li>';
echo '<li>';
echo ''.__('Enter the <b>auth key</b> and the following <b>request key</b>:');
echo '</li>';
echo '</ul>';
echo '<div id="code"></div>';
echo '<ul>';
echo '<li>';
echo ''.__('Enter your name (or a company name) and a contact email address.');
echo '</li>';
echo '<li>';
echo ''.__('Click on <b>Generate</b>.');
echo '</li>';
echo '<li>';
echo ''.__('Click <a href="javascript: close_code_license_dialog();">here</a>, enter the generated license key and click on <b>Validate</b>.');
echo '</li>';
echo '</ul>';
echo '</div>';
if (is_metaconsole()) {
ui_require_css_file('pandora_enterprise', '../../'.ENTERPRISE_DIR.'/include/styles/');
ui_require_css_file('register', '../../include/styles/');
} else {
ui_require_css_file('pandora');
ui_require_css_file('pandora_enterprise', ENTERPRISE_DIR.'/include/styles/');
ui_require_css_file('register');
}
if (enterprise_hook('print_activate_licence_dialog') == ENTERPRISE_NOT_HOOK) {
echo '</form>';
echo '<div id="code_license_dialog" style="display: none; text-align: left;" title="'.__('Request new license').'">';
echo '<div id="logo">';
html_print_image(ui_get_custom_header_logo(true));
echo '</div>';
echo ''.__('To get your <b>%s Enterprise License</b>:', get_product_name()).'<br />';
echo '<ul>';
echo '<li>';
echo ''.sprintf(__('Go to %s'), '<a target="_blank" href="'.$url.'/index.php?section=generate_key_client">'.$url.'index.php?section=generate_key_client</a>');
echo '</li>';
echo '<li>';
echo ''.__('Enter the <b>auth key</b> and the following <b>request key</b>:');
echo '</li>';
echo '</ul>';
echo '<div id="code"></div>';
echo '<ul>';
echo '<li>';
echo ''.__('Enter your name (or a company name) and a contact email address.');
echo '</li>';
echo '<li>';
echo ''.__('Click on <b>Generate</b>.');
echo '</li>';
echo '<li>';
echo ''.__('Click <a href="javascript: close_code_license_dialog();">here</a>, enter the generated license key and click on <b>Validate</b>.');
echo '</li>';
echo '</ul>';
echo '</div>';
}

View File

@ -628,7 +628,7 @@ $table_other->data[6][1] = html_print_input_text(
true
);
$table_other->data[7][0] = __('Use agent access graph').ui_print_help_icon('agent_access', true);
$table_other->data[7][0] = __('Use agent access graph');
$table_other->data[7][1] = html_print_checkbox_switch('agentaccess', 1, $config['agentaccess'], true);
$table_other->data[8][0] = __('Max. recommended number of files in attachment directory');
@ -707,24 +707,24 @@ $table_other->data[13][1] = html_print_input_text(
echo '<form id="form_setup" method="post">';
echo '<fieldset>';
echo '<legend>'.__('Database maintenance status').'</legend>';
echo '<legend>'.__('Database maintenance status').' '.ui_print_help_icon('database_maintenance_status_tab', true).'</legend>';
html_print_table($table_status);
echo '</fieldset>';
echo '<fieldset>';
echo '<legend>'.__('Database maintenance options').'</legend>';
echo '<legend>'.__('Database maintenance options').' '.ui_print_help_icon('database_maintenance_options_tab', true).'</legend>';
html_print_table($table);
echo '</fieldset>';
if ($config['history_db_enabled'] == 1) {
echo '<fieldset>';
echo '<legend>'.__('Historical database maintenance options').'</legend>';
echo '<legend>'.__('Historical database maintenance options').' '.ui_print_help_icon('historical_database_maintenance_options_tab', true).'</legend>';
html_print_table($table_historical);
echo '</fieldset>';
}
echo '<fieldset>';
echo '<legend>'.__('Others').'</legend>';
echo '<legend>'.__('Others').' '.ui_print_help_icon('others_database_maintenance_options_tab', true).'</legend>';
html_print_table($table_other);
echo '</fieldset>';

View File

@ -135,9 +135,9 @@ if (enterprise_installed()) {
switch ($section) {
case 'general':
default:
$buttons['general']['active'] = true;
$subpage = ' &raquo '.__('General');
$help_header = 'setup_general_tab';
break;
case 'auth':
@ -148,7 +148,7 @@ switch ($section) {
case 'perf':
$buttons['perf']['active'] = true;
$subpage = ' &raquo '.__('Performance');
$help_header = 'performance';
$help_header = '';
break;
case 'vis':
@ -164,16 +164,34 @@ switch ($section) {
case 'ehorus':
$buttons['ehorus']['active'] = true;
$subpage = ' &raquo '.__('eHorus');
$help_header = 'setup_ehorus_tab';
break;
case 'notifications':
$buttons['notifications']['active'] = true;
$subpage = ' &raquo '.__('Notifications');
break;
case 'enterprise':
$buttons['enterprise']['active'] = true;
$subpage = ' &raquo '.__('Enterprise');
$help_header = 'setup_enterprise_tab';
break;
default:
// Default.
break;
}
// Header.
ui_print_page_header(__('Configuration').$subpage, '', false, $help_header, true, $buttons);
ui_print_page_header(
__('Configuration').$subpage,
'',
false,
$help_header,
true,
$buttons
);
if (isset($config['error_config_update_config'])) {
if ($config['error_config_update_config']['correct'] == false) {

Some files were not shown because too many files have changed in this diff Show More