示例#1
0
    clearCookies($goResult, $_REQUEST['hostid']);
}
/*
 * Display
 */
if (isset($_REQUEST['form'])) {
    $data = getItemFormData(array('is_discovery_rule' => true));
    $data['page_header'] = _('CONFIGURATION OF DISCOVERY RULES');
    // render view
    $itemView = new CView('configuration.item.edit', $data);
    $itemView->render();
    $itemView->show();
} else {
    $data = array('hostid' => get_request('hostid', 0), 'host' => $host, 'showErrorColumn' => $host['status'] != HOST_STATUS_TEMPLATE);
    $sortfield = getPageSortField('name');
    // discoveries
    $data['discoveries'] = API::DiscoveryRule()->get(array('hostids' => $data['hostid'], 'output' => API_OUTPUT_EXTEND, 'editable' => true, 'selectItems' => API_OUTPUT_COUNT, 'selectGraphs' => API_OUTPUT_COUNT, 'selectTriggers' => API_OUTPUT_COUNT, 'selectHostPrototypes' => API_OUTPUT_COUNT, 'sortfield' => $sortfield, 'limit' => $config['search_limit'] + 1));
    $data['discoveries'] = CMacrosResolverHelper::resolveItemNames($data['discoveries']);
    if ($sortfield === 'status') {
        orderItemsByStatus($data['discoveries'], getPageSortOrder());
    } else {
        order_result($data['discoveries'], $sortfield, getPageSortOrder());
    }
    // paging
    $data['paging'] = getPagingLine($data['discoveries'], array('itemid'), array('hostid' => get_request('hostid')));
    // render view
    $discoveryView = new CView('configuration.host.discovery.list', $data);
    $discoveryView->render();
    $discoveryView->show();
}
require_once dirname(__FILE__) . '/include/page_footer.php';
示例#2
0
     }
 }
 $data['flicker'] = getItemFilterForm($data['items']);
 // remove subfiltered items
 if (!empty($data['items'])) {
     foreach ($data['items'] as $number => $item) {
         foreach ($item['subfilters'] as $value) {
             if (!$value) {
                 unset($data['items'][$number]);
                 break;
             }
         }
     }
 }
 if ($sortField === 'status') {
     orderItemsByStatus($data['items'], $sortOrder);
 } else {
     order_result($data['items'], $sortField, $sortOrder);
 }
 $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' => array('itemid', 'hostid', 'key_', 'type', 'flags', 'status'), 'preservekeys' => true));
 $data['triggerRealHosts'] = getParentHostsByTriggers($data['itemTriggers']);
 // determine, show or not column of errors
 if (isset($hosts)) {
     $host = reset($hosts);
     $data['showInfoColumn'] = $host['status'] != HOST_STATUS_TEMPLATE;
 } else {
示例#3
0
} else {
    $sortField = getRequest('sort', CProfile::get('web.' . $page['file'] . '.sort', 'name'));
    $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);
    $config = select_config();
    $data = ['hostid' => getRequest('hostid', 0), 'host' => $host, 'showInfoColumn' => $host['status'] != HOST_STATUS_TEMPLATE, 'sort' => $sortField, 'sortorder' => $sortOrder];
    // discoveries
    $data['discoveries'] = API::DiscoveryRule()->get(['hostids' => $data['hostid'], 'output' => API_OUTPUT_EXTEND, 'editable' => true, 'selectItems' => API_OUTPUT_COUNT, 'selectGraphs' => API_OUTPUT_COUNT, 'selectTriggers' => API_OUTPUT_COUNT, 'selectHostPrototypes' => API_OUTPUT_COUNT, 'sortfield' => $sortField, 'limit' => $config['search_limit'] + 1]);
    // hide zeroes for trapper and SNMP trap items
    foreach ($data['discoveries'] as &$discovery) {
        if ($discovery['type'] == ITEM_TYPE_TRAPPER || $discovery['type'] == ITEM_TYPE_SNMPTRAP) {
            $discovery['delay'] = '';
        }
    }
    unset($discovery);
    $data['discoveries'] = CMacrosResolverHelper::resolveItemNames($data['discoveries']);
    if ($sortField === 'status') {
        orderItemsByStatus($data['discoveries'], $sortOrder);
    } else {
        order_result($data['discoveries'], $sortField, $sortOrder);
    }
    // paging
    $url = (new CUrl('host_discovery.php'))->setArgument('hostid', $data['hostid']);
    $data['paging'] = getPagingLine($data['discoveries'], $sortOrder, $url);
    // render view
    $discoveryView = new CView('configuration.host.discovery.list', $data);
    $discoveryView->render();
    $discoveryView->show();
}
require_once dirname(__FILE__) . '/include/page_footer.php';
示例#4
0
     }
 }
 $data['flicker'] = getItemFilterForm($data['items']);
 // remove subfiltered items
 if (!empty($data['items'])) {
     foreach ($data['items'] as $number => $item) {
         foreach ($item['subfilters'] as $value) {
             if (!$value) {
                 unset($data['items'][$number]);
                 break;
             }
         }
     }
 }
 if ($data['sortfield'] === 'status') {
     orderItemsByStatus($data['items'], getPageSortOrder());
 } else {
     order_result($data['items'], $data['sortfield'], getPageSortOrder());
 }
 $data['paging'] = getPagingLine($data['items'], array('itemid'));
 $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' => array('itemid', 'hostid', 'key_', 'type', 'flags', 'status'), 'preservekeys' => true));
 $data['triggerRealHosts'] = getParentHostsByTriggers($data['itemTriggers']);
 // nodes
 if ($data['displayNodes']) {
     foreach ($data['items'] as $key => $item) {
         $data['items'][$key]['nodename'] = get_node_name_by_elid($item['itemid'], true);
     }