Example #1
0
 $labels = array();
 $sql = 'SELECT selementid, label ' . ' FROM sysmaps_elements ' . ' WHERE ' . DBcondition('selementid', $selementids);
 $result = DBselect($sql);
 while ($row = DBfetch($result)) {
     $labels[$row['selementid']] = $row['label'];
 }
 foreach ($links as $linkid => $row) {
     $links[$linkid]['label1'] = $labels[$row['selementid1']];
     $links[$linkid]['label2'] = $labels[$row['selementid2']];
 }
 order_result($links, 'label1');
 foreach ($links as $linkid => $row) {
     $label1 = $row['label1'];
     $label2 = $row['label2'];
     /* prepare description */
     $triggers = get_link_triggers($row['linkid']);
     $description = array();
     foreach ($triggers as $id => $trigger) {
         if (isset($trigger['triggerid'])) {
             if (!empty($description)) {
                 $description[] = BR();
             }
             $triggers[$id]['description'] = expand_trigger_description($trigger['triggerid']);
         }
         $description[] = $triggers[$id]['description'];
     }
     if (empty($description)) {
         $description = '-';
     }
     /* draw row */
     $table->addRow(array(new CLink('link ' . $i++, 'sysmap.php?sysmapid=' . $_REQUEST['sysmapid'] . '&form=update&linkid=' . $row['linkid'], 'action'), $label1, $label2, $description));
Example #2
0
        imagestring($im, 2, $x + 2, 2, $x, $black);
    }
    for ($y = $grid; $y < $height; $y += $grid) {
        MyDrawLine($im, 0, $y, $width, $y, $black, MAP_LINK_DRAWTYPE_DASHED_LINE);
        imagestring($im, 2, 2, $y + 2, $y, $black);
    }
    imagestring($im, 2, 1, 1, "Y X:", $black);
}
// Draw connectors
$links = DBselect('select * from sysmaps_links where sysmapid=' . $_REQUEST['sysmapid']);
while ($link = DBfetch($links)) {
    list($x1, $y1) = get_icon_center_by_selementid($link["selementid1"]);
    list($x2, $y2) = get_icon_center_by_selementid($link["selementid2"]);
    $drawtype = $link["drawtype"];
    $color = convertColor($im, $link["color"]);
    $triggers = get_link_triggers($link['linkid']);
    if (!empty($triggers)) {
        $max_severity = 0;
        foreach ($triggers as $id => $link_trigger) {
            $triggers[$id] = array_merge($link_trigger, get_trigger_by_triggerid($link_trigger["triggerid"]));
            if ($triggers[$id]["status"] == TRIGGER_STATUS_ENABLED && $triggers[$id]["value"] == TRIGGER_VALUE_TRUE) {
                if ($triggers[$id]['severity'] >= $max_severity) {
                    $drawtype = $triggers[$id]['drawtype'];
                    $color = convertColor($im, $triggers[$id]['color']);
                    $max_severity = $triggers[$id]['severity'];
                }
            }
        }
    }
    MyDrawLine($im, $x1, $y1, $x2, $y2, $color, $drawtype);
}