diff options
Diffstat (limited to 'frontends/php/include/perm.inc.php')
-rw-r--r-- | frontends/php/include/perm.inc.php | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/frontends/php/include/perm.inc.php b/frontends/php/include/perm.inc.php index 0a8538dd..17299831 100644 --- a/frontends/php/include/perm.inc.php +++ b/frontends/php/include/perm.inc.php @@ -397,13 +397,12 @@ COpt::counter_up('perm'); return $result; } -function get_accessible_nodes_by_user(&$user_data,$perm,$perm_res=null){ - global $ZBX_LOCALNODEID; +function get_accessible_nodes_by_user(&$user_data,$perm,$perm_res=null,$nodeid=null){ + global $ZBX_LOCALNODEID, $ZBX_NODES_IDS; - $nodeid = get_current_nodeid(true); -//SDI($nodeid); + if(is_null($nodeid)) $nodeid = $ZBX_NODES_IDS; if(is_null($perm_res)) $perm_res=PERM_RES_STRING_LINE; - + $userid =& $user_data['userid']; $user_type =& $user_data['type']; if(!isset($userid)) fatal_error('Incorrect user data in "get_accessible_nodes_by_user"'); @@ -415,7 +414,7 @@ function get_accessible_nodes_by_user(&$user_data,$perm,$perm_res=null){ //COpt::counter_up('perm'); if(USER_TYPE_SUPER_ADMIN == $user_type){ - $nodes = DBselect('SELECT nodeid FROM nodes'); + $nodes = DBselect('SELECT nodeid FROM nodes WHERE '.DBcondition('nodeid',$nodeid)); while($node = DBfetch($nodes)){ $node_data[$node['nodeid']] = $node; $node_data[$node['nodeid']]['permission'] = PERM_READ_WRITE; |