2013-11-19 Juan Manuel Ramon <juanmanuel.ramon@artica.es>
* include/functions_groups.php include/functions_users.php: Fix combo groups. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@9096 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
parent
20b6a46055
commit
5ae968a728
|
@ -1,3 +1,8 @@
|
|||
2013-11-19 Juan Manuel Ramon <juanmanuel.ramon@artica.es>
|
||||
|
||||
* include/functions_groups.php
|
||||
include/functions_users.php: Fix combo groups.
|
||||
|
||||
2013-11-19 Juan Manuel Ramon <juanmanuel.ramon@artica.es>
|
||||
|
||||
* godmode/reporting/reporting_builder.php: Fix filter groups
|
||||
|
|
|
@ -483,10 +483,11 @@ function groups_flatten_tree_groups($tree, $deep) {
|
|||
* @param array $groups The list of groups to create the treefield list.
|
||||
* @param integer $parent The id_group of parent actual scan branch.
|
||||
* @param integer $deep The level of profundity in the branch.
|
||||
* @param boolean $for_select This flag will be true if this function is used for select group filter # Fix!
|
||||
*
|
||||
* @return array The treefield list of groups.
|
||||
*/
|
||||
function groups_get_groups_tree_recursive($groups, $trash = 0, $trash2 = 0) {
|
||||
function groups_get_groups_tree_recursive($groups, $trash = 0, $trash2 = 0, $for_select = false) {
|
||||
$return = array();
|
||||
|
||||
$tree = $groups;
|
||||
|
@ -495,6 +496,12 @@ function groups_get_groups_tree_recursive($groups, $trash = 0, $trash2 = 0) {
|
|||
continue;
|
||||
}
|
||||
|
||||
# Fix : Don't execute this code if for_select = true
|
||||
if (!$for_select){
|
||||
|
||||
$tree[$group['parent']]['hash_branch'] = 1;
|
||||
$tree[$group['parent']]['branch'][$key] = &$tree[$key];
|
||||
|
||||
// If the user has ACLs on a gruop but not in his father,
|
||||
// we consider it as a son of group "all"
|
||||
if(!in_array($group['parent'], array_keys($groups))) {
|
||||
|
@ -506,12 +513,15 @@ function groups_get_groups_tree_recursive($groups, $trash = 0, $trash2 = 0) {
|
|||
|
||||
}
|
||||
|
||||
// Depends on the All group we give different format
|
||||
if (isset($groups[0])) {
|
||||
$tree = array($tree[0]);
|
||||
}
|
||||
else {
|
||||
$tree = $tree[0]['branch'];
|
||||
# Fix : Don't execute this code if for_select = true
|
||||
if (!$for_select){
|
||||
// Depends on the All group we give different format
|
||||
if (isset($groups[0])) {
|
||||
$tree = array($tree[0]);
|
||||
}
|
||||
else {
|
||||
$tree = $tree[0]['branch'];
|
||||
}
|
||||
}
|
||||
|
||||
$return = groups_flatten_tree_groups($tree, 0);
|
||||
|
|
|
@ -112,7 +112,8 @@ function users_get_groups_for_select($id_user, $privilege = "AR", $returnAllGro
|
|||
$first_group = reset(array_slice($user_groups, 0, 1));
|
||||
$parent_group = $first_group['parent'];
|
||||
|
||||
$user_groups_tree = groups_get_groups_tree_recursive($user_groups, $parent_group);
|
||||
# Fix : Added new parameter to avoid bad behaviour in this function
|
||||
$user_groups_tree = groups_get_groups_tree_recursive($user_groups, $parent_group, 0, true);
|
||||
}
|
||||
$fields = array();
|
||||
|
||||
|
|
Loading…
Reference in New Issue