From 36119ebb85b5aba4bd6d5118df1de9e6718bf3ad Mon Sep 17 00:00:00 2001 From: alejandro-campos <alejandro.campos@artica.es> Date: Wed, 20 Mar 2019 14:48:02 +0100 Subject: [PATCH 1/3] fix bug in event filter by group when not using secondary groups Former-commit-id: fe9c88e8e2d7552fed7e5c7cd5a5694d47ee444f --- .../operation/events/events.build_query.php | 34 +++++++++++++++---- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/pandora_console/operation/events/events.build_query.php b/pandora_console/operation/events/events.build_query.php index 2c4d1fae07..63e4cfd2f7 100755 --- a/pandora_console/operation/events/events.build_query.php +++ b/pandora_console/operation/events/events.build_query.php @@ -83,22 +83,42 @@ if (($date_from === '') && ($date_to === '')) { } } +$is_using_secondary_group = enterprise_hook('agents_is_using_secondary_groups'); + // Group selection. if ($id_group > 0 && in_array($id_group, array_keys($groups))) { if ($propagate) { $childrens_str = implode(',', $childrens_ids); - $sql_post .= " AND (id_grupo IN ($childrens_str) OR id_group IN ($childrens_str))"; + $sql_post .= " AND (id_grupo IN ($childrens_str)"; + + if ($is_using_secondary_group) + $sql_post .= " OR id_group IN ($childrens_str)"; + + $sql_post .= ")"; } else { // If a group is selected and it's in the groups allowed. - $sql_post .= " AND (id_grupo = $id_group OR id_group = $id_group)"; + $sql_post .= " AND (id_grupo = $id_group"; + + if ($is_using_secondary_group) + $sql_post .= " OR id_group = $id_group"; + + $sql_post .= ")"; } } else { if (!users_is_admin() && !users_can_manage_group_all('ER')) { - $sql_post .= sprintf( - ' AND (id_grupo IN (%s) OR id_group IN (%s)) ', - implode(',', array_keys($groups)), - implode(',', array_keys($groups)) - ); + if ($is_using_secondary_group) { + $sql_post .= sprintf( + ' AND (id_grupo IN (%s) OR id_group IN (%s)) ', + implode(',', array_keys($groups)), + implode(',', array_keys($groups)) + ); + } + else { + $sql_post .= sprintf( + ' AND (id_grupo IN (%s)) ', + implode(',', array_keys($groups)) + ); + } } } From b5e1487736b56cb3239e370c8fe94f25c15cdc95 Mon Sep 17 00:00:00 2001 From: alejandro-campos <alejandro.campos@artica.es> Date: Wed, 20 Mar 2019 15:26:42 +0100 Subject: [PATCH 2/3] add strict comparator Former-commit-id: 0561976f26d6bc59f3076f48a5a4261dafaad28b --- pandora_console/operation/events/events.build_query.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pandora_console/operation/events/events.build_query.php b/pandora_console/operation/events/events.build_query.php index 63e4cfd2f7..8402eac1c5 100755 --- a/pandora_console/operation/events/events.build_query.php +++ b/pandora_console/operation/events/events.build_query.php @@ -91,7 +91,7 @@ if ($id_group > 0 && in_array($id_group, array_keys($groups))) { $childrens_str = implode(',', $childrens_ids); $sql_post .= " AND (id_grupo IN ($childrens_str)"; - if ($is_using_secondary_group) + if ($is_using_secondary_group === true) $sql_post .= " OR id_group IN ($childrens_str)"; $sql_post .= ")"; @@ -99,14 +99,14 @@ if ($id_group > 0 && in_array($id_group, array_keys($groups))) { // If a group is selected and it's in the groups allowed. $sql_post .= " AND (id_grupo = $id_group"; - if ($is_using_secondary_group) + if ($is_using_secondary_group === true) $sql_post .= " OR id_group = $id_group"; $sql_post .= ")"; } } else { if (!users_is_admin() && !users_can_manage_group_all('ER')) { - if ($is_using_secondary_group) { + if ($is_using_secondary_group === true) { $sql_post .= sprintf( ' AND (id_grupo IN (%s) OR id_group IN (%s)) ', implode(',', array_keys($groups)), From c19ec2b041d406f08928cdf2955bd0b4f8fb992f Mon Sep 17 00:00:00 2001 From: alejandro-campos <alejandro.campos@artica.es> Date: Fri, 22 Mar 2019 10:47:40 +0100 Subject: [PATCH 3/3] fix bug when filtering events by group Former-commit-id: f5ee52f47cd615007f22ce54e67c1c345eed802b --- pandora_console/operation/events/events.build_query.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pandora_console/operation/events/events.build_query.php b/pandora_console/operation/events/events.build_query.php index 8402eac1c5..2d335ff7e7 100755 --- a/pandora_console/operation/events/events.build_query.php +++ b/pandora_console/operation/events/events.build_query.php @@ -91,7 +91,7 @@ if ($id_group > 0 && in_array($id_group, array_keys($groups))) { $childrens_str = implode(',', $childrens_ids); $sql_post .= " AND (id_grupo IN ($childrens_str)"; - if ($is_using_secondary_group === true) + if ($is_using_secondary_group === 1) $sql_post .= " OR id_group IN ($childrens_str)"; $sql_post .= ")"; @@ -99,14 +99,14 @@ if ($id_group > 0 && in_array($id_group, array_keys($groups))) { // If a group is selected and it's in the groups allowed. $sql_post .= " AND (id_grupo = $id_group"; - if ($is_using_secondary_group === true) + if ($is_using_secondary_group === 1) $sql_post .= " OR id_group = $id_group"; $sql_post .= ")"; } } else { if (!users_is_admin() && !users_can_manage_group_all('ER')) { - if ($is_using_secondary_group === true) { + if ($is_using_secondary_group === 1) { $sql_post .= sprintf( ' AND (id_grupo IN (%s) OR id_group IN (%s)) ', implode(',', array_keys($groups)),