本文整理汇总了PHP中CCol::setHint方法的典型用法代码示例。如果您正苦于以下问题:PHP CCol::setHint方法的具体用法?PHP CCol::setHint怎么用?PHP CCol::setHint使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CCol
的用法示例。
在下文中一共展示了CCol::setHint方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: make_latest_issues
/**
* Create DIV with latest problem triggers.
*
* If no sortfield and sortorder are defined, the sort indicater in the column name will not be displayed.
*
* @param array $filter['screenid']
* @param array $filter['groupids']
* @param array $filter['hostids']
* @param array $filter['maintenance']
* @param int $filter['extAck']
* @param int $filter['severity']
* @param int $filter['limit']
* @param string $filter['sortfield']
* @param string $filter['sortorder']
* @param string $filter['backUrl']
*
* @return CDiv
*/
function make_latest_issues(array $filter = array())
{
// hide the sort indicator if no sortfield and sortorder are given
$showSortIndicator = isset($filter['sortfield']) || isset($filter['sortorder']);
if (!isset($filter['sortfield'])) {
$filter['sortfield'] = 'lastchange';
}
if (!isset($filter['sortorder'])) {
$filter['sortorder'] = ZBX_SORT_DOWN;
}
$options = array('groupids' => $filter['groupids'], 'hostids' => isset($filter['hostids']) ? $filter['hostids'] : null, 'monitored' => true, 'maintenance' => $filter['maintenance'], 'filter' => array('priority' => $filter['severity'], 'value' => TRIGGER_VALUE_TRUE));
$triggers = API::Trigger()->get(array_merge($options, array('withLastEventUnacknowledged' => isset($filter['extAck']) && $filter['extAck'] == EXTACK_OPTION_UNACK ? true : null, 'skipDependent' => true, 'output' => array('triggerid', 'state', 'error', 'url', 'expression', 'description', 'priority', 'lastchange'), 'selectHosts' => array('hostid', 'name'), 'selectLastEvent' => array('eventid', 'acknowledged', 'objectid', 'clock', 'ns'), 'sortfield' => $filter['sortfield'], 'sortorder' => $filter['sortorder'], 'limit' => isset($filter['limit']) ? $filter['limit'] : DEFAULT_LATEST_ISSUES_CNT)));
// don't use withLastEventUnacknowledged and skipDependent because of performance issues
$triggersTotalCount = API::Trigger()->get(array_merge($options, array('countOutput' => true)));
// get acknowledges
$eventIds = array();
foreach ($triggers as $trigger) {
if ($trigger['lastEvent']) {
$eventIds[] = $trigger['lastEvent']['eventid'];
}
}
if ($eventIds) {
$eventAcknowledges = API::Event()->get(array('eventids' => $eventIds, 'select_acknowledges' => API_OUTPUT_EXTEND, 'preservekeys' => true));
}
foreach ($triggers as $tnum => $trigger) {
// if trigger is lost (broken expression) we skip it
if (empty($trigger['hosts'])) {
unset($triggers[$tnum]);
continue;
}
$host = reset($trigger['hosts']);
$trigger['hostid'] = $host['hostid'];
$trigger['hostname'] = $host['name'];
if ($trigger['lastEvent']) {
$trigger['lastEvent']['acknowledges'] = isset($eventAcknowledges[$trigger['lastEvent']['eventid']]) ? $eventAcknowledges[$trigger['lastEvent']['eventid']]['acknowledges'] : null;
}
$triggers[$tnum] = $trigger;
}
$hostIds = zbx_objectValues($triggers, 'hostid');
// get hosts
$hosts = API::Host()->get(array('hostids' => $hostIds, 'output' => array('hostid', 'name', 'status', 'maintenance_status', 'maintenance_type', 'maintenanceid'), 'selectScreens' => API_OUTPUT_COUNT, 'preservekeys' => true));
// actions
$actions = getEventActionsStatHints($eventIds);
// ack params
$ackParams = isset($filter['screenid']) ? array('screenid' => $filter['screenid']) : array();
$config = select_config();
// indicator of sort field
if ($showSortIndicator) {
$sortDiv = new CDiv(SPACE, $filter['sortorder'] === ZBX_SORT_DOWN ? 'icon_sortdown default_cursor' : 'icon_sortup default_cursor');
$sortDiv->addStyle('float: left');
$hostHeaderDiv = new CDiv(array(_('Host'), SPACE));
$hostHeaderDiv->addStyle('float: left');
$issueHeaderDiv = new CDiv(array(_('Issue'), SPACE));
$issueHeaderDiv->addStyle('float: left');
$lastChangeHeaderDiv = new CDiv(array(_('Time'), SPACE));
$lastChangeHeaderDiv->addStyle('float: left');
}
$table = new CTableInfo(_('No events found.'));
$table->setHeader(array(is_show_all_nodes() ? _('Node') : null, $showSortIndicator && $filter['sortfield'] === 'hostname' ? array($hostHeaderDiv, $sortDiv) : _('Host'), $showSortIndicator && $filter['sortfield'] === 'priority' ? array($issueHeaderDiv, $sortDiv) : _('Issue'), $showSortIndicator && $filter['sortfield'] === 'lastchange' ? array($lastChangeHeaderDiv, $sortDiv) : _('Last change'), _('Age'), _('Info'), $config['event_ack_enable'] ? _('Ack') : null, _('Actions')));
$scripts = API::Script()->getScriptsByHosts($hostIds);
// triggers
foreach ($triggers as $trigger) {
$host = $hosts[$trigger['hostid']];
$hostName = new CSpan($host['name'], 'link_menu');
$hostName->setMenuPopup(getMenuPopupHost($host, $scripts[$host['hostid']]));
// add maintenance icon with hint if host is in maintenance
$maintenanceIcon = null;
if ($host['maintenance_status']) {
$maintenanceIcon = new CDiv(null, 'icon-maintenance-abs');
// get maintenance
$maintenances = API::Maintenance()->get(array('maintenanceids' => $host['maintenanceid'], 'output' => API_OUTPUT_EXTEND, 'limit' => 1));
if ($maintenance = reset($maintenances)) {
$hint = $maintenance['name'] . ' [' . ($host['maintenance_type'] ? _('Maintenance without data collection') : _('Maintenance with data collection')) . ']';
if (isset($maintenance['description'])) {
// double quotes mandatory
$hint .= "\n" . $maintenance['description'];
}
$maintenanceIcon->setHint($hint);
$maintenanceIcon->addClass('pointer');
}
$hostName->addClass('left-to-icon-maintenance-abs');
}
//.........这里部分代码省略.........
示例2: make_latest_issues
function make_latest_issues($params = array())
{
global $USER_DETAILS;
$available_hosts = get_accessible_hosts_by_user($USER_DETAILS, PERM_READ_ONLY);
$available_triggers = get_accessible_triggers(PERM_READ_ONLY, array());
$scripts_by_hosts = get_accessible_scripts_by_hosts($available_hosts);
$config = select_config();
$sql_select = '';
$sql_from = '';
$sql_where = '';
$limit = 20;
if (!empty($params)) {
if (isset($params['limit'])) {
$limit = $params['limit'];
}
if (isset($params['groupid']) && $params['groupid'] > 0) {
$sql_select .= ',g.name ';
$sql_from .= ',groups g ';
$sql_where .= ' AND g.groupid=hg.groupid ' . ' AND hg.groupid=' . $params['groupid'];
}
if (isset($params['hostid']) && $params['hostid'] > 0) {
$sql_where .= ' AND h.hostid=' . $params['hostid'];
}
}
$table = new CTableInfo();
$table->setHeader(array(is_show_all_nodes() ? S_NODE : null, isset($params['groupid']) && $params['groupid'] > 0 ? S_GROUP : null, S_HOST, S_ISSUE, S_LAST_CHANGE, S_AGE, $config['event_ack_enable'] ? S_ACK : NULL, S_ACTIONS));
$sql = 'SELECT DISTINCT t.triggerid,t.status,t.description,t.expression,t.priority,t.lastchange,t.value,h.host,h.hostid ' . $sql_select . ' FROM triggers t,hosts h,items i,functions f,hosts_groups hg ' . $sql_from . ' WHERE f.itemid=i.itemid ' . ' AND h.hostid=i.hostid ' . ' AND hg.hostid=h.hostid ' . ' AND t.triggerid=f.triggerid ' . ' AND t.status=' . TRIGGER_STATUS_ENABLED . ' AND i.status=' . ITEM_STATUS_ACTIVE . ' AND ' . DBcondition('t.triggerid', $available_triggers) . ' AND h.status=' . HOST_STATUS_MONITORED . ' AND t.value=' . TRIGGER_VALUE_TRUE . $sql_where . ' ORDER BY t.lastchange DESC';
$result = DBselect($sql, $limit);
while ($row = DBfetch($result)) {
// Check for dependencies
if (trigger_dependent($row["triggerid"])) {
continue;
}
$host = null;
$menus = '';
$host_nodeid = id2nodeid($row['hostid']);
foreach ($scripts_by_hosts[$row['hostid']] as $id => $script) {
$script_nodeid = id2nodeid($script['scriptid']);
if (bccomp($host_nodeid, $script_nodeid) == 0) {
$menus .= "['" . $script['name'] . "',\"javascript: openWinCentered('scripts_exec.php?execute=1&hostid=" . $row['hostid'] . "&scriptid=" . $script['scriptid'] . "','" . S_TOOLS . "',760,540,'titlebar=no, resizable=yes, scrollbars=yes, dialog=no');\", null,{'outer' : ['pum_o_item'],'inner' : ['pum_i_item']}],";
}
}
$menus .= "[" . zbx_jsvalue(S_LINKS) . ",null,null,{'outer' : ['pum_oheader'],'inner' : ['pum_iheader']}],";
$menus .= "['" . S_LATEST_DATA . "',\"javascript: redirect('latest.php?groupid=0&hostid=" . $row['hostid'] . "')\", null,{'outer' : ['pum_o_item'],'inner' : ['pum_i_item']}],";
$menus = rtrim($menus, ',');
$menus = "show_popup_menu(event,[[" . zbx_jsvalue(S_TOOLS) . ",null,null,{'outer' : ['pum_oheader'],'inner' : ['pum_iheader']}]," . $menus . "],180);";
$host = new CSpan($row['host'], 'link');
$host->setAttribute('onclick', 'javascript: ' . $menus);
$host->setAttribute('onmouseover', "javascript: this.style.cursor = 'pointer';");
$event_sql = 'SELECT DISTINCT e.eventid, e.value, e.clock, e.objectid as triggerid, e.acknowledged, t.type, t.url ' . ' FROM events e, triggers t ' . ' WHERE e.object=' . EVENT_SOURCE_TRIGGERS . ' AND e.objectid=' . $row['triggerid'] . ' AND t.triggerid=e.objectid ' . ' AND e.value=' . TRIGGER_VALUE_TRUE . ' ORDER by e.object DESC, e.objectid DESC, e.eventid DESC';
$res_events = DBSelect($event_sql, 1);
while ($row_event = DBfetch($res_events)) {
$ack = NULL;
if ($config['event_ack_enable']) {
if ($row_event['acknowledged'] == 1) {
$ack_info = make_acktab_by_eventid($row_event['eventid']);
$ack_info->setAttribute('style', 'width: auto;');
$ack = new CLink(S_YES, 'acknow.php?eventid=' . $row_event['eventid'], 'action');
$ack->setHint($ack_info);
} else {
$ack = new CLink(S_NO, 'acknow.php?eventid=' . $row_event['eventid'], 'on');
}
}
// $description = expand_trigger_description($row['triggerid']);
$description = expand_trigger_description_by_data(array_merge($row, array('clock' => $row_event['clock'])), ZBX_FLAG_EVENT);
//actions
$actions = get_event_actions_stat_hints($row_event['eventid']);
$clock = new CLink(zbx_date2str(S_DATE_FORMAT_YMDHMS, $row_event['clock']), 'events.php?triggerid=' . $row['triggerid'] . '&source=0&show_unknown=1&nav_time=' . $row_event['clock'], 'action');
if ($row_event['url']) {
$description = new CLink($description, $row_event['url'], 'action', null, true);
} else {
$description = new CSpan($description, 'pointer');
}
$description = new CCol($description, get_severity_style($row["priority"]));
$description->setHint(make_popup_eventlist($row_event['eventid'], $row['type']));
$table->addRow(array(get_node_name_by_elid($row['triggerid']), $host, $description, $clock, zbx_date2age($row_event['clock']), $ack, $actions));
}
unset($row, $description, $actions, $alerts, $hint);
}
$table->setFooter(new CCol(S_UPDATED . ': ' . date("H:i:s", time())));
return $table;
}
示例3: array
$dns = $h_data['dns'] == '' ? '' : ' (' . $h_data['dns'] . ')';
$row = array($h_data['type'] == 'primary' ? new CSpan($ip . $dns, $h_data['class']) : new CSpan(SPACE . SPACE . $ip . $dns), new CSpan(empty($h_data['host']) ? '-' : $h_data['host']), new CSpan($h_data['time'] == 0 || $h_data['type'] === 'slave' ? '' : convert_units(array('value' => time() - $h_data['time'], 'units' => 'uptime')), $h_data['class']));
foreach ($this->data['services'] as $name => $foo) {
$class = null;
$time = SPACE;
$hint = new CDiv(SPACE, $class);
$hintTable = null;
if (isset($h_data['services'][$name])) {
$class = $h_data['services'][$name]['class'];
$time = $h_data['services'][$name]['time'];
$hintTable = new CTableInfo();
$hintTable->setAttribute('style', 'width: auto;');
if ($class == 'active') {
$hintTable->setHeader(_('Uptime'));
} elseif ($class == 'inactive') {
$hintTable->setHeader(_('Downtime'));
}
$timeColumn = new CCol(zbx_date2age($h_data['services'][$name]['time']), $class);
$hintTable->addRow($timeColumn);
}
$column = new CCol($hint, $class);
if (!is_null($hintTable)) {
$column->setHint($hintTable);
}
$row[] = $column;
}
$discoveryTable->addRow($row);
}
}
$discoveryWidget->addItem($discoveryTable);
return $discoveryWidget;
示例4: CDiv
$time = SPACE;
$hint = new CDiv(SPACE, $class);
$hintTable = null;
if (isset($h_data['services'][$name])) {
$class = $h_data['services'][$name]['class'];
$time = $h_data['services'][$name]['time'];
$hintTable = new CTableInfo();
$hintTable->setAttribute('style', 'width: auto;');
if ($class == 'active') {
$hintTable->setHeader(S_UP_TIME);
} else {
if ($class == 'inactive') {
$hintTable->setHeader(S_DOWN_TIME);
}
}
$timeColumn = new CCol(zbx_date2age($h_data['services'][$name]['time']), $class);
$hintTable->addRow($timeColumn);
//$hint->setHint($hintTable);
}
$c = new CCol($hint, $class);
if (!is_null($hintTable)) {
$c->setHint($hintTable);
}
$table_row[] = $c;
}
$table->addRow($table_row);
}
}
$dscvry_wdgt->addItem($table);
$dscvry_wdgt->show();
include_once 'include/page_footer.php';
示例5: make_ipmistat_summary
function make_ipmistat_summary($preloading = false)
{
$form_name = 'ipmi_control';
$table = new CTableInfo();
$ipmicontrol_form = new CForm();
$ipmicontrol_form->setName('ipmi_control');
$ipmicontrol_form->setAttribute('id', 'ipmi_control');
$ipmicontrol_form->addVar('driver', 'ipmi');
$script_itemkey = 'push_message.py[{$HYCLOPS_SERVER},{$HYCLOPS_PORT},ipmi,{HOST.HOST}]';
$table->setHeader(array(is_show_all_nodes() ? S_NODE : null, new CCheckBox('all_physical_hosts', null, "checkAllHosts('" . $ipmicontrol_form->getName() . "', 'all_physical_hosts', '');"), _('Host name'), _('IPMI interface'), _('Status'), _('Problems')));
$hosts = get_ipmi_hosts();
if (empty($hosts)) {
return null;
}
foreach ($hosts as $host) {
$triggers = get_triggers($host['hostid']);
$trigger_count = count($triggers);
// get State
if (!$preloading) {
if (is_script_success($host['hostid'], $script_itemkey)) {
$state = strtolower(get_item_value($host['hostid'], "ipmi.state.text"));
} else {
$state = _('script failed');
}
} else {
$state = _('loading...');
}
// Check box
$checkbox_col = new CCheckBox("hostids[]", null, null, $host['hostid']);
if (!is_operation_available("ipmi", $state)) {
$checkbox_col->attributes['disabled'] = 'disabled';
}
// Host name
if ($trigger_count == 0) {
$hostname_col = new CCol(new CSpan($host['host']));
} else {
$hostname_col = new CLink(new CSpan($host['host']), 'tr_status.php?&hostid=' . $host['hostid'] . '&show_triggers=' . TRIGGERS_OPTION_ONLYTRUE);
}
// IPMI Interfaces
$ipmi_addresses = get_addresses($host['hostid'], INTERFACE_TYPE_IPMI);
$ipmi_ip_col = new CCol(reset($ipmi_addresses));
// Status
$state_col = new CCol($state, get_item_level($state));
// Problem
if ($trigger_count == 0) {
$problem_col = new CCol($trigger_count, 'normal');
} else {
$problem_col = new CCol($trigger_count, 'high');
$problem_col->setHint(make_trigger_table($triggers, $hostname_col));
}
$r = new CRow();
$r->addItem($checkbox_col);
$r->addItem($hostname_col);
$r->addItem($ipmi_ip_col);
$r->addItem($state_col);
$r->addItem($problem_col);
$table->addRow($r);
}
$table->setFooter(new CCol(make_operation_box_footer(zbx_objectValues($hosts, 'hostid'), $form_name)));
$ipmicontrol_form->addItem($table);
$script = new CJSScript(get_js("jQuery('#hat_ipmistat_footer').html('" . _s('Updated: %s', zbx_date2str(_('H:i:s'))) . "')"));
return new CDiv(array($ipmicontrol_form, $script));
}
示例6: make_latest_issues
function make_latest_issues($filter = array())
{
global $page;
$config = select_config();
$limit = isset($filter['limit']) ? $filter['limit'] : 20;
$options = array('groupids' => $filter['groupids'], 'monitored' => 1, 'maintenance' => $filter['maintenance'], 'skipDependent' => 1, 'filter' => array('priority' => $filter['severity'], 'value' => TRIGGER_VALUE_TRUE), 'select_groups' => API_OUTPUT_EXTEND, 'select_hosts' => API_OUTPUT_EXTEND, 'output' => API_OUTPUT_EXTEND, 'sortfield' => 'lastchange', 'sortorder' => ZBX_SORT_DOWN, 'limit' => $limit);
if (isset($filter['hostids'])) {
$options['hostids'] = $filter['hostids'];
}
$triggers = CTrigger::get($options);
// GATHER HOSTS FOR SELECTED TRIGGERS {{{
$triggers_hosts = array();
foreach ($triggers as $tnum => $trigger) {
// if trigger is lost(broken expression) we skip it
if (empty($trigger['hosts'])) {
unset($triggers[$tnum]);
continue;
}
$triggers_hosts = array_merge($triggers_hosts, $trigger['hosts']);
}
$triggers_hosts = zbx_toHash($triggers_hosts, 'hostid');
$triggers_hostids = array_keys($triggers_hosts);
// }}} GATHER HOSTS FOR SELECTED TRIGGERS
$scripts_by_hosts = CScript::getScriptsByHosts($triggers_hostids);
$table = new CTableInfo();
$table->setHeader(array(is_show_all_nodes() ? S_NODE : null, S_HOST, S_ISSUE, S_LAST_CHANGE, S_AGE, $config['event_ack_enable'] ? S_ACK : NULL, S_ACTIONS));
$thosts_cache = array();
foreach ($triggers as $tnum => $trigger) {
// Check for dependencies
$group = reset($trigger['groups']);
$host = reset($trigger['hosts']);
$trigger['hostid'] = $host['hostid'];
$trigger['host'] = $host['host'];
$host = null;
$menus = '';
$host_nodeid = id2nodeid($trigger['hostid']);
foreach ($scripts_by_hosts[$trigger['hostid']] as $id => $script) {
$script_nodeid = id2nodeid($script['scriptid']);
if (bccomp($host_nodeid, $script_nodeid) == 0) {
$menus .= "[" . zbx_jsvalue($script['name']) . ",\"javascript: openWinCentered('scripts_exec.php?execute=1&hostid=" . $trigger['hostid'] . "&scriptid=" . $script['scriptid'] . "','" . S_TOOLS . "',760,540,'titlebar=no, resizable=yes, scrollbars=yes, dialog=no');\", null,{'outer' : ['pum_o_item'],'inner' : ['pum_i_item']}],";
}
}
if (!empty($scripts_by_hosts)) {
$menus = "['" . S_TOOLS . "',null,null,{'outer' : ['pum_oheader'],'inner' : ['pum_iheader']}]," . $menus;
}
if (isset($thosts_cache[$trigger['hostid']])) {
$hprofile = $thosts_cache[$trigger['hostid']];
} else {
$hprofile = CHost::get(array('hostids' => $trigger['hostid'], 'output' => API_OUTPUT_SHORTEN, 'select_profile' => API_OUTPUT_EXTEND));
$hprofile = reset($hprofile);
$thosts_cache[$hprofile['hostid']] = $hprofile;
}
$menus .= "['" . S_LINKS . "',null,null,{'outer' : ['pum_oheader'],'inner' : ['pum_iheader']}],";
$menus .= "['" . S_LATEST_DATA . "',\"javascript: redirect('latest.php?groupid=" . $group['groupid'] . '&hostid=' . $trigger['hostid'] . "')\", null,{'outer' : ['pum_o_item'],'inner' : ['pum_i_item']}],";
if (!empty($hprofile['profile'])) {
$menus .= "['" . S_PROFILE . "',\"javascript: redirect('hostprofiles.php?hostid=" . $trigger['hostid'] . "&prof_type=0')\", null,{'outer' : ['pum_o_item'],'inner' : ['pum_i_item']}],";
}
if (!empty($hprofile['profile_ext'])) {
$menus .= "['" . S_EXTENDED_PROFILE . "',\"javascript: redirect('hostprofiles.php?hostid=" . $trigger['hostid'] . "&prof_type=1')\", null,{'outer' : ['pum_o_item'],'inner' : ['pum_i_item']}],";
}
$menus = rtrim($menus, ',');
$menus = 'show_popup_menu(event,[' . $menus . '],180);';
$host = new CSpan($trigger['host'], 'link_menu pointer');
$host->setAttribute('onclick', 'javascript: ' . $menus);
//$host = new CSpan($trigger['host'],'link_menu pointer');
//$host->setAttribute('onclick','javascript: '.$menus);
// Maintenance {{{
$trigger_host = $triggers_hosts[$trigger['hostid']];
$text = null;
$style = 'link_menu';
if ($trigger_host['maintenance_status']) {
$style .= ' orange';
$options = array('maintenanceids' => $trigger_host['maintenanceid'], 'output' => API_OUTPUT_EXTEND);
$maintenances = CMaintenance::get($options);
$maintenance = reset($maintenances);
$text = $maintenance['name'];
$text .= ' [' . ($trigger_host['maintenance_type'] ? S_NO_DATA_MAINTENANCE : S_NORMAL_MAINTENANCE) . ']';
}
$host = new CSpan($trigger['host'], $style . ' pointer');
$host->setAttribute('onclick', 'javascript: ' . $menus);
if (!is_null($text)) {
$host->setHint($text, '', '', false);
}
// }}} Maintenance
$event_sql = 'SELECT e.eventid, e.value, e.clock, e.objectid as triggerid, e.acknowledged' . ' FROM events e' . ' WHERE e.object=' . EVENT_OBJECT_TRIGGER . ' AND e.objectid=' . $trigger['triggerid'] . ' AND e.value=' . TRIGGER_VALUE_TRUE . ' ORDER by e.object DESC, e.objectid DESC, e.eventid DESC';
$res_events = DBSelect($event_sql, 1);
while ($row_event = DBfetch($res_events)) {
$ack = NULL;
if ($config['event_ack_enable']) {
if ($row_event['acknowledged'] == 1) {
$ack_info = make_acktab_by_eventid($row_event['eventid']);
$ack_info->setAttribute('style', 'width: auto;');
$ack = new CLink(S_YES, 'acknow.php?eventid=' . $row_event['eventid'] . '&backurl=' . $page['file'], 'off');
$ack->setHint($ack_info, '', '', false);
} else {
$ack = new CLink(S_NO, 'acknow.php?eventid=' . $row_event['eventid'] . '&backurl=' . $page['file'], 'on');
}
}
// $description = expand_trigger_description($row['triggerid']);
$description = expand_trigger_description_by_data(zbx_array_merge($trigger, array('clock' => $row_event['clock'])), ZBX_FLAG_EVENT);
//.........这里部分代码省略.........