summaryrefslogtreecommitdiffstats
path: root/frontends/php/include
diff options
context:
space:
mode:
Diffstat (limited to 'frontends/php/include')
-rw-r--r--frontends/php/include/triggers.inc.php9
-rw-r--r--frontends/php/include/users.inc.php80
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);