$item['applications_list'] = ''; } } unset($item); } $data['flicker'] = getItemFilterForm($data['items']); // remove subfiltered items if (!empty($data['items'])) { foreach ($data['items'] as $number => $item) { foreach ($item['subfilters'] as $subfilter => $value) { if (!$value) { unset($data['items'][$number]); break; } } } } order_result($data['items'], $data['sortfield'], getPageSortOrder()); $data['paging'] = getPagingLine($data['items']); $itemTriggerIds = array(); foreach ($data['items'] as $item) { $itemTriggerIds = array_merge($itemTriggerIds, zbx_objectValues($item['triggers'], 'triggerid')); } $data['itemTriggers'] = API::Trigger()->get(array('triggerids' => $itemTriggerIds, 'output' => API_OUTPUT_EXTEND, 'selectHosts' => array('hostid', 'name', 'host'), 'selectFunctions' => API_OUTPUT_EXTEND, 'selectItems' => API_OUTPUT_EXTEND, 'preservekeys' => true)); $data['triggerRealHosts'] = getParentHostsByTriggers($data['itemTriggers']); // render view $itemView = new CView('configuration.item.list', $data); $itemView->render(); $itemView->show(); } require_once dirname(__FILE__) . '/include/page_footer.php';
$options['hostids'] = $pageFilter->hostid; } else { if ($pageFilter->groupid > 0) { $options['groupids'] = $pageFilter->groupid; } } $triggers = CTrigger::get($options); } // sorting && paging order_result($triggers, $sortfield, $sortorder); $paging = getPagingLine($triggers); //--- $options = array('triggerids' => zbx_objectValues($triggers, 'triggerid'), 'output' => API_OUTPUT_EXTEND, 'select_hosts' => API_OUTPUT_EXTEND, 'select_items' => API_OUTPUT_EXTEND, 'select_functions' => API_OUTPUT_EXTEND, 'select_dependencies' => API_OUTPUT_EXTEND); $triggers = CTrigger::get($options); order_result($triggers, $sortfield, $sortorder); $realHosts = getParentHostsByTriggers($triggers); foreach ($triggers as $tnum => $trigger) { $triggerid = $trigger['triggerid']; $trigger['hosts'] = zbx_toHash($trigger['hosts'], 'hostid'); $trigger['items'] = zbx_toHash($trigger['items'], 'itemid'); $trigger['functions'] = zbx_toHash($trigger['functions'], 'functionid'); $description = array(); if ($trigger['templateid'] > 0) { if (!isset($realHosts[$triggerid])) { $description[] = new CSpan('HOST', 'unknown'); $description[] = ':'; } else { $real_hosts = $realHosts[$triggerid]; $real_host = reset($real_hosts); $description[] = new CLink($real_host['host'], 'triggers.php?&hostid=' . $real_host['hostid'], 'unknown'); $description[] = ':';
$triggersView->render(); $triggersView->show(); } elseif (isset($_REQUEST['form'])) { $triggersView = new CView('configuration.triggers.edit', getTriggerFormData($exprAction)); $triggersView->render(); $triggersView->show(); } else { $sortField = getRequest('sort', CProfile::get('web.' . $page['file'] . '.sort', 'description')); $sortOrder = getRequest('sortorder', CProfile::get('web.' . $page['file'] . '.sortorder', ZBX_SORT_UP)); CProfile::update('web.' . $page['file'] . '.sort', $sortField, PROFILE_TYPE_STR); CProfile::update('web.' . $page['file'] . '.sortorder', $sortOrder, PROFILE_TYPE_STR); $data = array('parent_discoveryid' => getRequest('parent_discoveryid'), 'showInfoColumn' => false, 'discovery_rule' => $discovery_rule, 'hostid' => getRequest('hostid'), 'showdisabled' => getRequest('showdisabled', 1), 'triggers' => array(), 'sort' => $sortField, 'sortorder' => $sortOrder); CProfile::update('web.triggers.showdisabled', $data['showdisabled'], PROFILE_TYPE_INT); // get triggers $options = array('editable' => true, 'output' => array('triggerid'), 'discoveryids' => $data['parent_discoveryid'], 'sortfield' => $sortField, 'limit' => $config['search_limit'] + 1); if (empty($data['showdisabled'])) { $options['filter']['status'] = TRIGGER_STATUS_ENABLED; } $data['triggers'] = API::TriggerPrototype()->get($options); // paging $data['paging'] = getPagingLine($data['triggers']); $data['triggers'] = API::TriggerPrototype()->get(array('triggerids' => zbx_objectValues($data['triggers'], 'triggerid'), 'output' => API_OUTPUT_EXTEND, 'selectHosts' => API_OUTPUT_EXTEND, 'selectItems' => array('itemid', 'hostid', 'key_', 'type', 'flags', 'status'), 'selectFunctions' => API_OUTPUT_EXTEND)); order_result($data['triggers'], $sortField, $sortOrder); // get real hosts $data['realHosts'] = getParentHostsByTriggers($data['triggers']); // render view $triggersView = new CView('configuration.triggers.list', $data); $triggersView->render(); $triggersView->show(); } require_once dirname(__FILE__) . '/include/page_footer.php';
if (!$value) { unset($items[$num]); } } } // sorting && paging // !!! should go after we subfiltered out items !!! order_result($items, $sortfield, $sortorder); $paging = getPagingLine($items); //--------- $itemTriggerIds = array(); foreach ($items as $num => $item) { $itemTriggerIds = array_merge($itemTriggerIds, zbx_objectValues($item['triggers'], 'triggerid')); } $itemTriggers = CTrigger::get(array('triggerids' => $itemTriggerIds, 'expandDescription' => true, 'output' => API_OUTPUT_EXTEND, 'select_hosts' => array('hostid', 'host', 'status'), 'select_functions' => API_OUTPUT_EXTEND, 'select_items' => API_OUTPUT_EXTEND, 'preservekeys' => true)); $trigRealHosts = getParentHostsByTriggers($itemTriggers); foreach ($items as $inum => $item) { if ($show_host) { $host = array_pop($item['hosts']); $host = $host['host']; } else { $host = null; } $description = array(); if ($item['templateid']) { $template_host = get_realhost_by_itemid($item['templateid']); $description[] = new CLink($template_host['host'], '?hostid=' . $template_host['hostid'], 'unknown'); $description[] = ':'; } $item['description_expanded'] = item_description($item); $description[] = new CLink($item['description_expanded'], '?form=update&itemid=' . $item['itemid']);