Merge remote-tracking branch 'origin/develop' into ent-6577-creacion-de-usuario-con-global-profile-administrator-no-deberia-necesitar-anadirle-mas-perfiles

This commit is contained in:
fbsanchez 2020-11-03 10:02:45 +01:00
commit 95ed4c9665
52 changed files with 1118 additions and 749 deletions

View File

@ -1,5 +1,5 @@
package: pandorafms-agent-unix package: pandorafms-agent-unix
Version: 7.0NG.750-201029 Version: 7.0NG.750-201103
Architecture: all Architecture: all
Priority: optional Priority: optional
Section: admin Section: admin

View File

@ -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.750-201029" pandora_version="7.0NG.750-201103"
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

View File

@ -55,7 +55,7 @@ my $Sem = undef;
my $ThreadSem = undef; my $ThreadSem = undef;
use constant AGENT_VERSION => '7.0NG.750'; 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 # Agent log default file size maximum and instances
use constant DEFAULT_MAX_LOG_SIZE => 600000; use constant DEFAULT_MAX_LOG_SIZE => 600000;

View File

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

View File

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

View File

@ -10,7 +10,7 @@
# ********************************************************************** # **********************************************************************
PI_VERSION="7.0NG.750" PI_VERSION="7.0NG.750"
PI_BUILD="201029" PI_BUILD="201103"
OS_NAME=`uname -s` OS_NAME=`uname -s`
FORCE=0 FORCE=0

View File

@ -186,7 +186,7 @@ UpgradeApplicationID
{} {}
Version Version
{201029} {201103}
ViewReadme ViewReadme
{Yes} {Yes}

View File

@ -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.750(Build 201029)") #define PANDORA_VERSION ("7.0NG.750(Build 201103)")
string pandora_path; string pandora_path;
string pandora_dir; string pandora_dir;

View File

@ -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.750(Build 201029))" VALUE "ProductVersion", "(7.0NG.750(Build 201103))"
VALUE "FileVersion", "1.0.0.0" VALUE "FileVersion", "1.0.0.0"
END END
END END

View File

@ -1,5 +1,5 @@
package: pandorafms-console package: pandorafms-console
Version: 7.0NG.750-201029 Version: 7.0NG.750-201103
Architecture: all Architecture: all
Priority: optional Priority: optional
Section: admin Section: admin

View File

@ -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.750-201029" pandora_version="7.0NG.750-201103"
package_pear=0 package_pear=0
package_pandora=1 package_pandora=1

View File

