diff options
Diffstat (limited to 'frontends/php/chart5.php')
| -rw-r--r-- | frontends/php/chart5.php | 26 |
1 files changed, 5 insertions, 21 deletions
diff --git a/frontends/php/chart5.php b/frontends/php/chart5.php index 490eeadc..26d21eab 100644 --- a/frontends/php/chart5.php +++ b/frontends/php/chart5.php @@ -42,30 +42,14 @@ include_once "include/page_header.php"; fatal_error(S_NO_IT_SERVICE_DEFINED); } - $available_hosts = get_accessible_hosts_by_user($USER_DETAILS, PERM_READ_ONLY); + $available_triggers = get_accessible_triggers(PERM_READ_ONLY, PERM_RES_IDS_ARRAY); $sql = 'SELECT s.serviceid '. - ' FROM services s, triggers t, functions f, items i '. - ' WHERE s.serviceid='.$_REQUEST['serviceid']. - ' AND t.triggerid=s.triggerid '. - ' AND f.triggerid=t.triggerid '. - ' AND i.itemid=f.itemid '. - ' AND i.hostid NOT IN ('.$available_hosts.')'; - - if(DBfetch(DBselect($sql,1))){ - access_deny(); - } + ' FROM services s '. + ' WHERE (s.triggerid is NULL OR '.DBcondition('s.triggerid',$available_triggers).') '. + ' AND s.serviceid='.$_REQUEST['serviceid']; - - $sql = 'SELECT s.* '. - ' FROM services s '. - ' LEFT JOIN triggers t ON s.triggerid=t.triggerid '. - ' LEFT JOIN functions f ON t.triggerid=f.triggerid '. - ' LEFT JOIN items i on f.itemid=i.itemid '. - ' WHERE s.serviceid='.$_REQUEST['serviceid']. - ' AND i.hostid IN ('.$available_hosts.')'; - - if(!$service = DBfetch(DBselect($sql))){ + if(!$service = DBfetch(DBselect($sql,1))){ access_deny(); } ?> |
