Merge remote-tracking branch 'origin/develop' into ent-4755-base-de-datos-historico-revision
Conflicts: pandora_console/include/functions_ui.php pandora_console/include/styles/pandora.css
This commit is contained in:
commit
d96590aea5
|
@ -1,5 +1,5 @@
|
||||||
package: pandorafms-agent-unix
|
package: pandorafms-agent-unix
|
||||||
Version: 7.0NG.752-210222
|
Version: 7.0NG.752-210302
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Section: admin
|
Section: admin
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
pandora_version="7.0NG.752-210222"
|
pandora_version="7.0NG.752-210302"
|
||||||
|
|
||||||
echo "Test if you has the tools for to make the packages."
|
echo "Test if you has the tools for to make the packages."
|
||||||
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null
|
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null
|
||||||
|
|
|
@ -1016,7 +1016,7 @@ my $Sem = undef;
|
||||||
my $ThreadSem = undef;
|
my $ThreadSem = undef;
|
||||||
|
|
||||||
use constant AGENT_VERSION => '7.0NG.752';
|
use constant AGENT_VERSION => '7.0NG.752';
|
||||||
use constant AGENT_BUILD => '210222';
|
use constant AGENT_BUILD => '210302';
|
||||||
|
|
||||||
# Agent log default file size maximum and instances
|
# Agent log default file size maximum and instances
|
||||||
use constant DEFAULT_MAX_LOG_SIZE => 600000;
|
use constant DEFAULT_MAX_LOG_SIZE => 600000;
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
%define name pandorafms_agent_unix
|
%define name pandorafms_agent_unix
|
||||||
%define version 7.0NG.752
|
%define version 7.0NG.752
|
||||||
%define release 210222
|
%define release 210302
|
||||||
|
|
||||||
Summary: Pandora FMS Linux agent, PERL version
|
Summary: Pandora FMS Linux agent, PERL version
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
%define name pandorafms_agent_unix
|
%define name pandorafms_agent_unix
|
||||||
%define version 7.0NG.752
|
%define version 7.0NG.752
|
||||||
%define release 210222
|
%define release 210302
|
||||||
|
|
||||||
Summary: Pandora FMS Linux agent, PERL version
|
Summary: Pandora FMS Linux agent, PERL version
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
# **********************************************************************
|
# **********************************************************************
|
||||||
|
|
||||||
PI_VERSION="7.0NG.752"
|
PI_VERSION="7.0NG.752"
|
||||||
PI_BUILD="210222"
|
PI_BUILD="210302"
|
||||||
OS_NAME=`uname -s`
|
OS_NAME=`uname -s`
|
||||||
|
|
||||||
FORCE=0
|
FORCE=0
|
||||||
|
|
|
@ -186,7 +186,7 @@ UpgradeApplicationID
|
||||||
{}
|
{}
|
||||||
|
|
||||||
Version
|
Version
|
||||||
{210222}
|
{210302}
|
||||||
|
|
||||||
ViewReadme
|
ViewReadme
|
||||||
{Yes}
|
{Yes}
|
||||||
|
|
|
@ -30,7 +30,7 @@ using namespace Pandora;
|
||||||
using namespace Pandora_Strutils;
|
using namespace Pandora_Strutils;
|
||||||
|
|
||||||
#define PATH_SIZE _MAX_PATH+1
|
#define PATH_SIZE _MAX_PATH+1
|
||||||
#define PANDORA_VERSION ("7.0NG.752(Build 210222)")
|
#define PANDORA_VERSION ("7.0NG.752(Build 210302)")
|
||||||
|
|
||||||
string pandora_path;
|
string pandora_path;
|
||||||
string pandora_dir;
|
string pandora_dir;
|
||||||
|
|
|
@ -11,7 +11,7 @@ BEGIN
|
||||||
VALUE "LegalCopyright", "Artica ST"
|
VALUE "LegalCopyright", "Artica ST"
|
||||||
VALUE "OriginalFilename", "PandoraAgent.exe"
|
VALUE "OriginalFilename", "PandoraAgent.exe"
|
||||||
VALUE "ProductName", "Pandora FMS Windows Agent"
|
VALUE "ProductName", "Pandora FMS Windows Agent"
|
||||||
VALUE "ProductVersion", "(7.0NG.752(Build 210222))"
|
VALUE "ProductVersion", "(7.0NG.752(Build 210302))"
|
||||||
VALUE "FileVersion", "1.0.0.0"
|
VALUE "FileVersion", "1.0.0.0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
package: pandorafms-console
|
package: pandorafms-console
|
||||||
Version: 7.0NG.752-210222
|
Version: 7.0NG.752-210302
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Section: admin
|
Section: admin
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
pandora_version="7.0NG.752-210222"
|
pandora_version="7.0NG.752-210302"
|
||||||
|
|
||||||
package_pear=0
|
package_pear=0
|
||||||
package_pandora=1
|
package_pandora=1
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
START TRANSACTION;
|
||||||
|
|
||||||
|
ALTER TABLE `tinventory_alert` ADD COLUMN `alert_groups` TEXT NOT NULL;
|
||||||
|
UPDATE `tinventory_alert` t1 INNER JOIN `tinventory_alert` t2 ON t1.id = t2.id SET t1.alert_groups = t2.id_group;
|
||||||
|
|
||||||
|
ALTER TABLE `tnotification_source` ADD COLUMN `subtype_blacklist` TEXT;
|
||||||
|
|
||||||
|
COMMIT;
|
|
@ -363,6 +363,7 @@ CREATE TABLE IF NOT EXISTS `tinventory_alert`(
|
||||||
`last_fired` text NOT NULL default '',
|
`last_fired` text NOT NULL default '',
|
||||||
`disable_event` tinyint(1) UNSIGNED default 0,
|
`disable_event` tinyint(1) UNSIGNED default 0,
|
||||||
`enabled` tinyint(1) UNSIGNED default 1,
|
`enabled` tinyint(1) UNSIGNED default 1,
|
||||||
|
`alert_groups` text NOT NULL default '',
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
FOREIGN KEY (`id_module_inventory`) REFERENCES tmodule_inventory(`id_module_inventory`)
|
FOREIGN KEY (`id_module_inventory`) REFERENCES tmodule_inventory(`id_module_inventory`)
|
||||||
ON DELETE CASCADE ON UPDATE CASCADE
|
ON DELETE CASCADE ON UPDATE CASCADE
|
||||||
|
@ -2392,6 +2393,7 @@ CREATE TABLE `tnotification_source` (
|
||||||
`enabled` int(1) DEFAULT NULL,
|
`enabled` int(1) DEFAULT NULL,
|
||||||
`user_editable` int(1) DEFAULT NULL,
|
`user_editable` int(1) DEFAULT NULL,
|
||||||
`also_mail` int(1) DEFAULT NULL,
|
`also_mail` int(1) DEFAULT NULL,
|
||||||
|
`subtype_blacklist` TEXT,
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
|
|
|
@ -1404,6 +1404,10 @@ if ($update_module || $create_module) {
|
||||||
$each_ff = (int) get_parameter('each_ff', $module['each_ff']);
|
$each_ff = (int) get_parameter('each_ff', $module['each_ff']);
|
||||||
$ff_timeout = (int) get_parameter('ff_timeout');
|
$ff_timeout = (int) get_parameter('ff_timeout');
|
||||||
$unit = (string) get_parameter('unit');
|
$unit = (string) get_parameter('unit');
|
||||||
|
if ($unit === '0') {
|
||||||
|
$unit = '';
|
||||||
|
}
|
||||||
|
|
||||||
$id_tag = (array) get_parameter('id_tag_selected');
|
$id_tag = (array) get_parameter('id_tag_selected');
|
||||||
$serialize_ops = (string) get_parameter('serialize_ops');
|
$serialize_ops = (string) get_parameter('serialize_ops');
|
||||||
$critical_instructions = (string) get_parameter('critical_instructions');
|
$critical_instructions = (string) get_parameter('critical_instructions');
|
||||||
|
@ -1570,24 +1574,43 @@ if ($update_module) {
|
||||||
'module_macros' => $module_macros,
|
'module_macros' => $module_macros,
|
||||||
];
|
];
|
||||||
|
|
||||||
if ($id_module_type == 30 || $id_module_type == 31 || $id_module_type == 32 || $id_module_type == 33) {
|
if (preg_match('/http_auth_user/m', $values['plugin_parameter'])) {
|
||||||
$plugin_parameter_split = explode('
', $values['plugin_parameter']);
|
$http_user_conf = true;
|
||||||
|
}
|
||||||
|
|
||||||
$values['plugin_parameter'] = '';
|
if (preg_match('/http_auth_pass/m', $values['plugin_parameter'])) {
|
||||||
|
$http_pass_conf = true;
|
||||||
|
}
|
||||||
|
|
||||||
foreach ($plugin_parameter_split as $key => $value) {
|
|
||||||
if ($key == 1) {
|
if (!$http_user_conf || !$http_pass_conf) {
|
||||||
if ($http_user) {
|
if ($id_module_type == 30 || $id_module_type == 31 || $id_module_type == 32 || $id_module_type == 33) {
|
||||||
$values['plugin_parameter'] .= 'http_auth_user '.$http_user.'
';
|
$plugin_parameter_split = explode('
', $values['plugin_parameter']);
|
||||||
|
|
||||||
|
$values['plugin_parameter'] = '';
|
||||||
|
|
||||||
|
foreach ($plugin_parameter_split as $key => $value) {
|
||||||
|
if ($key == 1) {
|
||||||
|
if ($http_user) {
|
||||||
|
if ($http_user_conf) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$values['plugin_parameter'] .= 'http_auth_user '.$http_user.'
';
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($http_pass) {
|
||||||
|
if ($http_user_pass) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$values['plugin_parameter'] .= 'http_auth_pass '.$http_pass.'
';
|
||||||
|
}
|
||||||
|
|
||||||
|
$values['plugin_parameter'] .= $value.'
';
|
||||||
|
} else {
|
||||||
|
$values['plugin_parameter'] .= $value.'
';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($http_pass) {
|
|
||||||
$values['plugin_parameter'] .= 'http_auth_pass '.$http_pass.'
';
|
|
||||||
}
|
|
||||||
|
|
||||||
$values['plugin_parameter'] .= $value.'
';
|
|
||||||
} else {
|
|
||||||
$values['plugin_parameter'] .= $value.'
';
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -567,12 +567,12 @@ if ($agents !== false) {
|
||||||
$url = ui_get_full_url(
|
$url = ui_get_full_url(
|
||||||
$url.'&op=update&id='.$cluster->id()
|
$url.'&op=update&id='.$cluster->id()
|
||||||
);
|
);
|
||||||
echo '<a href="'.$url.'">'.$agent['alias'].'</a>';
|
echo '<a href="'.$url.'">'.ui_print_truncate_text($agent['alias'], 'agent_medium').'</a>';
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
echo '<a alt ='.$agent['nombre']." href='index.php?sec=gagente&
|
echo '<a alt ='.$agent['nombre']." href='index.php?sec=gagente&
|
||||||
sec2=godmode/agentes/configurar_agente&tab=$main_tab&
|
sec2=godmode/agentes/configurar_agente&tab=$main_tab&
|
||||||
id_agente=".$agent['id_agente']."'>".'<span class="'.$custom_font_size.' title ="'.$agent['nombre'].'">'.$agent['alias'].'</span>'.'</a>';
|
id_agente=".$agent['id_agente']."'>".'<span class="'.$custom_font_size.' title ="'.$agent['nombre'].'">'.ui_print_truncate_text($agent['alias'], 'agent_medium').'</span>'.'</a>';
|
||||||
}
|
}
|
||||||
|
|
||||||
echo '</strong>';
|
echo '</strong>';
|
||||||
|
|
|
@ -548,17 +548,17 @@ $table_advanced->data[0][4] = html_print_input_text(
|
||||||
$classdisabledBecauseInPolicy
|
$classdisabledBecauseInPolicy
|
||||||
);
|
);
|
||||||
// $table_advanced->colspan[1][4] = 3;
|
// $table_advanced->colspan[1][4] = 3;
|
||||||
// $table_advanced->data[0][4] = html_print_extended_select_for_unit(
|
$table_advanced->data[0][4] = html_print_extended_select_for_unit(
|
||||||
// 'unit',
|
'unit',
|
||||||
// $unit,
|
$unit,
|
||||||
// '',
|
'',
|
||||||
// '',
|
'none',
|
||||||
// '0',
|
'0',
|
||||||
// false,
|
false,
|
||||||
// true,
|
true,
|
||||||
// false,
|
false,
|
||||||
// false
|
false
|
||||||
// );
|
);
|
||||||
$table_advanced->colspan[0][4] = 3;
|
$table_advanced->colspan[0][4] = 3;
|
||||||
|
|
||||||
$module_id_policy_module = 0;
|
$module_id_policy_module = 0;
|
||||||
|
|
|
@ -70,7 +70,6 @@ ui_print_page_header(
|
||||||
// Recursion group filter.
|
// Recursion group filter.
|
||||||
$recursion = get_parameter('recursion', $_POST['recursion']);
|
$recursion = get_parameter('recursion', $_POST['recursion']);
|
||||||
|
|
||||||
|
|
||||||
// Initialize data.
|
// Initialize data.
|
||||||
$id_group = (int) get_parameter('id_group');
|
$id_group = (int) get_parameter('id_group');
|
||||||
$name = (string) get_parameter('name');
|
$name = (string) get_parameter('name');
|
||||||
|
@ -180,7 +179,12 @@ if ($insert_downtime_agent === 1) {
|
||||||
$agents = (array) get_parameter('id_agents');
|
$agents = (array) get_parameter('id_agents');
|
||||||
$module_names = (array) get_parameter('module');
|
$module_names = (array) get_parameter('module');
|
||||||
|
|
||||||
$all_modules = (empty($module_names) || ($module_names[0] === '0'));
|
$all_modules = ($modules_selection_mode === 'all' && (empty($module_names) || (int) $modules[0] === 0));
|
||||||
|
$all_common_modules = ($modules_selection_mode === 'common' && (empty($module_names) || (int) $modules[0] === 0));
|
||||||
|
|
||||||
|
if ($all_common_modules === true) {
|
||||||
|
$module_names = explode(',', get_parameter('all_common_modules'));
|
||||||
|
}
|
||||||
|
|
||||||
// 'Is running' check.
|
// 'Is running' check.
|
||||||
$is_running = (bool) db_get_value(
|
$is_running = (bool) db_get_value(
|
||||||
|
@ -194,9 +198,15 @@ if ($insert_downtime_agent === 1) {
|
||||||
__('This elements cannot be modified while the downtime is being executed')
|
__('This elements cannot be modified while the downtime is being executed')
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
|
// If is selected 'Any', get all the agents.
|
||||||
|
if (count($agents) === 1 && (int) $agents[0] === -2) {
|
||||||
|
$all_agents = get_parameter('all_agents');
|
||||||
|
$agents = explode(',', $all_agents);
|
||||||
|
}
|
||||||
|
|
||||||
foreach ($agents as $agent_id) {
|
foreach ($agents as $agent_id) {
|
||||||
// Check module belongs to the agent.
|
// Check module belongs to the agent.
|
||||||
if ($modules_selection_mode == 'all') {
|
if ($modules_selection_mode == 'all' && $all_modules === false) {
|
||||||
$check = false;
|
$check = false;
|
||||||
foreach ($module_names as $module_name) {
|
foreach ($module_names as $module_name) {
|
||||||
$check_module = modules_get_agentmodule_id(
|
$check_module = modules_get_agentmodule_id(
|
||||||
|
@ -918,33 +928,7 @@ if ($id_downtime > 0) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$sql = sprintf(
|
$agents = get_planned_downtime_agents_list($id_downtime, $filter_cond, $id_groups_str);
|
||||||
'SELECT tagente.id_agente, tagente.alias
|
|
||||||
FROM tagente
|
|
||||||
WHERE tagente.id_agente NOT IN (
|
|
||||||
SELECT tagente.id_agente
|
|
||||||
FROM tagente, tplanned_downtime_agents
|
|
||||||
WHERE tplanned_downtime_agents.id_agent = tagente.id_agente
|
|
||||||
AND tplanned_downtime_agents.id_downtime = %d
|
|
||||||
) AND disabled = 0 %s
|
|
||||||
AND tagente.id_grupo IN (%s)
|
|
||||||
ORDER BY tagente.nombre',
|
|
||||||
$id_downtime,
|
|
||||||
$filter_cond,
|
|
||||||
$id_groups_str
|
|
||||||
);
|
|
||||||
$agents = db_get_all_rows_sql($sql);
|
|
||||||
if (empty($agents)) {
|
|
||||||
$agents = [];
|
|
||||||
}
|
|
||||||
|
|
||||||
$agent_ids = extract_column($agents, 'id_agente');
|
|
||||||
$agent_names = extract_column($agents, 'alias');
|
|
||||||
|
|
||||||
$agents = array_combine($agent_ids, $agent_names);
|
|
||||||
if ($agents === false) {
|
|
||||||
$agents = [];
|
|
||||||
}
|
|
||||||
|
|
||||||
$disabled_add_button = false;
|
$disabled_add_button = false;
|
||||||
if (empty($agents) || $disabled_in_execution) {
|
if (empty($agents) || $disabled_in_execution) {
|
||||||
|
@ -962,7 +946,7 @@ if ($id_downtime > 0) {
|
||||||
// Show available agents to include into downtime
|
// Show available agents to include into downtime
|
||||||
echo '<h4>'.__('Available agents').':</h4>';
|
echo '<h4>'.__('Available agents').':</h4>';
|
||||||
echo "<form method=post action='index.php?sec=extensions&sec2=godmode/agentes/planned_downtime.editor&insert_downtime_agent=1&id_downtime=$id_downtime'>";
|
echo "<form method=post action='index.php?sec=extensions&sec2=godmode/agentes/planned_downtime.editor&insert_downtime_agent=1&id_downtime=$id_downtime'>";
|
||||||
|
html_print_input_hidden('all_agents', implode(',', array_keys($agents)));
|
||||||
echo html_print_select($agents, 'id_agents[]', -1, '', _('Any'), -2, false, true, true, '', false, 'width: 180px;');
|
echo html_print_select($agents, 'id_agents[]', -1, '', _('Any'), -2, false, true, true, '', false, 'width: 180px;');
|
||||||
|
|
||||||
if ($type_downtime != 'quiet') {
|
if ($type_downtime != 'quiet') {
|
||||||
|
@ -971,6 +955,7 @@ if ($id_downtime > 0) {
|
||||||
echo '<div id="available_modules_selection_mode" style="padding-top:20px">';
|
echo '<div id="available_modules_selection_mode" style="padding-top:20px">';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
html_print_input_hidden('all_common_modules', '');
|
||||||
echo html_print_select(
|
echo html_print_select(
|
||||||
[
|
[
|
||||||
'common' => __('Show common modules'),
|
'common' => __('Show common modules'),
|
||||||
|
|
|
@ -123,11 +123,15 @@ $form_filter .= "</td style='font-weight: bold;'>";
|
||||||
$form_filter .= '</tr>';
|
$form_filter .= '</tr>';
|
||||||
|
|
||||||
$form_filter .= '<tr>';
|
$form_filter .= '<tr>';
|
||||||
$form_filter .= "<td style='font-weight: bold;'>".__('Enabled / Disabled').'</td><td>';
|
$form_filter .= "<td style='font-weight: bold;'>".__('Status').'</td><td>';
|
||||||
$ed_list = [];
|
$ed_list = [];
|
||||||
$ed_list[0] = __('Enabled');
|
$alert_status_filter = [];
|
||||||
$ed_list[1] = __('Disabled');
|
$alert_status_filter['all_enabled'] = __('All (Enabled)');
|
||||||
$form_filter .= html_print_select($ed_list, 'enabledisable', $enabledisable, '', __('All'), -1, true);
|
$alert_status_filter['all'] = __('All');
|
||||||
|
$alert_status_filter['fired'] = __('Fired');
|
||||||
|
$alert_status_filter['notfired'] = __('Not fired');
|
||||||
|
$alert_status_filter['disabled'] = __('Disabled');
|
||||||
|
$form_filter .= html_print_select($alert_status_filter, 'status_alert', $status_alert, '', '', '', true);
|
||||||
$form_filter .= "</td><td style='font-weight: bold;'>".__('Standby').'</td><td>';
|
$form_filter .= "</td><td style='font-weight: bold;'>".__('Standby').'</td><td>';
|
||||||
$sb_list = [];
|
$sb_list = [];
|
||||||
$sb_list[1] = __('Standby on');
|
$sb_list[1] = __('Standby on');
|
||||||
|
@ -144,6 +148,7 @@ if (!$own_info['is_admin'] && !check_acl($config['id_user'], 0, 'AR') && !check_
|
||||||
|
|
||||||
$form_filter .= html_print_select_groups(false, 'AR', $return_all_group, 'ag_group', $ag_group, '', '', 0, true, false, true, '', false);
|
$form_filter .= html_print_select_groups(false, 'AR', $return_all_group, 'ag_group', $ag_group, '', '', 0, true, false, true, '', false);
|
||||||
$form_filter .= '</td></tr>';
|
$form_filter .= '</td></tr>';
|
||||||
|
|
||||||
if (defined('METACONSOLE')) {
|
if (defined('METACONSOLE')) {
|
||||||
$form_filter .= '<tr>';
|
$form_filter .= '<tr>';
|
||||||
$form_filter .= "<td colspan='6' align='right'>";
|
$form_filter .= "<td colspan='6' align='right'>";
|
||||||
|
@ -174,8 +179,15 @@ $simple_alerts = [];
|
||||||
|
|
||||||
$total = 0;
|
$total = 0;
|
||||||
$where = '';
|
$where = '';
|
||||||
|
|
||||||
if ($searchFlag) {
|
if ($searchFlag) {
|
||||||
|
if ($status_alert === 'fired') {
|
||||||
|
$where .= ' AND talert_template_modules.times_fired > 0';
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($status_alert === 'notfired') {
|
||||||
|
$where .= ' AND talert_template_modules.times_fired = 0';
|
||||||
|
}
|
||||||
|
|
||||||
if ($priority != -1 && $priority != '') {
|
if ($priority != -1 && $priority != '') {
|
||||||
$where .= ' AND id_alert_template IN (SELECT id FROM talert_templates WHERE priority = '.$priority.')';
|
$where .= ' AND id_alert_template IN (SELECT id FROM talert_templates WHERE priority = '.$priority.')';
|
||||||
}
|
}
|
||||||
|
@ -206,8 +218,12 @@ if ($searchFlag) {
|
||||||
$where .= ' AND talert_template_modules.id IN (SELECT id_alert_template_module FROM talert_template_module_actions WHERE id_alert_action = '.$actionID.') OR talert_template_modules.id IN (SELECT id FROM talert_template_modules ttm WHERE ttm.id_alert_template IN (SELECT tat.id FROM talert_templates tat WHERE tat.id_alert_action = '.$actionID.'))';
|
$where .= ' AND talert_template_modules.id IN (SELECT id_alert_template_module FROM talert_template_module_actions WHERE id_alert_action = '.$actionID.') OR talert_template_modules.id IN (SELECT id FROM talert_template_modules ttm WHERE ttm.id_alert_template IN (SELECT tat.id FROM talert_templates tat WHERE tat.id_alert_action = '.$actionID.'))';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($enabledisable != -1 && $enabledisable != '') {
|
if ($status_alert === 'disabled') {
|
||||||
$where .= ' AND talert_template_modules.disabled ='.$enabledisable;
|
$where .= ' AND talert_template_modules.disabled = 1';
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($status_alert === 'all_enabled') {
|
||||||
|
$where .= ' AND talert_template_modules.disabled = 0';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($standby != -1 && $standby != '') {
|
if ($standby != -1 && $standby != '') {
|
||||||
|
@ -385,7 +401,7 @@ switch ($sortField) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
$form_params = '&template_name='.$templateName.'&agent_name='.$agentName.'&module_name='.$moduleName.'&action_id='.$actionID.'&field_content='.$fieldContent.'&priority='.$priority.'&enabledisable='.$enabledisable.'&standby='.$standby.'&ag_group='.$ag_group;
|
$form_params = '&template_name='.$templateName.'&agent_name='.$agentName.'&module_name='.$moduleName.'&action_id='.$actionID.'&field_content='.$fieldContent.'&priority='.$priority.'&enabledisable='.$enabledisable.'&standby='.$standby.'&ag_group='.$ag_group.'&status_alert='.$status_alert;
|
||||||
$sort_params = '&sort_field='.$sortField.'&sort='.$sort;
|
$sort_params = '&sort_field='.$sortField.'&sort='.$sort;
|
||||||
|
|
||||||
if ($id_agente) {
|
if ($id_agente) {
|
||||||
|
|
|
@ -65,6 +65,7 @@ $searchType = get_parameter('search_type', '');
|
||||||
$priority = get_parameter('priority', '');
|
$priority = get_parameter('priority', '');
|
||||||
$searchFlag = get_parameter('search', 0);
|
$searchFlag = get_parameter('search', 0);
|
||||||
$enabledisable = get_parameter('enabledisable', '');
|
$enabledisable = get_parameter('enabledisable', '');
|
||||||
|
$status_alert = get_parameter('status_alert', '');
|
||||||
$standby = get_parameter('standby', '');
|
$standby = get_parameter('standby', '');
|
||||||
$pure = get_parameter('pure', 0);
|
$pure = get_parameter('pure', 0);
|
||||||
$ag_group = get_parameter('ag_group', 0);
|
$ag_group = get_parameter('ag_group', 0);
|
||||||
|
|
|
@ -469,7 +469,29 @@ if (users_can_manage_group_all('MM') === true) {
|
||||||
}
|
}
|
||||||
|
|
||||||
$table->data[2][0] = __('Group');
|
$table->data[2][0] = __('Group');
|
||||||
$table->data[2][1] = html_print_select_groups(false, 'IW', $return_all_group, 'map_group_id', $map_group_id, '', '', '', true);
|
$table->data[2][1] = html_print_select_groups(
|
||||||
|
false,
|
||||||
|
'IW',
|
||||||
|
$return_all_group,
|
||||||
|
'map_group_id',
|
||||||
|
$map_group_id,
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
true,
|
||||||
|
'',
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
'id_grupo',
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
'250px'
|
||||||
|
);
|
||||||
|
|
||||||
$table->data[3][0] = __('Default zoom');
|
$table->data[3][0] = __('Default zoom');
|
||||||
$table->data[3][1] = html_print_input_text('map_zoom_level', $map_zoom_level, '', 2, 4, true).html_print_input_hidden('map_levels_zoom', $map_levels_zoom, true);
|
$table->data[3][1] = html_print_input_text('map_zoom_level', $map_zoom_level, '', 2, 4, true).html_print_input_hidden('map_levels_zoom', $map_levels_zoom, true);
|
||||||
|
|
|
@ -64,19 +64,6 @@ if (defined('METACONSOLE')) {
|
||||||
$help_header = 'network_component_tab';
|
$help_header = 'network_component_tab';
|
||||||
}
|
}
|
||||||
|
|
||||||
ui_print_page_header(
|
|
||||||
__('Remote components'),
|
|
||||||
'',
|
|
||||||
false,
|
|
||||||
$help_header,
|
|
||||||
true,
|
|
||||||
'',
|
|
||||||
false,
|
|
||||||
'modulemodal',
|
|
||||||
GENERIC_SIZE_TEXT,
|
|
||||||
'',
|
|
||||||
__('Configuration').' / '.__('Templates').' / '.__('Remote components')
|
|
||||||
);
|
|
||||||
$sec = 'gmodules';
|
$sec = 'gmodules';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -48,7 +48,9 @@ if (enterprise_installed()) {
|
||||||
'basic' => __('Basic'),
|
'basic' => __('Basic'),
|
||||||
'advanced' => __('Advanced'),
|
'advanced' => __('Advanced'),
|
||||||
];
|
];
|
||||||
$table->data[0][3] = html_print_select($wizard_levels, 'wizard_level', $wizard_level, '', '', -1, true, false, false).' '.ui_print_help_icon('meta_access', true);
|
// TODO review help tips on meta.
|
||||||
|
$table->data[0][3] = html_print_select($wizard_levels, 'wizard_level', $wizard_level, '', '', -1, true, false, false).' ';
|
||||||
|
// .ui_print_help_icon('meta_access', true)
|
||||||
} else {
|
} else {
|
||||||
$table->data[0][2] = '';
|
$table->data[0][2] = '';
|
||||||
$table->data[0][3] = html_print_input_hidden('wizard_level', $wizard_level, true);
|
$table->data[0][3] = html_print_input_hidden('wizard_level', $wizard_level, true);
|
||||||
|
|
|
@ -212,7 +212,17 @@ $table->data[1][1] = html_print_select_groups(
|
||||||
-1,
|
-1,
|
||||||
true,
|
true,
|
||||||
false,
|
false,
|
||||||
false
|
false,
|
||||||
|
'',
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
'id_grupo',
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
'250px'
|
||||||
);
|
);
|
||||||
|
|
||||||
if ($advanced_filter != '') {
|
if ($advanced_filter != '') {
|
||||||
|
|
|
@ -235,7 +235,7 @@ if ($count_module_array > 0) {
|
||||||
echo '<table><tr>';
|
echo '<table><tr>';
|
||||||
|
|
||||||
echo "<form method='post' action='index.php?sec=reporting&sec2=godmode/reporting/graph_builder&edit_graph=1&tab=graph_editor&change_label=1&id=".$id_graph.'&graph='.$idgs_array[$a]."'>";
|
echo "<form method='post' action='index.php?sec=reporting&sec2=godmode/reporting/graph_builder&edit_graph=1&tab=graph_editor&change_label=1&id=".$id_graph.'&graph='.$idgs_array[$a]."'>";
|
||||||
html_print_input_text('label', $label_array[$a], '', 20, 30, false, false);
|
html_print_input_text('label', $label_array[$a], '', 30, 80, false, false);
|
||||||
html_print_submit_button('Ok', 'btn', false, '', false);
|
html_print_submit_button('Ok', 'btn', false, '', false);
|
||||||
echo '</form>';
|
echo '</form>';
|
||||||
|
|
||||||
|
|
|
@ -140,6 +140,8 @@ $visual_format = 0;
|
||||||
|
|
||||||
// Others.
|
// Others.
|
||||||
$filter_search = '';
|
$filter_search = '';
|
||||||
|
$filter_exclude = '';
|
||||||
|
|
||||||
|
|
||||||
// Added for select fields.
|
// Added for select fields.
|
||||||
$total_time = true;
|
$total_time = true;
|
||||||
|
@ -556,6 +558,8 @@ switch ($action) {
|
||||||
$include_extended_events = $item['show_extended_events'];
|
$include_extended_events = $item['show_extended_events'];
|
||||||
|
|
||||||
$filter_search = $style['event_filter_search'];
|
$filter_search = $style['event_filter_search'];
|
||||||
|
$filter_exclude = $style['event_filter_exclude'];
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'event_report_group':
|
case 'event_report_group':
|
||||||
|
@ -570,6 +574,7 @@ switch ($action) {
|
||||||
$event_graph_validated_vs_unvalidated = $style['event_graph_validated_vs_unvalidated'];
|
$event_graph_validated_vs_unvalidated = $style['event_graph_validated_vs_unvalidated'];
|
||||||
|
|
||||||
$filter_search = $style['event_filter_search'];
|
$filter_search = $style['event_filter_search'];
|
||||||
|
$filter_exclude = $style['event_filter_exclude'];
|
||||||
|
|
||||||
$filter_event_severity = json_decode($style['filter_event_severity'], true);
|
$filter_event_severity = json_decode($style['filter_event_severity'], true);
|
||||||
$filter_event_status = json_decode($style['filter_event_status'], true);
|
$filter_event_status = json_decode($style['filter_event_status'], true);
|
||||||
|
@ -607,6 +612,8 @@ switch ($action) {
|
||||||
$event_graph_validated_vs_unvalidated = $style['event_graph_validated_vs_unvalidated'];
|
$event_graph_validated_vs_unvalidated = $style['event_graph_validated_vs_unvalidated'];
|
||||||
|
|
||||||
$filter_search = $style['event_filter_search'];
|
$filter_search = $style['event_filter_search'];
|
||||||
|
$filter_exclude = $style['event_filter_exclude'];
|
||||||
|
|
||||||
|
|
||||||
$include_extended_events = $item['show_extended_events'];
|
$include_extended_events = $item['show_extended_events'];
|
||||||
break;
|
break;
|
||||||
|
@ -2744,10 +2751,20 @@ $class = 'databox filters';
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr id="row_filter_search" style="" class="datos">
|
<tr id="row_filter_search" style="" class="datos">
|
||||||
<td style="font-weight:bold;"><?php echo __('Free search'); ?></td>
|
<td style="font-weight:bold;"><?php echo __('Include filter'); ?></td>
|
||||||
<td>
|
<td>
|
||||||
<?php
|
<?php
|
||||||
html_print_input_text('filter_search', $filter_search);
|
html_print_input_text('filter_search', $filter_search);
|
||||||
|
ui_print_help_tip(__('Free text string search on event description'));
|
||||||
|
?>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr id="row_filter_exclude" style="" class="datos">
|
||||||
|
<td style="font-weight:bold;"><?php echo __('Exclude filter'); ?></td>
|
||||||
|
<td>
|
||||||
|
<?php
|
||||||
|
html_print_input_text('filter_exclude', $filter_exclude);
|
||||||
|
ui_print_help_tip(__('Free text string search on event description'));
|
||||||
?>
|
?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -5141,6 +5158,7 @@ function chooseType() {
|
||||||
$("#row_resolution").hide();
|
$("#row_resolution").hide();
|
||||||
$("#row_last_value").hide();
|
$("#row_last_value").hide();
|
||||||
$("#row_filter_search").hide();
|
$("#row_filter_search").hide();
|
||||||
|
$("#row_filter_exclude").hide();
|
||||||
$("#row_percentil").hide();
|
$("#row_percentil").hide();
|
||||||
$("#log_help_tip").css("visibility", "hidden");
|
$("#log_help_tip").css("visibility", "hidden");
|
||||||
$("#agents_row").hide();
|
$("#agents_row").hide();
|
||||||
|
@ -5191,6 +5209,8 @@ function chooseType() {
|
||||||
$("#row_extended_events").show();
|
$("#row_extended_events").show();
|
||||||
|
|
||||||
$("#row_filter_search").show();
|
$("#row_filter_search").show();
|
||||||
|
$("#row_filter_exclude").show();
|
||||||
|
|
||||||
|
|
||||||
$("#row_event_severity").show();
|
$("#row_event_severity").show();
|
||||||
$("#row_event_status").show();
|
$("#row_event_status").show();
|
||||||
|
@ -5403,11 +5423,9 @@ function chooseType() {
|
||||||
case 'sql':
|
case 'sql':
|
||||||
$("#row_description").show();
|
$("#row_description").show();
|
||||||
$("#row_query").show();
|
$("#row_query").show();
|
||||||
$("#row_max_items").show();
|
|
||||||
$("#row_header").show();
|
$("#row_header").show();
|
||||||
$("#row_custom").show();
|
$("#row_custom").show();
|
||||||
$("#row_custom_example").show();
|
$("#row_custom_example").show();
|
||||||
$("#row_dyn_height").show();
|
|
||||||
$("#row_servers").show();
|
$("#row_servers").show();
|
||||||
$("#row_historical_db_check").show();
|
$("#row_historical_db_check").show();
|
||||||
break;
|
break;
|
||||||
|
@ -5486,6 +5504,8 @@ function chooseType() {
|
||||||
$("#row_extended_events").show();
|
$("#row_extended_events").show();
|
||||||
|
|
||||||
$("#row_filter_search").show();
|
$("#row_filter_search").show();
|
||||||
|
$("#row_filter_exclude").show();
|
||||||
|
|
||||||
$("#row_historical_db_check").hide();
|
$("#row_historical_db_check").hide();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -5509,6 +5529,8 @@ function chooseType() {
|
||||||
$('#agent_autocomplete').hide();
|
$('#agent_autocomplete').hide();
|
||||||
$('#agent_autocomplete_events').show();
|
$('#agent_autocomplete_events').show();
|
||||||
$("#row_filter_search").show();
|
$("#row_filter_search").show();
|
||||||
|
$("#row_filter_exclude").show();
|
||||||
|
|
||||||
$("#row_historical_db_check").hide();
|
$("#row_historical_db_check").hide();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -5531,6 +5553,8 @@ function chooseType() {
|
||||||
$('#agent_autocomplete').hide();
|
$('#agent_autocomplete').hide();
|
||||||
$('#agent_autocomplete_events').show();
|
$('#agent_autocomplete_events').show();
|
||||||
$("#row_filter_search").show();
|
$("#row_filter_search").show();
|
||||||
|
$("#row_filter_exclude").show();
|
||||||
|
|
||||||
$("#row_historical_db_check").hide();
|
$("#row_historical_db_check").hide();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -515,18 +515,68 @@ foreach ($items as $item) {
|
||||||
|
|
||||||
$style = json_decode(io_safe_output($item['style']), true);
|
$style = json_decode(io_safe_output($item['style']), true);
|
||||||
|
|
||||||
|
|
||||||
|
// Macros
|
||||||
|
$items_macro = [];
|
||||||
|
|
||||||
|
if (!empty($item['id_agent'])) {
|
||||||
|
$id_agent = $item['id_agent'];
|
||||||
|
// Add macros name.
|
||||||
|
$agent_description = agents_get_description($id_agent);
|
||||||
|
$agent_group = agents_get_agent_group($id_agent);
|
||||||
|
$agent_address = agents_get_address($id_agent);
|
||||||
|
$agent_alias = agents_get_alias($id_agent);
|
||||||
|
|
||||||
|
$items_macro_agent = [
|
||||||
|
'id_agent' => $id_agent,
|
||||||
|
'agent_description' => $agent_description,
|
||||||
|
'agent_group' => $agent_group,
|
||||||
|
'agent_address' => $agent_address,
|
||||||
|
'agent_alias' => $agent_alias,
|
||||||
|
];
|
||||||
|
|
||||||
|
$items_macro = array_merge($items_macro, $items_macro_agent);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($item['id_agent_module'])) {
|
||||||
|
$id_agent_module = $item['id_agent_module'];
|
||||||
|
$module_name = modules_get_agentmodule_name(
|
||||||
|
$id_agent_module
|
||||||
|
);
|
||||||
|
$module_description = modules_get_agentmodule_descripcion(
|
||||||
|
$id_agent_module
|
||||||
|
);
|
||||||
|
|
||||||
|
$items_macro_module = [
|
||||||
|
'id_agent_module' => $id_agent_module,
|
||||||
|
'module_name' => $module_name,
|
||||||
|
'module_description' => $module_description,
|
||||||
|
];
|
||||||
|
|
||||||
|
$items_macro = array_merge($items_macro, $items_macro_module);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if ($style['name_label'] != '') {
|
if ($style['name_label'] != '') {
|
||||||
$text = empty($style['name_label']) ? $item['description'] : $style['name_label'];
|
$text = empty($style['name_label']) ? $item['description'] : $style['name_label'];
|
||||||
$row[5] = ui_print_truncate_text($text, 'description', true, true);
|
|
||||||
} else {
|
} else {
|
||||||
if ($item['name'] == '' && $item['description'] == '') {
|
if ($item['name'] == '' && $item['description'] == '') {
|
||||||
$row[5] = '-';
|
$text = '-';
|
||||||
} else {
|
} else {
|
||||||
$text = empty($item['name']) ? $item['description'] : $item['name'];
|
$text = empty($item['name']) ? $item['description'] : $item['name'];
|
||||||
$row[5] = ui_print_truncate_text($text, 'description', true, true);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Apply macros
|
||||||
|
$items_macro['type'] = $item['type'];
|
||||||
|
$text = reporting_label_macro(
|
||||||
|
$items_macro,
|
||||||
|
$text
|
||||||
|
);
|
||||||
|
$row[5] = ui_print_truncate_text($text, 'description', true, true);
|
||||||
|
|
||||||
|
|
||||||
$row[6] = '';
|
$row[6] = '';
|
||||||
|
|
||||||
if (check_acl($config['id_user'], $item['id_group'], 'RM')) {
|
if (check_acl($config['id_user'], $item['id_group'], 'RM')) {
|
||||||
|
|
|
@ -1881,6 +1881,11 @@ switch ($action) {
|
||||||
''
|
''
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$event_filter_exclude = get_parameter(
|
||||||
|
'filter_exclude',
|
||||||
|
''
|
||||||
|
);
|
||||||
|
|
||||||
// If metaconsole is activated.
|
// If metaconsole is activated.
|
||||||
if (is_metaconsole() === true) {
|
if (is_metaconsole() === true) {
|
||||||
if (($values['type'] == 'custom_graph')
|
if (($values['type'] == 'custom_graph')
|
||||||
|
@ -2018,6 +2023,8 @@ switch ($action) {
|
||||||
$style['event_graph_by_criticity'] = $event_graph_by_criticity;
|
$style['event_graph_by_criticity'] = $event_graph_by_criticity;
|
||||||
$style['event_graph_validated_vs_unvalidated'] = $event_graph_validated_vs_unvalidated;
|
$style['event_graph_validated_vs_unvalidated'] = $event_graph_validated_vs_unvalidated;
|
||||||
$style['event_filter_search'] = $event_filter_search;
|
$style['event_filter_search'] = $event_filter_search;
|
||||||
|
$style['event_filter_exclude'] = $event_filter_exclude;
|
||||||
|
|
||||||
|
|
||||||
if ($label != '') {
|
if ($label != '') {
|
||||||
$style['label'] = $label;
|
$style['label'] = $label;
|
||||||
|
@ -2622,6 +2629,12 @@ switch ($action) {
|
||||||
''
|
''
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$event_filter_exclude = get_parameter(
|
||||||
|
'filter_exclude',
|
||||||
|
''
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
// Added for events items.
|
// Added for events items.
|
||||||
$style['show_summary_group'] = $show_summary_group;
|
$style['show_summary_group'] = $show_summary_group;
|
||||||
$style['filter_event_severity'] = json_encode(
|
$style['filter_event_severity'] = json_encode(
|
||||||
|
@ -2639,6 +2652,8 @@ switch ($action) {
|
||||||
$style['event_graph_by_criticity'] = $event_graph_by_criticity;
|
$style['event_graph_by_criticity'] = $event_graph_by_criticity;
|
||||||
$style['event_graph_validated_vs_unvalidated'] = $event_graph_validated_vs_unvalidated;
|
$style['event_graph_validated_vs_unvalidated'] = $event_graph_validated_vs_unvalidated;
|
||||||
$style['event_filter_search'] = $event_filter_search;
|
$style['event_filter_search'] = $event_filter_search;
|
||||||
|
$style['event_filter_exclude'] = $event_filter_exclude;
|
||||||
|
|
||||||
if ($label != '') {
|
if ($label != '') {
|
||||||
$style['label'] = $label;
|
$style['label'] = $label;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -759,7 +759,7 @@ echo '<legend>'.__('Mail configuration').'</legend>';
|
||||||
'',
|
'',
|
||||||
'class="sub next"',
|
'class="sub next"',
|
||||||
true
|
true
|
||||||
).'  <span id="email_test_sent_message" style="display:none;">Email sent</span><span id="email_test_failure_message" style="display:none;">Email could not been sent</span>';
|
).'  <span id="email_test_sent_message" style="display:none;">Email sent</span><span id="email_test_failure_message" style="display:none;">Email could not be sent</span>';
|
||||||
|
|
||||||
echo '<div id="email_test_'.$id.'" title="'.__('Check mail configuration').'" style="display:none">'.html_print_table($table_mail_test, true).'</div>';
|
echo '<div id="email_test_'.$id.'" title="'.__('Check mail configuration').'" style="display:none">'.html_print_table($table_mail_test, true).'</div>';
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,6 +65,7 @@ if (get_parameter('remove_source_on_database', 0)) {
|
||||||
if (get_parameter('update_config', 0)) {
|
if (get_parameter('update_config', 0)) {
|
||||||
$element = (string) get_parameter('element', '');
|
$element = (string) get_parameter('element', '');
|
||||||
$value = (int) get_parameter('value', 0);
|
$value = (int) get_parameter('value', 0);
|
||||||
|
$source = (string) get_parameter('source');
|
||||||
|
|
||||||
// Update the label value.
|
// Update the label value.
|
||||||
ob_clean();
|
ob_clean();
|
||||||
|
@ -75,6 +76,37 @@ if (get_parameter('update_config', 0)) {
|
||||||
$res = ($value) ? notifications_add_group_to_source($source, [0]) : notifications_remove_group_from_source($source, [0]);
|
$res = ($value) ? notifications_add_group_to_source($source, [0]) : notifications_remove_group_from_source($source, [0]);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'subtype':
|
||||||
|
$data = explode('.', $source, 2);
|
||||||
|
$source_id = $data[0];
|
||||||
|
$subtype = $data[1];
|
||||||
|
$source = notifications_get_all_sources(
|
||||||
|
[ 'id' => $source_id ]
|
||||||
|
);
|
||||||
|
|
||||||
|
if ($source !== false && is_array($source[0]) === true) {
|
||||||
|
$source = $source[0];
|
||||||
|
|
||||||
|
$blacklist = json_decode($source['subtype_blacklist'], 1);
|
||||||
|
if (json_last_error() !== JSON_ERROR_NONE) {
|
||||||
|
$blacklist = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((bool) $value === true) {
|
||||||
|
unset($blacklist[$subtype]);
|
||||||
|
} else {
|
||||||
|
$blacklist[$subtype] = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
$source['subtype_blacklist'] = json_encode($blacklist, 1);
|
||||||
|
$res = (bool) db_process_sql_update(
|
||||||
|
'tnotification_source',
|
||||||
|
['subtype_blacklist' => $source['subtype_blacklist']],
|
||||||
|
['id' => $source['id']]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
$res = (bool) db_process_sql_update(
|
$res = (bool) db_process_sql_update(
|
||||||
'tnotification_source',
|
'tnotification_source',
|
||||||
|
@ -337,7 +369,7 @@ function remove_source_elements(id, source_id) {
|
||||||
|
|
||||||
function notifications_handle_change_element(event) {
|
function notifications_handle_change_element(event) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
var match = /nt-([0-9]+)-(.*)/.exec(event.target.id);
|
var match = /nt-(.+)-(.*)/.exec(event.target.id);
|
||||||
if (!match) {
|
if (!match) {
|
||||||
console.error(
|
console.error(
|
||||||
"Cannot handle change element. Id not valid: ", event.target.id
|
"Cannot handle change element. Id not valid: ", event.target.id
|
||||||
|
@ -356,6 +388,7 @@ function notifications_handle_change_element(event) {
|
||||||
var value;
|
var value;
|
||||||
switch (action.bit) {
|
switch (action.bit) {
|
||||||
case 'enabled':
|
case 'enabled':
|
||||||
|
case 'subtype':
|
||||||
case 'also_mail':
|
case 'also_mail':
|
||||||
case 'user_editable':
|
case 'user_editable':
|
||||||
case 'all_users':
|
case 'all_users':
|
||||||
|
@ -383,6 +416,7 @@ function notifications_handle_change_element(event) {
|
||||||
} else {
|
} else {
|
||||||
switch (action.bit) {
|
switch (action.bit) {
|
||||||
case 'enabled':
|
case 'enabled':
|
||||||
|
case 'subtype':
|
||||||
case 'also_mail':
|
case 'also_mail':
|
||||||
case 'user_editable':
|
case 'user_editable':
|
||||||
case 'all_users':
|
case 'all_users':
|
||||||
|
|
|
@ -803,7 +803,7 @@ if (defined('METACONSOLE')) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$new_user) {
|
if (!$new_user) {
|
||||||
$user_id = '<div class="label_select_simple"><p class="edit_user_labels">'.__('User ID').'</p>';
|
$user_id = '<div class="label_select_simple"><p class="edit_user_labels">'.__('User ID').': </p>';
|
||||||
$user_id .= '<span>'.$id.'</span>';
|
$user_id .= '<span>'.$id.'</span>';
|
||||||
$user_id .= html_print_input_hidden('id_user', $id, true);
|
$user_id .= html_print_input_hidden('id_user', $id, true);
|
||||||
$user_id .= '</div>';
|
$user_id .= '</div>';
|
||||||
|
@ -1102,7 +1102,8 @@ if (enterprise_installed() && defined('METACONSOLE')) {
|
||||||
$user_info_metaconsole_access = $user_info['metaconsole_access'];
|
$user_info_metaconsole_access = $user_info['metaconsole_access'];
|
||||||
}
|
}
|
||||||
|
|
||||||
$meta_access = '<div class="label_select"><p class="edit_user_labels">'.__('Metaconsole access').' '.ui_print_help_icon('meta_access', true).'</p>';
|
// TODO review help tips on meta.
|
||||||
|
$meta_access = '<div class="label_select"><p class="edit_user_labels">'.__('Metaconsole access').' './* ui_print_help_icon('meta_access', true). */'</p>';
|
||||||
$metaconsole_accesses = [
|
$metaconsole_accesses = [
|
||||||
'basic' => __('Basic'),
|
'basic' => __('Basic'),
|
||||||
'advanced' => __('Advanced'),
|
'advanced' => __('Advanced'),
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 54 KiB |
|
@ -54,6 +54,16 @@ if (check_login()) {
|
||||||
$update_filter_cf = (bool) get_parameter('update_filter_cf', 0);
|
$update_filter_cf = (bool) get_parameter('update_filter_cf', 0);
|
||||||
$delete_filter_cf = (bool) get_parameter('delete_filter_cf', 0);
|
$delete_filter_cf = (bool) get_parameter('delete_filter_cf', 0);
|
||||||
$change_name_filter = (bool) get_parameter('change_name_filter', 0);
|
$change_name_filter = (bool) get_parameter('change_name_filter', 0);
|
||||||
|
$check_csv_button = (bool) get_parameter('check_csv_button', 0);
|
||||||
|
|
||||||
|
if ($check_csv_button) {
|
||||||
|
if (check_acl($config['id_user'], 0, 'PM')) {
|
||||||
|
echo json_encode($permission);
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ($get_custom_fields_data) {
|
if ($get_custom_fields_data) {
|
||||||
$name_custom_fields = get_parameter('name_custom_fields', 0);
|
$name_custom_fields = get_parameter('name_custom_fields', 0);
|
||||||
|
|
|
@ -38,23 +38,36 @@ if (check_login()) {
|
||||||
$get_plugin_macros = get_parameter('get_plugin_macros');
|
$get_plugin_macros = get_parameter('get_plugin_macros');
|
||||||
$search_modules = get_parameter('search_modules');
|
$search_modules = get_parameter('search_modules');
|
||||||
$get_module_detail = get_parameter('get_module_detail', 0);
|
$get_module_detail = get_parameter('get_module_detail', 0);
|
||||||
$get_module_autocomplete_input = (bool) get_parameter('get_module_autocomplete_input');
|
$get_module_autocomplete_input = (bool) get_parameter(
|
||||||
|
'get_module_autocomplete_input'
|
||||||
|
);
|
||||||
$add_module_relation = (bool) get_parameter('add_module_relation');
|
$add_module_relation = (bool) get_parameter('add_module_relation');
|
||||||
$remove_module_relation = (bool) get_parameter('remove_module_relation');
|
$remove_module_relation = (bool) get_parameter('remove_module_relation');
|
||||||
$change_module_relation_updates = (bool) get_parameter('change_module_relation_updates');
|
$change_module_relation_updates = (bool) get_parameter(
|
||||||
|
'change_module_relation_updates'
|
||||||
|
);
|
||||||
$get_id_tag = (bool) get_parameter('get_id_tag', 0);
|
$get_id_tag = (bool) get_parameter('get_id_tag', 0);
|
||||||
$get_type = (bool) get_parameter('get_type', 0);
|
$get_type = (bool) get_parameter('get_type', 0);
|
||||||
$list_modules = (bool) get_parameter('list_modules', 0);
|
$list_modules = (bool) get_parameter('list_modules', 0);
|
||||||
$get_agent_modules_json_by_name = (bool) get_parameter('get_agent_modules_json_by_name', 0);
|
$get_agent_modules_json_by_name = (bool) get_parameter(
|
||||||
|
'get_agent_modules_json_by_name',
|
||||||
|
0
|
||||||
|
);
|
||||||
|
$get_graph_module = (bool) get_parameter('get_graph_module', 0);
|
||||||
|
$get_graph_module_interfaces = (bool) get_parameter(
|
||||||
|
'get_graph_module_interfaces',
|
||||||
|
0
|
||||||
|
);
|
||||||
|
|
||||||
if ($get_agent_modules_json_by_name) {
|
if ($get_agent_modules_json_by_name === true) {
|
||||||
$agent_name = get_parameter('agent_name');
|
$agent_name = get_parameter('agent_name');
|
||||||
|
|
||||||
$agent_id = agents_get_agent_id($agent_name);
|
$agent_id = agents_get_agent_id($agent_name);
|
||||||
|
|
||||||
$agent_modules = db_get_all_rows_sql(
|
$agent_modules = db_get_all_rows_sql(
|
||||||
'SELECT id_agente_modulo as id_module, nombre as name FROM tagente_modulo
|
'SELECT id_agente_modulo as id_module,
|
||||||
WHERE id_agente = '.$agent_id
|
nombre as name FROM tagente_modulo
|
||||||
|
WHERE id_agente = '.$agent_id
|
||||||
);
|
);
|
||||||
|
|
||||||
echo json_encode($agent_modules);
|
echo json_encode($agent_modules);
|
||||||
|
@ -91,7 +104,10 @@ if (check_login()) {
|
||||||
|
|
||||||
$id_agents = json_decode(io_safe_output(get_parameter('id_agents')));
|
$id_agents = json_decode(io_safe_output(get_parameter('id_agents')));
|
||||||
$filter = '%'.get_parameter('q', '').'%';
|
$filter = '%'.get_parameter('q', '').'%';
|
||||||
$other_filter = json_decode(io_safe_output(get_parameter('other_filter')), true);
|
$other_filter = json_decode(
|
||||||
|
io_safe_output(get_parameter('other_filter')),
|
||||||
|
true
|
||||||
|
);
|
||||||
// TODO TAGS agents_get_modules.
|
// TODO TAGS agents_get_modules.
|
||||||
$modules = agents_get_modules(
|
$modules = agents_get_modules(
|
||||||
$id_agents,
|
$id_agents,
|
||||||
|
@ -112,9 +128,13 @@ if (check_login()) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($get_module_detail) {
|
if ($get_module_detail) {
|
||||||
// This script is included manually to be included after jquery and avoid error.
|
// This script is included manually to be
|
||||||
|
// included after jquery and avoid error.
|
||||||
ui_include_time_picker();
|
ui_include_time_picker();
|
||||||
ui_require_jquery_file('ui.datepicker-'.get_user_language(), 'include/javascript/i18n/');
|
ui_require_jquery_file(
|
||||||
|
'ui.datepicker-'.get_user_language(),
|
||||||
|
'include/javascript/i18n/'
|
||||||
|
);
|
||||||
|
|
||||||
$module_id = (int) get_parameter('id_module');
|
$module_id = (int) get_parameter('id_module');
|
||||||
$period = get_parameter('period', SECONDS_1DAY);
|
$period = get_parameter('period', SECONDS_1DAY);
|
||||||
|
@ -145,10 +165,22 @@ if (check_login()) {
|
||||||
$free_checkbox = (bool) get_parameter('free_checkbox', false);
|
$free_checkbox = (bool) get_parameter('free_checkbox', false);
|
||||||
$selection_mode = get_parameter('selection_mode', 'fromnow');
|
$selection_mode = get_parameter('selection_mode', 'fromnow');
|
||||||
$utimestamp = get_system_time();
|
$utimestamp = get_system_time();
|
||||||
$date_from = (string) get_parameter('date_from', date(DATE_FORMAT, ($utimestamp - SECONDS_1DAY)));
|
$date_from = (string) get_parameter(
|
||||||
$time_from = (string) get_parameter('time_from', date(TIME_FORMAT, ($utimestamp - SECONDS_1DAY)));
|
'date_from',
|
||||||
$date_to = (string) get_parameter('date_to', date(DATE_FORMAT, $utimestamp));
|
date(DATE_FORMAT, ($utimestamp - SECONDS_1DAY))
|
||||||
$time_to = (string) get_parameter('time_to', date(TIME_FORMAT, $utimestamp));
|
);
|
||||||
|
$time_from = (string) get_parameter(
|
||||||
|
'time_from',
|
||||||
|
date(TIME_FORMAT, ($utimestamp - SECONDS_1DAY))
|
||||||
|
);
|
||||||
|
$date_to = (string) get_parameter(
|
||||||
|
'date_to',
|
||||||
|
date(DATE_FORMAT, $utimestamp)
|
||||||
|
);
|
||||||
|
$time_to = (string) get_parameter(
|
||||||
|
'time_to',
|
||||||
|
date(TIME_FORMAT, $utimestamp)
|
||||||
|
);
|
||||||
|
|
||||||
// Definition of new table.
|
// Definition of new table.
|
||||||
$formtable = new stdClass();
|
$formtable = new stdClass();
|
||||||
|
@ -189,7 +221,17 @@ if (check_login()) {
|
||||||
'style="margin-right: 15px;"',
|
'style="margin-right: 15px;"',
|
||||||
true
|
true
|
||||||
).__('Choose a time from now');
|
).__('Choose a time from now');
|
||||||
$formtable->data[0][1] = html_print_select($periods, 'period', $period, '', '', 0, true, false, false);
|
$formtable->data[0][1] = html_print_select(
|
||||||
|
$periods,
|
||||||
|
'period',
|
||||||
|
$period,
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
0,
|
||||||
|
true,
|
||||||
|
false,
|
||||||
|
false
|
||||||
|
);
|
||||||
$formtable->data[0][2] = '';
|
$formtable->data[0][2] = '';
|
||||||
$formtable->data[0][3] = "<a href='javascript: show_module_detail_dialog(".$module_id.', '.$agentId.', "'.$server_name.'", 0, -1,"'.modules_get_agentmodule_name($module_id)."\")'>".html_print_image('images/refresh.png', true, ['style' => 'vertical-align: middle;', 'border' => '0' ]).'</a>';
|
$formtable->data[0][3] = "<a href='javascript: show_module_detail_dialog(".$module_id.', '.$agentId.', "'.$server_name.'", 0, -1,"'.modules_get_agentmodule_name($module_id)."\")'>".html_print_image('images/refresh.png', true, ['style' => 'vertical-align: middle;', 'border' => '0' ]).'</a>';
|
||||||
$formtable->rowspan[0][3] = 2;
|
$formtable->rowspan[0][3] = 2;
|
||||||
|
@ -248,8 +290,20 @@ if (check_login()) {
|
||||||
$freesearch_object = '';
|
$freesearch_object = '';
|
||||||
if (preg_match('/_string/', $moduletype_name)) {
|
if (preg_match('/_string/', $moduletype_name)) {
|
||||||
$formtable->data[2][0] = __('Free search').' ';
|
$formtable->data[2][0] = __('Free search').' ';
|
||||||
$formtable->data[2][1] = html_print_input_text('freesearch', $freesearch, '', 20, null, true);
|
$formtable->data[2][1] = html_print_input_text(
|
||||||
$formtable->data[2][2] = html_print_checkbox('free_checkbox', 1, $free_checkbox, true);
|
'freesearch',
|
||||||
|
$freesearch,
|
||||||
|
'',
|
||||||
|
20,
|
||||||
|
null,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
$formtable->data[2][2] = html_print_checkbox(
|
||||||
|
'free_checkbox',
|
||||||
|
1,
|
||||||
|
$free_checkbox,
|
||||||
|
true
|
||||||
|
);
|
||||||
$formtable->data[2][2] .= ' '.__('Exact phrase');
|
$formtable->data[2][2] .= ' '.__('Exact phrase');
|
||||||
$freesearch_object = json_encode(
|
$freesearch_object = json_encode(
|
||||||
[
|
[
|
||||||
|
@ -359,8 +413,16 @@ if (check_login()) {
|
||||||
'web_content_string'
|
'web_content_string'
|
||||||
);
|
);
|
||||||
|
|
||||||
$post_process = db_get_value_filter('post_process', 'tagente_modulo', ['id_agente_modulo' => $module_id]);
|
$post_process = db_get_value_filter(
|
||||||
$unit = db_get_value_filter('unit', 'tagente_modulo', ['id_agente_modulo' => $module_id]);
|
'post_process',
|
||||||
|
'tagente_modulo',
|
||||||
|
['id_agente_modulo' => $module_id]
|
||||||
|
);
|
||||||
|
$unit = db_get_value_filter(
|
||||||
|
'unit',
|
||||||
|
'tagente_modulo',
|
||||||
|
['id_agente_modulo' => $module_id]
|
||||||
|
);
|
||||||
foreach ($result as $row) {
|
foreach ($result as $row) {
|
||||||
$data = [];
|
$data = [];
|
||||||
|
|
||||||
|
@ -400,32 +462,65 @@ if (check_login()) {
|
||||||
// Fixed the data from Selenium Plugin.
|
// Fixed the data from Selenium Plugin.
|
||||||
if ($row[$attr[0]] != strip_tags($row[$attr[0]])) {
|
if ($row[$attr[0]] != strip_tags($row[$attr[0]])) {
|
||||||
$data[] = html_print_result_div($row[$attr[0]]);
|
$data[] = html_print_result_div($row[$attr[0]]);
|
||||||
} else if (is_numeric($row[$attr[0]]) && !modules_is_string_type($row['module_type'])) {
|
} else if (is_numeric($row[$attr[0]])
|
||||||
|
&& !modules_is_string_type($row['module_type'])
|
||||||
|
) {
|
||||||
switch ($row['module_type']) {
|
switch ($row['module_type']) {
|
||||||
case 15:
|
case 15:
|
||||||
$value = db_get_value('snmp_oid', 'tagente_modulo', 'id_agente_modulo', $module_id);
|
$value = db_get_value(
|
||||||
|
'snmp_oid',
|
||||||
|
'tagente_modulo',
|
||||||
|
'id_agente_modulo',
|
||||||
|
$module_id
|
||||||
|
);
|
||||||
// System Uptime:
|
// System Uptime:
|
||||||
// In case of System Uptime module, shows data in format "Days hours minutes seconds" if and only if
|
// In case of System Uptime module,
|
||||||
|
// shows data in format
|
||||||
|
// "Days hours minutes seconds" if and only if
|
||||||
// selected module unit is "_timeticks_"
|
// selected module unit is "_timeticks_"
|
||||||
// Take notice that selected unit may not be postrocess unit
|
// Take notice that selected unit
|
||||||
if ($value == '.1.3.6.1.2.1.1.3.0' || $value == '.1.3.6.1.2.1.25.1.1.0') {
|
// may not be postrocess unit.
|
||||||
$data_macro = modules_get_unit_macro($row[$attr[0]], $unit);
|
if ($value == '.1.3.6.1.2.1.1.3.0'
|
||||||
|
|| $value == '.1.3.6.1.2.1.25.1.1.0'
|
||||||
|
) {
|
||||||
|
$data_macro = modules_get_unit_macro(
|
||||||
|
$row[$attr[0]],
|
||||||
|
$unit
|
||||||
|
);
|
||||||
if ($data_macro) {
|
if ($data_macro) {
|
||||||
$data[] = $data_macro;
|
$data[] = $data_macro;
|
||||||
} else {
|
} else {
|
||||||
$data[] = remove_right_zeros(number_format($row[$attr[0]], $config['graph_precision']));
|
$data[] = remove_right_zeros(
|
||||||
|
number_format(
|
||||||
|
$row[$attr[0]],
|
||||||
|
$config['graph_precision']
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$data[] = remove_right_zeros(number_format($row[$attr[0]], $config['graph_precision']));
|
$data[] = remove_right_zeros(
|
||||||
|
number_format(
|
||||||
|
$row[$attr[0]],
|
||||||
|
$config['graph_precision']
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
$data_macro = modules_get_unit_macro($row[$attr[0]], $unit);
|
$data_macro = modules_get_unit_macro(
|
||||||
|
$row[$attr[0]],
|
||||||
|
$unit
|
||||||
|
);
|
||||||
if ($data_macro) {
|
if ($data_macro) {
|
||||||
$data[] = $data_macro;
|
$data[] = $data_macro;
|
||||||
} else {
|
} else {
|
||||||
$data[] = remove_right_zeros(number_format($row[$attr[0]], $config['graph_precision']));
|
$data[] = remove_right_zeros(
|
||||||
|
number_format(
|
||||||
|
$row[$attr[0]],
|
||||||
|
$config['graph_precision']
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -433,11 +528,16 @@ if (check_login()) {
|
||||||
if ($row[$attr[0]] == '') {
|
if ($row[$attr[0]] == '') {
|
||||||
$data[] = 'No data';
|
$data[] = 'No data';
|
||||||
} else {
|
} else {
|
||||||
$data_macro = modules_get_unit_macro($row[$attr[0]], $unit);
|
$data_macro = modules_get_unit_macro(
|
||||||
|
$row[$attr[0]],
|
||||||
|
$unit
|
||||||
|
);
|
||||||
if ($data_macro) {
|
if ($data_macro) {
|
||||||
$data[] = $data_macro;
|
$data[] = $data_macro;
|
||||||
} else {
|
} else {
|
||||||
$data[] = html_print_result_div($row[$attr[0]]);
|
$data[] = html_print_result_div(
|
||||||
|
$row[$attr[0]]
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -453,7 +553,16 @@ if (check_login()) {
|
||||||
if (empty($table->data)) {
|
if (empty($table->data)) {
|
||||||
ui_print_error_message(__('No available data to show'));
|
ui_print_error_message(__('No available data to show'));
|
||||||
} else {
|
} else {
|
||||||
ui_pagination(count($count), false, $offset, 0, false, 'offset', true, 'binary_dialog');
|
ui_pagination(
|
||||||
|
count($count),
|
||||||
|
false,
|
||||||
|
$offset,
|
||||||
|
0,
|
||||||
|
false,
|
||||||
|
'offset',
|
||||||
|
true,
|
||||||
|
'binary_dialog'
|
||||||
|
);
|
||||||
html_print_table($table);
|
html_print_table($table);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -727,11 +836,17 @@ if (check_login()) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$status_filter_monitor = (int) get_parameter('status_filter_monitor', -1);
|
$status_filter_monitor = (int) get_parameter(
|
||||||
|
'status_filter_monitor',
|
||||||
|
-1
|
||||||
|
);
|
||||||
$status_text_monitor = get_parameter('status_text_monitor', '');
|
$status_text_monitor = get_parameter('status_text_monitor', '');
|
||||||
$filter_monitors = (bool) get_parameter('filter_monitors', false);
|
$filter_monitors = (bool) get_parameter('filter_monitors', false);
|
||||||
$status_module_group = get_parameter('status_module_group', -1);
|
$status_module_group = get_parameter('status_module_group', -1);
|
||||||
$monitors_change_filter = (bool) get_parameter('monitors_change_filter', false);
|
$monitors_change_filter = (bool) get_parameter(
|
||||||
|
'monitors_change_filter',
|
||||||
|
false
|
||||||
|
);
|
||||||
|
|
||||||
$status_filter_sql = '1 = 1';
|
$status_filter_sql = '1 = 1';
|
||||||
if ($status_filter_monitor == AGENT_MODULE_STATUS_NOT_NORMAL) {
|
if ($status_filter_monitor == AGENT_MODULE_STATUS_NOT_NORMAL) {
|
||||||
|
@ -787,7 +902,9 @@ if (check_login()) {
|
||||||
AND tagente_estado.estado != $monitor_filter
|
AND tagente_estado.estado != $monitor_filter
|
||||||
";
|
";
|
||||||
|
|
||||||
$count_modules = db_get_all_rows_sql('SELECT COUNT(DISTINCT tagente_modulo.id_agente_modulo)'.$sql_condition);
|
$count_modules = db_get_all_rows_sql(
|
||||||
|
'SELECT COUNT(DISTINCT tagente_modulo.id_agente_modulo)'.$sql_condition
|
||||||
|
);
|
||||||
|
|
||||||
if (isset($count_modules[0])) {
|
if (isset($count_modules[0])) {
|
||||||
$count_modules = reset($count_modules[0]);
|
$count_modules = reset($count_modules[0]);
|
||||||
|
@ -796,7 +913,7 @@ if (check_login()) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get monitors/modules
|
// Get monitors/modules
|
||||||
// Get all module from agent
|
// Get all module from agent.
|
||||||
$sql_modules_info = "SELECT tagente_estado.*, tagente_modulo.*, tmodule_group.*
|
$sql_modules_info = "SELECT tagente_estado.*, tagente_modulo.*, tmodule_group.*
|
||||||
$sql_condition
|
$sql_condition
|
||||||
GROUP BY tagente_modulo.id_agente_modulo ORDER BY $order_sql";
|
GROUP BY tagente_modulo.id_agente_modulo ORDER BY $order_sql";
|
||||||
|
@ -1195,4 +1312,55 @@ if (check_login()) {
|
||||||
echo $graph_type;
|
echo $graph_type;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($get_graph_module === true) {
|
||||||
|
global $config;
|
||||||
|
$output = '';
|
||||||
|
$graph_data = get_parameter('graph_data', '');
|
||||||
|
$params = json_decode(base64_decode($graph_data), true);
|
||||||
|
$server_id = (int) get_parameter('server_id', 0);
|
||||||
|
include_once $config['homedir'].'/include/functions_graph.php';
|
||||||
|
|
||||||
|
// Metaconsole connection to the node.
|
||||||
|
if (is_metaconsole() === true && empty($server_id) === false) {
|
||||||
|
$server = metaconsole_get_connection_by_id($server_id);
|
||||||
|
metaconsole_connect($server);
|
||||||
|
}
|
||||||
|
|
||||||
|
$output .= grafico_modulo_sparse($params);
|
||||||
|
echo $output;
|
||||||
|
|
||||||
|
if (is_metaconsole() === true && empty($server_id) === false) {
|
||||||
|
metaconsole_restore_db();
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($get_graph_module_interfaces === true) {
|
||||||
|
global $config;
|
||||||
|
include_once $config['homedir'].'/include/functions_graph.php';
|
||||||
|
|
||||||
|
$output = '';
|
||||||
|
$graph_data = get_parameter('graph_data', '');
|
||||||
|
$params = json_decode(base64_decode($graph_data), true);
|
||||||
|
|
||||||
|
$modules = get_parameter('modules', '');
|
||||||
|
$modules = json_decode(base64_decode($modules), true);
|
||||||
|
|
||||||
|
$graph_data_combined = get_parameter('graph_data_combined', '');
|
||||||
|
$params_combined = json_decode(
|
||||||
|
base64_decode($graph_data_combined),
|
||||||
|
true
|
||||||
|
);
|
||||||
|
|
||||||
|
$output .= graphic_combined_module(
|
||||||
|
$modules,
|
||||||
|
$params,
|
||||||
|
$params_combined
|
||||||
|
);
|
||||||
|
echo $output;
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -115,12 +115,6 @@ class ConsoleSupervisor
|
||||||
} else {
|
} else {
|
||||||
$this->enabled = (bool) $source['enabled'];
|
$this->enabled = (bool) $source['enabled'];
|
||||||
$this->sourceId = $source['id'];
|
$this->sourceId = $source['id'];
|
||||||
|
|
||||||
// Assign targets.
|
|
||||||
$targets = get_notification_source_targets($this->sourceId);
|
|
||||||
$this->targetGroups = $targets['groups'];
|
|
||||||
$this->targetUsers = $targets['users'];
|
|
||||||
$this->targetUpdated = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
|
@ -621,20 +615,28 @@ class ConsoleSupervisor
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($this->targetUpdated === false) {
|
|
||||||
$targets = get_notification_source_targets($this->sourceId);
|
|
||||||
$this->targetGroups = $targets['groups'];
|
|
||||||
$this->targetUsers = $targets['users'];
|
|
||||||
$this->targetUpdated = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($source_id === 0) {
|
if ($source_id === 0) {
|
||||||
$source_id = $this->sourceId;
|
$source_id = $this->sourceId;
|
||||||
// Assign targets.
|
}
|
||||||
$targets = get_notification_source_targets($source_id);
|
|
||||||
|
static $_cache_targets;
|
||||||
|
$key = $source_id.'|'.$data['type'];
|
||||||
|
|
||||||
|
if ($_cache_targets === null) {
|
||||||
|
$_cache_targets = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($_cache_targets[$key] !== null) {
|
||||||
|
$targets = $_cache_targets[$key];
|
||||||
|
} else {
|
||||||
|
$targets = get_notification_source_targets(
|
||||||
|
$source_id,
|
||||||
|
$data['type']
|
||||||
|
);
|
||||||
$this->targetGroups = $targets['groups'];
|
$this->targetGroups = $targets['groups'];
|
||||||
$this->targetUsers = $targets['users'];
|
$this->targetUsers = $targets['users'];
|
||||||
$this->targetUpdated = false;
|
|
||||||
|
$_cache_targets[$key] = $targets;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch ($data['type']) {
|
switch ($data['type']) {
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
/**
|
/**
|
||||||
* Pandora build version and version
|
* Pandora build version and version
|
||||||
*/
|
*/
|
||||||
$build_version = 'PC210222';
|
$build_version = 'PC210302';
|
||||||
$pandora_version = 'v7.0NG.752';
|
$pandora_version = 'v7.0NG.752';
|
||||||
|
|
||||||
// Do not overwrite default timezone set if defined.
|
// Do not overwrite default timezone set if defined.
|
||||||
|
|
|
@ -424,16 +424,6 @@ function get_user_language($id_user=null)
|
||||||
if ($quick_language) {
|
if ($quick_language) {
|
||||||
$language = get_parameter('language', 0);
|
$language = get_parameter('language', 0);
|
||||||
|
|
||||||
if (defined('METACONSOLE')) {
|
|
||||||
if ($id_user == null) {
|
|
||||||
$id_user = $config['id_user'];
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($language !== 0) {
|
|
||||||
update_user($id_user, ['language' => $language]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($language === 'default') {
|
if ($language === 'default') {
|
||||||
return $config['language'];
|
return $config['language'];
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,6 +21,8 @@ require_once $config['homedir'].'/include/functions.php';
|
||||||
require_once $config['homedir'].'/include/functions_modules.php';
|
require_once $config['homedir'].'/include/functions_modules.php';
|
||||||
require_once $config['homedir'].'/include/functions_users.php';
|
require_once $config['homedir'].'/include/functions_users.php';
|
||||||
|
|
||||||
|
use PandoraFMS\Enterprise\RCMDFile as RCMDFile;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the agent if exists in the DB.
|
* Return the agent if exists in the DB.
|
||||||
|
@ -2410,10 +2412,31 @@ function agents_delete_agent($id_agents, $disableACL=false)
|
||||||
enterprise_include_once('include/functions_policies.php');
|
enterprise_include_once('include/functions_policies.php');
|
||||||
enterprise_hook('policies_delete_agent', [$id_agent]);
|
enterprise_hook('policies_delete_agent', [$id_agent]);
|
||||||
|
|
||||||
// Delete agent in networkmap enterprise
|
|
||||||
if (enterprise_installed()) {
|
if (enterprise_installed()) {
|
||||||
|
// Delete agent in networkmap.
|
||||||
enterprise_include_once('include/functions_networkmap.php');
|
enterprise_include_once('include/functions_networkmap.php');
|
||||||
networkmap_delete_nodes_by_agent([$id_agent]);
|
networkmap_delete_nodes_by_agent([$id_agent]);
|
||||||
|
|
||||||
|
// Delete command targets with agent.
|
||||||
|
enterprise_include_once('include/lib/RCMDFile.class.php');
|
||||||
|
|
||||||
|
$target_filter = ['id_agent' => $id_agent];
|
||||||
|
|
||||||
|
// Retrieve all commands that have targets with specific agent id.
|
||||||
|
$commands = RCMDFile::getAll(
|
||||||
|
['rct.rcmd_id'],
|
||||||
|
$target_filter
|
||||||
|
);
|
||||||
|
|
||||||
|
foreach ($commands as $command) {
|
||||||
|
$rcmd_id = $command['rcmd_id'];
|
||||||
|
$rcmd = new RCMDFile($rcmd_id);
|
||||||
|
|
||||||
|
$command_targets = [];
|
||||||
|
|
||||||
|
$command_targets = $rcmd->getTargets(false, $target_filter);
|
||||||
|
$rcmd->deleteTargets(array_keys($command_targets));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// tagente_datos_inc
|
// tagente_datos_inc
|
||||||
|
@ -3800,3 +3823,51 @@ function agents_get_last_status_change($id_agent)
|
||||||
|
|
||||||
return $row['last_status_change'];
|
return $row['last_status_change'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the list of agents for a planned downtime
|
||||||
|
*
|
||||||
|
* @param integer $id_downtime Id of planned downtime.
|
||||||
|
* @param string $filter_cond String-based filters.
|
||||||
|
* @param string $id_groups_str String-based list of id group, separated with commas.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
function get_planned_downtime_agents_list($id_downtime, $filter_cond, $id_groups_str)
|
||||||
|
{
|
||||||
|
$agents = [];
|
||||||
|
|
||||||
|
$sql = sprintf(
|
||||||
|
'SELECT tagente.id_agente, tagente.alias
|
||||||
|
FROM tagente
|
||||||
|
WHERE tagente.id_agente NOT IN (
|
||||||
|
SELECT tagente.id_agente
|
||||||
|
FROM tagente, tplanned_downtime_agents
|
||||||
|
WHERE tplanned_downtime_agents.id_agent = tagente.id_agente
|
||||||
|
AND tplanned_downtime_agents.id_downtime = %d
|
||||||
|
) AND disabled = 0 %s
|
||||||
|
AND tagente.id_grupo IN (%s)
|
||||||
|
ORDER BY tagente.nombre',
|
||||||
|
$id_downtime,
|
||||||
|
$filter_cond,
|
||||||
|
$id_groups_str
|
||||||
|
);
|
||||||
|
|
||||||
|
$agents = db_get_all_rows_sql($sql);
|
||||||
|
|
||||||
|
if (empty($agents)) {
|
||||||
|
$agents = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
$agent_ids = extract_column($agents, 'id_agente');
|
||||||
|
$agent_names = extract_column($agents, 'alias');
|
||||||
|
|
||||||
|
$agents = array_combine($agent_ids, $agent_names);
|
||||||
|
|
||||||
|
if ($agents === false) {
|
||||||
|
$agents = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
return $agents;
|
||||||
|
}
|
||||||
|
|
|
@ -6480,6 +6480,14 @@ function api_set_stop_downtime($id, $thrash1, $other, $thrash3)
|
||||||
|
|
||||||
$date_time_stop = get_system_time();
|
$date_time_stop = get_system_time();
|
||||||
|
|
||||||
|
$sql = sprintf('SELECT date_to, type_execution, executed FROM tplanned_downtime WHERE id=%d', $id);
|
||||||
|
$data = db_get_row_sql($sql);
|
||||||
|
|
||||||
|
if ($data['type_execution'] == 'periodically' && $data['executed'] == 1) {
|
||||||
|
returnError('error_stop_downtime', __('Error stopping downtime. Periodical and running planned downtime cannot be stopped.'));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
$values = [];
|
$values = [];
|
||||||
$values['date_to'] = $date_time_stop;
|
$values['date_to'] = $date_time_stop;
|
||||||
|
|
||||||
|
|
|
@ -2878,20 +2878,21 @@ function events_get_group_events_steps(
|
||||||
*
|
*
|
||||||
* The returned events will be in the time interval ($date - $period, $date]
|
* The returned events will be in the time interval ($date - $period, $date]
|
||||||
*
|
*
|
||||||
* @param integer $id_agent Agent id to get events.
|
* @param integer $id_agent Agent id to get events.
|
||||||
* @param integer $period Period in seconds to get events.
|
* @param integer $period Period in seconds to get events.
|
||||||
* @param integer $date Beginning date to get events.
|
* @param integer $date Beginning date to get events.
|
||||||
* @param boolean $history History.
|
* @param boolean $history History.
|
||||||
* @param boolean $show_summary_group Show_summary_group.
|
* @param boolean $show_summary_group Show_summary_group.
|
||||||
* @param boolean $filter_event_severity Filter_event_severity.
|
* @param boolean $filter_event_severity Filter_event_severity.
|
||||||
* @param boolean $filter_event_type Filter_event_type.
|
* @param boolean $filter_event_type Filter_event_type.
|
||||||
* @param boolean $filter_event_status Filter_event_status.
|
* @param boolean $filter_event_status Filter_event_status.
|
||||||
* @param boolean $filter_event_filter_search Filter_event_filter_search.
|
* @param boolean $filter_event_filter_search Filter_event_filter_search.
|
||||||
* @param boolean $id_group Id_group.
|
* @param boolean $id_group Id_group.
|
||||||
* @param boolean $events_group Events_group.
|
* @param boolean $events_group Events_group.
|
||||||
* @param boolean $id_agent_module Id_agent_module.
|
* @param boolean $id_agent_module Id_agent_module.
|
||||||
* @param boolean $events_module Events_module.
|
* @param boolean $events_module Events_module.
|
||||||
* @param boolean $id_server Id_server.
|
* @param boolean $id_server Id_server.
|
||||||
|
* @param boolean $filter_event_filter_exclude Filter_event_filter_exclude.
|
||||||
*
|
*
|
||||||
* @return array An array with all the events happened.
|
* @return array An array with all the events happened.
|
||||||
*/
|
*/
|
||||||
|
@ -2909,7 +2910,8 @@ function events_get_agent(
|
||||||
$events_group=false,
|
$events_group=false,
|
||||||
$id_agent_module=false,
|
$id_agent_module=false,
|
||||||
$events_module=false,
|
$events_module=false,
|
||||||
$id_server=false
|
$id_server=false,
|
||||||
|
$filter_event_filter_exclude=false
|
||||||
) {
|
) {
|
||||||
global $config;
|
global $config;
|
||||||
|
|
||||||
|
@ -3017,6 +3019,10 @@ function events_get_agent(
|
||||||
$sql_where .= ' AND (evento LIKE "%'.io_safe_input($filter_event_filter_search).'%" OR id_evento LIKE "%'.io_safe_input($filter_event_filter_search).'%")';
|
$sql_where .= ' AND (evento LIKE "%'.io_safe_input($filter_event_filter_search).'%" OR id_evento LIKE "%'.io_safe_input($filter_event_filter_search).'%")';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!empty($filter_event_filter_exclude)) {
|
||||||
|
$sql_where .= ' AND (evento NOT LIKE "%'.io_safe_input($filter_event_filter_exclude).'%" AND id_evento NOT LIKE "%'.io_safe_input($filter_event_filter_exclude).'%")';
|
||||||
|
}
|
||||||
|
|
||||||
if ($events_group) {
|
if ($events_group) {
|
||||||
$secondary_groups = sprintf(
|
$secondary_groups = sprintf(
|
||||||
' INNER JOIN tgrupo tg
|
' INNER JOIN tgrupo tg
|
||||||
|
@ -5114,14 +5120,15 @@ function events_clean_tags($tags)
|
||||||
*
|
*
|
||||||
* The returned events will be in the time interval ($date - $period, $date]
|
* The returned events will be in the time interval ($date - $period, $date]
|
||||||
*
|
*
|
||||||
* @param mixed $id_group Group id to get events for.
|
* @param mixed $id_group Group id to get events for.
|
||||||
* @param integer $period Period in seconds to get events.
|
* @param integer $period Period in seconds to get events.
|
||||||
* @param integer $date Beginning date to get events.
|
* @param integer $date Beginning date to get events.
|
||||||
* @param boolean $filter_event_severity Filter_event_severity.
|
* @param boolean $filter_event_severity Filter_event_severity.
|
||||||
* @param boolean $filter_event_type Filter_event_type.
|
* @param boolean $filter_event_type Filter_event_type.
|
||||||
* @param boolean $filter_event_status Filter_event_status.
|
* @param boolean $filter_event_status Filter_event_status.
|
||||||
* @param boolean $filter_event_filter_search Filter_event_filter_search.
|
* @param boolean $filter_event_filter_search Filter_event_filter_search.
|
||||||
* @param boolean $dbmeta Dbmeta.
|
* @param boolean $dbmeta Dbmeta.
|
||||||
|
* @param boolean $filter_event_filter_exclude Filter_event_filter_exclude.
|
||||||
*
|
*
|
||||||
* @return array An array with all the events happened.
|
* @return array An array with all the events happened.
|
||||||
*/
|
*/
|
||||||
|
@ -5133,7 +5140,8 @@ function events_get_count_events_by_agent(
|
||||||
$filter_event_type=false,
|
$filter_event_type=false,
|
||||||
$filter_event_status=false,
|
$filter_event_status=false,
|
||||||
$filter_event_filter_search=false,
|
$filter_event_filter_search=false,
|
||||||
$dbmeta=false
|
$dbmeta=false,
|
||||||
|
$filter_event_filter_exclude=false
|
||||||
) {
|
) {
|
||||||
global $config;
|
global $config;
|
||||||
|
|
||||||
|
@ -5233,6 +5241,10 @@ function events_get_count_events_by_agent(
|
||||||
$sql_where .= ' AND (evento LIKE "%'.io_safe_input($filter_event_filter_search).'%" OR id_evento LIKE "%'.io_safe_input($filter_event_filter_search).'%")';
|
$sql_where .= ' AND (evento LIKE "%'.io_safe_input($filter_event_filter_search).'%" OR id_evento LIKE "%'.io_safe_input($filter_event_filter_search).'%")';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!empty($filter_event_filter_exclude)) {
|
||||||
|
$sql_where .= ' AND (evento NOT LIKE "%'.io_safe_input($filter_event_filter_exclude).'%" AND id_evento NOT LIKE "%'.io_safe_input($filter_event_filter_exclude).'%")';
|
||||||
|
}
|
||||||
|
|
||||||
$tagente = 'tagente';
|
$tagente = 'tagente';
|
||||||
$tevento = 'tevento';
|
$tevento = 'tevento';
|
||||||
|
|
||||||
|
@ -5285,14 +5297,15 @@ function events_get_count_events_by_agent(
|
||||||
*
|
*
|
||||||
* The returned events will be in the time interval ($date - $period, $date]
|
* The returned events will be in the time interval ($date - $period, $date]
|
||||||
*
|
*
|
||||||
* @param array $filter Use target filter.
|
* @param array $filter Use target filter.
|
||||||
* @param integer $period Period in seconds to get events.
|
* @param integer $period Period in seconds to get events.
|
||||||
* @param integer $date Beginning date to get events.
|
* @param integer $date Beginning date to get events.
|
||||||
* @param boolean $filter_event_severity Filter_event_severity.
|
* @param boolean $filter_event_severity Filter_event_severity.
|
||||||
* @param boolean $filter_event_type Filter_event_type.
|
* @param boolean $filter_event_type Filter_event_type.
|
||||||
* @param boolean $filter_event_status Filter_event_status.
|
* @param boolean $filter_event_status Filter_event_status.
|
||||||
* @param boolean $filter_event_filter_search Filter_event_filter_search.
|
* @param boolean $filter_event_filter_search Filter_event_filter_search.
|
||||||
* @param boolean $dbmeta Dbmeta.
|
* @param boolean $dbmeta Dbmeta.
|
||||||
|
* @param boolean $filter_event_filter_exclude Filter_event_filter_exclude.
|
||||||
*
|
*
|
||||||
* @return array An array with all the events happened.
|
* @return array An array with all the events happened.
|
||||||
*/
|
*/
|
||||||
|
@ -5304,7 +5317,8 @@ function events_get_count_events_validated_by_user(
|
||||||
$filter_event_type=false,
|
$filter_event_type=false,
|
||||||
$filter_event_status=false,
|
$filter_event_status=false,
|
||||||
$filter_event_filter_search=false,
|
$filter_event_filter_search=false,
|
||||||
$dbmeta=false
|
$dbmeta=false,
|
||||||
|
$filter_event_filter_exclude=false
|
||||||
) {
|
) {
|
||||||
global $config;
|
global $config;
|
||||||
$tevento = 'tevento';
|
$tevento = 'tevento';
|
||||||
|
@ -5426,6 +5440,10 @@ function events_get_count_events_validated_by_user(
|
||||||
$sql_where .= ' AND (evento LIKE "%'.io_safe_input($filter_event_filter_search).'%" OR id_evento LIKE "%'.io_safe_input($filter_event_filter_search).'%")';
|
$sql_where .= ' AND (evento LIKE "%'.io_safe_input($filter_event_filter_search).'%" OR id_evento LIKE "%'.io_safe_input($filter_event_filter_search).'%")';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!empty($filter_event_filter_exclude)) {
|
||||||
|
$sql_where .= ' AND (evento NOT LIKE "%'.io_safe_input($filter_event_filter_exclude).'%" AND id_evento NOT LIKE "%'.io_safe_input($filter_event_filter_exclude).'%")';
|
||||||
|
}
|
||||||
|
|
||||||
$sql = sprintf(
|
$sql = sprintf(
|
||||||
'SELECT
|
'SELECT
|
||||||
te.id_usuario,
|
te.id_usuario,
|
||||||
|
@ -5474,14 +5492,15 @@ function events_get_count_events_validated_by_user(
|
||||||
*
|
*
|
||||||
* The returned events will be in the time interval ($date - $period, $date]
|
* The returned events will be in the time interval ($date - $period, $date]
|
||||||
*
|
*
|
||||||
* @param mixed $filter Target filter.
|
* @param mixed $filter Target filter.
|
||||||
* @param integer $period Period in seconds to get events.
|
* @param integer $period Period in seconds to get events.
|
||||||
* @param integer $date Beginning date to get events.
|
* @param integer $date Beginning date to get events.
|
||||||
* @param boolean $filter_event_severity Filter_event_severity.
|
* @param boolean $filter_event_severity Filter_event_severity.
|
||||||
* @param boolean $filter_event_type Filter_event_type.
|
* @param boolean $filter_event_type Filter_event_type.
|
||||||
* @param boolean $filter_event_status Filter_event_status.
|
* @param boolean $filter_event_status Filter_event_status.
|
||||||
* @param boolean $filter_event_filter_search Filter_event_filter_search.
|
* @param boolean $filter_event_filter_search Filter_event_filter_search.
|
||||||
* @param boolean $dbmeta Dbmeta.
|
* @param boolean $dbmeta Dbmeta.
|
||||||
|
* @param boolean $filter_event_filter_exclude Filter_event_filter_exclude.
|
||||||
*
|
*
|
||||||
* @return array An array with all the events happened.
|
* @return array An array with all the events happened.
|
||||||
*/
|
*/
|
||||||
|
@ -5493,7 +5512,8 @@ function events_get_count_events_by_criticity(
|
||||||
$filter_event_type=false,
|
$filter_event_type=false,
|
||||||
$filter_event_status=false,
|
$filter_event_status=false,
|
||||||
$filter_event_filter_search=false,
|
$filter_event_filter_search=false,
|
||||||
$dbmeta=false
|
$dbmeta=false,
|
||||||
|
$filter_event_filter_exclude=false
|
||||||
) {
|
) {
|
||||||
global $config;
|
global $config;
|
||||||
|
|
||||||
|
@ -5617,6 +5637,10 @@ function events_get_count_events_by_criticity(
|
||||||
$sql_where .= ' AND (evento LIKE "%'.io_safe_input($filter_event_filter_search).'%" OR id_evento LIKE "%'.io_safe_input($filter_event_filter_search).'%")';
|
$sql_where .= ' AND (evento LIKE "%'.io_safe_input($filter_event_filter_search).'%" OR id_evento LIKE "%'.io_safe_input($filter_event_filter_search).'%")';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!empty($filter_event_filter_exclude)) {
|
||||||
|
$sql_where .= ' AND (evento NOT LIKE "%'.io_safe_input($filter_event_filter_exclude).'%" AND id_evento NOT LIKE "%'.io_safe_input($filter_event_filter_exclude).'%")';
|
||||||
|
}
|
||||||
|
|
||||||
$sql = sprintf(
|
$sql = sprintf(
|
||||||
'SELECT
|
'SELECT
|
||||||
te.criticity,
|
te.criticity,
|
||||||
|
@ -5656,14 +5680,15 @@ function events_get_count_events_by_criticity(
|
||||||
*
|
*
|
||||||
* The returned events will be in the time interval ($date - $period, $date]
|
* The returned events will be in the time interval ($date - $period, $date]
|
||||||
*
|
*
|
||||||
* @param mixed $filter Target filter.
|
* @param mixed $filter Target filter.
|
||||||
* @param integer $period Period in seconds to get events.
|
* @param integer $period Period in seconds to get events.
|
||||||
* @param integer $date Beginning date to get events.
|
* @param integer $date Beginning date to get events.
|
||||||
* @param boolean $filter_event_severity Filter_event_severity.
|
* @param boolean $filter_event_severity Filter_event_severity.
|
||||||
* @param boolean $filter_event_type Filter_event_type.
|
* @param boolean $filter_event_type Filter_event_type.
|
||||||
* @param boolean $filter_event_status Filter_event_status.
|
* @param boolean $filter_event_status Filter_event_status.
|
||||||
* @param boolean $filter_event_filter_search Filter_event_filter_search.
|
* @param boolean $filter_event_filter_search Filter_event_filter_search.
|
||||||
* @param boolean $dbmeta Dbmeta.
|
* @param boolean $dbmeta Dbmeta.
|
||||||
|
* @param boolean $filter_event_filter_exclude Filter_event_filter_exclude.
|
||||||
*
|
*
|
||||||
* @return array An array with all the events happened.
|
* @return array An array with all the events happened.
|
||||||
*/
|
*/
|
||||||
|
@ -5675,7 +5700,8 @@ function events_get_count_events_validated(
|
||||||
$filter_event_type=false,
|
$filter_event_type=false,
|
||||||
$filter_event_status=false,
|
$filter_event_status=false,
|
||||||
$filter_event_filter_search=false,
|
$filter_event_filter_search=false,
|
||||||
$dbmeta=false
|
$dbmeta=false,
|
||||||
|
$filter_event_filter_exclude=false
|
||||||
) {
|
) {
|
||||||
global $config;
|
global $config;
|
||||||
$tevento = 'tevento';
|
$tevento = 'tevento';
|
||||||
|
@ -5828,6 +5854,10 @@ function events_get_count_events_validated(
|
||||||
$sql_where .= ' AND (evento LIKE "%'.io_safe_input($filter_event_filter_search).'%" OR id_evento LIKE "%'.io_safe_input($filter_event_filter_search).'%")';
|
$sql_where .= ' AND (evento LIKE "%'.io_safe_input($filter_event_filter_search).'%" OR id_evento LIKE "%'.io_safe_input($filter_event_filter_search).'%")';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!empty($filter_event_filter_exclude)) {
|
||||||
|
$sql_where .= ' AND (evento NOT LIKE "%'.io_safe_input($filter_event_filter_exclude).'%" AND id_evento NOT LIKE "%'.io_safe_input($filter_event_filter_exclude).'%")';
|
||||||
|
}
|
||||||
|
|
||||||
$sql = sprintf(
|
$sql = sprintf(
|
||||||
'SELECT
|
'SELECT
|
||||||
te.estado,
|
te.estado,
|
||||||
|
|
|
@ -1505,7 +1505,6 @@ function html_print_extended_select_for_unit(
|
||||||
|
|
||||||
// $fields = post_process_get_custom_values();
|
// $fields = post_process_get_custom_values();
|
||||||
$fields['_timeticks_'] = 'Timeticks';
|
$fields['_timeticks_'] = 'Timeticks';
|
||||||
$fields['none'] = __('none');
|
|
||||||
|
|
||||||
$default_module_custom_units = get_custom_module_units();
|
$default_module_custom_units = get_custom_module_units();
|
||||||
|
|
||||||
|
|
|
@ -116,6 +116,68 @@ function get_notification_targets(int $id_message)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return subtypes.
|
||||||
|
*
|
||||||
|
* @param string|null $source Source filter or all.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
function notifications_get_subtypes(?string $source=null)
|
||||||
|
{
|
||||||
|
$subtypes = [
|
||||||
|
'System status' => [
|
||||||
|
'NOTIF.LICENSE.LIMITED',
|
||||||
|
'NOTIF.LICENSE.EXPIRATION',
|
||||||
|
'NOTIF.FILES.ATTACHMENT',
|
||||||
|
'NOTIF.FILES.DATAIN',
|
||||||
|
'NOTIF.FILES.DATAIN.BADXML',
|
||||||
|
'NOTIF.PHP.SAFE_MODE',
|
||||||
|
'NOTIF.PHP.INPUT_TIME',
|
||||||
|
'NOTIF.PHP.EXECUTION_TIME',
|
||||||
|
'NOTIF.PHP.UPLOAD_MAX_FILESIZE',
|
||||||
|
'NOTIF.PHP.MEMORY_LIMIT',
|
||||||
|
'NOTIF.PHP.DISABLE_FUNCTIONS',
|
||||||
|
'NOTIF.PHP.PHANTOMJS',
|
||||||
|
'NOTIF.PHP.VERSION',
|
||||||
|
'NOTIF.HISTORYDB',
|
||||||
|
'NOTIF.PANDORADB',
|
||||||
|
'NOTIF.PANDORADB.HISTORICAL',
|
||||||
|
'NOTIF.HISTORYDB.MR',
|
||||||
|
'NOTIF.EXT.ELASTICSEARCH',
|
||||||
|
'NOTIF.EXT.LOGSTASH',
|
||||||
|
'NOTIF.METACONSOLE.DB_CONNECTION',
|
||||||
|
'NOTIF.DOWNTIME',
|
||||||
|
'NOTIF.UPDATEMANAGER.REGISTRATION',
|
||||||
|
'NOTIF.MISC.EVENTSTORMPROTECTION',
|
||||||
|
'NOTIF.MISC.DEVELOPBYPASS',
|
||||||
|
'NOTIF.MISC.FONTPATH',
|
||||||
|
'NOTIF.SECURITY.DEFAULT_PASSWORD',
|
||||||
|
'NOTIF.UPDATEMANAGER.OPENSETUP',
|
||||||
|
'NOTIF.UPDATEMANAGER.UPDATE',
|
||||||
|
'NOTIF.UPDATEMANAGER.MINOR',
|
||||||
|
'NOTIF.UPDATEMANAGER.MESSAGES',
|
||||||
|
'NOTIF.CRON.CONFIGURED',
|
||||||
|
'NOTIF.ALLOWOVERRIDE.MESSAGE',
|
||||||
|
'NOTIF.HAMASTER.MESSAGE',
|
||||||
|
'NOTIF.SERVER.STATUS',
|
||||||
|
'NOTIF.SERVER.QUEUE',
|
||||||
|
'NOTIF.SERVER.MASTER',
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
|
if ($source === null) {
|
||||||
|
return $subtypes;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($subtypes[$source]) === true) {
|
||||||
|
return $subtypes[$source];
|
||||||
|
}
|
||||||
|
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if current user has grants to read this notification
|
* Check if current user has grants to read this notification
|
||||||
*
|
*
|
||||||
|
@ -160,14 +222,28 @@ function check_notification_readable(int $id_message)
|
||||||
* Returns the target users and groups assigned to be notified on
|
* Returns the target users and groups assigned to be notified on
|
||||||
* desired source.
|
* desired source.
|
||||||
*
|
*
|
||||||
* @param integer $id_source Source identificator.
|
* @param integer $id_source Source identificator.
|
||||||
|
* @param string|null $subtype Subtype identification.
|
||||||
*
|
*
|
||||||
* @return array [users] and [groups] with the targets.
|
* @return array [users] and [groups] with the targets.
|
||||||
*/
|
*/
|
||||||
function get_notification_source_targets(int $id_source)
|
function get_notification_source_targets(int $id_source, ?string $subtype=null)
|
||||||
{
|
{
|
||||||
$ret = [];
|
$ret = [];
|
||||||
|
|
||||||
|
$filter = '';
|
||||||
|
if ($subtype !== null) {
|
||||||
|
$matches = [];
|
||||||
|
if (preg_match('/(.*)\.\d+$/', $subtype, $matches) > 0) {
|
||||||
|
$subtype = $matches[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
$filter = sprintf(
|
||||||
|
' AND ns.`subtype_blacklist` NOT LIKE "%%%s%%"',
|
||||||
|
$subtype
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
$users = db_get_all_rows_sql(
|
$users = db_get_all_rows_sql(
|
||||||
sprintf(
|
sprintf(
|
||||||
'SELECT
|
'SELECT
|
||||||
|
@ -176,9 +252,11 @@ function get_notification_source_targets(int $id_source)
|
||||||
FROM tnotification_source_user nsu
|
FROM tnotification_source_user nsu
|
||||||
INNER JOIN tnotification_source ns
|
INNER JOIN tnotification_source ns
|
||||||
ON ns.id=nsu.id_source
|
ON ns.id=nsu.id_source
|
||||||
|
%s
|
||||||
WHERE ns.id = %d
|
WHERE ns.id = %d
|
||||||
AND ((ns.enabled is NULL OR ns.enabled != 0)
|
AND ((ns.enabled is NULL OR ns.enabled != 0)
|
||||||
OR (nsu.enabled is NULL OR nsu.enabled != 0))',
|
OR (nsu.enabled is NULL OR nsu.enabled != 0))',
|
||||||
|
$filter,
|
||||||
$id_source
|
$id_source
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
@ -197,8 +275,10 @@ function get_notification_source_targets(int $id_source)
|
||||||
FROM tnotification_source_group nsg
|
FROM tnotification_source_group nsg
|
||||||
INNER JOIN tnotification_source ns
|
INNER JOIN tnotification_source ns
|
||||||
ON ns.id=nsg.id_source
|
ON ns.id=nsg.id_source
|
||||||
|
%s
|
||||||
WHERE ns.id = %d
|
WHERE ns.id = %d
|
||||||
AND (ns.enabled is NULL OR ns.enabled != 0)',
|
AND (ns.enabled is NULL OR ns.enabled != 0)',
|
||||||
|
$filter,
|
||||||
$id_source
|
$id_source
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
@ -700,8 +780,47 @@ function notifications_print_global_source_configuration($source)
|
||||||
);
|
);
|
||||||
$html_selectors .= '</div>';
|
$html_selectors .= '</div>';
|
||||||
|
|
||||||
|
$html_checkboxes = '';
|
||||||
|
|
||||||
|
$blacklist = json_decode($source['subtype_blacklist'], 1);
|
||||||
|
if (json_last_error() !== JSON_ERROR_NONE) {
|
||||||
|
$blacklist = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($source['description'] === io_safe_input('System status')) {
|
||||||
|
$system_subtypes = notifications_get_subtypes('System status');
|
||||||
|
|
||||||
|
foreach ($system_subtypes as $type) {
|
||||||
|
$html_checkboxes .= html_print_input(
|
||||||
|
[
|
||||||
|
'input_class' => 'flex flex-row w290px margin-soft',
|
||||||
|
'label' => $type,
|
||||||
|
'name' => 'check-'.$type,
|
||||||
|
'type' => 'switch',
|
||||||
|
'id' => 'nt-'.$source['id'].'.'.$type.'-subtype',
|
||||||
|
'class' => 'elem-clickable',
|
||||||
|
'value' => (isset($blacklist[$type]) === false),
|
||||||
|
'return' => true,
|
||||||
|
]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
$html_checkboxes = ui_print_toggle(
|
||||||
|
[
|
||||||
|
'content' => $html_checkboxes,
|
||||||
|
'name' => __('Subtype customization'),
|
||||||
|
'hidden_default' => false,
|
||||||
|
'return' => true,
|
||||||
|
'toggle_class' => '',
|
||||||
|
'container_class' => 'flex flex-row flex-start w100p',
|
||||||
|
'main_class' => '',
|
||||||
|
'clean' => true,
|
||||||
|
]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
// Return all html.
|
// Return all html.
|
||||||
return $html_title.$html_selectors.$html_checkboxes.$html_select_pospone;
|
return $html_title.$html_selectors.$html_checkboxes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1868,6 +1868,10 @@ function reporting_event_report_group(
|
||||||
$return['subtitle'] .= ' ('.$content['style']['event_filter_search'].')';
|
$return['subtitle'] .= ' ('.$content['style']['event_filter_search'].')';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!empty($content['style']['event_filter_exclude'])) {
|
||||||
|
$return['subtitle'] .= ' ('.__('Exclude ').$content['style']['event_filter_exclude'].')';
|
||||||
|
}
|
||||||
|
|
||||||
$return['description'] = $content['description'];
|
$return['description'] = $content['description'];
|
||||||
$return['show_extended_events'] = $content['show_extended_events'];
|
$return['show_extended_events'] = $content['show_extended_events'];
|
||||||
$return['date'] = reporting_get_date_text($report, $content);
|
$return['date'] = reporting_get_date_text($report, $content);
|
||||||
|
@ -1880,6 +1884,7 @@ function reporting_event_report_group(
|
||||||
$filter_event_type = json_decode($event_filter['filter_event_type'], true);
|
$filter_event_type = json_decode($event_filter['filter_event_type'], true);
|
||||||
$filter_event_status = json_decode($event_filter['filter_event_status'], true);
|
$filter_event_status = json_decode($event_filter['filter_event_status'], true);
|
||||||
$filter_event_filter_search = $event_filter['event_filter_search'];
|
$filter_event_filter_search = $event_filter['event_filter_search'];
|
||||||
|
$filter_event_filter_exclude = $event_filter['event_filter_exclude'];
|
||||||
|
|
||||||
// Graphs.
|
// Graphs.
|
||||||
$event_graph_by_agent = $event_filter['event_graph_by_agent'];
|
$event_graph_by_agent = $event_filter['event_graph_by_agent'];
|
||||||
|
@ -1919,7 +1924,11 @@ function reporting_event_report_group(
|
||||||
$filter_event_status,
|
$filter_event_status,
|
||||||
$filter_event_filter_search,
|
$filter_event_filter_search,
|
||||||
$content['id_group'],
|
$content['id_group'],
|
||||||
true
|
true,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
$filter_event_filter_exclude
|
||||||
);
|
);
|
||||||
|
|
||||||
if (empty($data)) {
|
if (empty($data)) {
|
||||||
|
@ -1965,7 +1974,8 @@ function reporting_event_report_group(
|
||||||
$filter_event_type,
|
$filter_event_type,
|
||||||
$filter_event_status,
|
$filter_event_status,
|
||||||
$filter_event_filter_search,
|
$filter_event_filter_search,
|
||||||
$metaconsole_dbtable
|
$metaconsole_dbtable,
|
||||||
|
$filter_event_filter_exclude
|
||||||
);
|
);
|
||||||
|
|
||||||
$return['chart']['by_agent'] = pie_graph(
|
$return['chart']['by_agent'] = pie_graph(
|
||||||
|
@ -1990,7 +2000,8 @@ function reporting_event_report_group(
|
||||||
$filter_event_type,
|
$filter_event_type,
|
||||||
$filter_event_status,
|
$filter_event_status,
|
||||||
$filter_event_filter_search,
|
$filter_event_filter_search,
|
||||||
$metaconsole_dbtable
|
$metaconsole_dbtable,
|
||||||
|
$filter_event_filter_exclude
|
||||||
);
|
);
|
||||||
|
|
||||||
$return['chart']['by_user_validator'] = pie_graph(
|
$return['chart']['by_user_validator'] = pie_graph(
|
||||||
|
@ -2044,7 +2055,8 @@ function reporting_event_report_group(
|
||||||
$filter_event_type,
|
$filter_event_type,
|
||||||
$filter_event_status,
|
$filter_event_status,
|
||||||
$filter_event_filter_search,
|
$filter_event_filter_search,
|
||||||
$metaconsole_dbtable
|
$metaconsole_dbtable,
|
||||||
|
$filter_event_filter_exclude
|
||||||
);
|
);
|
||||||
|
|
||||||
$return['chart']['validated_vs_unvalidated'] = pie_graph(
|
$return['chart']['validated_vs_unvalidated'] = pie_graph(
|
||||||
|
@ -2189,6 +2201,7 @@ function reporting_event_report_module(
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
$filter_event_filter_search = $event_filter['event_filter_search'];
|
$filter_event_filter_search = $event_filter['event_filter_search'];
|
||||||
|
$filter_event_filter_exclude = $event_filter['event_filter_exclude'];
|
||||||
|
|
||||||
// Graphs.
|
// Graphs.
|
||||||
$event_graph_by_user_validator = $event_filter['event_graph_by_user_validator'];
|
$event_graph_by_user_validator = $event_filter['event_graph_by_user_validator'];
|
||||||
|
@ -2218,7 +2231,8 @@ function reporting_event_report_module(
|
||||||
$event_graph_validated_vs_unvalidated,
|
$event_graph_validated_vs_unvalidated,
|
||||||
$ttl,
|
$ttl,
|
||||||
$id_server,
|
$id_server,
|
||||||
$metaconsole_dbtable
|
$metaconsole_dbtable,
|
||||||
|
$filter_event_filter_exclude
|
||||||
);
|
);
|
||||||
|
|
||||||
if (empty($data)) {
|
if (empty($data)) {
|
||||||
|
@ -3259,6 +3273,7 @@ function reporting_event_report_agent(
|
||||||
$filter_event_type = json_decode($style['filter_event_type'], true);
|
$filter_event_type = json_decode($style['filter_event_type'], true);
|
||||||
$filter_event_status = json_decode($style['filter_event_status'], true);
|
$filter_event_status = json_decode($style['filter_event_status'], true);
|
||||||
$filter_event_filter_search = $style['event_filter_search'];
|
$filter_event_filter_search = $style['event_filter_search'];
|
||||||
|
$filter_event_filter_exclude = $style['event_filter_exclude'];
|
||||||
|
|
||||||
// Graph.
|
// Graph.
|
||||||
$event_graph_by_user_validator = $style['event_graph_by_user_validator'];
|
$event_graph_by_user_validator = $style['event_graph_by_user_validator'];
|
||||||
|
@ -3276,7 +3291,8 @@ function reporting_event_report_agent(
|
||||||
$filter_event_severity,
|
$filter_event_severity,
|
||||||
$filter_event_type,
|
$filter_event_type,
|
||||||
$filter_event_status,
|
$filter_event_status,
|
||||||
$filter_event_filter_search
|
$filter_event_filter_search,
|
||||||
|
$filter_event_filter_exclude
|
||||||
);
|
);
|
||||||
|
|
||||||
reporting_set_conf_charts(
|
reporting_set_conf_charts(
|
||||||
|
@ -3316,7 +3332,8 @@ function reporting_event_report_agent(
|
||||||
$filter_event_type,
|
$filter_event_type,
|
||||||
$filter_event_status,
|
$filter_event_status,
|
||||||
$filter_event_filter_search,
|
$filter_event_filter_search,
|
||||||
$metaconsole_dbtable
|
$metaconsole_dbtable,
|
||||||
|
$filter_event_filter_exclude
|
||||||
);
|
);
|
||||||
|
|
||||||
$return['chart']['by_user_validator'] = pie_graph(
|
$return['chart']['by_user_validator'] = pie_graph(
|
||||||
|
@ -3341,7 +3358,8 @@ function reporting_event_report_agent(
|
||||||
$filter_event_type,
|
$filter_event_type,
|
||||||
$filter_event_status,
|
$filter_event_status,
|
||||||
$filter_event_filter_search,
|
$filter_event_filter_search,
|
||||||
$metaconsole_dbtable
|
$metaconsole_dbtable,
|
||||||
|
$filter_event_filter_exclude
|
||||||
);
|
);
|
||||||
|
|
||||||
$colors = get_criticity_pie_colors($data_graph);
|
$colors = get_criticity_pie_colors($data_graph);
|
||||||
|
@ -3370,7 +3388,8 @@ function reporting_event_report_agent(
|
||||||
$filter_event_type,
|
$filter_event_type,
|
||||||
$filter_event_status,
|
$filter_event_status,
|
||||||
$filter_event_filter_search,
|
$filter_event_filter_search,
|
||||||
$metaconsole_dbtable
|
$metaconsole_dbtable,
|
||||||
|
$filter_event_filter_exclude
|
||||||
);
|
);
|
||||||
|
|
||||||
$return['chart']['validated_vs_unvalidated'] = pie_graph(
|
$return['chart']['validated_vs_unvalidated'] = pie_graph(
|
||||||
|
@ -9406,7 +9425,8 @@ function reporting_get_module_detailed_event(
|
||||||
$event_graph_validated_vs_unvalidated=false,
|
$event_graph_validated_vs_unvalidated=false,
|
||||||
$ttl=1,
|
$ttl=1,
|
||||||
$id_server=false,
|
$id_server=false,
|
||||||
$metaconsole_dbtable=false
|
$metaconsole_dbtable=false,
|
||||||
|
$filter_event_filter_exclude=false
|
||||||
) {
|
) {
|
||||||
global $config;
|
global $config;
|
||||||
|
|
||||||
|
@ -9442,7 +9462,8 @@ function reporting_get_module_detailed_event(
|
||||||
false,
|
false,
|
||||||
$id_module,
|
$id_module,
|
||||||
true,
|
true,
|
||||||
$id_server
|
$id_server,
|
||||||
|
$filter_event_filter_exclude
|
||||||
);
|
);
|
||||||
|
|
||||||
// total_events
|
// total_events
|
||||||
|
@ -9470,7 +9491,8 @@ function reporting_get_module_detailed_event(
|
||||||
$filter_event_type,
|
$filter_event_type,
|
||||||
$filter_event_status,
|
$filter_event_status,
|
||||||
$filter_event_filter_search,
|
$filter_event_filter_search,
|
||||||
$metaconsole_dbtable
|
$metaconsole_dbtable,
|
||||||
|
$filter_event_filter_exclude
|
||||||
);
|
);
|
||||||
|
|
||||||
$event['chart']['by_user_validator'] = pie_graph(
|
$event['chart']['by_user_validator'] = pie_graph(
|
||||||
|
@ -9495,7 +9517,8 @@ function reporting_get_module_detailed_event(
|
||||||
$filter_event_type,
|
$filter_event_type,
|
||||||
$filter_event_status,
|
$filter_event_status,
|
||||||
$filter_event_filter_search,
|
$filter_event_filter_search,
|
||||||
$metaconsole_dbtable
|
$metaconsole_dbtable,
|
||||||
|
$filter_event_filter_exclude
|
||||||
);
|
);
|
||||||
|
|
||||||
$colors = get_criticity_pie_colors($data_graph);
|
$colors = get_criticity_pie_colors($data_graph);
|
||||||
|
@ -9524,7 +9547,8 @@ function reporting_get_module_detailed_event(
|
||||||
$filter_event_type,
|
$filter_event_type,
|
||||||
$filter_event_status,
|
$filter_event_status,
|
||||||
$filter_event_filter_search,
|
$filter_event_filter_search,
|
||||||
$metaconsole_dbtable
|
$metaconsole_dbtable,
|
||||||
|
$filter_event_filter_exclude
|
||||||
);
|
);
|
||||||
|
|
||||||
$event['chart']['validated_vs_unvalidated'] = pie_graph(
|
$event['chart']['validated_vs_unvalidated'] = pie_graph(
|
||||||
|
@ -9573,7 +9597,8 @@ function reporting_get_agents_detailed_event(
|
||||||
$filter_event_severity=false,
|
$filter_event_severity=false,
|
||||||
$filter_event_type=false,
|
$filter_event_type=false,
|
||||||
$filter_event_status=false,
|
$filter_event_status=false,
|
||||||
$filter_event_filter_search=false
|
$filter_event_filter_search=false,
|
||||||
|
$filter_event_filter_exclude=false
|
||||||
) {
|
) {
|
||||||
global $config;
|
global $config;
|
||||||
|
|
||||||
|
@ -9605,7 +9630,11 @@ function reporting_get_agents_detailed_event(
|
||||||
$filter_event_status,
|
$filter_event_status,
|
||||||
$filter_event_filter_search,
|
$filter_event_filter_search,
|
||||||
false,
|
false,
|
||||||
false
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
$filter_event_filter_exclude
|
||||||
);
|
);
|
||||||
|
|
||||||
if (empty($event)) {
|
if (empty($event)) {
|
||||||
|
|
|
@ -1492,9 +1492,9 @@ function snmp_browser_print_create_module_massive($target='agent', $snmp_conf, $
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
$table->data[2][0] = __($target_item.' available').html_print_input_image('select_all_left', 'images/tick.png', 1, '', true, ['title' => __('Select all')]);
|
$table->data[2][0] = '<b>'.__($target_item.' available').'</b><br> '.__('Select all').html_print_checkbox_switch('select_all_left', 1, false, true);
|
||||||
$table->data[2][1] = '';
|
$table->data[2][1] = '';
|
||||||
$table->data[2][2] = __($target_item.' to apply').html_print_input_image('select_all_right', 'images/tick.png', 1, '', true, ['title' => __('Select all')]);
|
$table->data[2][2] = '<b>'.__($target_item.' to apply').'</b><br> '.__('Select all').html_print_checkbox_switch('select_all_right', 1, false, true);
|
||||||
|
|
||||||
$table->data[3][0] = html_print_select(
|
$table->data[3][0] = html_print_select(
|
||||||
[],
|
[],
|
||||||
|
|
|
@ -92,6 +92,7 @@ function tactical_get_data($id_user=false, $user_strict=false, $acltags, $return
|
||||||
$list['_monitors_unknown_'] = 0;
|
$list['_monitors_unknown_'] = 0;
|
||||||
$list['_monitors_not_init_'] = 0;
|
$list['_monitors_not_init_'] = 0;
|
||||||
$list['_monitors_ok_'] = 0;
|
$list['_monitors_ok_'] = 0;
|
||||||
|
$list['_monitors_alerts_fired_'] = 0;
|
||||||
|
|
||||||
if (empty($list_groups)) {
|
if (empty($list_groups)) {
|
||||||
$list_groups = [];
|
$list_groups = [];
|
||||||
|
|
|
@ -960,7 +960,6 @@ function pandoraFlotArea(
|
||||||
legend,
|
legend,
|
||||||
series_type,
|
series_type,
|
||||||
color,
|
color,
|
||||||
water_mark,
|
|
||||||
date_array,
|
date_array,
|
||||||
data_module_graph,
|
data_module_graph,
|
||||||
params,
|
params,
|
||||||
|
@ -977,7 +976,6 @@ function pandoraFlotArea(
|
||||||
.shift();
|
.shift();
|
||||||
var width = params.width;
|
var width = params.width;
|
||||||
var vconsole = params.vconsole;
|
var vconsole = params.vconsole;
|
||||||
var dashboard = params.dashboard;
|
|
||||||
var menu = params.menu;
|
var menu = params.menu;
|
||||||
var min_x = date_array["start_date"] * 1000;
|
var min_x = date_array["start_date"] * 1000;
|
||||||
var max_x = date_array["final_date"] * 1000;
|
var max_x = date_array["final_date"] * 1000;
|
||||||
|
@ -2799,17 +2797,6 @@ function pandoraFlotArea(
|
||||||
);
|
);
|
||||||
adjust_menu(graph_id, plot, parent_height, width, show_legend);
|
adjust_menu(graph_id, plot, parent_height, width, show_legend);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!dashboard) {
|
|
||||||
if (water_mark) {
|
|
||||||
set_watermark(
|
|
||||||
graph_id,
|
|
||||||
plot,
|
|
||||||
$("#watermark_image_" + graph_id).attr("src")
|
|
||||||
);
|
|
||||||
}
|
|
||||||
//adjust_menu(graph_id, plot, parent_height, width, show_legend);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function format_unit_yaxes(y) {
|
function format_unit_yaxes(y) {
|
||||||
|
|
|
@ -262,15 +262,17 @@ function flot_area_graph(
|
||||||
$params['height'] = 1;
|
$params['height'] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$vconsole) {
|
if ((bool) $params['vconsole'] === false) {
|
||||||
$return .= "<div id='overview_$graph_id' class='overview_graph'
|
$return .= '<div id="overview_'.$graph_id.'" class="overview_graph" style="margin:0px; margin-top:30px; margin-bottom:50px; width:'.$params['width'].'px; height: 200px;"></div>';
|
||||||
style='margin:0px; margin-top:30px; margin-bottom:50px; width: ".$params['width']."px; height: 200px;'></div>";
|
$legend_top = 10;
|
||||||
|
if (empty($params['show_legend']) === false) {
|
||||||
|
$legend_top = (20 + (count($legend) * 18));
|
||||||
|
}
|
||||||
|
|
||||||
if ($water_mark != '') {
|
if ($water_mark != '' && (bool) $params['dashboard'] === false) {
|
||||||
$return .= "<div id='watermark_$graph_id' style='display:none; position:absolute;'><img id='watermark_image_$graph_id' src='".$water_mark['url']."'></div>";
|
$return .= '<div id="watermark_'.$graph_id.'" style="position:absolute; top: '.$legend_top.'px; left: calc(100% - 100px);">';
|
||||||
$watermark = 'true';
|
$return .= '<img id="watermark_image_'.$graph_id.'" src="'.$water_mark['url'].'">';
|
||||||
} else {
|
$return .= '</div>';
|
||||||
$watermark = 'false';
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -314,7 +316,6 @@ function flot_area_graph(
|
||||||
$return .= $legend.", \n";
|
$return .= $legend.", \n";
|
||||||
$return .= $series_type.", \n";
|
$return .= $series_type.", \n";
|
||||||
$return .= $color.", \n";
|
$return .= $color.", \n";
|
||||||
$return .= $watermark.", \n";
|
|
||||||
$return .= $date_array.", \n";
|
$return .= $date_array.", \n";
|
||||||
$return .= $data_module_graph.", \n";
|
$return .= $data_module_graph.", \n";
|
||||||
$return .= $params.", \n";
|
$return .= $params.", \n";
|
||||||
|
|
|
@ -35,11 +35,23 @@
|
||||||
$("option[value!=0]", $select).remove ();
|
$("option[value!=0]", $select).remove ();
|
||||||
if (! config.callbackBefore (this))
|
if (! config.callbackBefore (this))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (typeof config.recursion === "function") {
|
||||||
|
// Perform this for those cases where recursion parameter is obtained through a function that returns a variable that is set in the lexical environment where this constructor is called.
|
||||||
|
var recursion_value = config.recursion();
|
||||||
|
|
||||||
|
if (typeof recursion_value === "boolean") {
|
||||||
|
recursion_value = recursion_value ? 1 : 0;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
var recursion_value = config.recursion;
|
||||||
|
}
|
||||||
|
|
||||||
var opts = {
|
var opts = {
|
||||||
"page" : "godmode/groups/group_list",
|
"page" : "godmode/groups/group_list",
|
||||||
"get_group_agents" : 1,
|
"get_group_agents" : 1,
|
||||||
"id_group" : this.value,
|
"id_group" : this.value,
|
||||||
"recursion" : config.recursion,
|
"recursion" : recursion_value,
|
||||||
"filter_agents_json" : config.filter_agents_json,
|
"filter_agents_json" : config.filter_agents_json,
|
||||||
"disabled" : (typeof config.disabled === "function")
|
"disabled" : (typeof config.disabled === "function")
|
||||||
? (config.disabled())
|
? (config.disabled())
|
||||||
|
|
|
@ -275,7 +275,10 @@ function agent_changed_by_multiple_agents(event, id_agent, selected) {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
jQuery.each(data, function(i, val) {
|
|
||||||
|
var all_common_modules = [];
|
||||||
|
|
||||||
|
$.each(data, function(i, val) {
|
||||||
var s = js_html_entity_decode(val);
|
var s = js_html_entity_decode(val);
|
||||||
|
|
||||||
$("#module").append(
|
$("#module").append(
|
||||||
|
@ -285,8 +288,12 @@ function agent_changed_by_multiple_agents(event, id_agent, selected) {
|
||||||
.attr("title", s)
|
.attr("title", s)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
all_common_modules.push(i);
|
||||||
$("#module").fadeIn("normal");
|
$("#module").fadeIn("normal");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$("#hidden-all_common_modules").val(all_common_modules.toString());
|
||||||
|
|
||||||
if (typeof selected !== "undefined") $("#module").attr("value", selected);
|
if (typeof selected !== "undefined") $("#module").attr("value", selected);
|
||||||
|
|
||||||
$("#module")
|
$("#module")
|
||||||
|
@ -724,12 +731,14 @@ function post_process_select_init_unit(name, selected) {
|
||||||
);
|
);
|
||||||
$("#text-" + name + "_text").val("");
|
$("#text-" + name + "_text").val("");
|
||||||
} else {
|
} else {
|
||||||
$("#" + name + "_select option[value=none]").attr("selected", true);
|
$("#" + name + "_select option[value=0]").attr("selected", true);
|
||||||
$("#" + name + "_default").hide();
|
$("#" + name + "_default").hide();
|
||||||
$("#" + name + "_manual").show();
|
$("#" + name + "_manual").show();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$("#" + name + "_select option[value=none]").attr("selected", true);
|
$("#" + name + "_select option[value=0]").attr("selected", true);
|
||||||
|
$("#" + name + "_default").hide();
|
||||||
|
$("#" + name + "_manual").show();
|
||||||
}
|
}
|
||||||
|
|
||||||
$("#" + name + "_select").change(function() {
|
$("#" + name + "_select").change(function() {
|
||||||
|
|
|
@ -366,11 +366,10 @@ class CustomGraphWidget extends Widget
|
||||||
);
|
);
|
||||||
|
|
||||||
$hackLegendHight = (30 * count($sources));
|
$hackLegendHight = (30 * count($sources));
|
||||||
if ($hackLegendHight < ($size['height'] - 10 - $hackLegendHight)) {
|
if ($hackLegendHight > ($size['height'] - 10 - $hackLegendHight)) {
|
||||||
$height = ($size['height'] - 10 - $hackLegendHight);
|
$height = ($size['height'] - $hackLegendHight);
|
||||||
} else {
|
} else {
|
||||||
$height = ($size['height'] - 10);
|
$height = ($size['height'] - 10);
|
||||||
$this->values['showLegend'] = 0;
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$height = ($size['height'] - 10);
|
$height = ($size['height'] - 10);
|
||||||
|
@ -407,6 +406,7 @@ class CustomGraphWidget extends Widget
|
||||||
'menu' => false,
|
'menu' => false,
|
||||||
'show_legend' => $this->values['showLegend'],
|
'show_legend' => $this->values['showLegend'],
|
||||||
'vconsole' => true,
|
'vconsole' => true,
|
||||||
|
'dashboard' => true,
|
||||||
];
|
];
|
||||||
|
|
||||||
$params_combined = [
|
$params_combined = [
|
||||||
|
|
|
@ -373,6 +373,7 @@ class SingleGraphWidget extends Widget
|
||||||
'show_legend' => $this->values['showLegend'],
|
'show_legend' => $this->values['showLegend'],
|
||||||
'show_title' => $module_name,
|
'show_title' => $module_name,
|
||||||
'menu' => false,
|
'menu' => false,
|
||||||
|
'dashboard' => true,
|
||||||
];
|
];
|
||||||
|
|
||||||
$output = '<div class="container-center">';
|
$output = '<div class="container-center">';
|
||||||
|
|
|
@ -207,7 +207,7 @@ class Module extends Entity
|
||||||
if (is_numeric($id_agent_module) === true
|
if (is_numeric($id_agent_module) === true
|
||||||
&& $id_agent_module > 0
|
&& $id_agent_module > 0
|
||||||
) {
|
) {
|
||||||
if ($nodeId !== null) {
|
if ($nodeId > 0) {
|
||||||
$this->nodeId = $nodeId;
|
$this->nodeId = $nodeId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1022,12 +1022,13 @@ class Module extends Entity
|
||||||
/**
|
/**
|
||||||
* Calculates cascade protection service value for this service.
|
* Calculates cascade protection service value for this service.
|
||||||
*
|
*
|
||||||
* @param integer|null $id_node Meta searching node will use this field.
|
* @param integer|null $id_node Meta searching node will use this field.
|
||||||
|
* @param boolean $connected Connected to a node.
|
||||||
*
|
*
|
||||||
* @return integer CPS value.
|
* @return integer CPS value.
|
||||||
* @throws \Exception On error.
|
* @throws \Exception On error.
|
||||||
*/
|
*/
|
||||||
public function calculateCPS(?int $id_node=null)
|
public function calculateCPS(?int $id_node=null, bool $connected=false)
|
||||||
{
|
{
|
||||||
if ($this->cps() < 0) {
|
if ($this->cps() < 0) {
|
||||||
return $this->cps();
|
return $this->cps();
|
||||||
|
@ -1047,6 +1048,7 @@ class Module extends Entity
|
||||||
// Here could happen 2 things.
|
// Here could happen 2 things.
|
||||||
// 1. Metaconsole service is using this method impersonating node DB.
|
// 1. Metaconsole service is using this method impersonating node DB.
|
||||||
// 2. Node service is trying to find parents into metaconsole.
|
// 2. Node service is trying to find parents into metaconsole.
|
||||||
|
// 3. Impersonated node searching metaconsole.
|
||||||
if (empty($id_node) === true
|
if (empty($id_node) === true
|
||||||
&& is_metaconsole() === false
|
&& is_metaconsole() === false
|
||||||
&& has_metaconsole() === true
|
&& has_metaconsole() === true
|
||||||
|
@ -1119,6 +1121,38 @@ class Module extends Entity
|
||||||
if ($r !== NOERR) {
|
if ($r !== NOERR) {
|
||||||
throw new \Exception(__('Cannot connect to node %d', $r));
|
throw new \Exception(__('Cannot connect to node %d', $r));
|
||||||
}
|
}
|
||||||
|
} else if (is_metaconsole() === true
|
||||||
|
// True in impersonated nodes.
|
||||||
|
&& has_metaconsole() === false
|
||||||
|
&& empty($id_node) === true
|
||||||
|
) {
|
||||||
|
// Impersonated node checking metaconsole.
|
||||||
|
\enterprise_hook('metaconsole_restore_db');
|
||||||
|
|
||||||
|
$mc_parents = db_get_all_rows_sql(
|
||||||
|
sprintf(
|
||||||
|
'SELECT id_service,
|
||||||
|
cps,
|
||||||
|
cascade_protection,
|
||||||
|
name
|
||||||
|
FROM `tservice_element` te
|
||||||
|
INNER JOIN `tservice` t ON te.id_service = t.id
|
||||||
|
WHERE te.id_agente_modulo = %d',
|
||||||
|
$this->id_agente_modulo()
|
||||||
|
),
|
||||||
|
false,
|
||||||
|
false
|
||||||
|
);
|
||||||
|
|
||||||
|
// Restore impersonation.
|
||||||
|
\enterprise_include_once('include/functions_metaconsole.php');
|
||||||
|
$r = \enterprise_hook(
|
||||||
|
'metaconsole_connect',
|
||||||
|
[
|
||||||
|
null,
|
||||||
|
$id_node,
|
||||||
|
]
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
$cps = 0;
|
$cps = 0;
|
||||||
|
|
|
@ -922,7 +922,8 @@ class Item extends CachedModel
|
||||||
// Can't fetch an agent with an invalid Id.
|
// Can't fetch an agent with an invalid Id.
|
||||||
$agentId = static::extractAgentId($itemData);
|
$agentId = static::extractAgentId($itemData);
|
||||||
if ($agentId === null) {
|
if ($agentId === null) {
|
||||||
throw new \InvalidArgumentException('invalid agent Id');
|
$agentId = 0;
|
||||||
|
// throw new \InvalidArgumentException('invalid agent Id');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Staticgraph don't need to have an agent.
|
// Staticgraph don't need to have an agent.
|
||||||
|
@ -956,7 +957,8 @@ class Item extends CachedModel
|
||||||
$agent = \db_get_row_sql($sql);
|
$agent = \db_get_row_sql($sql);
|
||||||
|
|
||||||
if ($agent === false) {
|
if ($agent === false) {
|
||||||
throw new \Exception('error fetching the data from the DB');
|
return $agentData;
|
||||||
|
// throw new \Exception('error fetching the data from the DB');
|
||||||
}
|
}
|
||||||
|
|
||||||
// The agent name should be a valid string or a null value.
|
// The agent name should be a valid string or a null value.
|
||||||
|
@ -996,7 +998,8 @@ class Item extends CachedModel
|
||||||
// Can't fetch an module with a invalid Id.
|
// Can't fetch an module with a invalid Id.
|
||||||
$moduleId = static::extractModuleId($itemData);
|
$moduleId = static::extractModuleId($itemData);
|
||||||
if ($moduleId === null) {
|
if ($moduleId === null) {
|
||||||
throw new \InvalidArgumentException('invalid module Id');
|
$moduleId = 0;
|
||||||
|
// throw new \InvalidArgumentException('invalid module Id');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Staticgraph don't need to have a module.
|
// Staticgraph don't need to have a module.
|
||||||
|
@ -1037,7 +1040,8 @@ class Item extends CachedModel
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($moduleName === false) {
|
if ($moduleName === false) {
|
||||||
throw new \Exception('error fetching the data from the DB');
|
return $moduleData;
|
||||||
|
// throw new \Exception('error fetching the data from the DB');
|
||||||
}
|
}
|
||||||
|
|
||||||
$moduleData['moduleName'] = $moduleName['nombre'];
|
$moduleData['moduleName'] = $moduleName['nombre'];
|
||||||
|
|
|
@ -123,6 +123,11 @@ final class Clock extends Item
|
||||||
*/
|
*/
|
||||||
protected function decode(array $data): array
|
protected function decode(array $data): array
|
||||||
{
|
{
|
||||||
|
// Default values.
|
||||||
|
if (empty($data['height']) === true) {
|
||||||
|
$data['height'] = ($data['width'] / 2);
|
||||||
|
}
|
||||||
|
|
||||||
$clockData = parent::decode($data);
|
$clockData = parent::decode($data);
|
||||||
$clockData['type'] = CLOCK;
|
$clockData['type'] = CLOCK;
|
||||||
$clockData['clockType'] = static::extractClockType($data);
|
$clockData['clockType'] = static::extractClockType($data);
|
||||||
|
|
|
@ -31,6 +31,25 @@ final class Label extends Item
|
||||||
*/
|
*/
|
||||||
protected function decode(array $data): array
|
protected function decode(array $data): array
|
||||||
{
|
{
|
||||||
|
$data['label'] = \preg_replace(
|
||||||
|
'/overflow: hidden;/',
|
||||||
|
'',
|
||||||
|
$data['label']
|
||||||
|
);
|
||||||
|
// Default values.
|
||||||
|
if ((empty($data['width']) === true)
|
||||||
|
&& (empty($data['height']) === true)
|
||||||
|
) {
|
||||||
|
preg_match(
|
||||||
|
'/visual_font_size_(.*)pt/',
|
||||||
|
$data['label'],
|
||||||
|
$matches
|
||||||
|
);
|
||||||
|
|
||||||
|
$data['width'] = (($matches[1] * 10) + 5);
|
||||||
|
$data['height'] = ($matches[1] * 2.5);
|
||||||
|
}
|
||||||
|
|
||||||
$return = parent::decode($data);
|
$return = parent::decode($data);
|
||||||
$return['type'] = LABEL;
|
$return['type'] = LABEL;
|
||||||
return $return;
|
return $return;
|
||||||
|
|
|
@ -136,8 +136,20 @@ div.target.flex {
|
||||||
.blocks {
|
.blocks {
|
||||||
cursor: move;
|
cursor: move;
|
||||||
}
|
}
|
||||||
|
#drop_mssg {
|
||||||
|
position: relative;
|
||||||
|
top: 25%;
|
||||||
|
display: block;
|
||||||
|
left: 37%;
|
||||||
|
font-size: 3em;
|
||||||
|
color: #aaa;
|
||||||
|
overflow: hidden;
|
||||||
|
width: 6em;
|
||||||
|
background: #fff;
|
||||||
|
text-align: center;
|
||||||
|
z-index: 2;
|
||||||
|
}
|
||||||
div#rules.show::after {
|
div#rules.show::after {
|
||||||
content: "Drop here";
|
|
||||||
position: relative;
|
position: relative;
|
||||||
top: 25%;
|
top: 25%;
|
||||||
display: block;
|
display: block;
|
||||||
|
|
|
@ -478,6 +478,10 @@ select:-internal-list-box {
|
||||||
width: 290px;
|
width: 290px;
|
||||||
max-width: 290px;
|
max-width: 290px;
|
||||||
}
|
}
|
||||||
|
.w500px {
|
||||||
|
width: 500px;
|
||||||
|
max-width: 500px;
|
||||||
|
}
|
||||||
.w600px {
|
.w600px {
|
||||||
width: 600px;
|
width: 600px;
|
||||||
max-width: 600px;
|
max-width: 600px;
|
||||||
|
@ -635,6 +639,13 @@ select:-internal-list-box {
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.flex-row-reverse {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row-reverse;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
align-items: flex-start;
|
||||||
|
}
|
||||||
|
|
||||||
.flex-space-around {
|
.flex-space-around {
|
||||||
justify-content: space-around;
|
justify-content: space-around;
|
||||||
}
|
}
|
||||||
|
@ -661,6 +672,9 @@ select:-internal-list-box {
|
||||||
.padding-right-2-imp {
|
.padding-right-2-imp {
|
||||||
padding-right: 2em !important;
|
padding-right: 2em !important;
|
||||||
}
|
}
|
||||||
|
.margin-soft {
|
||||||
|
margin: 0.3em 1em;
|
||||||
|
}
|
||||||
.margin-right-1 {
|
.margin-right-1 {
|
||||||
margin-right: 1em;
|
margin-right: 1em;
|
||||||
}
|
}
|
||||||
|
@ -740,7 +754,7 @@ div#container {
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
min-width: 960px;
|
min-width: 960px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
min-height: 100%;
|
height: 100%;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
@ -6108,3 +6122,17 @@ div.graph div.legend table {
|
||||||
writing-mode: lr-tb;
|
writing-mode: lr-tb;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
div.stat-win-spinner {
|
||||||
|
width: 100%;
|
||||||
|
height: 300px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.stat-win-spinner img {
|
||||||
|
width: 100px;
|
||||||
|
height: 100px;
|
||||||
|
}
|
||||||
|
|
|
@ -129,7 +129,7 @@
|
||||||
<div style='height: 10px'>
|
<div style='height: 10px'>
|
||||||
<?php
|
<?php
|
||||||
$version = '7.0NG.752';
|
$version = '7.0NG.752';
|
||||||
$build = '210222';
|
$build = '210302';
|
||||||
$banner = "v$version Build $build";
|
$banner = "v$version Build $build";
|
||||||
|
|
||||||
error_reporting(0);
|
error_reporting(0);
|
||||||
|
|
|
@ -121,7 +121,7 @@ class Events
|
||||||
$status_icon = html_print_image($img_st, true, false, false, false, false, true);
|
$status_icon = html_print_image($img_st, true, false, false, false, false, true);
|
||||||
|
|
||||||
$row = [];
|
$row = [];
|
||||||
$row[] = '<b class="ui-table-cell-label">'.__('Event Name').'</b><a href="javascript: openDetails('.$event['id_evento'].')"><div class="event_name">'.io_safe_output(str_replace([' ', ''], ' ', $event['evento'])).'</div></a>';
|
$row[] = '<b class="ui-table-cell-label">'.__('Event Name').'</b><a href="#" onclick="openDetails('.$event['id_evento'].')"><div class="event_name">'.io_safe_output(str_replace([' ', ''], ' ', $event['evento'])).'</div></a>';
|
||||||
|
|
||||||
if ($event['id_agente'] == 0) {
|
if ($event['id_agente'] == 0) {
|
||||||
$agent_name = __('System');
|
$agent_name = __('System');
|
||||||
|
|
|
@ -784,7 +784,7 @@ foreach ($agents as $agent) {
|
||||||
|
|
||||||
$data[0] = '<div class="left_'.$agent['id_agente'].'">';
|
$data[0] = '<div class="left_'.$agent['id_agente'].'">';
|
||||||
|
|
||||||
$data[0] .= '<a href="index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente='.$agent['id_agente'].'"><b><span class="'.$custom_font_size.' title ="'.$agent['nombre'].'">'.$agent['alias'].'</span></b></a>';
|
$data[0] .= '<a href="index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente='.$agent['id_agente'].'"><b><span class="'.$custom_font_size.' title ="'.$agent['nombre'].'">'.ui_print_truncate_text($agent['alias'], 'agent_medium', false, true, true).'</span></b></a>';
|
||||||
|
|
||||||
if ($agent['quiet']) {
|
if ($agent['quiet']) {
|
||||||
$data[0] .= ' ';
|
$data[0] .= ' ';
|
||||||
|
|
|
@ -92,7 +92,7 @@ $alive_animation = agents_get_status_animation(
|
||||||
$agent_name = ui_print_agent_name(
|
$agent_name = ui_print_agent_name(
|
||||||
$agent['id_agente'],
|
$agent['id_agente'],
|
||||||
true,
|
true,
|
||||||
500,
|
'agent_medium',
|
||||||
'font-size: medium;font-weight:bold',
|
'font-size: medium;font-weight:bold',
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
|
@ -31,8 +31,6 @@ require_once $config['homedir'].'/include/auth/mysql.php';
|
||||||
require_once $config['homedir'].'/include/functions.php';
|
require_once $config['homedir'].'/include/functions.php';
|
||||||
require_once $config['homedir'].'/include/functions_db.php';
|
require_once $config['homedir'].'/include/functions_db.php';
|
||||||
require_once $config['homedir'].'/include/functions_reporting.php';
|
require_once $config['homedir'].'/include/functions_reporting.php';
|
||||||
require_once $config['homedir'].'/include/functions_graph.php';
|
|
||||||
require_once $config['homedir'].'/include/functions_custom_graphs.php';
|
|
||||||
require_once $config['homedir'].'/include/functions_modules.php';
|
require_once $config['homedir'].'/include/functions_modules.php';
|
||||||
require_once $config['homedir'].'/include/functions_agents.php';
|
require_once $config['homedir'].'/include/functions_agents.php';
|
||||||
require_once $config['homedir'].'/include/functions_tags.php';
|
require_once $config['homedir'].'/include/functions_tags.php';
|
||||||
|
@ -45,7 +43,7 @@ $params = json_decode($params_json, true);
|
||||||
|
|
||||||
// Metaconsole connection to the node.
|
// Metaconsole connection to the node.
|
||||||
$server_id = (int) (isset($params['server']) ? $params['server'] : 0);
|
$server_id = (int) (isset($params['server']) ? $params['server'] : 0);
|
||||||
if ($config['metaconsole'] && empty($server_id) === false) {
|
if (is_metaconsole() === true && empty($server_id) === false) {
|
||||||
$server = metaconsole_get_connection_by_id($server_id);
|
$server = metaconsole_get_connection_by_id($server_id);
|
||||||
|
|
||||||
// Error connecting.
|
// Error connecting.
|
||||||
|
@ -268,13 +266,15 @@ $table->data[] = $data;
|
||||||
$table->rowclass[] = '';
|
$table->rowclass[] = '';
|
||||||
|
|
||||||
$form_table = html_print_table($table, true);
|
$form_table = html_print_table($table, true);
|
||||||
$form_table .= '<div style="width:100%; text-align:right;">'.html_print_submit_button(
|
$form_table .= '<div style="width:100%; text-align:right;">';
|
||||||
|
$form_table .= html_print_submit_button(
|
||||||
__('Reload'),
|
__('Reload'),
|
||||||
'submit',
|
'submit',
|
||||||
false,
|
false,
|
||||||
'class="sub upd"',
|
'class="sub upd"',
|
||||||
true
|
true
|
||||||
).'</div>';
|
);
|
||||||
|
$form_table .= '</div>';
|
||||||
|
|
||||||
|
|
||||||
// Menu.
|
// Menu.
|
||||||
|
@ -303,7 +303,7 @@ html_print_div(
|
||||||
);
|
);
|
||||||
|
|
||||||
// Graph.
|
// Graph.
|
||||||
echo '<div id="stat-win-interface-graph">';
|
$output = '<div id="stat-win-interface-graph">';
|
||||||
|
|
||||||
$height = 280;
|
$height = 280;
|
||||||
$width = '90%';
|
$width = '90%';
|
||||||
|
@ -320,8 +320,8 @@ $params = [
|
||||||
'zoom' => $zoom,
|
'zoom' => $zoom,
|
||||||
];
|
];
|
||||||
|
|
||||||
if (is_metaconsole()) {
|
if (is_metaconsole() === true) {
|
||||||
$params['id_server'] = $server_id;
|
$params['server_id'] = $server_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($config['type_interface_charts'] == 'line') {
|
if ($config['type_interface_charts'] == 'line') {
|
||||||
|
@ -340,13 +340,13 @@ $params_combined = [
|
||||||
'stacked' => $stacked,
|
'stacked' => $stacked,
|
||||||
];
|
];
|
||||||
|
|
||||||
graphic_combined_module(
|
$modules = array_values($interface_traffic_modules);
|
||||||
array_values($interface_traffic_modules),
|
$output .= '<div id="stat-win-spinner" class="stat-win-spinner">';
|
||||||
$params,
|
$output .= html_print_image('images/spinner_charts.gif', true);
|
||||||
$params_combined
|
$output .= '</div>';
|
||||||
);
|
|
||||||
|
|
||||||
echo '</div>';
|
$output .= '</div>';
|
||||||
|
echo $output;
|
||||||
?>
|
?>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
@ -362,6 +362,10 @@ ui_require_jquery_file(
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
ui_include_time_picker(true);
|
ui_include_time_picker(true);
|
||||||
|
|
||||||
|
if (is_metaconsole() === true && empty($server_id) === false) {
|
||||||
|
metaconsole_restore_db();
|
||||||
|
}
|
||||||
?>
|
?>
|
||||||
<script>
|
<script>
|
||||||
var show_overview = false;
|
var show_overview = false;
|
||||||
|
@ -370,6 +374,19 @@ ui_include_time_picker(true);
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
height_window = $(window).height();
|
height_window = $(window).height();
|
||||||
width_window = $(window).width();
|
width_window = $(window).width();
|
||||||
|
|
||||||
|
var graph_data = "<?php echo base64_encode(json_encode($params)); ?>";
|
||||||
|
var modules = "<?php echo base64_encode(json_encode($modules)); ?>";
|
||||||
|
var graph_data_combined = "<?php echo base64_encode(json_encode($params_combined)); ?>";
|
||||||
|
var url = "<?php echo ui_get_full_url('ajax.php', false, false, false); ?>";
|
||||||
|
var serverId = "<?php echo $server_id; ?>";
|
||||||
|
get_ajax_modules_interfaces(
|
||||||
|
url,
|
||||||
|
graph_data,
|
||||||
|
serverId,
|
||||||
|
graph_data_combined,
|
||||||
|
modules
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
$("*").filter(function() {
|
$("*").filter(function() {
|
||||||
|
@ -423,4 +440,26 @@ ui_include_time_picker(true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function get_ajax_modules_interfaces(url, graph_data, serverId, graph_data_combined, modules) {
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
url: url,
|
||||||
|
dataType: "html",
|
||||||
|
data: {
|
||||||
|
page: "include/ajax/module",
|
||||||
|
get_graph_module_interfaces: true,
|
||||||
|
graph_data: graph_data,
|
||||||
|
server_id: serverId,
|
||||||
|
graph_data_combined: graph_data_combined,
|
||||||
|
modules: modules
|
||||||
|
},
|
||||||
|
success: function (data) {
|
||||||
|
$("#stat-win-spinner").hide();
|
||||||
|
$("#stat-win-interface-graph").append(data);
|
||||||
|
},
|
||||||
|
error: function (error) {
|
||||||
|
console.error(error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -31,7 +31,6 @@ require_once $config['homedir'].'/include/auth/mysql.php';
|
||||||
require_once $config['homedir'].'/include/functions.php';
|
require_once $config['homedir'].'/include/functions.php';
|
||||||
require_once $config['homedir'].'/include/functions_db.php';
|
require_once $config['homedir'].'/include/functions_db.php';
|
||||||
require_once $config['homedir'].'/include/functions_reporting.php';
|
require_once $config['homedir'].'/include/functions_reporting.php';
|
||||||
require_once $config['homedir'].'/include/functions_graph.php';
|
|
||||||
require_once $config['homedir'].'/include/functions_modules.php';
|
require_once $config['homedir'].'/include/functions_modules.php';
|
||||||
require_once $config['homedir'].'/include/functions_agents.php';
|
require_once $config['homedir'].'/include/functions_agents.php';
|
||||||
require_once $config['homedir'].'/include/functions_tags.php';
|
require_once $config['homedir'].'/include/functions_tags.php';
|
||||||
|
@ -41,7 +40,7 @@ enterprise_include_once('include/functions_agents.php');
|
||||||
check_login();
|
check_login();
|
||||||
|
|
||||||
// Metaconsole connection to the node.
|
// Metaconsole connection to the node.
|
||||||
$server_id = (int) get_parameter('server');
|
$server_id = (int) get_parameter('server', 0);
|
||||||
if (is_metaconsole() === true && empty($server_id) === false) {
|
if (is_metaconsole() === true && empty($server_id) === false) {
|
||||||
$server = metaconsole_get_connection_by_id($server_id);
|
$server = metaconsole_get_connection_by_id($server_id);
|
||||||
// Error connecting.
|
// Error connecting.
|
||||||
|
@ -445,59 +444,39 @@ ui_print_message_dialog(
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$params = [
|
||||||
|
'agent_module_id' => $id,
|
||||||
|
'period' => $period,
|
||||||
|
'show_events' => $draw_events,
|
||||||
|
'title' => $label,
|
||||||
|
'unit_name' => $unit,
|
||||||
|
'show_alerts' => $draw_alerts,
|
||||||
|
'date' => $date,
|
||||||
|
'unit' => $unit,
|
||||||
|
'baseline' => $baseline,
|
||||||
|
'homeurl' => $urlImage,
|
||||||
|
'adapt_key' => 'adapter_'.$graph_type,
|
||||||
|
'compare' => $time_compare,
|
||||||
|
'show_unknown' => $unknown_graph,
|
||||||
|
'percentil' => (($show_percentil) ? $config['percentil'] : null),
|
||||||
|
'type_graph' => $config['type_module_charts'],
|
||||||
|
'fullscale' => $fullscale,
|
||||||
|
'zoom' => $zoom,
|
||||||
|
'height' => 300,
|
||||||
|
'type_mode_graph' => $type_mode_graph,
|
||||||
|
];
|
||||||
|
|
||||||
// Graph.
|
// Graph.
|
||||||
$output = '<div id="stat-win-module-graph">';
|
$output = '<div id="stat-win-module-graph">';
|
||||||
switch ($graph_type) {
|
$output .= '<div id="stat-win-spinner" class="stat-win-spinner">';
|
||||||
case 'boolean':
|
$output .= html_print_image('images/spinner_charts.gif', true);
|
||||||
case 'sparse':
|
$output .= '</div>';
|
||||||
case 'string':
|
|
||||||
$params = [
|
|
||||||
'agent_module_id' => $id,
|
|
||||||
'period' => $period,
|
|
||||||
'show_events' => $draw_events,
|
|
||||||
'title' => $label,
|
|
||||||
'unit_name' => $unit,
|
|
||||||
'show_alerts' => $draw_alerts,
|
|
||||||
'date' => $date,
|
|
||||||
'unit' => $unit,
|
|
||||||
'baseline' => $baseline,
|
|
||||||
'homeurl' => $urlImage,
|
|
||||||
'adapt_key' => 'adapter_'.$graph_type,
|
|
||||||
'compare' => $time_compare,
|
|
||||||
'show_unknown' => $unknown_graph,
|
|
||||||
'percentil' => (($show_percentil) ? $config['percentil'] : null),
|
|
||||||
'type_graph' => $config['type_module_charts'],
|
|
||||||
'fullscale' => $fullscale,
|
|
||||||
'zoom' => $zoom,
|
|
||||||
'height' => 300,
|
|
||||||
'type_mode_graph' => $type_mode_graph,
|
|
||||||
];
|
|
||||||
$output .= grafico_modulo_sparse($params);
|
|
||||||
$output .= '<br>';
|
|
||||||
if ($show_events_graph) {
|
|
||||||
$width = '500';
|
|
||||||
$height = '450';
|
|
||||||
$output .= graphic_module_events(
|
|
||||||
$id,
|
|
||||||
$width,
|
|
||||||
$height,
|
|
||||||
$period,
|
|
||||||
$config['homeurl'],
|
|
||||||
$zoom,
|
|
||||||
'adapted_'.$graph_type,
|
|
||||||
$date,
|
|
||||||
true
|
|
||||||
);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
$output .= fs_error_image('../images');
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
$output .= '</div>';
|
$output .= '</div>';
|
||||||
echo $output;
|
echo $output;
|
||||||
|
|
||||||
|
if (is_metaconsole() === true && empty($server_id) === false) {
|
||||||
|
metaconsole_restore_db();
|
||||||
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
@ -580,5 +559,32 @@ ui_include_time_picker(true);
|
||||||
arrow.attr('src',arrow.attr('src').replace(arrow_up, arrow_down));
|
arrow.attr('src',arrow.attr('src').replace(arrow_up, arrow_down));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
var graph_data = "<?php echo base64_encode(json_encode($params)); ?>";
|
||||||
|
var url = "<?php echo ui_get_full_url('ajax.php', false, false, false); ?>";
|
||||||
|
var serverId = "<?php echo $server_id; ?>";
|
||||||
|
get_ajax_module(url, graph_data, serverId);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
function get_ajax_module(url, graph_data, serverId) {
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
url: url,
|
||||||
|
dataType: "html",
|
||||||
|
data: {
|
||||||
|
page: "include/ajax/module",
|
||||||
|
get_graph_module: true,
|
||||||
|
graph_data: graph_data,
|
||||||
|
server_id: serverId
|
||||||
|
},
|
||||||
|
success: function (data) {
|
||||||
|
$("#stat-win-spinner").hide();
|
||||||
|
$("#stat-win-module-graph").append(data);
|
||||||
|
},
|
||||||
|
error: function (error) {
|
||||||
|
console.error(error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -1412,7 +1412,7 @@ if (!empty($result)) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (in_array('module_name', $show_fields) || is_metaconsole()) {
|
if (in_array('module_name', $show_fields) || is_metaconsole()) {
|
||||||
$data[3] = ui_print_truncate_text($row['module_name'], 'agent_small', false, true, true);
|
$data[3] = ui_print_truncate_text($row['module_name'], 'module_small', false, true, true);
|
||||||
if ($row['extended_info'] != '') {
|
if ($row['extended_info'] != '') {
|
||||||
$data[3] .= ui_print_help_tip($row['extended_info'], true, '/images/default_list.png');
|
$data[3] .= ui_print_help_tip($row['extended_info'], true, '/images/default_list.png');
|
||||||
}
|
}
|
||||||
|
|
|
@ -1389,6 +1389,7 @@ if (isset($ehorus_tab) && !empty($ehorus_tab)) {
|
||||||
$onheader['ehorus'] = $ehorus_tab;
|
$onheader['ehorus'] = $ehorus_tab;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$id_extension = get_parameter('id_extension', '');
|
||||||
// Tabs for extensions.
|
// Tabs for extensions.
|
||||||
$tab_name_extensions = '';
|
$tab_name_extensions = '';
|
||||||
foreach ($config['extensions'] as $extension) {
|
foreach ($config['extensions'] as $extension) {
|
||||||
|
@ -1431,13 +1432,11 @@ foreach ($config['extensions'] as $extension) {
|
||||||
}
|
}
|
||||||
|
|
||||||
$image = $extension['extension_ope_tab']['icon'];
|
$image = $extension['extension_ope_tab']['icon'];
|
||||||
$name = $extension['extension_ope_tab']['name'];
|
$name = $extension['extension_ope_tab']['name'];
|
||||||
$id = $extension['extension_ope_tab']['id'];
|
$id = $extension['extension_ope_tab']['id'];
|
||||||
$tab_name_extensions = $name;
|
|
||||||
|
|
||||||
$id_extension = get_parameter('id_extension', '');
|
if ($id_extension === $id) {
|
||||||
|
$tab_name_extensions = $name;
|
||||||
if ($id_extension == $id) {
|
|
||||||
$active = true;
|
$active = true;
|
||||||
} else {
|
} else {
|
||||||
$active = false;
|
$active = false;
|
||||||
|
|
|
@ -321,21 +321,48 @@ function add_module_massive_controller(target = 'agent')
|
||||||
});
|
});
|
||||||
|
|
||||||
// Select all Items.
|
// Select all Items.
|
||||||
$("input[name='select_all_left']").click(function () {
|
$("#checkbox-select_all_left").change(function () {
|
||||||
$('#id_item option').map(function() {
|
if ($("#checkbox-select_all_left").prop('checked') == true) {
|
||||||
$(this).prop('selected', true);
|
$('#id_item option').map(function() {
|
||||||
});
|
$(this).prop('selected', true);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
$('#id_item option').map(function() {
|
||||||
|
$(this).prop('selected', false);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
$("input[name='select_all_right']").click(function () {
|
|
||||||
$('#id_item2 option').map(function() {
|
$("#checkbox-select_all_right").change(function () {
|
||||||
$(this).prop('selected', true);
|
if ($("#checkbox-select_all_right").prop('checked') == true) {
|
||||||
});
|
$('#id_item2 option').map(function() {
|
||||||
|
$(this).prop('selected', true);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
$('#id_item2 option').map(function() {
|
||||||
|
$(this).prop('selected', false);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$("#id_item").click(function(e) {
|
||||||
|
if ($("#checkbox-select_all_left").prop('checked') == true) {
|
||||||
|
$("#checkbox-select_all_left").prop('checked', false);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#id_item2").click(function(e) {
|
||||||
|
if ($("#checkbox-select_all_right").prop('checked') == true) {
|
||||||
|
$("#checkbox-select_all_right").prop('checked', false);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$(".p-switch").css('display', 'table');
|
||||||
|
|
||||||
// Select items.
|
// Select items.
|
||||||
$("#right").click (function () {
|
$("#right").click (function () {
|
||||||
jQuery.each($("select[name='id_item[]'] option:selected"), function (key, value) {
|
jQuery.each($("select[name='id_item[]'] option:selected"), function (key, value) {
|
||||||
|
|
|
@ -619,7 +619,7 @@ $table->data[4][1] = html_print_input(
|
||||||
);
|
);
|
||||||
|
|
||||||
// Type filter (ColdStart, WarmStart, LinkDown, LinkUp, authenticationFailure, Other).
|
// Type filter (ColdStart, WarmStart, LinkDown, LinkUp, authenticationFailure, Other).
|
||||||
$table->data[6][1] = '<strong>'.__('Trap type').'</strong>'.ui_print_help_tip(__('Search by trap type'), true);
|
$table->data[4][3] = '<strong>'.__('Trap type').'</strong>'.ui_print_help_tip(__('Search by trap type'), true);
|
||||||
$trap_types = [
|
$trap_types = [
|
||||||
-1 => __('None'),
|
-1 => __('None'),
|
||||||
0 => __('Cold start (0)'),
|
0 => __('Cold start (0)'),
|
||||||
|
@ -629,7 +629,7 @@ $trap_types = [
|
||||||
4 => __('Authentication failure (4)'),
|
4 => __('Authentication failure (4)'),
|
||||||
5 => __('Other'),
|
5 => __('Other'),
|
||||||
];
|
];
|
||||||
$table->data[6][2] = html_print_select(
|
$table->data[4][4] = html_print_select(
|
||||||
$trap_types,
|
$trap_types,
|
||||||
'trap_type',
|
'trap_type',
|
||||||
$trap_type,
|
$trap_type,
|
||||||
|
|
|
@ -89,8 +89,9 @@ foreach ($sources as $source) {
|
||||||
echo '</div>';
|
echo '</div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($disabled_flag) {
|
if ((bool) $disabled_flag === true) {
|
||||||
echo '<span style="font-weight: bold; color: #ff0000;">Disabled controls have been set by the system administrator</span>';
|
$s = __('Controls have been disabled by the system administrator');
|
||||||
|
echo '<span style="font-weight: bold; color: #ff0000;">'.$s.'</span>';
|
||||||
}
|
}
|
||||||
|
|
||||||
echo '</div>';
|
echo '</div>';
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
%define name pandorafms_console
|
%define name pandorafms_console
|
||||||
%define version 7.0NG.752
|
%define version 7.0NG.752
|
||||||
%define release 210222
|
%define release 210302
|
||||||
|
|
||||||
# User and Group under which Apache is running
|
# User and Group under which Apache is running
|
||||||
%define httpd_name httpd
|
%define httpd_name httpd
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
%define name pandorafms_console
|
%define name pandorafms_console
|
||||||
%define version 7.0NG.752
|
%define version 7.0NG.752
|
||||||
%define release 210222
|
%define release 210302
|
||||||
|
|
||||||
# User and Group under which Apache is running
|
# User and Group under which Apache is running
|
||||||
%define httpd_name httpd
|
%define httpd_name httpd
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
%define name pandorafms_console
|
%define name pandorafms_console
|
||||||
%define version 7.0NG.752
|
%define version 7.0NG.752
|
||||||
%define release 210222
|
%define release 210302
|
||||||
%define httpd_name httpd
|
%define httpd_name httpd
|
||||||
# User and Group under which Apache is running
|
# User and Group under which Apache is running
|
||||||
%define httpd_name apache2
|
%define httpd_name apache2
|
||||||
|
|
|
@ -1317,6 +1317,7 @@ CREATE TABLE `tnotification_source` (
|
||||||
`enabled` int(1) DEFAULT NULL,
|
`enabled` int(1) DEFAULT NULL,
|
||||||
`user_editable` int(1) DEFAULT NULL,
|
`user_editable` int(1) DEFAULT NULL,
|
||||||
`also_mail` int(1) DEFAULT NULL,
|
`also_mail` int(1) DEFAULT NULL,
|
||||||
|
`subtype_blacklist` TEXT,
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
|
@ -2652,6 +2653,7 @@ CREATE TABLE IF NOT EXISTS `tinventory_alert`(
|
||||||
`last_fired` text NOT NULL default '',
|
`last_fired` text NOT NULL default '',
|
||||||
`disable_event` tinyint(1) UNSIGNED default 0,
|
`disable_event` tinyint(1) UNSIGNED default 0,
|
||||||
`enabled` tinyint(1) UNSIGNED default 1,
|
`enabled` tinyint(1) UNSIGNED default 1,
|
||||||
|
`alert_groups` text NOT NULL default '',
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
FOREIGN KEY (`id_module_inventory`) REFERENCES tmodule_inventory(`id_module_inventory`)
|
FOREIGN KEY (`id_module_inventory`) REFERENCES tmodule_inventory(`id_module_inventory`)
|
||||||
ON DELETE CASCADE ON UPDATE CASCADE
|
ON DELETE CASCADE ON UPDATE CASCADE
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
package: pandorafms-server
|
package: pandorafms-server
|
||||||
Version: 7.0NG.752-210222
|
Version: 7.0NG.752-210302
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Section: admin
|
Section: admin
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
pandora_version="7.0NG.752-210222"
|
pandora_version="7.0NG.752-210302"
|
||||||
|
|
||||||
package_cpan=0
|
package_cpan=0
|
||||||
package_pandora=1
|
package_pandora=1
|
||||||
|
|
|
@ -45,7 +45,7 @@ our @EXPORT = qw(
|
||||||
|
|
||||||
# version: Defines actual version of Pandora Server for this module only
|
# version: Defines actual version of Pandora Server for this module only
|
||||||
my $pandora_version = "7.0NG.752";
|
my $pandora_version = "7.0NG.752";
|
||||||
my $pandora_build = "210222";
|
my $pandora_build = "210302";
|
||||||
our $VERSION = $pandora_version." ".$pandora_build;
|
our $VERSION = $pandora_version." ".$pandora_build;
|
||||||
|
|
||||||
# Setup hash
|
# Setup hash
|
||||||
|
|
|
@ -34,7 +34,7 @@ our @ISA = qw(Exporter);
|
||||||
|
|
||||||
# version: Defines actual version of Pandora Server for this module only
|
# version: Defines actual version of Pandora Server for this module only
|
||||||
my $pandora_version = "7.0NG.752";
|
my $pandora_version = "7.0NG.752";
|
||||||
my $pandora_build = "210222";
|
my $pandora_build = "210302";
|
||||||
our $VERSION = $pandora_version." ".$pandora_build;
|
our $VERSION = $pandora_version." ".$pandora_build;
|
||||||
|
|
||||||
our %EXPORT_TAGS = ( 'all' => [ qw() ] );
|
our %EXPORT_TAGS = ( 'all' => [ qw() ] );
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
%define name pandorafms_server
|
%define name pandorafms_server
|
||||||
%define version 7.0NG.752
|
%define version 7.0NG.752
|
||||||
%define release 210222
|
%define release 210302
|
||||||
|
|
||||||
Summary: Pandora FMS Server
|
Summary: Pandora FMS Server
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
%define name pandorafms_server
|
%define name pandorafms_server
|
||||||
%define version 7.0NG.752
|
%define version 7.0NG.752
|
||||||
%define release 210222
|
%define release 210302
|
||||||
|
|
||||||
Summary: Pandora FMS Server
|
Summary: Pandora FMS Server
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
# **********************************************************************
|
# **********************************************************************
|
||||||
|
|
||||||
PI_VERSION="7.0NG.752"
|
PI_VERSION="7.0NG.752"
|
||||||
PI_BUILD="210222"
|
PI_BUILD="210302"
|
||||||
|
|
||||||
MODE=$1
|
MODE=$1
|
||||||
if [ $# -gt 1 ]; then
|
if [ $# -gt 1 ]; then
|
||||||
|
|
|
@ -35,7 +35,7 @@ use PandoraFMS::Config;
|
||||||
use PandoraFMS::DB;
|
use PandoraFMS::DB;
|
||||||
|
|
||||||
# version: define current version
|
# version: define current version
|
||||||
my $version = "7.0NG.752 PS210222";
|
my $version = "7.0NG.752 PS210302";
|
||||||
|
|
||||||
# Pandora server configuration
|
# Pandora server configuration
|
||||||
my %conf;
|
my %conf;
|
||||||
|
|
|
@ -36,7 +36,7 @@ use Encode::Locale;
|
||||||
Encode::Locale::decode_argv;
|
Encode::Locale::decode_argv;
|
||||||
|
|
||||||
# version: define current version
|
# version: define current version
|
||||||
my $version = "7.0NG.752 PS210222";
|
my $version = "7.0NG.752 PS210302";
|
||||||
|
|
||||||
# save program name for logging
|
# save program name for logging
|
||||||
my $progname = basename($0);
|
my $progname = basename($0);
|
||||||
|
|
Loading…
Reference in New Issue