function get_screen_plaintext($itemid, $elements, $style = 0) { if ($itemid == 0) { $table = new CTableInfo(S_ITEM_DOES_NOT_EXIST); $table->setHeader(array(S_TIMESTAMP, S_ITEM)); return $table; } $item = get_item_by_itemid($itemid); switch ($item['value_type']) { case ITEM_VALUE_TYPE_TEXT: case ITEM_VALUE_TYPE_LOG: $order_field = 'id'; break; case ITEM_VALUE_TYPE_FLOAT: case ITEM_VALUE_TYPE_UINT64: default: $order_field = 'clock'; } $host = get_host_by_itemid($itemid); $table = new CTableInfo(); $table->setHeader(array(S_TIMESTAMP, $host['host'] . ': ' . item_description($item))); $options = array('history' => $item['value_type'], 'itemids' => $itemid, 'output' => API_OUTPUT_EXTEND, 'sortorder' => ZBX_SORT_DOWN, 'sortfield' => $order_field, 'limit' => $elements); $hData = CHistory::get($options); foreach ($hData as $hnum => $data) { switch ($item['value_type']) { case ITEM_VALUE_TYPE_TEXT: /* do not use break */ /* do not use break */ case ITEM_VALUE_TYPE_STR: if ($style) { $value = new CJSscript($data['value']); } else { $value = $data['value']; } break; case ITEM_VALUE_TYPE_LOG: if ($style) { $value = new CJSscript($data['value']); } else { $value = $data['value']; } break; default: $value = $data['value']; break; } if ($item['valuemapid'] > 0) { $value = replace_value_by_map($value, $item['valuemapid']); } $table->addRow(array(zbx_date2str(S_SCREENS_PLAIN_TEXT_DATE_FORMAT, $data['clock']), new CCol($value, 'pre'))); } return $table; }
} } $table->addRow($crow); // Plain Text if (!isset($_REQUEST['plaintext'])) { continue; } $ptData['body'][] = zbx_date2str(S_HISTORY_LOG_ITEM_PLAINTEXT, $data['clock']); $ptData['body'][] = "\t" . $data['clock'] . "\t" . htmlspecialchars($data['value']) . "\n"; } } else { // NUMERIC, FLOAT $table = new CTableInfo(); $table->setHeader(array(S_TIMESTAMP, S_VALUE)); $options['sortfield'] = 'clock'; $hData = CHistory::get($options); foreach ($hData as $hnum => $data) { $item = $items[$data['itemid']]; $host = reset($item['hosts']); if (!isset($data['value'])) { $data['value'] = ''; } if ($item['valuemapid'] > 0) { $value = replace_value_by_map($data['value'], $item['valuemapid']); $value_mapped = true; } else { $value = $data['value']; $value_mapped = false; } if ($item['value_type'] == ITEM_VALUE_TYPE_FLOAT && !$value_mapped) { sscanf($data['value'], '%f', $value);