array(T_ZBX_INT, O_MAND,P_SYS, DB_ID, NULL), "noedit"=> array(T_ZBX_INT, O_OPT, NULL, IN('0,1'), NULL), "border"=> array(T_ZBX_INT, O_OPT, NULL, IN("0,1"), NULL) ); check_fields($fields); ?> $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); } # Draw elements $icons=array(); $db_elements = DBselect("select * from sysmaps_elements where sysmapid=".$_REQUEST["sysmapid"]); while($db_element = DBfetch($db_elements)) { if( ($img = get_png_by_selementid($db_element["selementid"])) ) { ImageCopy($im,$img,$db_element["x"],$db_element["y"],0,0,ImageSX($img),ImageSY($img)); } if($label_type==MAP_LABEL_TYPE_NOTHING) continue; $color = $darkgreen; $label_color = $black; $info_line = ""; $label_location = $db_element["label_location"]; if(is_null($label_location)) $map["label_location"]; $label_line = $db_element["label"]; $el_info = get_info_by_selementid($db_element["selementid"]); $info_line = $el_info['info']; $color = $el_info['color']; if($label_type==MAP_LABEL_TYPE_STATUS) { $label_line = ""; } else if($label_type==MAP_LABEL_TYPE_NAME) { $label_line = $el_info['name']; } if (isset($el_info['disabled']) && $el_info['disabled'] == 1) { $info_line = S_DISABLED_BIG; $label_color = $gray; } unset($el_info); if($db_element["elementtype"] == SYSMAP_ELEMENT_TYPE_HOST) { $host = get_host_by_hostid($db_element["elementid"]); if( $label_type==MAP_LABEL_TYPE_IP ) $label_line=$host["ip"]; } if($label_line=="" && $info_line=="") continue; $x_label = $db_element["x"]; $y_label = $db_element["y"]; $x_info = $db_element["x"]; $y_info = $db_element["y"]; if($label_location == MAP_LABEL_LOC_TOP) { $x_label += ImageSX($img)/2-ImageFontWidth(2)*strlen($label_line)/2; $y_label -= ImageFontHeight(2)*($info_line == "" ? 1 : 2); $x_info += ImageSX($img)/2-ImageFontWidth(2)*strlen($info_line)/2; $y_info = $y_label+ImageFontHeight(2); } else if($label_location == MAP_LABEL_LOC_LEFT) { $x_label -= ImageFontWidth(2)*strlen($label_line); $y_label += ImageSY($img)/2-ImageFontHeight(2)/2 - ($info_line == "" ? 0 : ImageFontHeight(2)/2); $x_info -= ImageFontWidth(2)*strlen($info_line); $y_info = $y_label+ImageFontHeight(2) - ($label_line == "" ? ImageFontHeight(2)/2 : 0); } else if($label_location == MAP_LABEL_LOC_RIGHT) { $x_label += ImageSX($img); $y_label += ImageSY($img)/2-ImageFontHeight(2)/2 - ($info_line == "" ? 0 : ImageFontHeight(2)/2); $x_info += ImageSX($img); $y_info = $y_label+ImageFontHeight(2) - ($label_line == "" ? ImageFontHeight(2)/2 : 0); } else { $x_label += ImageSX($img)/2-ImageFontWidth(2)*strlen($label_line)/2; $y_label += ImageSY($img); $x_info += ImageSX($img)/2-ImageFontWidth(2)*strlen($info_line)/2; $y_info = $y_label+ ($label_line == "" ? 0 : ImageFontHeight(2)); } if($label_line!="") { ImageFilledRectangle($im, $x_label-2, $y_label, $x_label+ImageFontWidth(2)*strlen($label_line), $y_label+ImageFontHeight(2), $white); ImageString($im, 2, $x_label, $y_label, $label_line,$label_color); } if($info_line!="") { ImageFilledRectangle($im, $x_info-2, $y_info, $x_info+ImageFontWidth(2)*strlen($info_line), $y_info+ImageFontHeight(2), $white); ImageString($im, 2, $x_info, $y_info, $info_line,$color); } } ImageStringUp($im,0,imagesx($im)-10,imagesy($im)-50, S_ZABBIX_URL, $gray); if(!isset($_REQUEST["border"])) { ImageRectangle($im,0,0,$width-1,$height-1,$colors["Black"]); } ImageOut($im); ImageDestroy($im); ?>