Merge remote-tracking branch 'origin/develop' into ent-6384-consola-visual-nuevo-elemento-interfaz-de-red
This commit is contained in:
commit
b585a4e372
|
@ -1,5 +1,5 @@
|
|||
package: pandorafms-agent-unix
|
||||
Version: 7.0NG.750-201029
|
||||
Version: 7.0NG.750-201103
|
||||
Architecture: all
|
||||
Priority: optional
|
||||
Section: admin
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
pandora_version="7.0NG.750-201029"
|
||||
pandora_version="7.0NG.750-201103"
|
||||
|
||||
echo "Test if you has the tools for to make the packages."
|
||||
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null
|
||||
|
|
|
@ -55,7 +55,7 @@ my $Sem = undef;
|
|||
my $ThreadSem = undef;
|
||||
|
||||
use constant AGENT_VERSION => '7.0NG.750';
|
||||
use constant AGENT_BUILD => '201029';
|
||||
use constant AGENT_BUILD => '201103';
|
||||
|
||||
# Agent log default file size maximum and instances
|
||||
use constant DEFAULT_MAX_LOG_SIZE => 600000;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
%define name pandorafms_agent_unix
|
||||
%define version 7.0NG.750
|
||||
%define release 201029
|
||||
%define release 201103
|
||||
|
||||
Summary: Pandora FMS Linux agent, PERL version
|
||||
Name: %{name}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
%define name pandorafms_agent_unix
|
||||
%define version 7.0NG.750
|
||||
%define release 201029
|
||||
%define release 201103
|
||||
|
||||
Summary: Pandora FMS Linux agent, PERL version
|
||||
Name: %{name}
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
# **********************************************************************
|
||||
|
||||
PI_VERSION="7.0NG.750"
|
||||
PI_BUILD="201029"
|
||||
PI_BUILD="201103"
|
||||
OS_NAME=`uname -s`
|
||||
|
||||
FORCE=0
|
||||
|
|
|
@ -186,7 +186,7 @@ UpgradeApplicationID
|
|||
{}
|
||||
|
||||
Version
|
||||
{201029}
|
||||
{201103}
|
||||
|
||||
ViewReadme
|
||||
{Yes}
|
||||
|
|
|
@ -30,7 +30,7 @@ using namespace Pandora;
|
|||
using namespace Pandora_Strutils;
|
||||
|
||||
#define PATH_SIZE _MAX_PATH+1
|
||||
#define PANDORA_VERSION ("7.0NG.750(Build 201029)")
|
||||
#define PANDORA_VERSION ("7.0NG.750(Build 201103)")
|
||||
|
||||
string pandora_path;
|
||||
string pandora_dir;
|
||||
|
|
|
@ -11,7 +11,7 @@ BEGIN
|
|||
VALUE "LegalCopyright", "Artica ST"
|
||||
VALUE "OriginalFilename", "PandoraAgent.exe"
|
||||
VALUE "ProductName", "Pandora FMS Windows Agent"
|
||||
VALUE "ProductVersion", "(7.0NG.750(Build 201029))"
|
||||
VALUE "ProductVersion", "(7.0NG.750(Build 201103))"
|
||||
VALUE "FileVersion", "1.0.0.0"
|
||||
END
|
||||
END
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
package: pandorafms-console
|
||||
Version: 7.0NG.750-201029
|
||||
Version: 7.0NG.750-201103
|
||||
Architecture: all
|
||||
Priority: optional
|
||||
Section: admin
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
pandora_version="7.0NG.750-201029"
|
||||
pandora_version="7.0NG.750-201103"
|
||||
|
||||
package_pear=0
|
||||
package_pandora=1
|
||||
|
|
|
@ -92,7 +92,11 @@ function output_xml_report($id)
|
|||
|
||||
$group = db_get_value('nombre', 'tgrupo', 'id_grupo', $report['id_group']);
|
||||
echo '<group><![CDATA['.io_safe_output($group)."]]></group>\n";
|
||||
$items = db_get_all_rows_field_filter('treport_content', 'id_report', $report['id_report']);
|
||||
$items = db_get_all_rows_field_filter(
|
||||
'treport_content',
|
||||
'id_report',
|
||||
$report['id_report']
|
||||
);
|
||||
foreach ($items as $item) {
|
||||
echo "<item>\n";
|
||||
echo '<type>'.io_safe_output($item['type'])."</type>\n";
|
||||
|
|
|
@ -37,8 +37,16 @@ function insert_item_report($report_id, $values)
|
|||
|
||||
ui_print_result_message(
|
||||
$result,
|
||||
sprintf(__("Success add '%s' item in report '%s'."), $values['type'], $name),
|
||||
sprintf(__("Error create '%s' item in report '%s'."), $values['type'], $name)
|
||||
sprintf(
|
||||
__("Success add '%s' item in report '%s'."),
|
||||
$values['type'],
|
||||
$name
|
||||
),
|
||||
sprintf(
|
||||
__("Error create '%s' item in report '%s'."),
|
||||
$values['type'],
|
||||
$name
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -55,9 +63,12 @@ function process_upload_xml_report($xml, $group_filter=0)
|
|||
$posible_name = $values['name'];
|
||||
$exist = true;
|
||||
$loops = 30;
|
||||
// Loops to exit or tries
|
||||
// Loops to exit or tries.
|
||||
while ($exist && $loops > 0) {
|
||||
$exist = (bool) db_get_row_filter('treport', ['name' => io_safe_input($posible_name)]);
|
||||
$exist = (bool) db_get_row_filter(
|
||||
'treport',
|
||||
['name' => io_safe_input($posible_name)]
|
||||
);
|
||||
|
||||
if ($exist) {
|
||||
$loops--;
|
||||
|
@ -74,7 +85,7 @@ function process_upload_xml_report($xml, $group_filter=0)
|
|||
);
|
||||
break;
|
||||
} else if ($loops != 30) {
|
||||
ui_print_error_message(
|
||||
ui_print_warning_message(
|
||||
sprintf(
|
||||
__("Warning create '%s' report, the name exist, the report have a name %s."),
|
||||
$reportElement->name,
|
||||
|
@ -89,13 +100,22 @@ function process_upload_xml_report($xml, $group_filter=0)
|
|||
break;
|
||||
}
|
||||
|
||||
$id_group = db_get_value('id_grupo', 'tgrupo', 'nombre', $reportElement->group);
|
||||
if ($id_group === false) {
|
||||
ui_print_error_message(__("Error the report haven't group."));
|
||||
break;
|
||||
if (isset($reportElement->group) === true
|
||||
&& empty($reportElement->group) === false
|
||||
) {
|
||||
$id_group = db_get_value(
|
||||
'id_grupo',
|
||||
'tgrupo',
|
||||
'nombre',
|
||||
$reportElement->group
|
||||
);
|
||||
if ($id_group === false) {
|
||||
ui_print_error_message(__("Error the report haven't group."));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($reportElement->description)) {
|
||||
if (isset($reportElement->description) === true) {
|
||||
$values['description'] = $reportElement->description;
|
||||
}
|
||||
|
||||
|
@ -108,9 +128,19 @@ function process_upload_xml_report($xml, $group_filter=0)
|
|||
);
|
||||
|
||||
if ($id_report) {
|
||||
db_pandora_audit('Report management', 'Create report '.$id_report, false, false);
|
||||
db_pandora_audit(
|
||||
'Report management',
|
||||
'Create report '.$id_report,
|
||||
false,
|
||||
false
|
||||
);
|
||||
} else {
|
||||
db_pandora_audit('Report management', 'Fail to create report', false, false);
|
||||
db_pandora_audit(
|
||||
'Report management',
|
||||
'Fail to create report',
|
||||
false,
|
||||
false
|
||||
);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -119,45 +149,52 @@ function process_upload_xml_report($xml, $group_filter=0)
|
|||
|
||||
$values = [];
|
||||
$values['id_report'] = $id_report;
|
||||
if (isset($item['description'])) {
|
||||
if (isset($item['description']) === true) {
|
||||
$values['description'] = io_safe_input($item['description']);
|
||||
}
|
||||
|
||||
if (isset($item['period'])) {
|
||||
if (isset($item['period']) === true) {
|
||||
$values['period'] = io_safe_input($item['period']);
|
||||
}
|
||||
|
||||
if (isset($item['type'])) {
|
||||
if (isset($item['type']) === true) {
|
||||
$values['type'] = io_safe_input($item['type']);
|
||||
}
|
||||
|
||||
$agents_item = [];
|
||||
if (isset($item['agent'])) {
|
||||
if (isset($item['agent']) === true) {
|
||||
$agents = agents_get_agents(
|
||||
['id_grupo' => $group_filter],
|
||||
[
|
||||
'id_agente',
|
||||
'nombre',
|
||||
'alias',
|
||||
]
|
||||
);
|
||||
|
||||
$agent_clean = str_replace(['[', ']'], '', $item['agent']);
|
||||
$agent_clean = str_replace(
|
||||
[
|
||||
'[',
|
||||
']',
|
||||
],
|
||||
'',
|
||||
io_safe_output($item['agent'])
|
||||
);
|
||||
$regular_expresion = ($agent_clean != $item['agent']);
|
||||
|
||||
foreach ($agents as $agent) {
|
||||
if ($regular_expresion) {
|
||||
if ((bool) preg_match('/'.$agent_clean.'/', io_safe_output($agent['nombre']))) {
|
||||
$agents_item[$agent['id_agente']]['name'] = $agent['nombre'];
|
||||
if ((bool) preg_match('/'.$agent_clean.'/', io_safe_output($agent['alias']))) {
|
||||
$agents_item[$agent['id_agente']]['name'] = $agent['alias'];
|
||||
}
|
||||
} else {
|
||||
if ($agent_clean == io_safe_output($agent['nombre'])) {
|
||||
$agents_item[$agent['id_agente']]['name'] = $agent['nombre'];
|
||||
if ($agent_clean == io_safe_output($agent['alias'])) {
|
||||
$agents_item[$agent['id_agente']]['name'] = $agent['alias'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($item['module'])) {
|
||||
if (isset($item['module']) === true) {
|
||||
$module_clean = str_replace(['[', ']'], '', $item['module']);
|
||||
$regular_expresion = ($module_clean != $item['module']);
|
||||
|
||||
|
|
|
@ -130,6 +130,15 @@ if ($update || $create) {
|
|||
$id_agent = (int) get_parameter('id_agent');
|
||||
$text_module = get_parameter('text_module', '');
|
||||
$id_agent_module = (int) get_parameter('module_search_hidden');
|
||||
if ($text_module === '') {
|
||||
$text_module = io_safe_output(
|
||||
db_get_value_filter(
|
||||
'nombre',
|
||||
'tagente_modulo',
|
||||
['id_agente_modulo' => $id_agent_module]
|
||||
)
|
||||
);
|
||||
}
|
||||
$pagination = get_parameter('pagination', '');
|
||||
$event_view_hr = get_parameter('event_view_hr', '');
|
||||
$id_user_ack = get_parameter('id_user_ack', '');
|
||||
|
|
|
@ -1813,11 +1813,9 @@ switch ($action) {
|
|||
);
|
||||
$values['id_group'] = get_parameter('combo_group');
|
||||
|
||||
if ($values['server_name'] == '') {
|
||||
$values['server_name'] = get_parameter(
|
||||
'combo_server'
|
||||
);
|
||||
}
|
||||
$values['server_name'] = get_parameter(
|
||||
'combo_server'
|
||||
);
|
||||
|
||||
if ((($values['type'] == 'custom_graph')
|
||||
|| ($values['type'] == 'automatic_custom_graph'))
|
||||
|
@ -2354,6 +2352,8 @@ switch ($action) {
|
|||
break;
|
||||
}
|
||||
|
||||
hd($values['server_name']);
|
||||
hd(2);
|
||||
if ($values['server_name'] == '') {
|
||||
$values['server_name'] = get_parameter(
|
||||
'combo_server'
|
||||
|
|
|
@ -1387,14 +1387,32 @@ $(document).ready (function () {
|
|||
});
|
||||
});
|
||||
|
||||
$('#submit-crtbutton').click(function (e) {
|
||||
function checkProfiles(e) {
|
||||
e.preventDefault();
|
||||
var rows = $("#table_profiles tr").length;
|
||||
if ((is_metaconsole === '1' && rows <= 3) || (is_metaconsole === '' && rows <= 2)) {
|
||||
alert('<?php echo __('please add a profile'); ?>');
|
||||
if ($('input[name="is_admin"]:checked').val() == 1) {
|
||||
// Admin does not require profiles.
|
||||
$('#user_profile_form').submit();
|
||||
} else {
|
||||
this.form.submit();
|
||||
if ($('#table_profiles tbody').children().length == 1) {
|
||||
confirmDialog({
|
||||
title: "<?php echo __('Warning'); ?>",
|
||||
message: "<?php echo __('User will be created without profiles assigned and won\'t be able to log in, are you sure?'); ?>",
|
||||
onAccept: function() {
|
||||
$('#user_profile_form').submit();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
$('#user_profile_form').submit();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$('#submit-crtbutton').click(function (e) {
|
||||
checkProfiles(e);
|
||||
});
|
||||
|
||||
$('#submit-uptbutton').click(function (e) {
|
||||
checkProfiles(e);
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -114,7 +114,9 @@ if ($get_comments) {
|
|||
sprintf(
|
||||
' HAVING max_id_evento = %d',
|
||||
$event['id_evento']
|
||||
)
|
||||
),
|
||||
// True for show comments of validated events.
|
||||
true
|
||||
);
|
||||
if ($events !== false) {
|
||||
$event = $events[0];
|
||||
|
@ -331,17 +333,52 @@ if ($get_filter_values) {
|
|||
|
||||
if ($event_filter === false) {
|
||||
$event_filter = [
|
||||
'status' => EVENT_NO_VALIDATED,
|
||||
'event_view_hr' => $config['event_view_hr'],
|
||||
'group_rep' => 1,
|
||||
'tag_with' => [],
|
||||
'tag_without' => [],
|
||||
'history' => false,
|
||||
'status' => EVENT_NO_VALIDATED,
|
||||
'event_view_hr' => $config['event_view_hr'],
|
||||
'group_rep' => 1,
|
||||
'tag_with' => [],
|
||||
'tag_without' => [],
|
||||
'history' => false,
|
||||
'module_search' => '',
|
||||
'filter_only_alert' => '-1',
|
||||
'user_comment' => '',
|
||||
'id_extra' => '',
|
||||
'id_user_ack' => '',
|
||||
'date_from' => '',
|
||||
'date_to' => '',
|
||||
'severity' => '',
|
||||
'event_type' => '',
|
||||
'group_rep' => 0,
|
||||
'id_group' => 0,
|
||||
'id_group_filter' => 0,
|
||||
'group_name' => 'All',
|
||||
'text_agent' => '',
|
||||
'id_agent' => 0,
|
||||
'id_name' => 'None',
|
||||
'filter_id' => 0,
|
||||
];
|
||||
} else {
|
||||
$event_filter['module_search'] = io_safe_output(db_get_value_filter('nombre', 'tagente_modulo', ['id_agente_modulo' => $event_filter['id_agent_module']]));
|
||||
$a = array_keys(users_get_groups(false));
|
||||
$event_filter['group_name'] = '';
|
||||
foreach ($a as $key => $value) {
|
||||
if ($value == $event_filter['id_group']) {
|
||||
$event_filter['group_name'] = db_get_value('nombre', 'tgrupo', 'id_grupo', $event_filter['id_group_filter']);
|
||||
if ($event_filter['group_name'] === false) {
|
||||
$event_filter['group_name'] = __('All');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$event_filter['module_search'] = io_safe_output(db_get_value_filter('nombre', 'tagente_modulo', ['id_agente_modulo' => $event_filter['id_agent_module']]));
|
||||
}
|
||||
|
||||
$event_filter['search'] = io_safe_output($event_filter['search']);
|
||||
$event_filter['id_name'] = io_safe_output($event_filter['id_name']);
|
||||
$event_filter['text_agent'] = io_safe_output($event_filter['text_agent']);
|
||||
$event_filter['source'] = io_safe_output($event_filter['source']);
|
||||
|
||||
|
||||
$event_filter['tag_with'] = base64_encode(
|
||||
io_safe_output($event_filter['tag_with'])
|
||||
);
|
||||
|
@ -353,7 +390,7 @@ if ($get_filter_values) {
|
|||
}
|
||||
|
||||
if ($load_filter_modal) {
|
||||
$current = get_parameter('current_filter', '');
|
||||
$current = db_get_value_filter('default_event_filter', 'tusuario', ['id_user' => $config['id_user']]);
|
||||
$filters = events_get_event_filter_select();
|
||||
$user_groups_array = users_get_groups_for_select(
|
||||
$config['id_user'],
|
||||
|
@ -433,10 +470,12 @@ function load_form_filter() {
|
|||
},
|
||||
function (data) {
|
||||
jQuery.each (data, function (i, val) {
|
||||
console.log(val);
|
||||
if (i == 'id_name')
|
||||
$("#hidden-id_name").val(val);
|
||||
if (i == 'id_group')
|
||||
$("#id_group").val(val);
|
||||
if (i == 'id_group'){
|
||||
$('#id_group').val(val);
|
||||
}
|
||||
if (i == 'event_type')
|
||||
$("#event_type").val(val);
|
||||
if (i == 'severity') {
|
||||
|
@ -446,9 +485,9 @@ function load_form_filter() {
|
|||
if (i == 'status')
|
||||
$("#status").val(val);
|
||||
if (i == 'search')
|
||||
$("#text-search").val(val);
|
||||
$('#text-search').val(val);
|
||||
if (i == 'text_agent')
|
||||
$("#text_id_agent").val(val);
|
||||
$('input[name=text_agent]').val(val);
|
||||
if (i == 'id_agent')
|
||||
$('input:hidden[name=id_agent]').val(val);
|
||||
if (i == 'id_agent_module')
|
||||
|
@ -477,6 +516,15 @@ function load_form_filter() {
|
|||
$("#text-user_comment").val(val);
|
||||
if (i == 'id_source_event')
|
||||
$("#text-id_source_event").val(val);
|
||||
if(i == 'date_from')
|
||||
$("#text-date_from").val(val);
|
||||
if(i == 'date_to')
|
||||
$("#text-date_to").val(val);
|
||||
if(i == 'module_search')
|
||||
$('input[name=module_search]').val(val);
|
||||
if(i == 'group_name')
|
||||
$("#select2-id_group_filter-container").text(val);
|
||||
|
||||
});
|
||||
reorder_tags_inputs();
|
||||
// Update the info with the loaded filter
|
||||
|
@ -1145,12 +1193,37 @@ if ($change_status) {
|
|||
$event_ids = get_parameter('event_ids');
|
||||
$new_status = get_parameter('new_status');
|
||||
|
||||
$return = events_change_status(explode(',', $event_ids), $new_status, $meta, $history);
|
||||
$return = events_change_status(
|
||||
explode(',', $event_ids),
|
||||
$new_status,
|
||||
$meta,
|
||||
$history
|
||||
);
|
||||
|
||||
if ($return) {
|
||||
echo 'status_ok';
|
||||
if ($return !== false) {
|
||||
echo json_encode(
|
||||
[
|
||||
'status' => 'status_ok',
|
||||
'user' => db_get_value(
|
||||
'fullname',
|
||||
'tusuario',
|
||||
'id_user',
|
||||
$config['id_user']
|
||||
),
|
||||
]
|
||||
);
|
||||
} else {
|
||||
echo 'status_error';
|
||||
echo json_encode(
|
||||
[
|
||||
'status' => 'status_error',
|
||||
'user' => db_get_value(
|
||||
'fullname',
|
||||
'tusuario',
|
||||
'id_user',
|
||||
$config['id_user']
|
||||
),
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
return;
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Agent Wizard for SNMP and WMI
|
||||
*
|
||||
|
@ -273,7 +274,7 @@ class AgentWizard extends HTML
|
|||
// Check access.
|
||||
check_login();
|
||||
|
||||
if (! check_acl($config['id_user'], 0, 'AR')) {
|
||||
if (!check_acl($config['id_user'], 0, 'AR')) {
|
||||
db_pandora_audit(
|
||||
'ACL Violation',
|
||||
'Trying to access event viewer'
|
||||
|
@ -293,6 +294,29 @@ class AgentWizard extends HTML
|
|||
$this->idAgent = get_parameter('id_agente', '');
|
||||
$this->idPolicy = get_parameter('id', '');
|
||||
$this->targetIp = get_parameter('targetIp', '');
|
||||
|
||||
if (!empty($this->idAgent)) {
|
||||
$array_aux = db_get_all_rows_sql(
|
||||
sprintf(
|
||||
'SELECT ip FROM taddress ta
|
||||
INNER JOIN taddress_agent taa ON taa.id_a = ta.id_a
|
||||
WHERE taa.id_agent = %d',
|
||||
$this->idAgent
|
||||
)
|
||||
);
|
||||
|
||||
if (!empty($array_aux)) {
|
||||
$this->datalist = [];
|
||||
foreach ($array_aux as $key => $value) {
|
||||
$this->datalist[] = $value['ip'];
|
||||
}
|
||||
}
|
||||
|
||||
if (count($this->datalist) === 1 && $this->targetIp === '') {
|
||||
$this->targetIp = $this->datalist[0];
|
||||
}
|
||||
}
|
||||
|
||||
$this->server = (int) get_parameter('server', '1');
|
||||
if ($this->server !== 0) {
|
||||
$this->serverType = (int) db_get_value(
|
||||
|
@ -563,6 +587,18 @@ class AgentWizard extends HTML
|
|||
],
|
||||
];
|
||||
|
||||
if (!empty($this->datalist)) {
|
||||
$inputs[] = [
|
||||
'id' => 'li_address_list',
|
||||
'arguments' => [
|
||||
'name' => 'address_list',
|
||||
'type' => 'datalist',
|
||||
'value' => $this->datalist,
|
||||
'return' => true,
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
$inputs[] = [
|
||||
'label' => __('Target IP'),
|
||||
'id' => 'txt-targetIp',
|
||||
|
@ -573,6 +609,7 @@ class AgentWizard extends HTML
|
|||
'class' => '',
|
||||
'value' => $this->targetIp,
|
||||
'return' => true,
|
||||
'list' => 'address_list',
|
||||
],
|
||||
];
|
||||
|
||||
|
@ -865,7 +902,6 @@ class AgentWizard extends HTML
|
|||
],
|
||||
true
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -992,10 +1028,51 @@ class AgentWizard extends HTML
|
|||
}
|
||||
|
||||
if ($this->wizardSection === 'snmp_interfaces_explorer') {
|
||||
// First, try x64 interfaces.
|
||||
$this->interfacesx64 = true;
|
||||
// Check if thereis x64 counters.
|
||||
$snmp_tmp = '.1.3.6.1.2.1.31.1.1.1.6';
|
||||
$check_x64 = get_snmpwalk(
|
||||
$this->targetIp,
|
||||
$this->version,
|
||||
$this->community,
|
||||
$this->authUserV3,
|
||||
$this->securityLevelV3,
|
||||
$this->authMethodV3,
|
||||
$this->authPassV3,
|
||||
$this->privacyMethodV3,
|
||||
$this->privacyPassV3,
|
||||
0,
|
||||
$snmp_tmp,
|
||||
$this->targetPort,
|
||||
$this->server,
|
||||
$this->extraArguments
|
||||
);
|
||||
|
||||
if ($check_x64) {
|
||||
$this->interfacesx64 = true;
|
||||
$oidExplore = '.1.3.6.1.2.1.31.1.1.1.1';
|
||||
} else {
|
||||
$this->interfacesx64 = false;
|
||||
$oidExplore = '1.3.6.1.2.1.2.2.1.2';
|
||||
}
|
||||
|
||||
// Explore interface names.
|
||||
$oidExplore = '.1.3.6.1.2.1.31.1.1.1.1';
|
||||
$receivedOid = get_snmpwalk(
|
||||
$this->targetIp,
|
||||
$this->version,
|
||||
$this->community,
|
||||
$this->authUserV3,
|
||||
$this->securityLevelV3,
|
||||
$this->authMethodV3,
|
||||
$this->authPassV3,
|
||||
$this->privacyMethodV3,
|
||||
$this->privacyPassV3,
|
||||
0,
|
||||
$oidExplore,
|
||||
$this->targetPort,
|
||||
$this->server,
|
||||
$this->extraArguments
|
||||
);
|
||||
} else {
|
||||
// Get the device PEN.
|
||||
$oidExplore = '.1.3.6.1.2.1.1.2.0';
|
||||
|
@ -1310,7 +1387,7 @@ class AgentWizard extends HTML
|
|||
*
|
||||
* @return array
|
||||
*/
|
||||
public function candidateModuleToCreate(array $data):array
|
||||
public function candidateModuleToCreate(array $data): array
|
||||
{
|
||||
$modulesActivated = [];
|
||||
$generalInterface = false;
|
||||
|
@ -1560,8 +1637,8 @@ class AgentWizard extends HTML
|
|||
if ($this->securityLevelV3 === 'authNoPriv'
|
||||
|| $this->securityLevelV3 === 'authPriv'
|
||||
) {
|
||||
$values['plugin_parameter'] = $this->authMethodV3;
|
||||
$values['plugin_pass'] = $this->authPassV3;
|
||||
$values['plugin_parameter'] = $this->authMethodV3;
|
||||
$values['plugin_pass'] = $this->authPassV3;
|
||||
if ($this->securityLevelV3 === 'authPriv') {
|
||||
$values['custom_string_1'] = $this->privacyMethodV3;
|
||||
$values['custom_string_2'] = $this->privacyPassV3;
|
||||
|
@ -2261,7 +2338,7 @@ class AgentWizard extends HTML
|
|||
private function replacementMacrosPlugin(
|
||||
string $text,
|
||||
array $macros
|
||||
):string {
|
||||
): string {
|
||||
// Only agents.
|
||||
if (empty($this->idPolicy) === true) {
|
||||
// Common.
|
||||
|
@ -2308,7 +2385,7 @@ class AgentWizard extends HTML
|
|||
?string $value,
|
||||
?string $unit='',
|
||||
?int $moduleType=0
|
||||
):string {
|
||||
): string {
|
||||
if ($moduleType !== MODULE_TYPE_REMOTE_SNMP_INC
|
||||
&& $moduleType !== MODULE_TYPE_GENERIC_DATA_INC
|
||||
&& $moduleType !== MODULE_TYPE_REMOTE_TCP_INC
|
||||
|
@ -2562,7 +2639,7 @@ class AgentWizard extends HTML
|
|||
// Unpack the extra fields
|
||||
// and include with key field in a field set.
|
||||
$macros = json_decode($module['macros'], true);
|
||||
$fieldSet = [ '0' => $module['query_key_field'] ];
|
||||
$fieldSet = ['0' => $module['query_key_field']];
|
||||
foreach ($macros as $fieldKey => $fieldMacro) {
|
||||
if (preg_match('/extra_field_/', $fieldKey) !== 0) {
|
||||
$tmpKey = explode('_', $fieldKey);
|
||||
|
@ -3100,7 +3177,6 @@ class AgentWizard extends HTML
|
|||
// Add Create Modules form.
|
||||
$this->createModulesForm();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -3209,7 +3285,6 @@ class AgentWizard extends HTML
|
|||
}
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -3306,7 +3381,7 @@ class AgentWizard extends HTML
|
|||
*
|
||||
* @return array Inputs for common data.
|
||||
*/
|
||||
private function getCommonDataInputs():array
|
||||
private function getCommonDataInputs(): array
|
||||
{
|
||||
$inputs[] = [
|
||||
'id' => 'create-modules-action',
|
||||
|
@ -4116,13 +4191,13 @@ class AgentWizard extends HTML
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* This function return the definition of modules for SNMP Interfaces
|
||||
*
|
||||
* @param array $data Data.
|
||||
*
|
||||
* @return array Return modules for defect.
|
||||
*/
|
||||
/**
|
||||
* This function return the definition of modules for SNMP Interfaces
|
||||
*
|
||||
* @param array $data Data.
|
||||
*
|
||||
* @return array Return modules for defect.
|
||||
*/
|
||||
private function getInterfacesModules(array $data=[])
|
||||
{
|
||||
$moduleDescription = '';
|
||||
|
@ -4207,6 +4282,34 @@ class AgentWizard extends HTML
|
|||
],
|
||||
];
|
||||
|
||||
// Get x86 or x64 modules.
|
||||
if ($this->interfacesx64 === true) {
|
||||
$definition_temp = $this->getInterfacesModulesx64($data);
|
||||
} else {
|
||||
$definition_temp = $this->getInterfacesModulesx86($data);
|
||||
}
|
||||
|
||||
// General monitoring names.
|
||||
$general_module_names = [
|
||||
'ifInOctets / ifHCInOctets',
|
||||
'ifOutOctets / ifHCOutOctets',
|
||||
'ifInUcastPkts / ifHCInUcastPkts',
|
||||
'ifOutUcastPkts / ifHCOutUcastPkts',
|
||||
'ifInNUcastPkts / ifHCInNUcastPkts',
|
||||
'ifOutNUcastPkts / ifHCOutNUcastPkts',
|
||||
];
|
||||
|
||||
if ($name == '') {
|
||||
foreach ($definition_temp as $module => $module_def) {
|
||||
$definition_temp[$module]['module_name'] = array_shift($general_module_names);
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($definition_temp) === false) {
|
||||
$definition = array_merge($definition, $definition_temp);
|
||||
}
|
||||
|
||||
// Continue with common x86 and x84 modules.
|
||||
// IfAdminStatus.
|
||||
$moduleName = $name.'ifAdminStatus';
|
||||
$definition['ifAdminStatus'] = [
|
||||
|
@ -4333,19 +4436,6 @@ class AgentWizard extends HTML
|
|||
],
|
||||
];
|
||||
|
||||
// Get x86 or x64 modules.
|
||||
if ($this->interfacesx64 === true) {
|
||||
$definitionx64 = $this->getInterfacesModulesx64($data);
|
||||
if (empty($definitionx64) === false) {
|
||||
$definition = array_merge($definition, $definitionx64);
|
||||
}
|
||||
} else {
|
||||
$definitionx86 = $this->getInterfacesModulesx86($data);
|
||||
if (empty($definitionx86) === false) {
|
||||
$definition = array_merge($definition, $definitionx86);
|
||||
}
|
||||
}
|
||||
|
||||
return $definition;
|
||||
}
|
||||
|
||||
|
@ -4815,7 +4905,7 @@ class AgentWizard extends HTML
|
|||
try {
|
||||
exec($execution, $output);
|
||||
} catch (Exception $ex) {
|
||||
$output = [ '0' => 'ERROR: Failed execution: '.(string) $ex];
|
||||
$output = ['0' => 'ERROR: Failed execution: '.(string) $ex];
|
||||
}
|
||||
|
||||
return $output;
|
||||
|
@ -4913,7 +5003,7 @@ class AgentWizard extends HTML
|
|||
// Meta.
|
||||
var meta = "<?php echo is_metaconsole(); ?>";
|
||||
var hack_meta = '';
|
||||
if(meta){
|
||||
if (meta) {
|
||||
hack_meta = '../../';
|
||||
}
|
||||
|
||||
|
@ -4921,15 +5011,15 @@ class AgentWizard extends HTML
|
|||
showV3Form();
|
||||
|
||||
// Filter search interfaces snmp.
|
||||
$('#text-filter-search').keyup(function () {
|
||||
$('#text-filter-search').keyup(function() {
|
||||
var string = $('#text-filter-search').val();
|
||||
var regex = new RegExp(string);
|
||||
var interfaces = $('.interfaces_search');
|
||||
interfaces.each(function(){
|
||||
if(string == ''){
|
||||
interfaces.each(function() {
|
||||
if (string == '') {
|
||||
$(this).removeClass('hidden');
|
||||
} else {
|
||||
if(this.id.match(regex)) {
|
||||
if (this.id.match(regex)) {
|
||||
$(this).removeClass('hidden');
|
||||
} else {
|
||||
$(this).addClass('hidden');
|
||||
|
@ -4939,12 +5029,12 @@ class AgentWizard extends HTML
|
|||
});
|
||||
|
||||
// Loading.
|
||||
$('#submit-sub-protocol').click(function () {
|
||||
$('#submit-sub-protocol').click(function() {
|
||||
$('.wizard-result').remove();
|
||||
$('#form-create-modules').remove();
|
||||
$('.textodialogo').remove();
|
||||
$('.loading-wizard')
|
||||
.html('<center><span style="font-size:25px;">Loading...</span><img style="width:25px;heigth:25px;" src="'+hack_meta+'images/spinner.gif"></center>');
|
||||
.html('<center><span style="font-size:25px;">Loading...</span><img style="width:25px;heigth:25px;" src="' + hack_meta + 'images/spinner.gif"></center>');
|
||||
});
|
||||
|
||||
});
|
||||
|
@ -4962,17 +5052,17 @@ class AgentWizard extends HTML
|
|||
|
||||
function showSecurityLevelForm() {
|
||||
var selector = $('#securityLevelV3').val();
|
||||
if(selector === 'authNoPriv' || selector === 'authPriv'){
|
||||
if (selector === 'authNoPriv' || selector === 'authPriv') {
|
||||
$('#txt-authMethodV3').removeClass('invisible');
|
||||
$('#txt-authPassV3').removeClass('invisible');
|
||||
if(selector === 'authPriv'){
|
||||
if (selector === 'authPriv') {
|
||||
$('#txt-privacyMethodV3').removeClass('invisible');
|
||||
$('#txt-privacyPassV3').removeClass('invisible');
|
||||
} else {
|
||||
$('#txt-privacyMethodV3').addClass('invisible');
|
||||
$('#txt-privacyPassV3').addClass('invisible');
|
||||
}
|
||||
} else {
|
||||
} else {
|
||||
$('#txt-authMethodV3').addClass('invisible');
|
||||
$('#txt-authPassV3').addClass('invisible');
|
||||
$('#txt-privacyMethodV3').addClass('invisible');
|
||||
|
@ -4986,45 +5076,42 @@ class AgentWizard extends HTML
|
|||
var text = "";
|
||||
var failed = 0;
|
||||
try {
|
||||
data = JSON.parse(data);
|
||||
text = data["result"];
|
||||
data = JSON.parse(data);
|
||||
text = data["result"];
|
||||
} catch (err) {
|
||||
title = "<?php echo __('Failed'); ?>";
|
||||
text = err.message;
|
||||
failed = 1;
|
||||
title = "<?php echo __('Failed'); ?>";
|
||||
text = err.message;
|
||||
failed = 1;
|
||||
}
|
||||
if (!failed && data["error"] != undefined) {
|
||||
title = "<?php echo __('Failed'); ?>";
|
||||
text = data["error"];
|
||||
failed = 1;
|
||||
title = "<?php echo __('Failed'); ?>";
|
||||
text = data["error"];
|
||||
failed = 1;
|
||||
}
|
||||
if (data["report"] != undefined) {
|
||||
data["report"].forEach(function(item) {
|
||||
text += "<br>" + item;
|
||||
});
|
||||
data["report"].forEach(function(item) {
|
||||
text += "<br>" + item;
|
||||
});
|
||||
}
|
||||
|
||||
$("#msg").empty();
|
||||
$("#msg").html(text);
|
||||
$("#msg").dialog({
|
||||
width: 450,
|
||||
position: {
|
||||
my: "center",
|
||||
at: "center",
|
||||
of: window,
|
||||
collision: "fit"
|
||||
},
|
||||
title: title,
|
||||
buttons: [
|
||||
{
|
||||
class:
|
||||
"ui-widget ui-state-default ui-corner-all ui-button-text-only sub ok submit-next",
|
||||
width: 450,
|
||||
position: {
|
||||
my: "center",
|
||||
at: "center",
|
||||
of: window,
|
||||
collision: "fit"
|
||||
},
|
||||
title: title,
|
||||
buttons: [{
|
||||
class: "ui-widget ui-state-default ui-corner-all ui-button-text-only sub ok submit-next",
|
||||
text: "OK",
|
||||
click: function(e) {
|
||||
$("#msg").close();
|
||||
}
|
||||
}
|
||||
]
|
||||
}]
|
||||
});
|
||||
|
||||
}
|
||||
|
@ -5044,8 +5131,8 @@ class AgentWizard extends HTML
|
|||
var markedCount = 0;
|
||||
if (type == 'block') {
|
||||
selectedBlock
|
||||
.parent()
|
||||
.removeClass("alpha50");
|
||||
.parent()
|
||||
.removeClass("alpha50");
|
||||
if (selectedBlock.prop("checked")) {
|
||||
// Set to active the values of fields.
|
||||
$("[id*=hidden-module-active-"+blockNumber+"]")
|
||||
|
@ -5054,9 +5141,9 @@ class AgentWizard extends HTML
|
|||
});
|
||||
// Set checked.
|
||||
$("[id*=checkbox-sel_module_" + blockNumber + "]")
|
||||
.each(function(){
|
||||
$(this).prop("checked", true);
|
||||
});
|
||||
.each(function() {
|
||||
$(this).prop("checked", true);
|
||||
});
|
||||
imageInfoModules.removeClass('hidden');
|
||||
} else {
|
||||
// Set to inactive the values of fields.
|
||||
|
@ -5066,15 +5153,15 @@ class AgentWizard extends HTML
|
|||
});
|
||||
// Set unchecked.
|
||||
$("[id*=checkbox-sel_module_" + blockNumber + "]")
|
||||
.each(function(){
|
||||
$(this).prop("checked", false);
|
||||
});
|
||||
.each(function() {
|
||||
$(this).prop("checked", false);
|
||||
});
|
||||
imageInfoModules.addClass('hidden');
|
||||
}
|
||||
} else if (type == 'module') {
|
||||
// Getting the element.
|
||||
var thisModuleHidden = document.getElementById("hidden-module-active-"+switchName[2]+"_"+moduleNumber);
|
||||
var thisModule = $("#checkbox-sel_module_"+blockNumber+"_"+moduleNumber);
|
||||
var thisModuleHidden = document.getElementById("hidden-module-active-" + switchName[2] + "_" + moduleNumber);
|
||||
var thisModule = $("#checkbox-sel_module_" + blockNumber + "_" + moduleNumber);
|
||||
// Setting the individual field
|
||||
if (thisModule.prop('checked')) {
|
||||
thisModuleHidden.value = '1';
|
||||
|
@ -5084,12 +5171,12 @@ class AgentWizard extends HTML
|
|||
|
||||
// Get the list of selected modules.
|
||||
$("[id*=checkbox-sel_module_" + blockNumber + "]")
|
||||
.each(function() {
|
||||
if ($(this).prop("checked")) {
|
||||
markedCount++;
|
||||
}
|
||||
totalCount++;
|
||||
});
|
||||
.each(function() {
|
||||
if ($(this).prop("checked")) {
|
||||
markedCount++;
|
||||
}
|
||||
totalCount++;
|
||||
});
|
||||
|
||||
if (totalCount == markedCount) {
|
||||
selectedBlock.prop("checked", true);
|
||||
|
@ -5118,7 +5205,7 @@ class AgentWizard extends HTML
|
|||
*/
|
||||
function switchBlockControlInterfaces(e) {
|
||||
var string = $('#text-filter-search').val();
|
||||
if(string == ''){
|
||||
if (string == '') {
|
||||
if (e.checked) {
|
||||
$(".interfaz_select").prop("checked", true);
|
||||
} else {
|
||||
|
@ -5127,15 +5214,15 @@ class AgentWizard extends HTML
|
|||
} else {
|
||||
var regex = new RegExp(string);
|
||||
var interfaces = $('.interfaces_search');
|
||||
interfaces.each(function(){
|
||||
if(this.id.match(regex)) {
|
||||
interfaces.each(function() {
|
||||
if (this.id.match(regex)) {
|
||||
$(this).removeClass('hidden');
|
||||
if (e.checked) {
|
||||
$("input[name='interfaz_select_"+this.id+"']")
|
||||
$("input[name='interfaz_select_" + this.id + "']")
|
||||
.prop("checked", true);
|
||||
} else {
|
||||
$("input[name='interfaz_select_"+this.id+"']")
|
||||
.prop("checked", false);
|
||||
$("input[name='interfaz_select_" + this.id + "']")
|
||||
.prop("checked", false);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -5143,13 +5230,13 @@ class AgentWizard extends HTML
|
|||
}
|
||||
|
||||
/**
|
||||
* Show the modal with modules for create.
|
||||
*/
|
||||
* Show the modal with modules for create.
|
||||
*/
|
||||
function processListModules() {
|
||||
confirmDialog({
|
||||
title: "<?php echo __('Modules about to be created'); ?>",
|
||||
message: function() {
|
||||
var id = "div-"+uniqId();
|
||||
var id = "div-" + uniqId();
|
||||
var loading = "<?php echo __('Loading'); ?>" + "...";
|
||||
$.ajax({
|
||||
method: "post",
|
||||
|
@ -5165,22 +5252,22 @@ class AgentWizard extends HTML
|
|||
},
|
||||
datatype: "html",
|
||||
success: function(data) {
|
||||
$('#'+id).empty().append(data);
|
||||
$('#' + id).empty().append(data);
|
||||
},
|
||||
error: function(e) {
|
||||
showMsg(e);
|
||||
}
|
||||
});
|
||||
|
||||
return "<div id ='"+id+"'>"+loading+"</div>";
|
||||
return "<div id ='" + id + "'>" + loading + "</div>";
|
||||
},
|
||||
ok: "<?php echo __('OK'); ?>",
|
||||
cancel: "<?php echo __('Cancel'); ?>",
|
||||
onAccept: function() {
|
||||
$('#reviewed-modules').submit();
|
||||
$('#reviewed-modules').submit();
|
||||
},
|
||||
size:750,
|
||||
maxHeight:500
|
||||
size: 750,
|
||||
maxHeight: 500
|
||||
});
|
||||
|
||||
}
|
||||
|
|
|
@ -547,6 +547,7 @@ class HTML
|
|||
} else {
|
||||
if ($input['arguments']['type'] != 'hidden'
|
||||
&& $input['arguments']['type'] != 'hidden_extended'
|
||||
&& $input['arguments']['type'] != 'datalist'
|
||||
) {
|
||||
if (!$direct) {
|
||||
$output .= '<li id="'.$input['id'].'" class="'.$class.'">';
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
/**
|
||||
* Pandora build version and version
|
||||
*/
|
||||
$build_version = 'PC201029';
|
||||
$build_version = 'PC201103';
|
||||
$pandora_version = 'v7.0NG.750';
|
||||
|
||||
// Do not overwrite default timezone set if defined.
|
||||
|
|
|
@ -2872,7 +2872,7 @@ function alerts_get_agent_modules(
|
|||
$agent_modules = db_get_all_rows_sql($sql);
|
||||
} else {
|
||||
$groups = groups_get_children_ids($id_grupo, true);
|
||||
if (count($groups) > 1) {
|
||||
if (empty($groups) === false) {
|
||||
$sql = sprintf(
|
||||
'SELECT distinct(atm.id_agent_module)
|
||||
FROM talert_template_modules atm
|
||||
|
|
|
@ -673,15 +673,16 @@ function events_update_status($id_evento, $status, $filter=null, $history=false)
|
|||
/**
|
||||
* Retrieve all events filtered.
|
||||
*
|
||||
* @param array $fields Fields to retrieve.
|
||||
* @param array $filter Filters to be applied.
|
||||
* @param integer $offset Offset (pagination).
|
||||
* @param integer $limit Limit (pagination).
|
||||
* @param string $order Sort order.
|
||||
* @param string $sort_field Sort field.
|
||||
* @param boolean $history Apply on historical table.
|
||||
* @param boolean $return_sql Return SQL (true) or execute it (false).
|
||||
* @param string $having Having filter.
|
||||
* @param array $fields Fields to retrieve.
|
||||
* @param array $filter Filters to be applied.
|
||||
* @param integer $offset Offset (pagination).
|
||||
* @param integer $limit Limit (pagination).
|
||||
* @param string $order Sort order.
|
||||
* @param string $sort_field Sort field.
|
||||
* @param boolean $history Apply on historical table.
|
||||
* @param boolean $return_sql Return SQL (true) or execute it (false).
|
||||
* @param string $having Having filter.
|
||||
* @param boolean $validatedEvents If true, evaluate validated events.
|
||||
*
|
||||
* @return array Events.
|
||||
* @throws Exception On error.
|
||||
|
@ -695,7 +696,8 @@ function events_get_all(
|
|||
$sort_field=null,
|
||||
$history=false,
|
||||
$return_sql=false,
|
||||
$having=''
|
||||
$having='',
|
||||
$validatedEvents=false
|
||||
) {
|
||||
global $config;
|
||||
|
||||
|
@ -912,10 +914,20 @@ function events_get_all(
|
|||
break;
|
||||
|
||||
case EVENT_NO_VALIDATED:
|
||||
// Show comments in validated events.
|
||||
$validatedState = '';
|
||||
if ($validatedEvents === true) {
|
||||
$validatedState = sprintf(
|
||||
'OR estado = %d',
|
||||
EVENT_VALIDATE
|
||||
);
|
||||
}
|
||||
|
||||
$sql_filters[] = sprintf(
|
||||
' AND (estado = %d OR estado = %d)',
|
||||
' AND (estado = %d OR estado = %d %s)',
|
||||
EVENT_NEW,
|
||||
EVENT_PROCESS
|
||||
EVENT_PROCESS,
|
||||
$validatedState
|
||||
);
|
||||
break;
|
||||
}
|
||||
|
@ -1540,26 +1552,18 @@ function events_get_event($id, $fields=false, $meta=false, $history=false)
|
|||
/**
|
||||
* Retrieve all events ungrouped.
|
||||
*
|
||||
* @param string $sql_post Sql_post.
|
||||
* @param integer $offset Offset.
|
||||
* @param integer $pagination Pagination.
|
||||
* @param boolean $meta Meta.
|
||||
* @param boolean $history History.
|
||||
* @param boolean $total Total.
|
||||
* @param boolean $history_db History_db.
|
||||
* @param string $order Order.
|
||||
* @param string $sql_post Sql_post.
|
||||
* @param boolean $meta Meta.
|
||||
* @param boolean $history History.
|
||||
* @param boolean $returnSql Only Query.
|
||||
*
|
||||
* @return mixed Array of events or false.
|
||||
*/
|
||||
function events_get_events_no_grouped(
|
||||
$sql_post,
|
||||
$offset=0,
|
||||
$pagination=1,
|
||||
$meta=false,
|
||||
$history=false,
|
||||
$total=false,
|
||||
$history_db=false,
|
||||
$order='ASC'
|
||||
$returnSql=false
|
||||
) {
|
||||
global $config;
|
||||
|
||||
|
@ -1569,7 +1573,11 @@ function events_get_events_no_grouped(
|
|||
$sql .= events_get_secondary_groups_left_join($table);
|
||||
$sql .= $sql_post;
|
||||
|
||||
$events = db_get_all_rows_sql($sql, $history_db);
|
||||
if ($returnSql === true) {
|
||||
return $sql;
|
||||
}
|
||||
|
||||
$events = db_get_all_rows_sql($sql, $history);
|
||||
|
||||
return $events;
|
||||
}
|
||||
|
@ -1622,29 +1630,59 @@ function events_get_events_grouped(
|
|||
$event_lj = events_get_secondary_groups_left_join($table);
|
||||
if ($total) {
|
||||
$sql = "SELECT COUNT(*) FROM (SELECT id_evento
|
||||
FROM $table te $event_lj
|
||||
WHERE 1=1 ".$sql_post.'
|
||||
FROM $table te $event_lj ".$sql_post.'
|
||||
GROUP BY estado, evento, id_agente, id_agentmodule'.$groupby_extra.') AS t';
|
||||
} else {
|
||||
$sql = "SELECT *, MAX(id_evento) AS id_evento,
|
||||
GROUP_CONCAT(DISTINCT user_comment SEPARATOR '<br>') AS user_comment,
|
||||
GROUP_CONCAT(DISTINCT id_evento SEPARATOR ',') AS similar_ids,
|
||||
COUNT(id_evento) AS event_rep, MAX(utimestamp) AS timestamp_rep,
|
||||
MIN(utimestamp) AS timestamp_rep_min,
|
||||
(SELECT owner_user FROM $table WHERE id_evento = MAX(te.id_evento)) owner_user,
|
||||
(SELECT id_usuario FROM $table WHERE id_evento = MAX(te.id_evento)) id_usuario,
|
||||
(SELECT id_agente FROM $table WHERE id_evento = MAX(te.id_evento)) id_agente,
|
||||
(SELECT criticity FROM $table WHERE id_evento = MAX(te.id_evento)) AS criticity,
|
||||
(SELECT ack_utimestamp FROM $table WHERE id_evento = MAX(te.id_evento)) AS ack_utimestamp,
|
||||
(SELECT nombre FROM tagente_modulo WHERE id_agente_modulo = te.id_agentmodule) AS module_name
|
||||
FROM $table te $event_lj
|
||||
WHERE 1=1 ".$sql_post.'
|
||||
GROUP BY estado, evento, id_agente, id_agentmodule'.$groupby_extra;
|
||||
$sql .= ' '.events_get_sql_order($sort_field, $order, 2);
|
||||
$sql .= ' LIMIT '.$offset.','.$pagination;
|
||||
$sql = sprintf(
|
||||
'SELECT *,
|
||||
MAX(id_evento) AS id_evento,
|
||||
GROUP_CONCAT(
|
||||
DISTINCT user_comment SEPARATOR "<br>"
|
||||
) AS user_comment,
|
||||
GROUP_CONCAT(
|
||||
DISTINCT id_evento SEPARATOR ","
|
||||
) AS similar_ids,
|
||||
COUNT(id_evento) AS event_rep, MAX(utimestamp) AS timestamp_rep,
|
||||
MIN(utimestamp) AS timestamp_rep_min,
|
||||
(SELECT owner_user
|
||||
FROM %s
|
||||
WHERE id_evento = MAX(te.id_evento)) AS owner_user,
|
||||
(SELECT id_usuario
|
||||
FROM %s
|
||||
WHERE id_evento = MAX(te.id_evento)) AS id_usuario,
|
||||
(SELECT id_agente
|
||||
FROM %s
|
||||
WHERE id_evento = MAX(te.id_evento)) AS id_agente,
|
||||
(SELECT criticity
|
||||
FROM %s
|
||||
WHERE id_evento = MAX(te.id_evento)) AS criticity,
|
||||
(SELECT ack_utimestamp
|
||||
FROM %s
|
||||
WHERE id_evento = MAX(te.id_evento)) AS ack_utimestamp,
|
||||
(SELECT nombre
|
||||
FROM tagente_modulo
|
||||
WHERE id_agente_modulo = te.id_agentmodule) AS module_name
|
||||
FROM %s te %s
|
||||
%s
|
||||
GROUP BY estado, evento, id_agente, id_agentmodule %s
|
||||
%s
|
||||
LIMIT %d, %d',
|
||||
$table,
|
||||
$table,
|
||||
$table,
|
||||
$table,
|
||||
$table,
|
||||
$table,
|
||||
$event_lj,
|
||||
$sql_post,
|
||||
$groupby_extra,
|
||||
events_get_sql_order($sort_field, $order, 2),
|
||||
$offset,
|
||||
$pagination
|
||||
);
|
||||
}
|
||||
|
||||
// Extract the events by filter (or not) from db
|
||||
// Extract the events by filter (or not) from db.
|
||||
$events = db_get_all_rows_sql($sql, $history_db);
|
||||
|
||||
if ($total) {
|
||||
|
@ -2959,7 +2997,8 @@ function events_get_agent(
|
|||
$type = [];
|
||||
foreach ($filter_event_type as $event_type) {
|
||||
if ($event_type != '') {
|
||||
// If normal, warning, could be several (going_up_warning, going_down_warning... too complex.
|
||||
// If normal, warning, could be several
|
||||
// (going_up_warning, going_down_warning... too complex.
|
||||
// Shown to user only "warning, critical and normal".
|
||||
if ($event_type == 'warning' || $event_type == 'critical' || $event_type == 'normal') {
|
||||
$type[] = " event_type LIKE '%".$event_type."%' ";
|
||||
|
@ -2979,10 +3018,10 @@ function events_get_agent(
|
|||
}
|
||||
|
||||
if ($events_group) {
|
||||
$sql_where .= sprintf(
|
||||
$secondary_groups = sprintf(
|
||||
' INNER JOIN tgrupo tg
|
||||
ON (te.id_grupo = tg.id_grupo AND tg.id_grupo = %s)
|
||||
OR (tg.id_grupo = tasg.id_group AND tasg.id_group = %s)
|
||||
ON (te.id_grupo = tg.id_grupo AND tg.id_grupo IN (%s))
|
||||
OR (tg.id_grupo = tasg.id_group AND tasg.id_group IN (%s))
|
||||
WHERE utimestamp > %d
|
||||
AND utimestamp <= %d ',
|
||||
join(',', $id_group),
|
||||
|
@ -2990,22 +3029,27 @@ function events_get_agent(
|
|||
$datelimit,
|
||||
$date
|
||||
);
|
||||
} else if ($events_module) {
|
||||
$sql_where .= sprintf(
|
||||
' AND id_agentmodule = %d AND utimestamp > %d
|
||||
AND utimestamp <= %d ',
|
||||
$id_agent_module,
|
||||
$datelimit,
|
||||
$date
|
||||
);
|
||||
$sql_where = $secondary_groups.' '.$sql_where;
|
||||
} else {
|
||||
$sql_where .= sprintf(
|
||||
' AND id_agente = %d AND utimestamp > %d
|
||||
AND utimestamp <= %d ',
|
||||
$id_agent,
|
||||
$datelimit,
|
||||
$date
|
||||
);
|
||||
$sql_where = ' WHERE 1=1 '.$sql_where;
|
||||
|
||||
if ($events_module) {
|
||||
$sql_where .= sprintf(
|
||||
' AND id_agentmodule = %d AND utimestamp > %d
|
||||
AND utimestamp <= %d ',
|
||||
$id_agent_module,
|
||||
$datelimit,
|
||||
$date
|
||||
);
|
||||
} else {
|
||||
$sql_where .= sprintf(
|
||||
' AND id_agente = %d AND utimestamp > %d
|
||||
AND utimestamp <= %d ',
|
||||
$id_agent,
|
||||
$datelimit,
|
||||
$date
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if (is_metaconsole() && $id_server) {
|
||||
|
@ -3025,11 +3069,7 @@ function events_get_agent(
|
|||
} else {
|
||||
return events_get_events_no_grouped(
|
||||
$sql_where,
|
||||
0,
|
||||
1000,
|
||||
(is_metaconsole() && $id_server) ? true : false,
|
||||
false,
|
||||
false,
|
||||
$history
|
||||
);
|
||||
}
|
||||
|
@ -3793,7 +3833,7 @@ function events_get_response_target(
|
|||
if (strpos($target, '_group_name_') !== false) {
|
||||
$target = str_replace(
|
||||
'_group_name_',
|
||||
groups_get_name($event['id_grupo'], true),
|
||||
io_safe_output(groups_get_name($event['id_grupo'], true)),
|
||||
$target
|
||||
);
|
||||
}
|
||||
|
@ -3809,7 +3849,7 @@ function events_get_response_target(
|
|||
if (strpos($target, '_event_date_') !== false) {
|
||||
$target = str_replace(
|
||||
'_event_date_',
|
||||
date($config['date_format'], $event['utimestamp']),
|
||||
io_safe_output(date($config['date_format'], $event['utimestamp'])),
|
||||
$target
|
||||
);
|
||||
}
|
||||
|
@ -3833,7 +3873,7 @@ function events_get_response_target(
|
|||
if (strpos($target, '_alert_id_') !== false) {
|
||||
$target = str_replace(
|
||||
'_alert_id_',
|
||||
empty($event['is_alert_am']) ? __('N/A') : $event['is_alert_am'],
|
||||
empty($event['id_alert_am']) ? __('N/A') : $event['id_alert_am'],
|
||||
$target
|
||||
);
|
||||
}
|
||||
|
@ -3915,6 +3955,15 @@ function events_get_response_target(
|
|||
$target = str_replace('_current_user_', $config['id_user'], $target);
|
||||
}
|
||||
|
||||
// This will replace the macro with the command timeout value.
|
||||
if (strpos($target, '_command_timeout_') !== false) {
|
||||
$target = str_replace(
|
||||
'_command_timeout_',
|
||||
$event_response['command_timeout'],
|
||||
$target
|
||||
);
|
||||
}
|
||||
|
||||
return $target;
|
||||
}
|
||||
|
||||
|
@ -4652,16 +4701,24 @@ function events_page_general($event)
|
|||
$table_general->data[] = $data;
|
||||
|
||||
// If event is validated, show who and when acknowleded it.
|
||||
$table_general->cellclass[8][1] = 'general_acknowleded';
|
||||
|
||||
$data = [];
|
||||
$data[0] = __('Acknowledged by');
|
||||
|
||||
if ($event['estado'] == 1) {
|
||||
$user_ack = db_get_value('fullname', 'tusuario', 'id_user', $event['id_usuario']);
|
||||
if (empty($user_ack)) {
|
||||
$user_ack = db_get_value(
|
||||
'fullname',
|
||||
'tusuario',
|
||||
'id_user',
|
||||
$event['id_usuario']
|
||||
);
|
||||
|
||||
if (empty($user_ack) === true) {
|
||||
$user_ack = $event['id_usuario'];
|
||||
}
|
||||
|
||||
$date_ack = date($config['date_format'], $event['ack_utimestamp']);
|
||||
$date_ack = io_safe_output($event['ack_utimestamp']);
|
||||
$data[1] = $user_ack.' ('.$date_ack.')';
|
||||
} else {
|
||||
$data[1] = '<i>'.__('N/A').'</i>';
|
||||
|
@ -6995,7 +7052,7 @@ function events_get_field_value_by_event_id(
|
|||
if (strpos($value, '_group_name_') !== false) {
|
||||
$value = str_replace(
|
||||
'_group_name_',
|
||||
groups_get_name($event['id_grupo'], true),
|
||||
io_safe_output(groups_get_name($event['id_grupo'], true)),
|
||||
$value
|
||||
);
|
||||
}
|
||||
|
@ -7011,7 +7068,9 @@ function events_get_field_value_by_event_id(
|
|||
if (strpos($value, '_event_date_') !== false) {
|
||||
$value = str_replace(
|
||||
'_event_date_',
|
||||
date($config['date_format'], $event['utimestamp']),
|
||||
io_safe_output(
|
||||
date($config['date_format'], $event['utimestamp'])
|
||||
),
|
||||
$value
|
||||
);
|
||||
}
|
||||
|
|
|
@ -2541,13 +2541,9 @@ function graphic_agentaccess(
|
|||
} else {
|
||||
$options['generals']['pdf']['width'] = 350;
|
||||
$options['generals']['pdf']['height'] = 125;
|
||||
if (!empty($data_array)) {
|
||||
$imgbase64 = '<img src="data:image/jpg;base64,';
|
||||
$imgbase64 .= vbar_graph($data_array, $options, 2);
|
||||
$imgbase64 .= '" />';
|
||||
} else {
|
||||
$imgbase64 .= vbar_graph($data_array, $options, 2);
|
||||
}
|
||||
$imgbase64 = '<img src="data:image/jpg;base64,';
|
||||
$imgbase64 .= vbar_graph($data_array, $options, 2);
|
||||
$imgbase64 .= '" />';
|
||||
|
||||
return $imgbase64;
|
||||
}
|
||||
|
|
|
@ -2032,6 +2032,7 @@ function html_print_input_text_extended(
|
|||
'required',
|
||||
'autocomplete',
|
||||
'form',
|
||||
'list',
|
||||
];
|
||||
|
||||
$output = '<input '.($password ? 'type="password" autocomplete="'.$autocomplete.'" ' : 'type="text" ');
|
||||
|
@ -2257,7 +2258,8 @@ function html_print_input_text(
|
|||
$onKeyDown='',
|
||||
$formTo='',
|
||||
$onKeyUp='',
|
||||
$disabled=false
|
||||
$disabled=false,
|
||||
$list=''
|
||||
) {
|
||||
if ($maxlength == 0) {
|
||||
$maxlength = 255;
|
||||
|
@ -2302,6 +2304,10 @@ function html_print_input_text(
|
|||
$attr['form'] = $formTo;
|
||||
}
|
||||
|
||||
if ($list != '') {
|
||||
$attr['list'] = $list;
|
||||
}
|
||||
|
||||
return html_print_input_text_extended(
|
||||
$name,
|
||||
$value,
|
||||
|
@ -4234,7 +4240,9 @@ function html_print_input($data, $wrapper='div', $input_only=false)
|
|||
((isset($data['autofocus']) === true) ? $data['autofocus'] : false),
|
||||
((isset($data['onKeyDown']) === true) ? $data['onKeyDown'] : ''),
|
||||
((isset($data['form']) === true) ? $data['form'] : ''),
|
||||
((isset($data['onKeyUp']) === true) ? $data['onKeyUp'] : '')
|
||||
((isset($data['onKeyUp']) === true) ? $data['onKeyUp'] : ''),
|
||||
((isset($data['disabled']) === true) ? $data['disabled'] : false),
|
||||
((isset($data['list']) === true) ? $data['list'] : '')
|
||||
);
|
||||
break;
|
||||
|
||||
|
@ -4731,6 +4739,14 @@ function html_print_input($data, $wrapper='div', $input_only=false)
|
|||
$output .= html_print_select_multiple_modules_filtered($data);
|
||||
break;
|
||||
|
||||
case 'datalist':
|
||||
$output .= html_print_datalist(
|
||||
$data['name'],
|
||||
$data['value'],
|
||||
((isset($data['return']) === true) ? $data['return'] : true)
|
||||
);
|
||||
break;
|
||||
|
||||
default:
|
||||
// Ignore.
|
||||
break;
|
||||
|
@ -4911,3 +4927,32 @@ function html_print_tabs(array $tabs)
|
|||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Create a datalist.
|
||||
*
|
||||
* @param string $id Use custom id.
|
||||
* @param string $values Input values.
|
||||
* @param string $returnparam Whether to return an output string or echo now (optional, echo by default).
|
||||
*
|
||||
* @return string HTML code if return parameter is true.
|
||||
*/
|
||||
function html_print_datalist(
|
||||
$id,
|
||||
$values,
|
||||
$return=false
|
||||
) {
|
||||
$result = '<datalist id="'.$id.'">';
|
||||
foreach ($values as $key => $value) {
|
||||
$result .= '<option value="'.$value.'">';
|
||||
}
|
||||
|
||||
$result .= '</datalist>';
|
||||
|
||||
if ($return) {
|
||||
return $result;
|
||||
} else {
|
||||
echo $result;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2957,7 +2957,7 @@ function reporting_group_report($report, $content)
|
|||
if (empty($id_group)) {
|
||||
$events = [];
|
||||
} else {
|
||||
$sql_where = sprintf(' AND id_grupo IN (%s) AND estado<>1 ', implode(',', $id_group));
|
||||
$sql_where = sprintf(' WHERE id_grupo IN (%s) AND estado<>1 ', implode(',', $id_group));
|
||||
$events = events_get_events_grouped(
|
||||
$sql_where,
|
||||
0,
|
||||
|
|
|
@ -802,7 +802,7 @@ function treeview_printTable($id_agente, $server_data=[], $no_head=false)
|
|||
$events_graph = '<div style="width: 100%; height: 90px; display: flex; flex-direction: row; justify-content: center;">';
|
||||
$events_graph .= graph_graphic_agentevents(
|
||||
$id_agente,
|
||||
'385px;',
|
||||
'340px;margin:0',
|
||||
45,
|
||||
SECONDS_1DAY,
|
||||
'',
|
||||
|
|
|
@ -346,13 +346,7 @@ function menu_graph(
|
|||
$threshold = true;
|
||||
}
|
||||
|
||||
$return .= "<div id='general_menu_$graph_id' class='menu_graph' style='
|
||||
width: 20px;
|
||||
height: 150px;
|
||||
left:100%;
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
background-color: tranparent;'>";
|
||||
$return .= "<div id='general_menu_$graph_id' class='menu_graph'>";
|
||||
$return .= "<div id='menu_$graph_id' "."style='display: none; ".'text-align: center;'.'position: relative;'."border-bottom: 0px;'>
|
||||
<a href='javascript:'><img id='menu_cancelzoom_$graph_id' src='".$params['homeurl']."images/zoom_cross_grey.disabled.png' alt='".__('Cancel zoom')."' title='".__('Cancel zoom')."'></a>";
|
||||
if ($threshold) {
|
||||
|
@ -745,13 +739,12 @@ function flot_slicesbar_graph(
|
|||
|
||||
// Set some containers to legend, graph, timestamp tooltip, etc.
|
||||
$height = ((int) $height + 15);
|
||||
if ($stat_win) {
|
||||
$return = "<div id='$graph_id' class='noresizevc graph $adapt_key' style='width: ".$width.'%; height: '.$height."px; display: inline-block;'></div>";
|
||||
} else {
|
||||
$return = "<div id='$graph_id' class='noresizevc graph $adapt_key' style='width: ".$width.'%; height: '.$height."px;'></div>";
|
||||
}
|
||||
|
||||
$return .= "<div id='value_$graph_id' style='display:none; position:absolute; background:#fff; border: solid 1px #aaa; padding: 2px'></div>";
|
||||
$style = 'width:'.$width.'%;';
|
||||
$style .= 'height:'.$height.'px;';
|
||||
$return = "<div id='".$graph_id."' class='noresizevc graph ".$adapt_key."' style='".$style."'></div>";
|
||||
|
||||
$return .= "<div id='value_".$graph_id."' style='display:none; position:absolute; background:#fff; border: solid 1px #aaa; padding: 2px'></div>";
|
||||
|
||||
// Set a weird separator to serialize and unserialize
|
||||
// passing data from php to javascript.
|
||||
|
|
|
@ -453,7 +453,6 @@ function perform_response_massive(response, response_id, out_iterator) {
|
|||
// Change the status of an event to new, in process or validated.
|
||||
function event_change_status(event_ids) {
|
||||
var new_status = $("#estado").val();
|
||||
var event_id = $("#hidden-id_event").val();
|
||||
var meta = $("#hidden-meta").val();
|
||||
var history = $("#hidden-history").val();
|
||||
|
||||
|
@ -472,7 +471,7 @@ function event_change_status(event_ids) {
|
|||
type: "POST",
|
||||
url: $("#hidden-ajax_file").val(),
|
||||
async: true,
|
||||
dataType: "html",
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
$("#button-status_button").removeAttr("disabled");
|
||||
$("#response_loading").hide();
|
||||
|
@ -485,11 +484,20 @@ function event_change_status(event_ids) {
|
|||
$("#notification_status_error").hide();
|
||||
}
|
||||
|
||||
if (data == "status_ok") {
|
||||
if (data.status == "status_ok") {
|
||||
if (typeof dt_events !== "undefined") {
|
||||
dt_events.draw(false);
|
||||
}
|
||||
$("#notification_status_success").show();
|
||||
if (new_status == 1) {
|
||||
$("#extended_event_general_page table td.general_acknowleded").text(
|
||||
data.user
|
||||
);
|
||||
} else {
|
||||
$("#extended_event_general_page table td.general_acknowleded").text(
|
||||
"N/A"
|
||||
);
|
||||
}
|
||||
} else {
|
||||
$("#notification_status_error").show();
|
||||
}
|
||||
|
@ -942,7 +950,6 @@ function execute_event_response(event_list_btn) {
|
|||
});
|
||||
break;
|
||||
case "delete_selected":
|
||||
console.log($(this));
|
||||
$(".chk_val:checked").each(function() {
|
||||
execute_delete_event_reponse(
|
||||
dt_events,
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
/*global $, _*/
|
||||
|
||||
var TreeController = {
|
||||
controllers: [],
|
||||
getController: function() {
|
||||
|
@ -38,12 +40,35 @@ var TreeController = {
|
|||
return;
|
||||
}
|
||||
|
||||
function _recursiveGroupsCount(elements, childGroupsLength) {
|
||||
if (typeof childGroupsLength === "undefined") {
|
||||
childGroupsLength = 0;
|
||||
}
|
||||
|
||||
_.each(elements, function(element) {
|
||||
if (typeof element.children !== "undefined") {
|
||||
childGroupsLength = _recursiveGroupsCount(
|
||||
element.children,
|
||||
childGroupsLength
|
||||
);
|
||||
childGroupsLength += element.children.length;
|
||||
}
|
||||
});
|
||||
return childGroupsLength;
|
||||
}
|
||||
|
||||
// Load branch
|
||||
function _processGroup(container, elements, rootGroup) {
|
||||
var $group = $("<ul></ul>");
|
||||
var childGroupsLength = _recursiveGroupsCount(elements);
|
||||
|
||||
// First group
|
||||
// First group.
|
||||
if (typeof rootGroup != "undefined" && rootGroup == true) {
|
||||
var messageLength = controller.tree.length;
|
||||
if (childGroupsLength > 0) {
|
||||
messageLength = childGroupsLength + controller.tree.length;
|
||||
}
|
||||
|
||||
$group
|
||||
.addClass("tree-root")
|
||||
.hide()
|
||||
|
@ -54,13 +79,12 @@ var TreeController = {
|
|||
'images/pandora.png" />' +
|
||||
"<span class='margin-left-1'>" +
|
||||
(controller.tree.length > 0
|
||||
? controller.foundMessage + ": " + controller.tree.length
|
||||
? controller.foundMessage + ": " + messageLength
|
||||
: "") +
|
||||
"</div>"
|
||||
);
|
||||
}
|
||||
// Normal group
|
||||
else {
|
||||
} else {
|
||||
// Normal group.
|
||||
$group.addClass("tree-group").hide();
|
||||
}
|
||||
|
||||
|
|
|
@ -462,6 +462,10 @@ select:-internal-list-box {
|
|||
width: 120px;
|
||||
max-width: 120px;
|
||||
}
|
||||
.w200px {
|
||||
width: 200px;
|
||||
max-width: 200px;
|
||||
}
|
||||
.w240px {
|
||||
width: 240px;
|
||||
max-width: 240px;
|
||||
|
@ -3074,6 +3078,12 @@ div#stat-win-module-graph div.nodata_container {
|
|||
}
|
||||
|
||||
.menu_graph {
|
||||
width: 30px;
|
||||
height: 150px;
|
||||
left: 100%;
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
background-color: transparent;
|
||||
-moz-border-top-right-radius: 6px;
|
||||
-webkit-border-top-right-radius: 6px;
|
||||
border-top-right-radius: 6px;
|
||||
|
@ -5866,7 +5876,7 @@ table.table_modal_alternate tr td:first-child {
|
|||
}
|
||||
|
||||
.flot-text {
|
||||
width: 101%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/*Font header feedback*/
|
||||
|
|
|
@ -750,7 +750,17 @@ if (! isset($config['id_user'])) {
|
|||
$pass2 = get_parameter_post('pass2');
|
||||
$id_user = get_parameter_post('id_user');
|
||||
|
||||
if ($correct_pass_change && !empty($pass1) && !empty($pass2) && !empty($id_user)) {
|
||||
if ($reset_hash != '') {
|
||||
$hash_data = explode(':::', $reset_hash);
|
||||
$id_user = $hash_data[0];
|
||||
$codified_hash = $hash_data[1];
|
||||
|
||||
$db_reset_pass_entry = db_get_value_filter('reset_time', 'treset_pass', ['id_user' => $id_user, 'cod_hash' => $id_user.':::'.$codified_hash]);
|
||||
}
|
||||
|
||||
if ($correct_pass_change && !empty($pass1) && !empty($pass2) && !empty($id_user) && $db_reset_pass_entry) {
|
||||
delete_reset_pass_entry($id_user);
|
||||
|
||||
$correct_reset_pass_process = '';
|
||||
$process_error_message = '';
|
||||
|
||||
|
@ -787,21 +797,14 @@ if (! isset($config['id_user'])) {
|
|||
include_once 'general/login_page.php';
|
||||
} else {
|
||||
if ($reset_hash != '') {
|
||||
$hash_data = explode(':::', $reset_hash);
|
||||
$id_user = $hash_data[0];
|
||||
$codified_hash = $hash_data[1];
|
||||
|
||||
$db_reset_pass_entry = db_get_value_filter('reset_time', 'treset_pass', ['id_user' => $id_user, 'cod_hash' => $id_user.':::'.$codified_hash]);
|
||||
$process_error_message = '';
|
||||
|
||||
if ($db_reset_pass_entry) {
|
||||
if (($db_reset_pass_entry + SECONDS_2HOUR) < time()) {
|
||||
register_pass_change_try($id_user, 0);
|
||||
$process_error_message = __('Too much time since password change request');
|
||||
delete_reset_pass_entry($id_user);
|
||||
include_once 'general/login_page.php';
|
||||
} else {
|
||||
delete_reset_pass_entry($id_user);
|
||||
include_once 'enterprise/include/process_reset_pass.php';
|
||||
}
|
||||
} else {
|
||||
|
|
|
@ -129,7 +129,7 @@
|
|||
<div style='height: 10px'>
|
||||
<?php
|
||||
$version = '7.0NG.750';
|
||||
$build = '201029';
|
||||
$build = '201103';
|
||||
$banner = "v$version Build $build";
|
||||
|
||||
error_reporting(0);
|
||||
|
|
|
@ -731,7 +731,7 @@ class Events
|
|||
$system = System::getInstance();
|
||||
|
||||
// --------------Fill the SQL POST-------------------------------
|
||||
$sql_post = '';
|
||||
$sql_post = ' WHERE 1=1 ';
|
||||
|
||||
switch ($this->status) {
|
||||
case 0:
|
||||
|
|
|
@ -35,6 +35,7 @@ require_once $config['homedir'].'/include/functions_graph.php';
|
|||
require_once $config['homedir'].'/include/functions_modules.php';
|
||||
require_once $config['homedir'].'/include/functions_agents.php';
|
||||
require_once $config['homedir'].'/include/functions_tags.php';
|
||||
require_once $config['homedir'].'/include/php_to_js_values.php';
|
||||
enterprise_include_once('include/functions_agents.php');
|
||||
|
||||
check_login();
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
<?php
|
||||
|
||||
|
||||
// This file is an example on how things must NEVER be done.
|
||||
// Pandora FMS - http://pandorafms.com
|
||||
// ==================================================
|
||||
// Copyright (c) 2005-2010 Artica Soluciones Tecnologicas
|
||||
|
@ -41,7 +40,7 @@ if (! defined('METACONSOLE')) {
|
|||
|
||||
$buttons['fields'] = [
|
||||
'active' => false,
|
||||
'text' => '<a href="index.php?sec=view&sec2=operation/agentes/status_monitor&section=fields">'.html_print_image('images/custom_columns.png', true, ['title' => __('Custom fields')]).'</a>',
|
||||
'text' => '<a href="index.php?sec=view&sec2=operation/agentes/status_monitor§ion=fields">'.html_print_image('images/custom_columns.png', true, ['title' => __('Custom fields')]).'</a>',
|
||||
'operation' => true,
|
||||
];
|
||||
|
||||
|
@ -79,22 +78,27 @@ if (! defined('METACONSOLE')) {
|
|||
ui_meta_print_header(__('Monitor view'));
|
||||
}
|
||||
|
||||
$ag_freestring = (string) get_parameter('ag_freestring');
|
||||
$moduletype = (string) get_parameter('moduletype');
|
||||
$datatype = (string) get_parameter('datatype');
|
||||
$ag_modulename = (string) get_parameter('ag_modulename');
|
||||
$refr = (int) get_parameter('refr', 0);
|
||||
$offset = (int) get_parameter('offset', 0);
|
||||
$status = (int) get_parameter('status', 4);
|
||||
$modulegroup = (int) get_parameter('modulegroup', -1);
|
||||
$tag_filter = (int) get_parameter('tag_filter', 0);
|
||||
$min_hours_status = (string) get_parameter('min_hours_status', '');
|
||||
// Sort functionality
|
||||
$sortField = get_parameter('sort_field');
|
||||
$sort = get_parameter('sort', 'none');
|
||||
// When the previous page was a visualmap and show only one module
|
||||
$id_module = (int) get_parameter('id_module', 0);
|
||||
$ag_custom_fields = (array) get_parameter('ag_custom_fields', []);
|
||||
$recursion = get_parameter_switch('recursion', false);
|
||||
if ($recursion === false) {
|
||||
$recursion = get_parameter('recursion', false);
|
||||
}
|
||||
|
||||
$ag_freestring = (string) get_parameter('ag_freestring');
|
||||
$moduletype = (string) get_parameter('moduletype');
|
||||
$datatype = (string) get_parameter('datatype');
|
||||
$ag_modulename = (string) get_parameter('ag_modulename');
|
||||
$refr = (int) get_parameter('refr', 0);
|
||||
$offset = (int) get_parameter('offset', 0);
|
||||
$status = (int) get_parameter('status', 4);
|
||||
$modulegroup = (int) get_parameter('modulegroup', -1);
|
||||
$tag_filter = (int) get_parameter('tag_filter', 0);
|
||||
$min_hours_status = (string) get_parameter('min_hours_status', '');
|
||||
// Sort functionality.
|
||||
$sortField = get_parameter('sort_field');
|
||||
$sort = get_parameter('sort', 'none');
|
||||
// When the previous page was a visualmap and show only one module.
|
||||
$id_module = (int) get_parameter('id_module', 0);
|
||||
$ag_custom_fields = (array) get_parameter('ag_custom_fields', []);
|
||||
$module_option = (int) get_parameter('module_option', 1);
|
||||
$autosearch = false;
|
||||
|
||||
|
@ -161,11 +165,22 @@ if (is_numeric($ag_group)) {
|
|||
// Agent group selector
|
||||
if (!is_metaconsole()) {
|
||||
if ($ag_group > 0 && check_acl($config['id_user'], $ag_group, 'AR')) {
|
||||
$sql_conditions_group = sprintf(
|
||||
' AND (tagente.id_grupo = %d OR tasg.id_group = %d)',
|
||||
$ag_group,
|
||||
$ag_group
|
||||
);
|
||||
if ($recursion) {
|
||||
$all_groups = groups_get_children_ids($ag_group, true);
|
||||
|
||||
// User has explicit permission on group 1 ?
|
||||
$sql_conditions_group = sprintf(
|
||||
' AND (tagente.id_grupo IN (%s) OR tasg.id_group IN (%s)) ',
|
||||
implode(',', $all_groups),
|
||||
implode(',', $all_groups)
|
||||
);
|
||||
} else {
|
||||
$sql_conditions_group = sprintf(
|
||||
' AND (tagente.id_grupo = %d OR tasg.id_group = %d)',
|
||||
$ag_group,
|
||||
$ag_group
|
||||
);
|
||||
}
|
||||
} else if ($user_groups != '') {
|
||||
// User has explicit permission on group 1 ?
|
||||
$sql_conditions_group = ' AND (
|
||||
|
@ -175,11 +190,22 @@ if (!is_metaconsole()) {
|
|||
}
|
||||
} else {
|
||||
if (((int) $ag_group !== 0) && (check_acl($config['id_user'], $id_ag_group, 'AR'))) {
|
||||
$sql_conditions_group = sprintf(
|
||||
' AND (tagente.id_grupo IN (%s) OR tasg.id_group IN (%s))',
|
||||
$ag_group,
|
||||
$ag_group
|
||||
);
|
||||
if ($recursion) {
|
||||
$all_groups = groups_get_children_ids($ag_group, true);
|
||||
|
||||
// User has explicit permission on group 1 ?
|
||||
$sql_conditions_group = sprintf(
|
||||
' AND (tagente.id_grupo IN (%s) OR tasg.id_group IN (%s)) ',
|
||||
implode(',', $all_groups),
|
||||
implode(',', $all_groups)
|
||||
);
|
||||
} else {
|
||||
$sql_conditions_group = sprintf(
|
||||
' AND (tagente.id_grupo IN (%s) OR tasg.id_group IN (%s))',
|
||||
$ag_group,
|
||||
$ag_group
|
||||
);
|
||||
}
|
||||
} else if ($user_groups != '') {
|
||||
// User has explicit permission on group 1 ?
|
||||
$sql_conditions_group = ' AND (
|
||||
|
@ -355,7 +381,8 @@ $table->style[3] = 'font-weight: bold;';
|
|||
$table->style[4] = 'font-weight: bold;';
|
||||
|
||||
$table->data[0][0] = __('Group');
|
||||
$table->data[0][1] = html_print_select_groups(
|
||||
$table->data[0][1] = '<div class="flex flex-row-vcenter w290px"><div class="w200px">';
|
||||
$table->data[0][1] .= html_print_select_groups(
|
||||
$config['id_user'],
|
||||
'AR',
|
||||
true,
|
||||
|
@ -375,6 +402,18 @@ $table->data[0][1] = html_print_select_groups(
|
|||
'id_grupo',
|
||||
false
|
||||
);
|
||||
$table->data[0][1] .= '</div><div>';
|
||||
$table->data[0][1] .= html_print_input(
|
||||
[
|
||||
'type' => 'checkbox',
|
||||
'name' => 'recursion',
|
||||
'return' => true,
|
||||
'checked' => $recursion,
|
||||
'value' => 1,
|
||||
]
|
||||
);
|
||||
$table->data[0][1] .= __('Recursion');
|
||||
$table->data[0][1] .= '</div></div>';
|
||||
|
||||
$fields = [];
|
||||
$fields[AGENT_MODULE_STATUS_NORMAL] = __('Normal');
|
||||
|
@ -701,8 +740,7 @@ foreach ($custom_fields as $custom_field) {
|
|||
$table_custom_fields->data[] = $row;
|
||||
}
|
||||
|
||||
|
||||
$filters = '<form method="post" action="index.php?sec=view&sec2=operation/agentes/status_monitor&refr='.$refr.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&module_option='.$module_option.'&ag_modulename='.$ag_modulename.'&moduletype='.$moduletype.'&datatype='.$datatype.'&status='.$status.'&sort_field='.$sortField.'&sort='.$sort.'&pure='.$config['pure'].$ag_custom_fields_params.'">';
|
||||
$filters = '<form method="post" action="index.php?sec=view&sec2=operation/agentes/status_monitor&refr='.$refr.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&module_option='.$module_option.'&ag_modulename='.$ag_modulename.'&moduletype='.$moduletype.'&datatype='.$datatype.'&status='.$status.'&sort_field='.$sortField.'&sort='.$sort.'&pure='.$config['pure'].$ag_custom_fields_params.'">';
|
||||
if (is_metaconsole()) {
|
||||
$table->colspan[4][0] = 7;
|
||||
$table->cellstyle[4][0] = 'padding: 10px;';
|
||||
|
@ -970,7 +1008,7 @@ switch ($sortField) {
|
|||
}
|
||||
|
||||
$sql = 'SELECT
|
||||
(SELECT GROUP_CONCAT(ttag.name SEPARATOR \',\')
|
||||
(SELECT GROUP_CONCAT(ttag.name SEPARATOR \',\')
|
||||
FROM ttag
|
||||
WHERE ttag.id_tag IN (
|
||||
SELECT ttag_module.id_tag
|
||||
|
@ -1014,6 +1052,7 @@ $sql = 'SELECT
|
|||
ORDER BY '.$order['field'].' '.$order['order'].'
|
||||
LIMIT '.$offset.','.$limit_sql;
|
||||
|
||||
|
||||
// We do not show the modules until the user searches with the filter
|
||||
if ($autosearch) {
|
||||
if (! defined('METACONSOLE')) {
|
||||
|
@ -1102,17 +1141,51 @@ if (($config['dbtype'] == 'oracle') && ($result !== false)) {
|
|||
|
||||
|
||||
// Urls to sort the table.
|
||||
$url_agent_name = 'index.php?sec=view&sec2=operation/agentes/status_monitor&refr='.$refr.'&datatype='.$datatype.'&moduletype='.$moduletype.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params.'&sort_field=agent_alias&sort=';
|
||||
$url_type = 'index.php?sec=view&sec2=operation/agentes/status_monitor&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params.'&sort_field=type&sort=';
|
||||
$url_module_name = 'index.php?sec=view&sec2=operation/agentes/status_monitor&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params.'&sort_field=module_name&sort=';
|
||||
$url_server_type = 'index.php?sec=view&sec2=operation/agentes/status_monitor&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params.'&sort_field=moduletype&sort=';
|
||||
$url_interval = 'index.php?sec=view&sec2=operation/agentes/status_monitor&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params.'&sort_field=interval&sort=';
|
||||
$url_status = 'index.php?sec=view&sec2=operation/agentes/status_monitor&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params.'&sort_field=status&sort=';
|
||||
$url_status = 'index.php?sec=view&sec2=operation/agentes/status_monitor&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params.'&sort_field=last_status_change&sort=';
|
||||
$url_data = 'index.php?sec=view&sec2=operation/agentes/status_monitor&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params.'&sort_field=data&sort=';
|
||||
$url_timestamp_up = 'index.php?sec=view&sec2=operation/agentes/status_monitor&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params.'&sort_field=timestamp&sort=up';
|
||||
$url_timestamp_down = 'index.php?sec=view&sec2=operation/agentes/status_monitor&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params.'&sort_field=timestamp&sort=down';
|
||||
$url_agent_name = 'index.php?sec=view&sec2=operation/agentes/status_monitor';
|
||||
$url_type = 'index.php?sec=view&sec2=operation/agentes/status_monitor';
|
||||
$url_module_name = 'index.php?sec=view&sec2=operation/agentes/status_monitor';
|
||||
$url_server_type = 'index.php?sec=view&sec2=operation/agentes/status_monitor';
|
||||
$url_interval = 'index.php?sec=view&sec2=operation/agentes/status_monitor';
|
||||
$url_status = 'index.php?sec=view&sec2=operation/agentes/status_monitor';
|
||||
$url_status = 'index.php?sec=view&sec2=operation/agentes/status_monitor';
|
||||
$url_data = 'index.php?sec=view&sec2=operation/agentes/status_monitor';
|
||||
$url_timestamp_up = 'index.php?sec=view&sec2=operation/agentes/status_monitor';
|
||||
$url_timestamp_down = 'index.php?sec=view&sec2=operation/agentes/status_monitor';
|
||||
|
||||
$url_agent_name .= '&refr='.$refr.'&datatype='.$datatype.'&moduletype='.$moduletype.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
|
||||
$url_type .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
|
||||
$url_module_name .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
|
||||
$url_server_type .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
|
||||
$url_interval .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
|
||||
$url_status .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
|
||||
$url_status .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
|
||||
$url_data .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
|
||||
$url_timestamp_up .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
|
||||
$url_timestamp_down .= '&datatype='.$datatype.'&moduletype='.$moduletype.'&refr='.$refr.'&modulegroup='.$modulegroup.'&offset='.$offset.'&ag_group='.$ag_group.'&ag_freestring='.$ag_freestring.'&ag_modulename='.$ag_modulename.'&status='.$status.$ag_custom_fields_params;
|
||||
|
||||
// Holy god...
|
||||
$url_agent_name .= '&recursion='.$recursion;
|
||||
$url_type .= '&recursion='.$recursion;
|
||||
$url_module_name .= '&recursion='.$recursion;
|
||||
$url_server_type .= '&recursion='.$recursion;
|
||||
$url_interval .= '&recursion='.$recursion;
|
||||
$url_status .= '&recursion='.$recursion;
|
||||
$url_status .= '&recursion='.$recursion;
|
||||
$url_data .= '&recursion='.$recursion;
|
||||
$url_timestamp_up .= '&recursion='.$recursion;
|
||||
$url_timestamp_down .= '&recursion='.$recursion;
|
||||
|
||||
|
||||
$url_agent_name .= '&sort_field=agent_alias&sort=';
|
||||
$url_type .= '&sort_field=type&sort=';
|
||||
$url_module_name .= '&sort_field=module_name&sort=';
|
||||
$url_server_type .= '&sort_field=moduletype&sort=';
|
||||
$url_interval .= '&sort_field=interval&sort=';
|
||||
$url_status .= '&sort_field=status&sort=';
|
||||
$url_status .= '&sort_field=last_status_change&sort=';
|
||||
$url_data .= '&sort_field=data&sort=';
|
||||
$url_timestamp_up .= '&sort_field=timestamp&sort=up';
|
||||
$url_timestamp_down .= '&sort_field=timestamp&sort=down';
|
||||
|
||||
// Start Build List Result
|
||||
if (!empty($result)) {
|
||||
|
@ -1276,9 +1349,9 @@ if (!empty($result)) {
|
|||
}
|
||||
|
||||
if (is_metaconsole()) {
|
||||
$data[0] = '<a href="?sec=gmodules&sec2=advanced/policymanager&id='.$policyInfo['id_policy'].'">'.html_print_image($img, true, ['title' => $title]).'</a>';
|
||||
$data[0] = '<a href="?sec=gmodules&sec2=advanced/policymanager&id='.$policyInfo['id_policy'].'">'.html_print_image($img, true, ['title' => $title]).'</a>';
|
||||
} else {
|
||||
$data[0] = '<a href="?sec=gmodules&sec2=enterprise/godmode/policies/policies&id='.$policyInfo['id_policy'].'">'.html_print_image($img, true, ['title' => $title]).'</a>';
|
||||
$data[0] = '<a href="?sec=gmodules&sec2=enterprise/godmode/policies/policies&id='.$policyInfo['id_policy'].'">'.html_print_image($img, true, ['title' => $title]).'</a>';
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1293,7 +1366,7 @@ if (!empty($result)) {
|
|||
|
||||
// TODO: Calculate hash access before to use it more simply like other sections. I.E. Events view
|
||||
if (defined('METACONSOLE')) {
|
||||
$agent_link = '<a href="'.$row['server_url'].'index.php?'.'sec=estado&'.'sec2=operation/agentes/ver_agente&'.'id_agente='.$row['id_agent'].'&'.'loginhash=auto&'.'loginhash_data='.$row['hashdata'].'&'.'loginhash_user='.str_rot13($row['user']).'">';
|
||||
$agent_link = '<a href="'.$row['server_url'].'index.php?'.'sec=estado&'.'sec2=operation/agentes/ver_agente&'.'id_agente='.$row['id_agent'].'&'.'loginhash=auto&'.'loginhash_data='.$row['hashdata'].'&'.'loginhash_user='.str_rot13($row['user']).'">';
|
||||
$agent_alias = ui_print_truncate_text(
|
||||
$agent_alias,
|
||||
'agent_small',
|
||||
|
@ -1309,7 +1382,7 @@ if (!empty($result)) {
|
|||
$data[1] = $agent_alias;
|
||||
}
|
||||
} else {
|
||||
$data[1] = '<strong><a href="index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente='.$row['id_agent'].'">';
|
||||
$data[1] = '<strong><a href="index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente='.$row['id_agent'].'">';
|
||||
$data[1] .= ui_print_truncate_text($agent_alias, 'agent_medium', false, true, false, '[…]', 'font-size:7.5pt;');
|
||||
$data[1] .= '</a></strong>';
|
||||
}
|
||||
|
@ -1325,9 +1398,9 @@ if (!empty($result)) {
|
|||
$show_edit_icon = false;
|
||||
}
|
||||
|
||||
$url_edit_module = $row['server_url'].'index.php?'.'sec=gagente&'.'sec2=godmode/agentes/configurar_agente&'.'id_agente='.$row['id_agent'].'&'.'tab=module&'.'id_agent_module='.$row['id_agente_modulo'].'&'.'edit_module=1'.'&loginhash=auto&loginhash_data='.$row['hashdata'].'&loginhash_user='.str_rot13($row['user']);
|
||||
$url_edit_module = $row['server_url'].'index.php?'.'sec=gagente&'.'sec2=godmode/agentes/configurar_agente&'.'id_agente='.$row['id_agent'].'&'.'tab=module&'.'id_agent_module='.$row['id_agente_modulo'].'&'.'edit_module=1'.'&loginhash=auto&loginhash_data='.$row['hashdata'].'&loginhash_user='.str_rot13($row['user']);
|
||||
} else {
|
||||
$url_edit_module = 'index.php?'.'sec=gagente&'.'sec2=godmode/agentes/configurar_agente&'.'id_agente='.$row['id_agent'].'&'.'tab=module&'.'id_agent_module='.$row['id_agente_modulo'].'&'.'edit_module=1';
|
||||
$url_edit_module = 'index.php?'.'sec=gagente&'.'sec2=godmode/agentes/configurar_agente&'.'id_agente='.$row['id_agent'].'&'.'tab=module&'.'id_agent_module='.$row['id_agente_modulo'].'&'.'edit_module=1';
|
||||
}
|
||||
|
||||
if ($show_edit_icon) {
|
||||
|
@ -1750,24 +1823,13 @@ if (!empty($result)) {
|
|||
|
||||
// End Build List Result.
|
||||
echo "<div id='monitor_details_window'></div>";
|
||||
// Strict user hidden.
|
||||
echo '<div id="strict_hidden" style="display:none;">';
|
||||
html_print_input_text('strict_user_hidden', $strict_user);
|
||||
echo '</div>';
|
||||
|
||||
enterprise_hook('close_meta_frame');
|
||||
|
||||
ui_require_javascript_file('pandora_modules');
|
||||
|
||||
?>
|
||||
<script type='text/javascript'>
|
||||
$(document).ready (function () {
|
||||
if ($('#ag_group').val() != 0) {
|
||||
$('#tag_filter').css('display', 'none');
|
||||
$('#tag_td').css('display', 'none');
|
||||
}
|
||||
});
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
$('#moduletype').click(function() {
|
||||
jQuery.get (
|
||||
|
@ -1789,17 +1851,6 @@ $('#moduletype').click(function() {
|
|||
return false;
|
||||
});
|
||||
|
||||
$('#ag_group').change (function () {
|
||||
strict_user = $('#text-strict_user_hidden').val();
|
||||
|
||||
if (($('#ag_group').val() != 0) && (strict_user != 0)) {
|
||||
$('#tag_filter').css('display', 'none');
|
||||
$('#tag_td').css('display', 'none');
|
||||
} else {
|
||||
$('#tag_filter').css('display', '');
|
||||
$('#tag_td').css('display', '');
|
||||
}
|
||||
});
|
||||
|
||||
function toggle_full_value(id) {
|
||||
text = $('#hidden_value_module_' + id).html();
|
||||
|
|
|
@ -444,7 +444,7 @@ $user_filter = db_get_row_sql(
|
|||
)
|
||||
);
|
||||
|
||||
// Do not load the user filter if we come from the 24h event graph
|
||||
// Do not load the user filter if we come from the 24h event graph.
|
||||
$from_event_graph = get_parameter('filter[from_event_graph]', $filter['from_event_graph']);
|
||||
if ($user_filter !== false && $from_event_graph != 1) {
|
||||
$filter = events_get_event_filter($user_filter['id_filter']);
|
||||
|
@ -457,6 +457,13 @@ if ($user_filter !== false && $from_event_graph != 1) {
|
|||
$text_agent = $filter['text_agent'];
|
||||
$id_agent = $filter['id_agent'];
|
||||
$id_agent_module = $filter['id_agent_module'];
|
||||
$text_module = io_safe_output(
|
||||
db_get_value_filter(
|
||||
'nombre',
|
||||
'tagente_modulo',
|
||||
['id_agente_modulo' => $filter['id_agent_module']]
|
||||
)
|
||||
);
|
||||
$pagination = $filter['pagination'];
|
||||
$event_view_hr = $filter['event_view_hr'];
|
||||
$id_user_ack = $filter['id_user_ack'];
|
||||
|
@ -893,13 +900,17 @@ if (is_metaconsole() !== true) {
|
|||
*/
|
||||
|
||||
// Group.
|
||||
if ($id_group_filter === null) {
|
||||
$id_group_filter = 0;
|
||||
}
|
||||
|
||||
$data = html_print_input(
|
||||
[
|
||||
'name' => 'id_group_filter',
|
||||
'returnAllGroup' => true,
|
||||
'privilege' => 'AR',
|
||||
'type' => 'select_groups',
|
||||
'selected' => (defined($id_group_filter) ? $id_group_filter : 0),
|
||||
'selected' => $id_group_filter,
|
||||
'nothing' => false,
|
||||
'return' => true,
|
||||
'size' => '80%',
|
||||
|
@ -2019,6 +2030,9 @@ function process_datatables_item(item) {
|
|||
|
||||
/* Group name */
|
||||
if (item.id_grupo == "0") {
|
||||
var severity_value = "<?php echo $severity; ?>";
|
||||
const multiple = severity_value.split(",");
|
||||
$("#severity").val(multiple);
|
||||
item.id_grupo = "<?php echo __('All'); ?>";
|
||||
} else {
|
||||
item.id_grupo = item.group_name;
|
||||
|
@ -2343,9 +2357,8 @@ $(document).ready( function() {
|
|||
url: '<?php echo ui_get_full_url('ajax.php'); ?>',
|
||||
data: {
|
||||
page: 'include/ajax/events',
|
||||
load_filter_modal: 1,
|
||||
current_filter: $('#latest_filter_id').val()
|
||||
},
|
||||
load_filter_modal: 1
|
||||
},
|
||||
success: function (data){
|
||||
$('#load-modal-filter')
|
||||
.empty()
|
||||
|
|
|
@ -311,7 +311,7 @@ if ($user_filter != 0 && empty($id_name) && !$update_from_filter_table) {
|
|||
}
|
||||
|
||||
// Build the condition of the events query.
|
||||
$sql_post = '';
|
||||
$sql_post = ' WHERE 1=1 ';
|
||||
|
||||
$id_user = $config['id_user'];
|
||||
|
||||
|
@ -1214,7 +1214,7 @@ if ($group_rep == 0) {
|
|||
$sql = 'SELECT COUNT(DISTINCT id_evento)
|
||||
FROM $event_table te
|
||||
$event_lj
|
||||
WHERE 1=1 $sql_post';
|
||||
$sql_post';
|
||||
$total_events = (int) db_get_sql($sql);
|
||||
} else if ($group_rep == 1) {
|
||||
$total_events = events_get_events_grouped(
|
||||
|
@ -1477,7 +1477,8 @@ $(document).ready( function() {
|
|||
$("#text-id_extra").val(val);
|
||||
if (i == 'user_comment')
|
||||
$("#text-user_comment").val(val);
|
||||
|
||||
if (i == 'module_search')
|
||||
$("#text-module_search").val(val);
|
||||
if(i == 'id_source_event')
|
||||
$("#text-id_source_event").val(val);
|
||||
}
|
||||
|
|
|
@ -77,7 +77,7 @@ $table->data[0][2] = __('Type');
|
|||
$table->data[0][3] = html_print_checkbox('alert_fired', 'alert_fired', true, true, false, 'changeType();').__('Alert fired').'<br />'.html_print_checkbox('critical', 'critical', true, true, false, 'changeType();').__('Monitor critical').'<br />'.html_print_checkbox('unknown', 'unknown', true, true, false, 'changeType();').__('Monitor unknown').'<br />'.html_print_checkbox('warning', 'warning', true, true, false, 'changeType();').__('Monitor warning').'<br />';
|
||||
|
||||
$table->data[1][0] = __('Agent');
|
||||
$table->data[1][1] = html_print_select($agents, 'id_agents[]', true, false, '', '', true, true, '', '', '', 'width:120px; height:100px', '', false, '', '', true);
|
||||
$table->data[1][1] = html_print_select($agents, 'id_agents[]', true, false, '', '', true, true, '', '', '', 'max-width:200px; height:100px', '', false, '', '', true);
|
||||
|
||||
$table->data[1][2] = __('Event');
|
||||
$table->data[1][3] = html_print_textarea('events_fired', 200, 20, '', 'readonly="readonly" style="max-height:100px; background: #ddd; resize:none;"', true);
|
||||
|
@ -152,10 +152,26 @@ function changeGroup() {
|
|||
}
|
||||
|
||||
function changeType() {
|
||||
alert_fired = $("input[name=alert_fired]").attr('checked');
|
||||
critical = $("input[name=critical]").attr('checked');
|
||||
warning = $("input[name=warning]").attr('checked');
|
||||
unknown = $("input[name=unknown]").attr('checked');
|
||||
alert_fired = false;
|
||||
critical = false;
|
||||
warning = false;
|
||||
unknown = false;
|
||||
|
||||
if($("input[name=alert_fired]").is(':checked') ) {
|
||||
alert_fired = true;
|
||||
}
|
||||
|
||||
if($("input[name=critical]").is(':checked') ) {
|
||||
critical = true;
|
||||
}
|
||||
|
||||
if($("input[name=warning]").is(':checked') ) {
|
||||
warning = true;
|
||||
}
|
||||
|
||||
if($("input[name=unknown]").is(':checked') ) {
|
||||
unknown = true;
|
||||
}
|
||||
}
|
||||
|
||||
function toggleButton() {
|
||||
|
@ -256,9 +272,6 @@ $(document).ready (function () {
|
|||
setInterval("check_event()", (10 * 1000)); //10 seconds between ajax request
|
||||
$("#table1").css("background-color", "#fff");
|
||||
$("#table2").css("background-color", "#fff");
|
||||
|
||||
group_width = $("#group").width();
|
||||
$("#id_agents").width(group_width + 9);
|
||||
});
|
||||
|
||||
</script>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
%define name pandorafms_console
|
||||
%define version 7.0NG.750
|
||||
%define release 201029
|
||||
%define release 201103
|
||||
|
||||
# User and Group under which Apache is running
|
||||
%define httpd_name httpd
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
%define name pandorafms_console
|
||||
%define version 7.0NG.750
|
||||
%define release 201029
|
||||
%define release 201103
|
||||
|
||||
# User and Group under which Apache is running
|
||||
%define httpd_name httpd
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
%define name pandorafms_console
|
||||
%define version 7.0NG.750
|
||||
%define release 201029
|
||||
%define release 201103
|
||||
%define httpd_name httpd
|
||||
# User and Group under which Apache is running
|
||||
%define httpd_name apache2
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
package: pandorafms-server
|
||||
Version: 7.0NG.750-201029
|
||||
Version: 7.0NG.750-201103
|
||||
Architecture: all
|
||||
Priority: optional
|
||||
Section: admin
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
pandora_version="7.0NG.750-201029"
|
||||
pandora_version="7.0NG.750-201103"
|
||||
|
||||
package_cpan=0
|
||||
package_pandora=1
|
||||
|
|
|
@ -45,7 +45,7 @@ our @EXPORT = qw(
|
|||
|
||||
# version: Defines actual version of Pandora Server for this module only
|
||||
my $pandora_version = "7.0NG.750";
|
||||
my $pandora_build = "201029";
|
||||
my $pandora_build = "201103";
|
||||
our $VERSION = $pandora_version." ".$pandora_build;
|
||||
|
||||
# Setup hash
|
||||
|
|
|
@ -34,7 +34,7 @@ our @ISA = qw(Exporter);
|
|||
|
||||
# version: Defines actual version of Pandora Server for this module only
|
||||
my $pandora_version = "7.0NG.750";
|
||||
my $pandora_build = "201029";
|
||||
my $pandora_build = "201103";
|
||||
our $VERSION = $pandora_version." ".$pandora_build;
|
||||
|
||||
our %EXPORT_TAGS = ( 'all' => [ qw() ] );
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
%define name pandorafms_server
|
||||
%define version 7.0NG.750
|
||||
%define release 201029
|
||||
%define release 201103
|
||||
|
||||
Summary: Pandora FMS Server
|
||||
Name: %{name}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
%define name pandorafms_server
|
||||
%define version 7.0NG.750
|
||||
%define release 201029
|
||||
%define release 201103
|
||||
|
||||
Summary: Pandora FMS Server
|
||||
Name: %{name}
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
# **********************************************************************
|
||||
|
||||
PI_VERSION="7.0NG.750"
|
||||
PI_BUILD="201029"
|
||||
PI_BUILD="201103"
|
||||
|
||||
MODE=$1
|
||||
if [ $# -gt 1 ]; then
|
||||
|
|
|
@ -35,7 +35,7 @@ use PandoraFMS::Config;
|
|||
use PandoraFMS::DB;
|
||||
|
||||
# version: define current version
|
||||
my $version = "7.0NG.750 PS201029";
|
||||
my $version = "7.0NG.750 PS201103";
|
||||
|
||||
# Pandora server configuration
|
||||
my %conf;
|
||||
|
|
|
@ -36,7 +36,7 @@ use Encode::Locale;
|
|||
Encode::Locale::decode_argv;
|
||||
|
||||
# version: define current version
|
||||
my $version = "7.0NG.750 PS201029";
|
||||
my $version = "7.0NG.750 PS201103";
|
||||
|
||||
# save program name for logging
|
||||
my $progname = basename($0);
|
||||
|
|
Loading…
Reference in New Issue