Example #1
0
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;
}
Example #2
0
             }
         }
         $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);