@ -92,7 +92,11 @@ function output_xml_report($id)
$group = db_get_value('nombre', 'tgrupo', 'id_grupo', $report['id_group']); $group = db_get_value('nombre', 'tgrupo', 'id_grupo', $report['id_group']);
echo '<group><![CDATA['.io_safe_output($group)."]]></group>\n"; 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) { foreach ($items as $item) {
echo "<item>\n"; echo "<item>\n";
echo '<type>'.io_safe_output($item['type'])."</type>\n"; echo '<type>'.io_safe_output($item['type'])."</type>\n";

View File

@ -37,8 +37,16 @@ function insert_item_report($report_id, $values)
ui_print_result_message( ui_print_result_message(
$result, $result,
sprintf(__("Success add '%s' item in report '%s'."), $values['type'], $name), sprintf(
sprintf(__("Error create '%s' item in report '%s'."), $values['type'], $name) __("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']; $posible_name = $values['name'];
$exist = true; $exist = true;
$loops = 30; $loops = 30;
// Loops to exit or tries // Loops to exit or tries.
while ($exist && $loops > 0) { 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) { if ($exist) {
$loops--; $loops--;
@ -74,7 +85,7 @@ function process_upload_xml_report($xml, $group_filter=0)
); );
break; break;
} else if ($loops != 30) { } else if ($loops != 30) {
ui_print_error_message( ui_print_warning_message(
sprintf( sprintf(
__("Warning create '%s' report, the name exist, the report have a name %s."), __("Warning create '%s' report, the name exist, the report have a name %s."),
$reportElement->name, $reportElement->name,
@ -89,13 +100,22 @@ function process_upload_xml_report($xml, $group_filter=0)
break; break;
} }
$id_group = db_get_value('id_grupo', 'tgrupo', 'nombre', $reportElement->group); if (isset($reportElement->group) === true
&& empty($reportElement->group) === false
) {
$id_group = db_get_value(
'id_grupo',
'tgrupo',
'nombre',
$reportElement->group
);
if ($id_group === false) { if ($id_group === false) {
ui_print_error_message(__("Error the report haven't group.")); ui_print_error_message(__("Error the report haven't group."));
break; break;
} }
}
if (isset($reportElement->description)) { if (isset($reportElement->description) === true) {
$values['description'] = $reportElement->description; $values['description'] = $reportElement->description;
} }
@ -108,9 +128,19 @@ function process_upload_xml_report($xml, $group_filter=0)
); );
if ($id_report) { 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 { } else {
db_pandora_audit('Report management', 'Fail to create report', false, false); db_pandora_audit(
'Report management',
'Fail to create report',
false,
false
);
break; break;
} }
@ -119,45 +149,52 @@ function process_upload_xml_report($xml, $group_filter=0)
$values = []; $values = [];
$values['id_report'] = $id_report; $values['id_report'] = $id_report;
if (isset($item['description'])) { if (isset($item['description']) === true) {
$values['description'] = io_safe_input($item['description']); $values['description'] = io_safe_input($item['description']);
} }
if (isset($item['period'])) { if (isset($item['period']) === true) {
$values['period'] = io_safe_input($item['period']); $values['period'] = io_safe_input($item['period']);
} }
if (isset($item['type'])) { if (isset($item['type']) === true) {
$values['type'] = io_safe_input($item['type']); $values['type'] = io_safe_input($item['type']);
} }
$agents_item = []; $agents_item = [];
if (isset($item['agent'])) { if (isset($item['agent']) === true) {
$agents = agents_get_agents( $agents = agents_get_agents(
['id_grupo' => $group_filter], ['id_grupo' => $group_filter],
[ [
'id_agente', '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']); $regular_expresion = ($agent_clean != $item['agent']);
foreach ($agents as $agent) { foreach ($agents as $agent) {
if ($regular_expresion) { if ($regular_expresion) {
if ((bool) preg_match('/'.$agent_clean.'/', io_safe_output($agent['nombre']))) { if ((bool) preg_match('/'.$agent_clean.'/', io_safe_output($agent['alias']))) {
$agents_item[$agent['id_agente']]['name'] = $agent['nombre']; $agents_item[$agent['id_agente']]['name'] = $agent['alias'];
} }
} else { } else {
if ($agent_clean == io_safe_output($agent['nombre'])) { if ($agent_clean == io_safe_output($agent['alias'])) {
$agents_item[$agent['id_agente']]['name'] = $agent['nombre']; $agents_item[$agent['id_agente']]['name'] = $agent['alias'];
} }
} }
} }
} }
if (isset($item['module'])) { if (isset($item['module']) === true) {
$module_clean = str_replace(['[', ']'], '', $item['module']); $module_clean = str_replace(['[', ']'], '', $item['module']);
$regular_expresion = ($module_clean != $item['module']); $regular_expresion = ($module_clean != $item['module']);

View File

@ -31,4 +31,6 @@ ALTER TABLE `treport` ADD COLUMN `index_render` tinyint(1) NOT NULL DEFAULT 1;
ALTER TABLE `treport_template` ADD COLUMN `cover_page_render` tinyint(1) NOT NULL DEFAULT 1; ALTER TABLE `treport_template` ADD COLUMN `cover_page_render` tinyint(1) NOT NULL DEFAULT 1;
ALTER TABLE `treport_template` ADD COLUMN `index_render` tinyint(1) NOT NULL DEFAULT 1; ALTER TABLE `treport_template` ADD COLUMN `index_render` tinyint(1) NOT NULL DEFAULT 1;
UPDATE `tconfig` SET value = '{"0.00000038580247":"Seconds&#x20;to&#x20;months","0.00000165343915":"Seconds&#x20;to&#x20;weeks","0.00001157407407":"Seconds&#x20;to&#x20;days","0.01666666666667":"Seconds&#x20;to&#x20;minutes","0.00000000093132":"Bytes&#x20;to&#x20;Gigabytes","0.00000095367432":"Bytes&#x20;to&#x20;Megabytes","0.00097656250000":"Bytes&#x20;to&#x20;Kilobytes","0.00000001653439":"Timeticks&#x20;to&#x20;weeks","0.00000011574074":"Timeticks&#x20;to&#x20;days"}' WHERE token = 'post_process_custom_values';
COMMIT; COMMIT;

View File

@ -1405,6 +1405,7 @@ INSERT INTO `tconfig` (`token`, `value`) VALUES ('cr_incident_type', '');
INSERT INTO `tconfig` (`token`, `value`) VALUES ('cr_incident_status', ''); INSERT INTO `tconfig` (`token`, `value`) VALUES ('cr_incident_status', '');
INSERT INTO `tconfig` (`token`, `value`) VALUES ('cr_incident_title', ''); INSERT INTO `tconfig` (`token`, `value`) VALUES ('cr_incident_title', '');
INSERT INTO `tconfig` (`token`, `value`) VALUES ('cr_incident_content', ''); INSERT INTO `tconfig` (`token`, `value`) VALUES ('cr_incident_content', '');
INSERT INTO `tconfig` (`token`, `value`) VALUES ('post_process_custom_values', '{"0.00000038580247":"Seconds&#x20;to&#x20;months","0.00000165343915":"Seconds&#x20;to&#x20;weeks","0.00001157407407":"Seconds&#x20;to&#x20;days","0.01666666666667":"Seconds&#x20;to&#x20;minutes","0.00000000093132":"Bytes&#x20;to&#x20;Gigabytes","0.00000095367432":"Bytes&#x20;to&#x20;Megabytes","0.00097656250000":"Bytes&#x20;to&#x20;Kilobytes","0.00000001653439":"Timeticks&#x20;to&#x20;weeks","0.00000011574074":"Timeticks&#x20;to&#x20;days"}');
-- --------------------------------------------------------------------- -- ---------------------------------------------------------------------
-- Table `tconfig_os` -- Table `tconfig_os`

View File

@ -130,6 +130,15 @@ if ($update || $create) {
$id_agent = (int) get_parameter('id_agent'); $id_agent = (int) get_parameter('id_agent');
$text_module = get_parameter('text_module', ''); $text_module = get_parameter('text_module', '');
$id_agent_module = (int) get_parameter('module_search_hidden'); $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', ''); $pagination = get_parameter('pagination', '');
$event_view_hr = get_parameter('event_view_hr', ''); $event_view_hr = get_parameter('event_view_hr', '');
$id_user_ack = get_parameter('id_user_ack', ''); $id_user_ack = get_parameter('id_user_ack', '');

View File

@ -1813,11 +1813,9 @@ switch ($action) {
); );
$values['id_group'] = get_parameter('combo_group'); $values['id_group'] = get_parameter('combo_group');
if ($values['server_name'] == '') {
$values['server_name'] = get_parameter( $values['server_name'] = get_parameter(
'combo_server' 'combo_server'
); );
}
if ((($values['type'] == 'custom_graph') if ((($values['type'] == 'custom_graph')
|| ($values['type'] == 'automatic_custom_graph')) || ($values['type'] == 'automatic_custom_graph'))
@ -2354,6 +2352,8 @@ switch ($action) {
break; break;
} }
hd($values['server_name']);
hd(2);
if ($values['server_name'] == '') { if ($values['server_name'] == '') {
$values['server_name'] = get_parameter( $values['server_name'] = get_parameter(
'combo_server' 'combo_server'

View File

@ -114,7 +114,9 @@ if ($get_comments) {
sprintf( sprintf(
' HAVING max_id_evento = %d', ' HAVING max_id_evento = %d',
$event['id_evento'] $event['id_evento']
) ),
// True for show comments of validated events.
true
); );
if ($events !== false) { if ($events !== false) {
$event = $events[0]; $event = $events[0];
@ -337,11 +339,46 @@ if ($get_filter_values) {
'tag_with' => [], 'tag_with' => [],
'tag_without' => [], 'tag_without' => [],
'history' => false, '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['search'] = io_safe_output($event_filter['search']);
$event_filter['id_name'] = io_safe_output($event_filter['id_name']); $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( $event_filter['tag_with'] = base64_encode(
io_safe_output($event_filter['tag_with']) io_safe_output($event_filter['tag_with'])
); );
@ -353,7 +390,7 @@ if ($get_filter_values) {
} }
if ($load_filter_modal) { 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(); $filters = events_get_event_filter_select();
$user_groups_array = users_get_groups_for_select( $user_groups_array = users_get_groups_for_select(
$config['id_user'], $config['id_user'],
@ -433,10 +470,12 @@ function load_form_filter() {
}, },
function (data) { function (data) {
jQuery.each (data, function (i, val) { jQuery.each (data, function (i, val) {
console.log(val);
if (i == 'id_name') if (i == 'id_name')
$("#hidden-id_name").val(val); $("#hidden-id_name").val(val);
if (i == 'id_group') if (i == 'id_group'){
$("#id_group").val(val); $('#id_group').val(val);
}
if (i == 'event_type') if (i == 'event_type')
$("#event_type").val(val); $("#event_type").val(val);
if (i == 'severity') { if (i == 'severity') {
@ -446,9 +485,9 @@ function load_form_filter() {
if (i == 'status') if (i == 'status')
$("#status").val(val); $("#status").val(val);
if (i == 'search') if (i == 'search')
$("#text-search").val(val); $('#text-search').val(val);
if (i == 'text_agent') if (i == 'text_agent')
$("#text_id_agent").val(val); $('input[name=text_agent]').val(val);
if (i == 'id_agent') if (i == 'id_agent')
$('input:hidden[name=id_agent]').val(val); $('input:hidden[name=id_agent]').val(val);
if (i == 'id_agent_module') if (i == 'id_agent_module')
@ -477,6 +516,15 @@ function load_form_filter() {
$("#text-user_comment").val(val); $("#text-user_comment").val(val);
if (i == 'id_source_event') if (i == 'id_source_event')
$("#text-id_source_event").val(val); $("#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(); reorder_tags_inputs();
// Update the info with the loaded filter // Update the info with the loaded filter
@ -1145,12 +1193,37 @@ if ($change_status) {
$event_ids = get_parameter('event_ids'); $event_ids = get_parameter('event_ids');
$new_status = get_parameter('new_status'); $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) { if ($return !== false) {
echo 'status_ok'; echo json_encode(
[
'status' => 'status_ok',
'user' => db_get_value(
'fullname',
'tusuario',
'id_user',
$config['id_user']
),
]
);
} else { } else {
echo 'status_error'; echo json_encode(
[
'status' => 'status_error',
'user' => db_get_value(
'fullname',
'tusuario',
'id_user',
$config['id_user']
),
]
);
} }
return; return;

View File

@ -1,4 +1,5 @@
<?php <?php
/** /**
* Agent Wizard for SNMP and WMI * Agent Wizard for SNMP and WMI
* *
@ -273,7 +274,7 @@ class AgentWizard extends HTML
// Check access. // Check access.
check_login(); check_login();
if (! check_acl($config['id_user'], 0, 'AR')) { if (!check_acl($config['id_user'], 0, 'AR')) {
db_pandora_audit( db_pandora_audit(
'ACL Violation', 'ACL Violation',
'Trying to access event viewer' 'Trying to access event viewer'
@ -865,7 +866,6 @@ class AgentWizard extends HTML
], ],
true true
); );
} }
@ -992,10 +992,51 @@ class AgentWizard extends HTML
} }
if ($this->wizardSection === 'snmp_interfaces_explorer') { if ($this->wizardSection === 'snmp_interfaces_explorer') {
// First, try x64 interfaces. // 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; $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. // Explore interface names.
$oidExplore = '.1.3.6.1.2.1.31.1.1.1.1'; $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 { } else {
// Get the device PEN. // Get the device PEN.
$oidExplore = '.1.3.6.1.2.1.1.2.0'; $oidExplore = '.1.3.6.1.2.1.1.2.0';
@ -1310,7 +1351,7 @@ class AgentWizard extends HTML
* *
* @return array * @return array
*/ */
public function candidateModuleToCreate(array $data):array public function candidateModuleToCreate(array $data): array
{ {
$modulesActivated = []; $modulesActivated = [];
$generalInterface = false; $generalInterface = false;
@ -2261,7 +2302,7 @@ class AgentWizard extends HTML
private function replacementMacrosPlugin( private function replacementMacrosPlugin(
string $text, string $text,
array $macros array $macros
):string { ): string {
// Only agents. // Only agents.
if (empty($this->idPolicy) === true) { if (empty($this->idPolicy) === true) {
// Common. // Common.
@ -2308,7 +2349,7 @@ class AgentWizard extends HTML
?string $value, ?string $value,
?string $unit='', ?string $unit='',
?int $moduleType=0 ?int $moduleType=0
):string { ): string {
if ($moduleType !== MODULE_TYPE_REMOTE_SNMP_INC if ($moduleType !== MODULE_TYPE_REMOTE_SNMP_INC
&& $moduleType !== MODULE_TYPE_GENERIC_DATA_INC && $moduleType !== MODULE_TYPE_GENERIC_DATA_INC
&& $moduleType !== MODULE_TYPE_REMOTE_TCP_INC && $moduleType !== MODULE_TYPE_REMOTE_TCP_INC
@ -2562,7 +2603,7 @@ class AgentWizard extends HTML
// Unpack the extra fields // Unpack the extra fields
// and include with key field in a field set. // and include with key field in a field set.
$macros = json_decode($module['macros'], true); $macros = json_decode($module['macros'], true);
$fieldSet = [ '0' => $module['query_key_field'] ]; $fieldSet = ['0' => $module['query_key_field']];
foreach ($macros as $fieldKey => $fieldMacro) { foreach ($macros as $fieldKey => $fieldMacro) {
if (preg_match('/extra_field_/', $fieldKey) !== 0) { if (preg_match('/extra_field_/', $fieldKey) !== 0) {
$tmpKey = explode('_', $fieldKey); $tmpKey = explode('_', $fieldKey);
@ -3100,7 +3141,6 @@ class AgentWizard extends HTML
// Add Create Modules form. // Add Create Modules form.
$this->createModulesForm(); $this->createModulesForm();
} }
} }
@ -3209,7 +3249,6 @@ class AgentWizard extends HTML
} }
return false; return false;
} }
@ -3306,7 +3345,7 @@ class AgentWizard extends HTML
* *
* @return array Inputs for common data. * @return array Inputs for common data.
*/ */
private function getCommonDataInputs():array private function getCommonDataInputs(): array
{ {
$inputs[] = [ $inputs[] = [
'id' => 'create-modules-action', 'id' => 'create-modules-action',
@ -4207,6 +4246,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. // IfAdminStatus.
$moduleName = $name.'ifAdminStatus'; $moduleName = $name.'ifAdminStatus';
$definition['ifAdminStatus'] = [ $definition['ifAdminStatus'] = [
@ -4333,19 +4400,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; return $definition;
} }
@ -4815,7 +4869,7 @@ class AgentWizard extends HTML
try { try {
exec($execution, $output); exec($execution, $output);
} catch (Exception $ex) { } catch (Exception $ex) {
$output = [ '0' => 'ERROR: Failed execution: '.(string) $ex]; $output = ['0' => 'ERROR: Failed execution: '.(string) $ex];
} }
return $output; return $output;
@ -4913,7 +4967,7 @@ class AgentWizard extends HTML
// Meta. // Meta.
var meta = "<?php echo is_metaconsole(); ?>"; var meta = "<?php echo is_metaconsole(); ?>";
var hack_meta = ''; var hack_meta = '';
if(meta){ if (meta) {
hack_meta = '../../'; hack_meta = '../../';
} }
@ -4921,15 +4975,15 @@ class AgentWizard extends HTML
showV3Form(); showV3Form();
// Filter search interfaces snmp. // Filter search interfaces snmp.
$('#text-filter-search').keyup(function () { $('#text-filter-search').keyup(function() {
var string = $('#text-filter-search').val(); var string = $('#text-filter-search').val();
var regex = new RegExp(string); var regex = new RegExp(string);
var interfaces = $('.interfaces_search'); var interfaces = $('.interfaces_search');
interfaces.each(function(){ interfaces.each(function() {
if(string == ''){ if (string == '') {
$(this).removeClass('hidden'); $(this).removeClass('hidden');
} else { } else {
if(this.id.match(regex)) { if (this.id.match(regex)) {
$(this).removeClass('hidden'); $(this).removeClass('hidden');
} else { } else {
$(this).addClass('hidden'); $(this).addClass('hidden');
@ -4939,12 +4993,12 @@ class AgentWizard extends HTML
}); });
// Loading. // Loading.
$('#submit-sub-protocol').click(function () { $('#submit-sub-protocol').click(function() {
$('.wizard-result').remove(); $('.wizard-result').remove();
$('#form-create-modules').remove(); $('#form-create-modules').remove();
$('.textodialogo').remove(); $('.textodialogo').remove();
$('.loading-wizard') $('.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,10 +5016,10 @@ class AgentWizard extends HTML
function showSecurityLevelForm() { function showSecurityLevelForm() {
var selector = $('#securityLevelV3').val(); var selector = $('#securityLevelV3').val();
if(selector === 'authNoPriv' || selector === 'authPriv'){ if (selector === 'authNoPriv' || selector === 'authPriv') {
$('#txt-authMethodV3').removeClass('invisible'); $('#txt-authMethodV3').removeClass('invisible');
$('#txt-authPassV3').removeClass('invisible'); $('#txt-authPassV3').removeClass('invisible');
if(selector === 'authPriv'){ if (selector === 'authPriv') {
$('#txt-privacyMethodV3').removeClass('invisible'); $('#txt-privacyMethodV3').removeClass('invisible');
$('#txt-privacyPassV3').removeClass('invisible'); $('#txt-privacyPassV3').removeClass('invisible');
} else { } else {
@ -5015,16 +5069,13 @@ class AgentWizard extends HTML
collision: "fit" collision: "fit"
}, },
title: title, title: title,
buttons: [ buttons: [{
{ class: "ui-widget ui-state-default ui-corner-all ui-button-text-only sub ok submit-next",
class:
"ui-widget ui-state-default ui-corner-all ui-button-text-only sub ok submit-next",
text: "OK", text: "OK",
click: function(e) { click: function(e) {
$("#msg").close(); $("#msg").close();
} }
} }]
]
}); });
} }
@ -5054,7 +5105,7 @@ class AgentWizard extends HTML
}); });
// Set checked. // Set checked.
$("[id*=checkbox-sel_module_" + blockNumber + "]") $("[id*=checkbox-sel_module_" + blockNumber + "]")
.each(function(){ .each(function() {
$(this).prop("checked", true); $(this).prop("checked", true);
}); });
imageInfoModules.removeClass('hidden'); imageInfoModules.removeClass('hidden');
@ -5066,15 +5117,15 @@ class AgentWizard extends HTML
}); });
// Set unchecked. // Set unchecked.
$("[id*=checkbox-sel_module_" + blockNumber + "]") $("[id*=checkbox-sel_module_" + blockNumber + "]")
.each(function(){ .each(function() {
$(this).prop("checked", false); $(this).prop("checked", false);
}); });
imageInfoModules.addClass('hidden'); imageInfoModules.addClass('hidden');
} }
} else if (type == 'module') { } else if (type == 'module') {
// Getting the element. // Getting the element.
var thisModuleHidden = document.getElementById("hidden-module-active-"+switchName[2]+"_"+moduleNumber); var thisModuleHidden = document.getElementById("hidden-module-active-" + switchName[2] + "_" + moduleNumber);
var thisModule = $("#checkbox-sel_module_"+blockNumber+"_"+moduleNumber); var thisModule = $("#checkbox-sel_module_" + blockNumber + "_" + moduleNumber);
// Setting the individual field // Setting the individual field
if (thisModule.prop('checked')) { if (thisModule.prop('checked')) {
thisModuleHidden.value = '1'; thisModuleHidden.value = '1';
@ -5118,7 +5169,7 @@ class AgentWizard extends HTML
*/ */
function switchBlockControlInterfaces(e) { function switchBlockControlInterfaces(e) {
var string = $('#text-filter-search').val(); var string = $('#text-filter-search').val();
if(string == ''){ if (string == '') {
if (e.checked) { if (e.checked) {
$(".interfaz_select").prop("checked", true); $(".interfaz_select").prop("checked", true);
} else { } else {
@ -5127,14 +5178,14 @@ class AgentWizard extends HTML
} else { } else {
var regex = new RegExp(string); var regex = new RegExp(string);
var interfaces = $('.interfaces_search'); var interfaces = $('.interfaces_search');
interfaces.each(function(){ interfaces.each(function() {
if(this.id.match(regex)) { if (this.id.match(regex)) {
$(this).removeClass('hidden'); $(this).removeClass('hidden');
if (e.checked) { if (e.checked) {
$("input[name='interfaz_select_"+this.id+"']") $("input[name='interfaz_select_" + this.id + "']")
.prop("checked", true); .prop("checked", true);
} else { } else {
$("input[name='interfaz_select_"+this.id+"']") $("input[name='interfaz_select_" + this.id + "']")
.prop("checked", false); .prop("checked", false);
} }
} }
@ -5149,7 +5200,7 @@ class AgentWizard extends HTML
confirmDialog({ confirmDialog({
title: "<?php echo __('Modules about to be created'); ?>", title: "<?php echo __('Modules about to be created'); ?>",
message: function() { message: function() {
var id = "div-"+uniqId(); var id = "div-" + uniqId();
var loading = "<?php echo __('Loading'); ?>" + "..."; var loading = "<?php echo __('Loading'); ?>" + "...";
$.ajax({ $.ajax({
method: "post", method: "post",
@ -5165,22 +5216,22 @@ class AgentWizard extends HTML
}, },
datatype: "html", datatype: "html",
success: function(data) { success: function(data) {
$('#'+id).empty().append(data); $('#' + id).empty().append(data);
}, },
error: function(e) { error: function(e) {
showMsg(e); showMsg(e);
} }
}); });
return "<div id ='"+id+"'>"+loading+"</div>"; return "<div id ='" + id + "'>" + loading + "</div>";
}, },
ok: "<?php echo __('OK'); ?>", ok: "<?php echo __('OK'); ?>",
cancel: "<?php echo __('Cancel'); ?>", cancel: "<?php echo __('Cancel'); ?>",
onAccept: function() { onAccept: function() {
$('#reviewed-modules').submit(); $('#reviewed-modules').submit();
}, },
size:750, size: 750,
maxHeight:500 maxHeight: 500
}); });
} }

View File

@ -20,7 +20,7 @@
/** /**
* Pandora build version and version * Pandora build version and version
*/ */
$build_version = 'PC201029'; $build_version = 'PC201103';
$pandora_version = 'v7.0NG.750'; $pandora_version = 'v7.0NG.750';
// Do not overwrite default timezone set if defined. // Do not overwrite default timezone set if defined.

View File

@ -2871,17 +2871,8 @@ function alerts_get_agent_modules(
); );
$agent_modules = db_get_all_rows_sql($sql); $agent_modules = db_get_all_rows_sql($sql);
} else { } else {
$groups = groups_get_children($id_grupo, true); $groups = groups_get_children_ids($id_grupo, true);
if (empty($groups) === false) { if (empty($groups) === false) {
$groups = array_reduce(
$groups,
function ($carry, $item) {
$carry[] = $item['id_grupo'];
return $carry;
},
[$id_grupo]
);
$sql = sprintf( $sql = sprintf(
'SELECT distinct(atm.id_agent_module) 'SELECT distinct(atm.id_agent_module)
FROM talert_template_modules atm FROM talert_template_modules atm

View File

@ -682,6 +682,7 @@ function events_update_status($id_evento, $status, $filter=null, $history=false)
* @param boolean $history Apply on historical table. * @param boolean $history Apply on historical table.
* @param boolean $return_sql Return SQL (true) or execute it (false). * @param boolean $return_sql Return SQL (true) or execute it (false).
* @param string $having Having filter. * @param string $having Having filter.
* @param boolean $validatedEvents If true, evaluate validated events.
* *
* @return array Events. * @return array Events.
* @throws Exception On error. * @throws Exception On error.
@ -695,7 +696,8 @@ function events_get_all(
$sort_field=null, $sort_field=null,
$history=false, $history=false,
$return_sql=false, $return_sql=false,
$having='' $having='',
$validatedEvents=false
) { ) {
global $config; global $config;
@ -912,10 +914,20 @@ function events_get_all(
break; break;
case EVENT_NO_VALIDATED: case EVENT_NO_VALIDATED:
// Show comments in validated events.
$validatedState = '';
if ($validatedEvents === true) {
$validatedState = sprintf(
'OR estado = %d',
EVENT_VALIDATE
);
}
$sql_filters[] = sprintf( $sql_filters[] = sprintf(
' AND (estado = %d OR estado = %d)', ' AND (estado = %d OR estado = %d %s)',
EVENT_NEW, EVENT_NEW,
EVENT_PROCESS EVENT_PROCESS,
$validatedState
); );
break; break;
} }
@ -1541,25 +1553,17 @@ function events_get_event($id, $fields=false, $meta=false, $history=false)
* Retrieve all events ungrouped. * Retrieve all events ungrouped.
* *
* @param string $sql_post Sql_post. * @param string $sql_post Sql_post.
* @param integer $offset Offset.
* @param integer $pagination Pagination.
* @param boolean $meta Meta. * @param boolean $meta Meta.
* @param boolean $history History. * @param boolean $history History.
* @param boolean $total Total. * @param boolean $returnSql Only Query.
* @param boolean $history_db History_db.
* @param string $order Order.
* *
* @return mixed Array of events or false. * @return mixed Array of events or false.
*/ */
function events_get_events_no_grouped( function events_get_events_no_grouped(
$sql_post, $sql_post,
$offset=0,
$pagination=1,
$meta=false, $meta=false,
$history=false, $history=false,
$total=false, $returnSql=false
$history_db=false,
$order='ASC'
) { ) {
global $config; global $config;
@ -1569,7 +1573,11 @@ function events_get_events_no_grouped(
$sql .= events_get_secondary_groups_left_join($table); $sql .= events_get_secondary_groups_left_join($table);
$sql .= $sql_post; $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; return $events;
} }
@ -1622,29 +1630,59 @@ function events_get_events_grouped(
$event_lj = events_get_secondary_groups_left_join($table); $event_lj = events_get_secondary_groups_left_join($table);
if ($total) { if ($total) {
$sql = "SELECT COUNT(*) FROM (SELECT id_evento $sql = "SELECT COUNT(*) FROM (SELECT id_evento
FROM $table te $event_lj FROM $table te $event_lj ".$sql_post.'
WHERE 1=1 ".$sql_post.'
GROUP BY estado, evento, id_agente, id_agentmodule'.$groupby_extra.') AS t'; GROUP BY estado, evento, id_agente, id_agentmodule'.$groupby_extra.') AS t';
} else { } else {
$sql = "SELECT *, MAX(id_evento) AS id_evento, $sql = sprintf(
GROUP_CONCAT(DISTINCT user_comment SEPARATOR '<br>') AS user_comment, 'SELECT *,
GROUP_CONCAT(DISTINCT id_evento SEPARATOR ',') AS similar_ids, 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, COUNT(id_evento) AS event_rep, MAX(utimestamp) AS timestamp_rep,
MIN(utimestamp) AS timestamp_rep_min, MIN(utimestamp) AS timestamp_rep_min,
(SELECT owner_user FROM $table WHERE id_evento = MAX(te.id_evento)) owner_user, (SELECT owner_user
(SELECT id_usuario FROM $table WHERE id_evento = MAX(te.id_evento)) id_usuario, FROM %s
(SELECT id_agente FROM $table WHERE id_evento = MAX(te.id_evento)) id_agente, WHERE id_evento = MAX(te.id_evento)) AS owner_user,
(SELECT criticity FROM $table WHERE id_evento = MAX(te.id_evento)) AS criticity, (SELECT id_usuario
(SELECT ack_utimestamp FROM $table WHERE id_evento = MAX(te.id_evento)) AS ack_utimestamp, FROM %s
(SELECT nombre FROM tagente_modulo WHERE id_agente_modulo = te.id_agentmodule) AS module_name WHERE id_evento = MAX(te.id_evento)) AS id_usuario,
FROM $table te $event_lj (SELECT id_agente
WHERE 1=1 ".$sql_post.' FROM %s
GROUP BY estado, evento, id_agente, id_agentmodule'.$groupby_extra; WHERE id_evento = MAX(te.id_evento)) AS id_agente,
$sql .= ' '.events_get_sql_order($sort_field, $order, 2); (SELECT criticity
$sql .= ' LIMIT '.$offset.','.$pagination; 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); $events = db_get_all_rows_sql($sql, $history_db);
if ($total) { if ($total) {
@ -2959,7 +2997,8 @@ function events_get_agent(
$type = []; $type = [];
foreach ($filter_event_type as $event_type) { foreach ($filter_event_type as $event_type) {
if ($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". // Shown to user only "warning, critical and normal".
if ($event_type == 'warning' || $event_type == 'critical' || $event_type == 'normal') { if ($event_type == 'warning' || $event_type == 'critical' || $event_type == 'normal') {
$type[] = " event_type LIKE '%".$event_type."%' "; $type[] = " event_type LIKE '%".$event_type."%' ";
@ -2979,10 +3018,10 @@ function events_get_agent(
} }
if ($events_group) { if ($events_group) {
$sql_where .= sprintf( $secondary_groups = sprintf(
' INNER JOIN tgrupo tg ' INNER JOIN tgrupo tg
ON (te.id_grupo = tg.id_grupo AND tg.id_grupo = %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 = %s) OR (tg.id_grupo = tasg.id_group AND tasg.id_group IN (%s))
WHERE utimestamp > %d WHERE utimestamp > %d
AND utimestamp <= %d ', AND utimestamp <= %d ',
join(',', $id_group), join(',', $id_group),
@ -2990,7 +3029,11 @@ function events_get_agent(
$datelimit, $datelimit,
$date $date
); );
} else if ($events_module) { $sql_where = $secondary_groups.' '.$sql_where;
} else {
$sql_where = ' WHERE 1=1 '.$sql_where;
if ($events_module) {
$sql_where .= sprintf( $sql_where .= sprintf(
' AND id_agentmodule = %d AND utimestamp > %d ' AND id_agentmodule = %d AND utimestamp > %d
AND utimestamp <= %d ', AND utimestamp <= %d ',
@ -3007,6 +3050,7 @@ function events_get_agent(
$date $date
); );
} }
}
if (is_metaconsole() && $id_server) { if (is_metaconsole() && $id_server) {
$sql_where .= ' AND server_id = '.$id_server; $sql_where .= ' AND server_id = '.$id_server;
@ -3025,11 +3069,7 @@ function events_get_agent(
} else { } else {
return events_get_events_no_grouped( return events_get_events_no_grouped(
$sql_where, $sql_where,
0,
1000,
(is_metaconsole() && $id_server) ? true : false, (is_metaconsole() && $id_server) ? true : false,
false,
false,
$history $history
); );
} }
@ -3682,6 +3722,38 @@ function events_get_response_target(
$event_response = db_get_row('tevent_response', 'id', $response_id); $event_response = db_get_row('tevent_response', 'id', $response_id);
$target = io_safe_output($event_response['target']); $target = io_safe_output($event_response['target']);
if (strpos($target, '_agent_alias_') !== false) {
if ($meta) {
$agente_table_name = 'tmetaconsole_agent';
$filter = [
'id_tagente' => $event['id_agente'],
'id_tmetaconsole_setup' => $server_id,
];
} else {
$agente_table_name = 'tagente';
$filter = ['id_agente' => $event['id_agente']];
}
$alias = db_get_value_filter('alias', $agente_table_name, $filter);
$target = str_replace('_agent_alias_', io_safe_output($alias), $target);
}
if (strpos($target, '_agent_name_') !== false) {
if ($meta) {
$agente_table_name = 'tmetaconsole_agent';
$filter = [
'id_tagente' => $event['id_agente'],
'id_tmetaconsole_setup' => $server_id,
];
} else {
$agente_table_name = 'tagente';
$filter = ['id_agente' => $event['id_agente']];
}
$name = db_get_value_filter('nombre', $agente_table_name, $filter);
$target = str_replace('_agent_name_', io_safe_output($name), $target);
}
// Substitute each macro. // Substitute each macro.
if (strpos($target, '_agent_address_') !== false) { if (strpos($target, '_agent_address_') !== false) {
if ($meta) { if ($meta) {
@ -3761,7 +3833,7 @@ function events_get_response_target(
if (strpos($target, '_group_name_') !== false) { if (strpos($target, '_group_name_') !== false) {
$target = str_replace( $target = str_replace(
'_group_name_', '_group_name_',
groups_get_name($event['id_grupo'], true), io_safe_output(groups_get_name($event['id_grupo'], true)),
$target $target
); );
} }
@ -3777,7 +3849,7 @@ function events_get_response_target(
if (strpos($target, '_event_date_') !== false) { if (strpos($target, '_event_date_') !== false) {
$target = str_replace( $target = str_replace(
'_event_date_', '_event_date_',
date($config['date_format'], $event['utimestamp']), io_safe_output(date($config['date_format'], $event['utimestamp'])),
$target $target
); );
} }
@ -3801,7 +3873,7 @@ function events_get_response_target(
if (strpos($target, '_alert_id_') !== false) { if (strpos($target, '_alert_id_') !== false) {
$target = str_replace( $target = str_replace(
'_alert_id_', '_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 $target
); );
} }
@ -3883,6 +3955,15 @@ function events_get_response_target(
$target = str_replace('_current_user_', $config['id_user'], $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; return $target;
} }
@ -4620,16 +4701,24 @@ function events_page_general($event)
$table_general->data[] = $data; $table_general->data[] = $data;
// If event is validated, show who and when acknowleded it. // If event is validated, show who and when acknowleded it.
$table_general->cellclass[8][1] = 'general_acknowleded';
$data = []; $data = [];
$data[0] = __('Acknowledged by'); $data[0] = __('Acknowledged by');
if ($event['estado'] == 1) { if ($event['estado'] == 1) {
$user_ack = db_get_value('fullname', 'tusuario', 'id_user', $event['id_usuario']); $user_ack = db_get_value(
if (empty($user_ack)) { 'fullname',
'tusuario',
'id_user',
$event['id_usuario']
);
if (empty($user_ack) === true) {
$user_ack = $event['id_usuario']; $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.')'; $data[1] = $user_ack.' ('.$date_ack.')';
} else { } else {
$data[1] = '<i>'.__('N/A').'</i>'; $data[1] = '<i>'.__('N/A').'</i>';
@ -6963,7 +7052,7 @@ function events_get_field_value_by_event_id(
if (strpos($value, '_group_name_') !== false) { if (strpos($value, '_group_name_') !== false) {
$value = str_replace( $value = str_replace(
'_group_name_', '_group_name_',
groups_get_name($event['id_grupo'], true), io_safe_output(groups_get_name($event['id_grupo'], true)),
$value $value
); );
} }
@ -6979,7 +7068,9 @@ function events_get_field_value_by_event_id(
if (strpos($value, '_event_date_') !== false) { if (strpos($value, '_event_date_') !== false) {
$value = str_replace( $value = str_replace(
'_event_date_', '_event_date_',
date($config['date_format'], $event['utimestamp']), io_safe_output(
date($config['date_format'], $event['utimestamp'])
),
$value $value
); );
} }

View File

@ -2541,13 +2541,9 @@ function graphic_agentaccess(
} else { } else {
$options['generals']['pdf']['width'] = 350; $options['generals']['pdf']['width'] = 350;
$options['generals']['pdf']['height'] = 125; $options['generals']['pdf']['height'] = 125;
if (!empty($data_array)) {
$imgbase64 = '<img src="data:image/jpg;base64,'; $imgbase64 = '<img src="data:image/jpg;base64,';
$imgbase64 .= vbar_graph($data_array, $options, 2); $imgbase64 .= vbar_graph($data_array, $options, 2);
$imgbase64 .= '" />'; $imgbase64 .= '" />';
} else {
$imgbase64 .= vbar_graph($data_array, $options, 2);
}
return $imgbase64; return $imgbase64;
} }

View File

@ -2957,7 +2957,7 @@ function reporting_group_report($report, $content)
if (empty($id_group)) { if (empty($id_group)) {
$events = []; $events = [];
} else { } 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( $events = events_get_events_grouped(
$sql_where, $sql_where,
0, 0,

View File

@ -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 = '<div style="width: 100%; height: 90px; display: flex; flex-direction: row; justify-content: center;">';
$events_graph .= graph_graphic_agentevents( $events_graph .= graph_graphic_agentevents(
$id_agente, $id_agente,
'385px;', '340px;margin:0',
45, 45,
SECONDS_1DAY, SECONDS_1DAY,
'', '',

View File

@ -1,14 +1,14 @@
(function ($) { (function($) {
var options = { var options = {
export: { export: {
export_data: false, // or true export_data: false, // or true
labels_long: null, labels_long: null,
homeurl: "", homeurl: ""
}, }
}; };
function init(plot) { function init(plot) {
plot.exportDataCSV = function (args) { plot.exportDataCSV = function(args) {
//amount = plot.getOptions().export.type, //amount = plot.getOptions().export.type,
//options = options || {}; //options = options || {};
@ -22,7 +22,7 @@
result = []; result = [];
// Throw errors // Throw errors
var retrieveDataOject = function (dataObjects) { var retrieveDataOject = function(dataObjects) {
var result; var result;
if (typeof dataObjects === "undefined") if (typeof dataObjects === "undefined")
@ -33,7 +33,7 @@
result = dataObjects.shift(); result = dataObjects.shift();
} }
if (dataObjects.length > 1) { if (dataObjects.length > 1) {
dataObjects.forEach(function (element) { dataObjects.forEach(function(element) {
if (/^Avg.:/i.test(element.label)) result = element; if (/^Avg.:/i.test(element.label)) result = element;
}); });
@ -47,7 +47,7 @@
}; };
// Throw errors // Throw errors
var processDataObject = function (dataObject) { var processDataObject = function(dataObject) {
var result; var result;
if (typeof dataObject === "undefined") if (typeof dataObject === "undefined")
@ -71,12 +71,12 @@
*/ */
if (type === "csv") { if (type === "csv") {
result = { result = {
head: ["timestap", "date", "value", "label"], head: ["timestamp", "date", "value", "label"],
data: [], data: []
}; };
dataObject.data.forEach(function (item, index) { dataObject.data.forEach(function(item, index) {
var timestap = item[0]; var timestamp = item[0];
var d = new Date(item[0]); var d = new Date(item[0]);
var monthNames = [ var monthNames = [
@ -91,7 +91,7 @@
"Sep", "Sep",
"Oct", "Oct",
"Nov", "Nov",
"Dec", "Dec"
]; ];
date_format = date_format =
@ -119,7 +119,7 @@
dataObject.label dataObject.label
]; ];
clean_label = clean_label.replace(new RegExp("&#x20;", "g"), " "); clean_label = clean_label.replace(new RegExp("&#x20;", "g"), " ");
result.data.push([timestap, date, value, clean_label]); result.data.push([timestamp, date, value, clean_label]);
}); });
} else if (type === "json") { } else if (type === "json") {
/* [ /* [
@ -144,7 +144,7 @@
*/ */
result = []; result = [];
dataObject.data.forEach(function (item, index) { dataObject.data.forEach(function(item, index) {
var date = "", var date = "",
value = item[1]; value = item[1];
@ -156,7 +156,7 @@
result.push({ result.push({
date: date, date: date,
value: value, value: value,
label: dataObject.label, label: dataObject.label
}); });
}); });
} }
@ -172,12 +172,11 @@
if (dataObject) { if (dataObject) {
elements.push(processDataObject(dataObject)); elements.push(processDataObject(dataObject));
} }
dataObjects.forEach(function (element) { dataObjects.forEach(function(element) {
elements.push(processDataObject(element)); elements.push(processDataObject(element));
}); });
graphData = elements; graphData = elements;
// Transform the object data into a string // Transform the object data into a string
// cause PHP has limitations in the number // cause PHP has limitations in the number
// of POST params received. // of POST params received.
@ -226,7 +225,7 @@
} }
}; };
plot.exportDataJSON = function (args) { plot.exportDataJSON = function(args) {
//amount = plot.getOptions().export.type, //amount = plot.getOptions().export.type,
//options = options || {}; //options = options || {};
@ -240,7 +239,7 @@
result = []; result = [];
// Throw errors // Throw errors
var retrieveDataOject = function (dataObjects) { var retrieveDataOject = function(dataObjects) {
var result; var result;
if (typeof dataObjects === "undefined") if (typeof dataObjects === "undefined")
@ -251,7 +250,7 @@
result = dataObjects.shift(); result = dataObjects.shift();
} }
if (dataObjects.length > 1) { if (dataObjects.length > 1) {
dataObjects.forEach(function (element) { dataObjects.forEach(function(element) {
if (/^Avg.:/i.test(element.label)) result = element; if (/^Avg.:/i.test(element.label)) result = element;
}); });
@ -265,7 +264,7 @@
}; };
// Throw errors // Throw errors
var processDataObject = function (dataObject) { var processDataObject = function(dataObject) {
var result; var result;
if (typeof dataObject === "undefined") if (typeof dataObject === "undefined")
@ -290,10 +289,10 @@
if (type === "csv") { if (type === "csv") {
result = { result = {
head: ["date", "value", "label"], head: ["date", "value", "label"],
data: [], data: []
}; };
dataObject.data.forEach(function (item, index) { dataObject.data.forEach(function(item, index) {
var date = "", var date = "",
value = item[1]; value = item[1];
@ -329,7 +328,7 @@
*/ */
result = []; result = [];
dataObject.data.forEach(function (item, index) { dataObject.data.forEach(function(item, index) {
var date = "", var date = "",
value = item[1]; value = item[1];
@ -341,7 +340,7 @@
result.push({ result.push({
date: date, date: date,
value: value, value: value,
label: dataObject.label, label: dataObject.label
}); });
}); });
} }
@ -357,7 +356,7 @@
if (custom_graph) { if (custom_graph) {
dataObject = retrieveDataOject(dataObjects); dataObject = retrieveDataOject(dataObjects);
dataObjects.forEach(function (element) { dataObjects.forEach(function(element) {
elements.push(processDataObject(element)); elements.push(processDataObject(element));
}); });
graphData = elements; graphData = elements;
@ -420,6 +419,6 @@
init: init, init: init,
options: options, options: options,
name: "exportdata", name: "exportdata",
version: "0.1", version: "0.1"
}); });
})(jQuery); })(jQuery);

View File

@ -346,13 +346,7 @@ function menu_graph(
$threshold = true; $threshold = true;
} }
$return .= "<div id='general_menu_$graph_id' class='menu_graph' style=' $return .= "<div id='general_menu_$graph_id' class='menu_graph'>";
width: 20px;
height: 150px;
left:100%;
position: absolute;
top: 0px;
background-color: tranparent;'>";
$return .= "<div id='menu_$graph_id' "."style='display: none; ".'text-align: center;'.'position: relative;'."border-bottom: 0px;'> $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>"; <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) { if ($threshold) {
@ -745,13 +739,12 @@ function flot_slicesbar_graph(
// Set some containers to legend, graph, timestamp tooltip, etc. // Set some containers to legend, graph, timestamp tooltip, etc.
$height = ((int) $height + 15); $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 // Set a weird separator to serialize and unserialize
// passing data from php to javascript. // passing data from php to javascript.

View File

@ -786,13 +786,12 @@ function post_process_select_events_unit(name, selected) {
function post_process_select_events(name) { function post_process_select_events(name) {
$("." + name + "_toggler").click(function() { $("." + name + "_toggler").click(function() {
var value = $("#text-" + name + "_text").val(); var value = $("#text-" + name + "_text").val();
var count = $("#" + name + "_select option").filter(function(i, item) { var count = $("#" + name + "_select option").filter(function(i, item) {
if (Number($(item).val()) == Number(value)) return true; if (Number($(item).val()) == Number(value)) return true;
else return false; else return false;
}).length; }).length;
if (count != 1) { if (count < 1) {
$("#" + name + "_select").append( $("#" + name + "_select").append(
$("<option>") $("<option>")
.val(value) .val(value)

View File

@ -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. // Change the status of an event to new, in process or validated.
function event_change_status(event_ids) { function event_change_status(event_ids) {
var new_status = $("#estado").val(); var new_status = $("#estado").val();
var event_id = $("#hidden-id_event").val();
var meta = $("#hidden-meta").val(); var meta = $("#hidden-meta").val();
var history = $("#hidden-history").val(); var history = $("#hidden-history").val();
@ -472,7 +471,7 @@ function event_change_status(event_ids) {
type: "POST", type: "POST",
url: $("#hidden-ajax_file").val(), url: $("#hidden-ajax_file").val(),
async: true, async: true,
dataType: "html", dataType: "json",
success: function(data) { success: function(data) {
$("#button-status_button").removeAttr("disabled"); $("#button-status_button").removeAttr("disabled");
$("#response_loading").hide(); $("#response_loading").hide();
@ -485,11 +484,20 @@ function event_change_status(event_ids) {
$("#notification_status_error").hide(); $("#notification_status_error").hide();
} }
if (data == "status_ok") { if (data.status == "status_ok") {
if (typeof dt_events !== "undefined") { if (typeof dt_events !== "undefined") {
dt_events.draw(false); dt_events.draw(false);
} }
$("#notification_status_success").show(); $("#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 { } else {
$("#notification_status_error").show(); $("#notification_status_error").show();
} }
@ -942,7 +950,6 @@ function execute_event_response(event_list_btn) {
}); });
break; break;
case "delete_selected": case "delete_selected":
console.log($(this));
$(".chk_val:checked").each(function() { $(".chk_val:checked").each(function() {
execute_delete_event_reponse( execute_delete_event_reponse(
dt_events, dt_events,

View File

@ -12,6 +12,8 @@
// 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.
/*global $, _*/
var TreeController = { var TreeController = {
controllers: [], controllers: [],
getController: function() { getController: function() {
@ -38,12 +40,35 @@ var TreeController = {
return; 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 // Load branch
function _processGroup(container, elements, rootGroup) { function _processGroup(container, elements, rootGroup) {
var $group = $("<ul></ul>"); var $group = $("<ul></ul>");
var childGroupsLength = _recursiveGroupsCount(elements);
// First group // First group.
if (typeof rootGroup != "undefined" && rootGroup == true) { if (typeof rootGroup != "undefined" && rootGroup == true) {
var messageLength = controller.tree.length;
if (childGroupsLength > 0) {
messageLength = childGroupsLength + controller.tree.length;
}
$group $group
.addClass("tree-root") .addClass("tree-root")
.hide() .hide()
@ -54,13 +79,12 @@ var TreeController = {
'images/pandora.png" />' + 'images/pandora.png" />' +
"<span class='margin-left-1'>" + "<span class='margin-left-1'>" +
(controller.tree.length > 0 (controller.tree.length > 0
? controller.foundMessage + ": " + controller.tree.length ? controller.foundMessage + ": " + messageLength
: "") + : "") +
"</div>" "</div>"
); );
} } else {
// Normal group // Normal group.
else {
$group.addClass("tree-group").hide(); $group.addClass("tree-group").hide();
} }

View File

@ -462,6 +462,10 @@ select:-internal-list-box {
width: 120px; width: 120px;
max-width: 120px; max-width: 120px;
} }
.w200px {
width: 200px;
max-width: 200px;
}
.w240px { .w240px {
width: 240px; width: 240px;
max-width: 240px; max-width: 240px;
@ -3074,6 +3078,12 @@ div#stat-win-module-graph div.nodata_container {
} }
.menu_graph { .menu_graph {
width: 30px;
height: 150px;
left: 100%;
position: absolute;
top: 0px;
background-color: transparent;
-moz-border-top-right-radius: 6px; -moz-border-top-right-radius: 6px;
-webkit-border-top-right-radius: 6px; -webkit-border-top-right-radius: 6px;
border-top-right-radius: 6px; border-top-right-radius: 6px;
@ -5866,7 +5876,7 @@ table.table_modal_alternate tr td:first-child {
} }
.flot-text { .flot-text {
width: 101%; width: 100%;
} }
/*Font header feedback*/ /*Font header feedback*/

View File

@ -750,7 +750,17 @@ if (! isset($config['id_user'])) {
$pass2 = get_parameter_post('pass2'); $pass2 = get_parameter_post('pass2');
$id_user = get_parameter_post('id_user'); $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 = ''; $correct_reset_pass_process = '';
$process_error_message = ''; $process_error_message = '';
@ -787,21 +797,14 @@ if (! isset($config['id_user'])) {
include_once 'general/login_page.php'; include_once 'general/login_page.php';
} else { } else {
if ($reset_hash != '') { 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 = ''; $process_error_message = '';
if ($db_reset_pass_entry) { if ($db_reset_pass_entry) {
if (($db_reset_pass_entry + SECONDS_2HOUR) < time()) { if (($db_reset_pass_entry + SECONDS_2HOUR) < time()) {
register_pass_change_try($id_user, 0); register_pass_change_try($id_user, 0);
$process_error_message = __('Too much time since password change request'); $process_error_message = __('Too much time since password change request');
delete_reset_pass_entry($id_user);
include_once 'general/login_page.php'; include_once 'general/login_page.php';
} else { } else {
delete_reset_pass_entry($id_user);
include_once 'enterprise/include/process_reset_pass.php'; include_once 'enterprise/include/process_reset_pass.php';
} }
} else { } else {

View File

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

View File

@ -731,7 +731,7 @@ class Events
$system = System::getInstance(); $system = System::getInstance();
// --------------Fill the SQL POST------------------------------- // --------------Fill the SQL POST-------------------------------
$sql_post = ''; $sql_post = ' WHERE 1=1 ';
switch ($this->status) { switch ($this->status) {
case 0: case 0:

View File

@ -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_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';
require_once $config['homedir'].'/include/php_to_js_values.php';
enterprise_include_once('include/functions_agents.php'); enterprise_include_once('include/functions_agents.php');
check_login(); check_login();

View File

@ -1,6 +1,5 @@
<?php <?php
// This file is an example on how things must NEVER be done.
// Pandora FMS - http://pandorafms.com // Pandora FMS - http://pandorafms.com
// ================================================== // ==================================================
// Copyright (c) 2005-2010 Artica Soluciones Tecnologicas // Copyright (c) 2005-2010 Artica Soluciones Tecnologicas
@ -41,7 +40,7 @@ if (! defined('METACONSOLE')) {
$buttons['fields'] = [ $buttons['fields'] = [
'active' => false, 'active' => false,
'text' => '<a href="index.php?sec=view&sec2=operation/agentes/status_monitor&amp;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&section=fields">'.html_print_image('images/custom_columns.png', true, ['title' => __('Custom fields')]).'</a>',
'operation' => true, 'operation' => true,
]; ];
@ -79,6 +78,11 @@ if (! defined('METACONSOLE')) {
ui_meta_print_header(__('Monitor view')); ui_meta_print_header(__('Monitor view'));
} }
$recursion = get_parameter_switch('recursion', false);
if ($recursion === false) {
$recursion = get_parameter('recursion', false);
}
$ag_freestring = (string) get_parameter('ag_freestring'); $ag_freestring = (string) get_parameter('ag_freestring');
$moduletype = (string) get_parameter('moduletype'); $moduletype = (string) get_parameter('moduletype');
$datatype = (string) get_parameter('datatype'); $datatype = (string) get_parameter('datatype');
@ -89,10 +93,10 @@ $status = (int) get_parameter('status', 4);
$modulegroup = (int) get_parameter('modulegroup', -1); $modulegroup = (int) get_parameter('modulegroup', -1);
$tag_filter = (int) get_parameter('tag_filter', 0); $tag_filter = (int) get_parameter('tag_filter', 0);
$min_hours_status = (string) get_parameter('min_hours_status', ''); $min_hours_status = (string) get_parameter('min_hours_status', '');
// Sort functionality // Sort functionality.
$sortField = get_parameter('sort_field'); $sortField = get_parameter('sort_field');
$sort = get_parameter('sort', 'none'); $sort = get_parameter('sort', 'none');
// When the previous page was a visualmap and show only one module // When the previous page was a visualmap and show only one module.
$id_module = (int) get_parameter('id_module', 0); $id_module = (int) get_parameter('id_module', 0);
$ag_custom_fields = (array) get_parameter('ag_custom_fields', []); $ag_custom_fields = (array) get_parameter('ag_custom_fields', []);
$module_option = (int) get_parameter('module_option', 1); $module_option = (int) get_parameter('module_option', 1);
@ -161,11 +165,22 @@ if (is_numeric($ag_group)) {
// Agent group selector // Agent group selector
if (!is_metaconsole()) { if (!is_metaconsole()) {
if ($ag_group > 0 && check_acl($config['id_user'], $ag_group, 'AR')) { if ($ag_group > 0 && check_acl($config['id_user'], $ag_group, 'AR')) {
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( $sql_conditions_group = sprintf(
' AND (tagente.id_grupo = %d OR tasg.id_group = %d)', ' AND (tagente.id_grupo = %d OR tasg.id_group = %d)',
$ag_group, $ag_group,
$ag_group $ag_group
); );
}
} else if ($user_groups != '') { } else if ($user_groups != '') {
// User has explicit permission on group 1 ? // User has explicit permission on group 1 ?
$sql_conditions_group = ' AND ( $sql_conditions_group = ' AND (
@ -175,11 +190,22 @@ if (!is_metaconsole()) {
} }
} else { } else {
if (((int) $ag_group !== 0) && (check_acl($config['id_user'], $id_ag_group, 'AR'))) { if (((int) $ag_group !== 0) && (check_acl($config['id_user'], $id_ag_group, 'AR'))) {
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( $sql_conditions_group = sprintf(
' AND (tagente.id_grupo IN (%s) OR tasg.id_group IN (%s))', ' AND (tagente.id_grupo IN (%s) OR tasg.id_group IN (%s))',
$ag_group, $ag_group,
$ag_group $ag_group
); );
}
} else if ($user_groups != '') { } else if ($user_groups != '') {
// User has explicit permission on group 1 ? // User has explicit permission on group 1 ?
$sql_conditions_group = ' AND ( $sql_conditions_group = ' AND (
@ -355,7 +381,8 @@ $table->style[3] = 'font-weight: bold;';
$table->style[4] = 'font-weight: bold;'; $table->style[4] = 'font-weight: bold;';
$table->data[0][0] = __('Group'); $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'], $config['id_user'],
'AR', 'AR',
true, true,
@ -375,6 +402,18 @@ $table->data[0][1] = html_print_select_groups(
'id_grupo', 'id_grupo',
false 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 = [];
$fields[AGENT_MODULE_STATUS_NORMAL] = __('Normal'); $fields[AGENT_MODULE_STATUS_NORMAL] = __('Normal');
@ -701,8 +740,7 @@ foreach ($custom_fields as $custom_field) {
$table_custom_fields->data[] = $row; $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&amp;sec2=operation/agentes/status_monitor&amp;refr='.$refr.'&amp;ag_group='.$ag_group.'&amp;ag_freestring='.$ag_freestring.'&amp;module_option='.$module_option.'&amp;ag_modulename='.$ag_modulename.'&amp;moduletype='.$moduletype.'&amp;datatype='.$datatype.'&amp;status='.$status.'&amp;sort_field='.$sortField.'&amp;sort='.$sort.'&amp;pure='.$config['pure'].$ag_custom_fields_params.'">';
if (is_metaconsole()) { if (is_metaconsole()) {
$table->colspan[4][0] = 7; $table->colspan[4][0] = 7;
$table->cellstyle[4][0] = 'padding: 10px;'; $table->cellstyle[4][0] = 'padding: 10px;';
@ -1014,6 +1052,7 @@ $sql = 'SELECT
ORDER BY '.$order['field'].' '.$order['order'].' ORDER BY '.$order['field'].' '.$order['order'].'
LIMIT '.$offset.','.$limit_sql; LIMIT '.$offset.','.$limit_sql;
// We do not show the modules until the user searches with the filter // We do not show the modules until the user searches with the filter
if ($autosearch) { if ($autosearch) {
if (! defined('METACONSOLE')) { if (! defined('METACONSOLE')) {
@ -1102,17 +1141,51 @@ if (($config['dbtype'] == 'oracle') && ($result !== false)) {
// Urls to sort the table. // Urls to sort the table.
$url_agent_name = 'index.php?sec=view&amp;sec2=operation/agentes/status_monitor&amp;refr='.$refr.'&amp;datatype='.$datatype.'&amp;moduletype='.$moduletype.'&amp;modulegroup='.$modulegroup.'&amp;offset='.$offset.'&amp;ag_group='.$ag_group.'&amp;ag_freestring='.$ag_freestring.'&amp;ag_modulename='.$ag_modulename.'&amp;status='.$status.$ag_custom_fields_params.'&amp;sort_field=agent_alias&amp;sort='; $url_agent_name = 'index.php?sec=view&sec2=operation/agentes/status_monitor';
$url_type = 'index.php?sec=view&amp;sec2=operation/agentes/status_monitor&amp;datatype='.$datatype.'&amp;moduletype='.$moduletype.'&amp;refr='.$refr.'&amp;modulegroup='.$modulegroup.'&amp;offset='.$offset.'&amp;ag_group='.$ag_group.'&amp;ag_freestring='.$ag_freestring.'&amp;ag_modulename='.$ag_modulename.'&amp;status='.$status.$ag_custom_fields_params.'&amp;sort_field=type&amp;sort='; $url_type = 'index.php?sec=view&sec2=operation/agentes/status_monitor';
$url_module_name = 'index.php?sec=view&amp;sec2=operation/agentes/status_monitor&amp;datatype='.$datatype.'&amp;moduletype='.$moduletype.'&amp;refr='.$refr.'&amp;modulegroup='.$modulegroup.'&amp;offset='.$offset.'&amp;ag_group='.$ag_group.'&amp;ag_freestring='.$ag_freestring.'&amp;ag_modulename='.$ag_modulename.'&amp;status='.$status.$ag_custom_fields_params.'&amp;sort_field=module_name&amp;sort='; $url_module_name = 'index.php?sec=view&sec2=operation/agentes/status_monitor';
$url_server_type = 'index.php?sec=view&amp;sec2=operation/agentes/status_monitor&amp;datatype='.$datatype.'&amp;moduletype='.$moduletype.'&amp;refr='.$refr.'&amp;modulegroup='.$modulegroup.'&amp;offset='.$offset.'&amp;ag_group='.$ag_group.'&amp;ag_freestring='.$ag_freestring.'&amp;ag_modulename='.$ag_modulename.'&amp;status='.$status.$ag_custom_fields_params.'&amp;sort_field=moduletype&amp;sort='; $url_server_type = 'index.php?sec=view&sec2=operation/agentes/status_monitor';
$url_interval = 'index.php?sec=view&amp;sec2=operation/agentes/status_monitor&amp;datatype='.$datatype.'&amp;moduletype='.$moduletype.'&amp;refr='.$refr.'&amp;modulegroup='.$modulegroup.'&amp;offset='.$offset.'&amp;ag_group='.$ag_group.'&amp;ag_freestring='.$ag_freestring.'&amp;ag_modulename='.$ag_modulename.'&amp;status='.$status.$ag_custom_fields_params.'&amp;sort_field=interval&amp;sort='; $url_interval = 'index.php?sec=view&sec2=operation/agentes/status_monitor';
$url_status = 'index.php?sec=view&amp;sec2=operation/agentes/status_monitor&amp;datatype='.$datatype.'&amp;moduletype='.$moduletype.'&amp;refr='.$refr.'&amp;modulegroup='.$modulegroup.'&amp;offset='.$offset.'&amp;ag_group='.$ag_group.'&amp;ag_freestring='.$ag_freestring.'&amp;ag_modulename='.$ag_modulename.'&amp;status='.$status.$ag_custom_fields_params.'&amp;sort_field=status&amp;sort='; $url_status = 'index.php?sec=view&sec2=operation/agentes/status_monitor';
$url_status = 'index.php?sec=view&amp;sec2=operation/agentes/status_monitor&amp;datatype='.$datatype.'&amp;moduletype='.$moduletype.'&amp;refr='.$refr.'&amp;modulegroup='.$modulegroup.'&amp;offset='.$offset.'&amp;ag_group='.$ag_group.'&amp;ag_freestring='.$ag_freestring.'&amp;ag_modulename='.$ag_modulename.'&amp;status='.$status.$ag_custom_fields_params.'&amp;sort_field=last_status_change&amp;sort='; $url_status = 'index.php?sec=view&sec2=operation/agentes/status_monitor';
$url_data = 'index.php?sec=view&amp;sec2=operation/agentes/status_monitor&amp;datatype='.$datatype.'&amp;moduletype='.$moduletype.'&amp;refr='.$refr.'&amp;modulegroup='.$modulegroup.'&amp;offset='.$offset.'&amp;ag_group='.$ag_group.'&amp;ag_freestring='.$ag_freestring.'&amp;ag_modulename='.$ag_modulename.'&amp;status='.$status.$ag_custom_fields_params.'&amp;sort_field=data&amp;sort='; $url_data = 'index.php?sec=view&sec2=operation/agentes/status_monitor';
$url_timestamp_up = 'index.php?sec=view&amp;sec2=operation/agentes/status_monitor&amp;datatype='.$datatype.'&amp;moduletype='.$moduletype.'&amp;refr='.$refr.'&amp;offset='.$offset.'&amp;ag_group='.$ag_group.'&amp;ag_freestring='.$ag_freestring.'&amp;ag_modulename='.$ag_modulename.'&amp;status='.$status.$ag_custom_fields_params.'&amp;sort_field=timestamp&amp;sort=up'; $url_timestamp_up = 'index.php?sec=view&sec2=operation/agentes/status_monitor';
$url_timestamp_down = 'index.php?sec=view&amp;sec2=operation/agentes/status_monitor&amp;datatype='.$datatype.'&amp;moduletype='.$moduletype.'&amp;refr='.$refr.'&amp;modulegroup='.$modulegroup.'&amp;offset='.$offset.'&amp;ag_group='.$ag_group.'&amp;ag_freestring='.$ag_freestring.'&amp;ag_modulename='.$ag_modulename.'&amp;status='.$status.$ag_custom_fields_params.'&amp;sort_field=timestamp&amp;sort=down'; $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 // Start Build List Result
if (!empty($result)) { if (!empty($result)) {
@ -1276,9 +1349,9 @@ if (!empty($result)) {
} }
if (is_metaconsole()) { if (is_metaconsole()) {
$data[0] = '<a href="?sec=gmodules&amp;sec2=advanced/policymanager&amp;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 { } else {
$data[0] = '<a href="?sec=gmodules&amp;sec2=enterprise/godmode/policies/policies&amp;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 // TODO: Calculate hash access before to use it more simply like other sections. I.E. Events view
if (defined('METACONSOLE')) { if (defined('METACONSOLE')) {
$agent_link = '<a href="'.$row['server_url'].'index.php?'.'sec=estado&amp;'.'sec2=operation/agentes/ver_agente&amp;'.'id_agente='.$row['id_agent'].'&amp;'.'loginhash=auto&amp;'.'loginhash_data='.$row['hashdata'].'&amp;'.'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 = ui_print_truncate_text(
$agent_alias, $agent_alias,
'agent_small', 'agent_small',
@ -1309,7 +1382,7 @@ if (!empty($result)) {
$data[1] = $agent_alias; $data[1] = $agent_alias;
} }
} else { } else {
$data[1] = '<strong><a href="index.php?sec=estado&amp;sec2=operation/agentes/ver_agente&amp;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, '[&hellip;]', 'font-size:7.5pt;'); $data[1] .= ui_print_truncate_text($agent_alias, 'agent_medium', false, true, false, '[&hellip;]', 'font-size:7.5pt;');
$data[1] .= '</a></strong>'; $data[1] .= '</a></strong>';
} }
@ -1325,9 +1398,9 @@ if (!empty($result)) {
$show_edit_icon = false; $show_edit_icon = false;
} }
$url_edit_module = $row['server_url'].'index.php?'.'sec=gagente&amp;'.'sec2=godmode/agentes/configurar_agente&amp;'.'id_agente='.$row['id_agent'].'&amp;'.'tab=module&amp;'.'id_agent_module='.$row['id_agente_modulo'].'&amp;'.'edit_module=1'.'&amp;loginhash=auto&amp;loginhash_data='.$row['hashdata'].'&amp;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 { } else {
$url_edit_module = 'index.php?'.'sec=gagente&amp;'.'sec2=godmode/agentes/configurar_agente&amp;'.'id_agente='.$row['id_agent'].'&amp;'.'tab=module&amp;'.'id_agent_module='.$row['id_agente_modulo'].'&amp;'.'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) { if ($show_edit_icon) {
@ -1750,24 +1823,13 @@ if (!empty($result)) {
// End Build List Result. // End Build List Result.
echo "<div id='monitor_details_window'></div>"; 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'); enterprise_hook('close_meta_frame');
ui_require_javascript_file('pandora_modules'); ui_require_javascript_file('pandora_modules');
?> ?>
<script type='text/javascript'> <script type="text/javascript">
$(document).ready (function () {
if ($('#ag_group').val() != 0) {
$('#tag_filter').css('display', 'none');
$('#tag_td').css('display', 'none');
}
});
$('#moduletype').click(function() { $('#moduletype').click(function() {
jQuery.get ( jQuery.get (
@ -1789,17 +1851,6 @@ $('#moduletype').click(function() {
return false; 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) { function toggle_full_value(id) {
text = $('#hidden_value_module_' + id).html(); text = $('#hidden_value_module_' + id).html();

View File

@ -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']); $from_event_graph = get_parameter('filter[from_event_graph]', $filter['from_event_graph']);
if ($user_filter !== false && $from_event_graph != 1) { if ($user_filter !== false && $from_event_graph != 1) {
$filter = events_get_event_filter($user_filter['id_filter']); $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']; $text_agent = $filter['text_agent'];
$id_agent = $filter['id_agent']; $id_agent = $filter['id_agent'];
$id_agent_module = $filter['id_agent_module']; $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']; $pagination = $filter['pagination'];
$event_view_hr = $filter['event_view_hr']; $event_view_hr = $filter['event_view_hr'];
$id_user_ack = $filter['id_user_ack']; $id_user_ack = $filter['id_user_ack'];
@ -893,13 +900,17 @@ if (is_metaconsole() !== true) {
*/ */
// Group. // Group.
if ($id_group_filter === null) {
$id_group_filter = 0;
}
$data = html_print_input( $data = html_print_input(
[ [
'name' => 'id_group_filter', 'name' => 'id_group_filter',
'returnAllGroup' => true, 'returnAllGroup' => true,
'privilege' => 'AR', 'privilege' => 'AR',
'type' => 'select_groups', 'type' => 'select_groups',
'selected' => (defined($id_group_filter) ? $id_group_filter : 0), 'selected' => $id_group_filter,
'nothing' => false, 'nothing' => false,
'return' => true, 'return' => true,
'size' => '80%', 'size' => '80%',
@ -2019,6 +2030,9 @@ function process_datatables_item(item) {
/* Group name */ /* Group name */
if (item.id_grupo == "0") { 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'); ?>"; item.id_grupo = "<?php echo __('All'); ?>";
} else { } else {
item.id_grupo = item.group_name; item.id_grupo = item.group_name;
@ -2343,8 +2357,7 @@ $(document).ready( function() {
url: '<?php echo ui_get_full_url('ajax.php'); ?>', url: '<?php echo ui_get_full_url('ajax.php'); ?>',
data: { data: {
page: 'include/ajax/events', page: 'include/ajax/events',
load_filter_modal: 1, load_filter_modal: 1
current_filter: $('#latest_filter_id').val()
}, },
success: function (data){ success: function (data){
$('#load-modal-filter') $('#load-modal-filter')

View File

@ -311,7 +311,7 @@ if ($user_filter != 0 && empty($id_name) && !$update_from_filter_table) {
} }
// Build the condition of the events query. // Build the condition of the events query.
$sql_post = ''; $sql_post = ' WHERE 1=1 ';
$id_user = $config['id_user']; $id_user = $config['id_user'];
@ -1214,7 +1214,7 @@ if ($group_rep == 0) {
$sql = 'SELECT COUNT(DISTINCT id_evento) $sql = 'SELECT COUNT(DISTINCT id_evento)
FROM $event_table te FROM $event_table te
$event_lj $event_lj
WHERE 1=1 $sql_post'; $sql_post';
$total_events = (int) db_get_sql($sql); $total_events = (int) db_get_sql($sql);
} else if ($group_rep == 1) { } else if ($group_rep == 1) {
$total_events = events_get_events_grouped( $total_events = events_get_events_grouped(
@ -1477,7 +1477,8 @@ $(document).ready( function() {
$("#text-id_extra").val(val); $("#text-id_extra").val(val);
if (i == 'user_comment') if (i == 'user_comment')
$("#text-user_comment").val(val); $("#text-user_comment").val(val);
if (i == 'module_search')
$("#text-module_search").val(val);
if(i == 'id_source_event') if(i == 'id_source_event')
$("#text-id_source_event").val(val); $("#text-id_source_event").val(val);
} }

View File

@ -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[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][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][2] = __('Event');
$table->data[1][3] = html_print_textarea('events_fired', 200, 20, '', 'readonly="readonly" style="max-height:100px; background: #ddd; resize:none;"', true); $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() { function changeType() {
alert_fired = $("input[name=alert_fired]").attr('checked'); alert_fired = false;
critical = $("input[name=critical]").attr('checked'); critical = false;
warning = $("input[name=warning]").attr('checked'); warning = false;
unknown = $("input[name=unknown]").attr('checked'); 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() { function toggleButton() {
@ -256,9 +272,6 @@ $(document).ready (function () {
setInterval("check_event()", (10 * 1000)); //10 seconds between ajax request setInterval("check_event()", (10 * 1000)); //10 seconds between ajax request
$("#table1").css("background-color", "#fff"); $("#table1").css("background-color", "#fff");
$("#table2").css("background-color", "#fff"); $("#table2").css("background-color", "#fff");
group_width = $("#group").width();
$("#id_agents").width(group_width + 9);
}); });
</script> </script>

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_console %define name pandorafms_console
%define version 7.0NG.750 %define version 7.0NG.750
%define release 201029 %define release 201103
# User and Group under which Apache is running # User and Group under which Apache is running
%define httpd_name httpd %define httpd_name httpd

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_console %define name pandorafms_console
%define version 7.0NG.750 %define version 7.0NG.750
%define release 201029 %define release 201103
# User and Group under which Apache is running # User and Group under which Apache is running
%define httpd_name httpd %define httpd_name httpd

View File

@ -3,7 +3,7 @@
# #
%define name pandorafms_console %define name pandorafms_console
%define version 7.0NG.750 %define version 7.0NG.750
%define release 201029 %define release 201103
%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

View File

@ -113,7 +113,7 @@ INSERT INTO `tconfig` (`token`, `value`) VALUES
('identification_reminder', 1), ('identification_reminder', 1),
('identification_reminder_timestamp', 0), ('identification_reminder_timestamp', 0),
('current_package_enterprise', 750), ('current_package_enterprise', 750),
('post_process_custom_values', '{"0.00000038580247":"Seconds&#x20;to&#x20;months","0.00000165343915":"Seconds&#x20;to&#x20;weeks","0.00001157407407":"Seconds&#x20;to&#x20;days","0.01666666666667":"Seconds&#x20;to&#x20;minutes","0.00000000093132":"Bytes&#x20;to&#x20;Gigabytes","0.00000095367432":"Bytes&#x20;to&#x20;Megabytes","0.0009765625":"Bytes&#x20;to&#x20;Kilobytes","0.00000001653439":"Timeticks&#x20;to&#x20;weeks","0.00000011574074":"Timeticks&#x20;to&#x20;days"}'), ('post_process_custom_values', '{"0.00000038580247":"Seconds&#x20;to&#x20;months","0.00000165343915":"Seconds&#x20;to&#x20;weeks","0.00001157407407":"Seconds&#x20;to&#x20;days","0.01666666666667":"Seconds&#x20;to&#x20;minutes","0.00000000093132":"Bytes&#x20;to&#x20;Gigabytes","0.00000095367432":"Bytes&#x20;to&#x20;Megabytes","0.00097656250000":"Bytes&#x20;to&#x20;Kilobytes","0.00000001653439":"Timeticks&#x20;to&#x20;weeks","0.00000011574074":"Timeticks&#x20;to&#x20;days"}'),
('custom_docs_logo', 'default_docs.png'), ('custom_docs_logo', 'default_docs.png'),
('custom_support_logo', 'default_support.png'), ('custom_support_logo', 'default_support.png'),
('custom_logo_white_bg_preview', 'pandora_logo_head_white_bg.png'), ('custom_logo_white_bg_preview', 'pandora_logo_head_white_bg.png'),

View File

@ -1,5 +1,5 @@
package: pandorafms-server package: pandorafms-server
Version: 7.0NG.750-201029 Version: 7.0NG.750-201103
Architecture: all Architecture: all
Priority: optional Priority: optional
Section: admin Section: admin

View File

@ -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.750-201029" pandora_version="7.0NG.750-201103"
package_cpan=0 package_cpan=0
package_pandora=1 package_pandora=1

View File

@ -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.750"; my $pandora_version = "7.0NG.750";
my $pandora_build = "201029"; my $pandora_build = "201103";
our $VERSION = $pandora_version." ".$pandora_build; our $VERSION = $pandora_version." ".$pandora_build;
# Setup hash # Setup hash

View File

@ -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.750"; my $pandora_version = "7.0NG.750";
my $pandora_build = "201029"; my $pandora_build = "201103";
our $VERSION = $pandora_version." ".$pandora_build; our $VERSION = $pandora_version." ".$pandora_build;
our %EXPORT_TAGS = ( 'all' => [ qw() ] ); our %EXPORT_TAGS = ( 'all' => [ qw() ] );

View File

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

View File

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

View File

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

View File

@ -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.750 PS201029"; my $version = "7.0NG.750 PS201103";
# Pandora server configuration # Pandora server configuration
my %conf; my %conf;

View File

@ -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.750 PS201029"; my $version = "7.0NG.750 PS201103";
# save program name for logging # save program name for logging
my $progname = basename($0); my $progname = basename($0);