$from_time+$i*($to_time-$from_time)/(900-50) and clock<$from_time+($i+1)*($to_time-$from_time)/(900-50)"); $count[$i]=DBget_field($result,0,0); if($count[$i]>0) { $min[$i]=DBget_field($result,0,1); $max[$i]=DBget_field($result,0,2); $avg[$i]=DBget_field($result,0,3); $nodata=0; } } for($i=0;$i<=$sizeY;$i+=50) { ImageDashedLine($im,$shiftX,$i+$shiftY,$sizeX+$shiftX,$i+$shiftY,$darkgreen); } for($i=0;$i<=$sizeX;$i+=50) { ImageDashedLine($im,$i+$shiftX,$shiftY,$i+$shiftX,$sizeY+$shiftY,$darkgreen); if($nodata == 0) { ImageString($im, 1,$i+$shiftX-11, $sizeY+$shiftY+5, date($label_format,$from_time+$period*($i/50)) , $red); } } unset($maxY); unset($minY); /* for($i=0;$i<900;$i++) { $nodata=0; if(!isset($maxY) || $max[$i]>$maxY) { $maxY=$max[$i]; } if(!isset($minY) || (($min[$i]<$minY)&&($count[$i]>0)) ) { $minY=$min[$i]; } } */ if($nodata == 0) { if(isset($trendavg)) { $maxY=max($avg); $minY=min($avg); } else { $maxY=max($max); $minY=min($min); } } $maxX=900; $minX=0; # echo "MIN/MAX:",$minX," - ",$maxX," - ",$minY," - ",$maxY,"
"; if(isset($minY)&&($maxY)&&($minX!=$maxX)&&($minY!=$maxY)) { for($i=0;$i<900;$i++) { if($count[$i]>0) { if(!isset($trendavg)) { $x1=$sizeX*($i-$minX)/($maxX-$minX); $y1=$sizeY*($max[$i]-$minY)/($maxY-$minY); $x2=$x1; $y2=0; $y1=$sizeY-$y1; $y2=$sizeY-$y2; ImageLine($im,$x1+$shiftX,$y1+$shiftY,$x2+$shiftX,$y2+$shiftY,$red); } $x1=$sizeX*($i-$minX)/($maxX-$minX); $y1=$sizeY*($avg[$i]-$minY)/($maxY-$minY); $x2=$x1; $y2=0; $y1=$sizeY-$y1; $y2=$sizeY-$y2; ImageLine($im,$x1+$shiftX,$y1+$shiftY,$x2+$shiftX,$y2+$shiftY,$yellow); if(!isset($trendavg)) { $x1=$sizeX*($i-$minX)/($maxX-$minX); $y1=$sizeY*($min[$i]-$minY)/($maxY-$minY); $x2=$x1; $y2=0; $y1=$sizeY-$y1; $y2=$sizeY-$y2; ImageLine($im,$x1+$shiftX,$y1+$shiftY,$x2+$shiftX,$y2+$shiftY,$green); } } # ImageStringUp($im, 1, $x1+10, $sizeY+$shiftY+15, $i , $red); } } else { // ImageLine($im,$shiftX,$shiftY+$sizeY/2,$sizeX+$shiftX,$shiftY+$sizeY/2,$green); } if($nodata == 0) { for($i=0;$i<=$sizeY;$i+=50) { ImageString($im, 1, $sizeX+5+$shiftX, $sizeY-$i-4+$shiftY, $i*($maxY-$minY)/$sizeY+$minY , $red); } // date("dS of F Y h:i:s A",DBget_field($result,0,0)); // ImageString($im, 1,10, $sizeY+$shiftY+5, date("dS of F Y h:i:s A",$minX) , $red); // ImageString($im, 1,$sizeX+$shiftX-168,$sizeY+$shiftY+5, date("dS of F Y h:i:s A",$maxX) , $red); } else { ImageString($im, 2,$sizeX/2 -50, $sizeY+$shiftY+3, "NO DATA FOR THIS PERIOD" , $red); } ImageString($im, 1,$shiftX, $sizeY+$shiftY+15, "MIN" , $green); ImageString($im, 1,$shiftX+20, $sizeY+$shiftY+15, "AVG" , $yellow); ImageString($im, 1,$shiftX+40, $sizeY+$shiftY+15, "MAX" , $red); ImageStringUp($im,0,2*$shiftX+$sizeX+40,$sizeY+2*$shiftY, "http://zabbix.sourceforge.net", $gray); ImagePng($im); ImageDestroy($im); ?>