diff options
Diffstat (limited to 'frontends/php/include')
-rw-r--r-- | frontends/php/include/triggers.inc.php | 9 | ||||
-rw-r--r-- | frontends/php/include/users.inc.php | 80 |
2 files changed, 84 insertions, 5 deletions
diff --git a/frontends/php/include/triggers.inc.php b/frontends/php/include/triggers.inc.php index acbd22c6..85754180 100644 --- a/frontends/php/include/triggers.inc.php +++ b/frontends/php/include/triggers.inc.php @@ -1818,26 +1818,25 @@ function get_triggers_overview($groupid,$view_style=null){ global $USER_DETAILS; - $available_hosts = get_accessible_hosts_by_user($USER_DETAILS,PERM_READ_ONLY,PERM_RES_IDS_ARRAY); + $available_triggers = get_accessible_triggers(PERM_READ_ONLY,PERM_RES_IDS_ARRAY); if(is_null($view_style)) $view_style = get_profile('web.overview.view.style',STYLE_TOP); $table = new CTableInfo(S_NO_TRIGGERS_DEFINED); if($groupid > 0){ - $group_where = ',hosts_groups hg where hg.groupid='.$groupid.' and hg.hostid=h.hostid and'; + $group_where = ',hosts_groups hg WHERE hg.groupid='.$groupid.' AND hg.hostid=h.hostid AND '; } else { - $group_where = ' where'; + $group_where = ' WHERE '; } - $result=DBselect('SELECT DISTINCT t.triggerid,t.description,t.expression,t.value,t.priority,t.lastchange,h.hostid,h.host'. ' FROM hosts h,items i,triggers t, functions f '. $group_where.' h.status='.HOST_STATUS_MONITORED. ' AND h.hostid=i.hostid '. ' AND i.itemid=f.itemid '. ' AND f.triggerid=t.triggerid'. - ' AND '.DBcondition('h.hostid',$available_hosts). + ' AND '.DBcondition('t.triggerid',$available_triggers). ' AND t.status='.TRIGGER_STATUS_ENABLED. ' AND i.status='.ITEM_STATUS_ACTIVE. ' ORDER BY t.description'); diff --git a/frontends/php/include/users.inc.php b/frontends/php/include/users.inc.php index 10a119db..21c64a32 100644 --- a/frontends/php/include/users.inc.php +++ b/frontends/php/include/users.inc.php @@ -417,8 +417,88 @@ } /********************************/ + function get_user_menu_array($userids = array()){ + $menu_all = array(); + $menu_gui_access = array(); + $menu_users_status = array(); + + $res = DBselect('SELECT DISTINCT g.usrgrpid, g.name, g.gui_access, g.users_status'. + ' FROM usrgrp g'. + ' WHERE '.DBin_node('g.usrgrpid', get_current_nodeid(false)). + ' ORDER BY g.name'); + + while($group=DBfetch($res)){ + $group['name'] = htmlspecialchars($group['name']); + + $gui_access = $group['gui_access']; + $users_status = $group['users_status']; + + unset($group['gui_access']); + unset($group['users_status']); + + $menu_all[] = $group; + if($gui_access != GROUP_GUI_ACCESS_SYSTEM){ + $menu_gui_access[] = $group; + } + + if($users_status == GROUP_STATUS_DISABLED){ + $menu_users_status[] = $group; + } + } + insert_js( + 'var menu_usrgrp_all='.zbx_jsvalue($menu_all).";\n". + 'var menu_usrgrp_gui='.zbx_jsvalue($menu_gui_access).";\n". + 'var menu_usrgrp_status='.zbx_jsvalue($menu_users_status).";\n" + ); + + } function get_user_actionmenu($userid){ + $usr_grp_all_in = array(); + $usr_grp_gui_in = array(); + $usr_grp_status_in = array(); + + $sql = 'SELECT DISTINCT g.name, g.usrgrpid, g.gui_access, g.users_status '. + ' FROM users_groups ug, usrgrp g '. + ' WHERE ug.userid='.$userid. + ' AND g.usrgrpid=ug.usrgrpid '. + ' AND '.DBin_node('g.usrgrpid', get_current_nodeid(false)); + if($res = DBselect($sql)){ + while($group = DBFetch($res)){ + $group['name'] = htmlspecialchars($group['name']); + + $gui_access = $group['gui_access']; + $users_status = $group['users_status']; + + unset($group['gui_access']); + unset($group['users_status']); + + $usr_grp_all_in[] = $group; + if($gui_access != GROUP_GUI_ACCESS_SYSTEM){ + $usr_grp_gui_in[] = $groups; + } + if($users_status == GROUP_STATUS_DISABLED){ + $usr_grp_status_in[] = $group; + } + } + } + + $action = new CSpan(S_SELECT); + + $script = new CScript("javascript: create_user_menu(event,". + $userid.",". + zbx_jsvalue($usr_grp_all_in).",". + zbx_jsvalue($usr_grp_gui_in).",". + zbx_jsvalue($usr_grp_status_in).");" + ); + + $action->AddAction('onclick',$script); + $action->AddOption('onmouseover','javascript: this.style.cursor = "pointer";'); + + return $action; + } + + function get_user_actionmenu_old($userid){ global $USER_DETAILS; $action = new CSpan(S_SELECT); |