array(T_ZBX_STR, O_OPT, null, null ,NULL) ); check_fields($fields); //-------------------------------------------------------------------------- $denyed_hosts = get_accessible_hosts_by_user($USER_DETAILS,PERM_READ_WRITE,PERM_MODE_LT); $query = 'SELECT distinct s.serviceid, sl.servicedownid, sl_p.serviceupid as serviceupid, s.name as caption, s.algorithm, t.triggerid, s.sortorder, sl.linkid'. ' FROM services s '. ' LEFT JOIN triggers t ON s.triggerid = t.triggerid '. ' LEFT JOIN services_links sl ON s.serviceid = sl.serviceupid and NOT(sl.soft=0) '. ' LEFT JOIN services_links sl_p ON s.serviceid = sl_p.servicedownid and sl_p.soft=0 '. ' LEFT JOIN functions f ON t.triggerid=f.triggerid '. ' LEFT JOIN items i ON f.itemid=i.itemid '. ' WHERE (i.hostid is null or i.hostid not in ('.$denyed_hosts.')) '. ' AND '.DBin_node('s.serviceid'). ' ORDER BY s.sortorder, sl_p.serviceupid, s.serviceid'; $result=DBSelect($query); $services = array(); $row = array( '0' => 0,'serviceid' => 0, '1' => 0,'serviceupid' => 0, '2' => '','caption' => S_ROOT_SMALL, '3' => '','status' => SPACE, '4' => '','algorithm' => SPACE, '5' => '','description' => SPACE, '6' => 0,'soft' => 0, '7' => '','linkid'=>'' ); $services[0]=$row; while($row = DBFetch($result)){ (empty($row['serviceupid']))?($row['serviceupid']='0'):(''); (empty($row['triggerid']))?($row['description']='None'):($row['description']=expand_trigger_description($row['triggerid'])); if(isset($services[$row['serviceid']])){ $services[$row['serviceid']] = array_merge($services[$row['serviceid']],$row); } else { $services[$row['serviceid']] = $row; } if(isset($row['serviceupid'])) $services[$row['serviceupid']]['childs'][] = array('id' => $row['serviceid'], 'soft' => 0, 'linkid' => 0); if(isset($row['servicedownid'])) $services[$row['serviceid']]['childs'][] = array('id' => $row['servicedownid'], 'soft' => 1, 'linkid' => $row['linkid']); } $treeServ=array(); createServiceTree($services,$treeServ); //return into $treeServ parametr //permission issue $treeServ = del_empty_nodes($treeServ); //---- if(isset($_REQUEST['msg']) && !empty($_REQUEST['msg'])){ $p = new Ctag('p','yes'); $p->AddOption('align','center'); $p->AddOption('id','message'); $p->AddItem(bold($_REQUEST['msg'])); $p->Show(); } show_table_header(S_IT_SERVICES_BIG); $tree = new CTree($treeServ,array('caption' => bold(S_SERVICE),'algorithm' => bold(S_STATUS_CALCULATION), 'description' => bold(S_TRIGGER))); if($tree){ echo $tree->CreateJS(); echo $tree->SimpleHTML(); } else { error(S_CANT_FORMAT_TREE); } $tr_ov_menu[] = array('test1', null, null, array('outer'=> array('pum_oheader'), 'inner'=>array('pum_iheader'))); $tr_ov_menu[] = array('test2', null, null, array('outer'=> array('pum_oheader'), 'inner'=>array('pum_iheader'))); $jsmenu = new CPUMenu($tr_ov_menu,170); $jsmenu->InsertJavaScript(); include_once "include/page_footer.php"; ?>