array(T_ZBX_INT, O_OPT, P_SYS, DB_ID, NULL), "hostid"=> array(T_ZBX_INT, O_OPT, P_SYS, DB_ID, NULL) ); check_fields($fields); validate_sort_and_sortorder('h.host',ZBX_SORT_UP); validate_group(PERM_READ_ONLY, array("allow_all_hosts","always_select_first_host","monitored_hosts","with_items")); ?> SetMethod('get'); $cmbGroup = new CComboBox("groupid",$_REQUEST["groupid"],"submit()"); $cmbGroup->AddItem(0,S_ALL_SMALL); $available_hosts = get_accessible_hosts_by_user($USER_DETAILS,PERM_READ_LIST,PERM_RES_IDS_ARRAY); $result=DBselect('SELECT DISTINCT g.groupid,g.name '. ' FROM groups g, hosts_groups hg, hosts h, items i '. ' WHERE '.DBcondition('h.hostid',$available_hosts). ' AND hg.groupid=g.groupid '. ' AND h.status='.HOST_STATUS_MONITORED. ' AND h.hostid=i.hostid '. ' AND hg.hostid=h.hostid '. ' ORDER BY g.name'); while($row=DBfetch($result)){ $cmbGroup->AddItem( $row['groupid'], get_node_name_by_elid($row['groupid']).$row['name'] ); } $r_form->AddItem(array(S_GROUP.SPACE,$cmbGroup)); show_table_header(S_HOST_PROFILES_BIG, $r_form); ?> setHeader(array( is_show_subnodes() ? make_sorting_link(S_NODE,'h.hostid') : null, make_sorting_link(S_HOST,'h.host'), make_sorting_link(S_NAME,'p.name'), make_sorting_link(S_OS,'p.os'), make_sorting_link(S_SERIALNO,'p.serialno'), make_sorting_link(S_TAG,'p.tag'), make_sorting_link(S_MACADDRESS,'p.macaddress')) ); if($_REQUEST["groupid"] > 0){ $sql='SELECT h.hostid,h.host,p.name,p.os,p.serialno,p.tag,p.macaddress'. ' FROM hosts h,hosts_profiles p,hosts_groups hg '. ' WHERE h.hostid=p.hostid'. ' and h.hostid=hg.hostid '. ' and hg.groupid='.$_REQUEST['groupid']. ' and '.DBcondition('h.hostid',$available_hosts). order_by('h.host,h.hostid,p.name,p.os,p.serialno,p.tag,p.macaddress'); } else{ $sql='SELECT h.hostid,h.host,p.name,p.os,p.serialno,p.tag,p.macaddress'. ' FROM hosts h,hosts_profiles p '. ' WHERE h.hostid=p.hostid'. ' AND '.DBcondition('h.hostid',$available_hosts). order_by('h.host,h.hostid,p.name,p.os,p.serialno,p.tag,p.macaddress'); } $result=DBselect($sql); while($row=DBfetch($result)){ $table->AddRow(array( get_node_name_by_elid($row['hostid']), new CLink($row["host"],"?hostid=".$row["hostid"].url_param("groupid"),"action"), $row["name"], $row["os"], $row["serialno"], $row["tag"], $row["macaddress"] )); } $table->show(); } ?>