2007-01-30 12:47:36 +00:00
< ? php
################# Creates graphics vor pgm3
################
include " ../config.php " ; #make your settings there
include " functions.php " ;
$drawks = $_GET [ 'drawks' ];
$room = $_GET [ 'room' ];
$avgday = $_GET [ 'avgday' ];
$avgmonth = $_GET [ 'avgmonth' ];
2010-03-12 13:02:16 +00:00
if ( $DBUse == " 1 " ) {
$sqlquery = mysql_query ( " select timestamp from history where device=' " . $drawks . " ' order by timestamp desc limit 1 " );
$query = mysql_fetch_object ( $sqlquery );
$date = str_replace ( " " , " _ " , $query -> timestamp );
}
else {
2007-01-30 12:47:36 +00:00
$file = " $logpath / $drawks .log " ;
if ( ! file_exists ( $file )) show_error ( $file , $drawks , $imgmaxxks , $imgmaxyks );
2007-10-23 19:42:09 +00:00
## do we really need a new graphic??
$execorder = $tailpath . ' -1 ' . $file ;
exec ( $execorder , $tail1 );
$parts = explode ( " " , $tail1 [ 0 ]);
2010-03-12 13:02:16 +00:00
$date = $parts [ 0 ];
} #dbuse
2007-10-23 19:42:09 +00:00
2010-03-12 13:02:16 +00:00
#if the expected graphic already exist then do not redraw the picture
$savefile = $AbsolutPath . " /tmp/KS. " . $drawks . " .log. " . $date . " .png " ;
2007-10-23 19:42:09 +00:00
if ( file_exists ( $savefile )) {
$im2 = @ ImageCreateFromPNG ( $savefile );
header ( " Content-type: image/png " );
imagePng ( $im2 );
exit ; # ;-)))
}
else #delete old pngs
{
#echo "not exist: $savefile"; exit;
$delfile = $AbsolutPath . " /tmp/KS. " . $drawks . " .log.*.png " ;
foreach ( glob ( $delfile ) as $filename ) {
unlink ( $filename );
}
}
2007-01-30 12:47:36 +00:00
$arraydata = array ();
$im = ImageCreateTrueColor ( $imgmaxxks , $imgmaxyks );
$black = ImageColorAllocate ( $im , 0 , 0 , 0 );
2010-01-08 18:55:40 +00:00
$bg1p = ImageColorAllocate ( $im , $bg1_R , $bg1_G , $bg1_B );
$bg2p = ImageColorAllocate ( $im , $buttonBg_R , $buttonBg_G , $buttonBg_B );
2007-01-30 12:47:36 +00:00
$bg3p = ImageColorAllocate ( $im , $fontcol_grap_R , $fontcol_grap_G , $fontcol_grap_B );
$white = ImageColorAllocate ( $im , 255 , 255 , 255 );
$gray = ImageColorAllocate ( $im , 133 , 133 , 133 );
$red = ImageColorAllocate ( $im , 255 , 0 , 0 );
$green = ImageColorAllocate ( $im , 0 , 255 , 0 );
$yellow = ImageColorAllocate ( $im , 255 , 255 , 0 );
$orange = ImageColorAllocate ( $im , 255 , 230 , 25 );
#temperature
ImageFill ( $im , 0 , 0 , $bg2p );
ImageRectangle ( $im , 0 , 0 , $imgmaxxks - 1 , $imgmaxyks - 1 , $white );
2010-03-12 13:02:16 +00:00
if ( $DBUse == " 1 " )
{
$array = array ();
$sqlarray = mysql_query ( " select timestamp,event from history where device=' " . $drawks . " ' and reading='data' order by timestamp desc limit " . $logrotateKS300lines . " " ) or die ( mysql_error ());
while ( $row = mysql_fetch_object ( $sqlarray ))
{
$date = str_replace ( " " , " _ " , $row -> timestamp );
array_push ( $array , $date . ' ' . $drawks . ' ' . $row -> event );
}
$array = array_reverse ( $array );
#print_r($array); #debug
#exit;
}
else $array = file ( $file );
2007-01-30 12:47:36 +00:00
$oldmin = 0 ; //only the data from every 10min
$oldhour = 0 ; //only the data from every 10min
$mintemp = 100 ;
$maxtemp =- 100 ;
$counter = count ( $array );
#Logrotate
2010-03-12 13:02:16 +00:00
if ((( $logrotateKS300lines + 200 ) < $counter ) and ( $logrotate == 'yes' ) and ( $DBUse != " 1 " )) LogRotate ( $array , $file , $logrotateKS300lines );
2007-01-30 12:47:36 +00:00
# go
for ( $x = 0 ; $x < $counter ; $x ++ )
{
list ( $date , $ks300 , $t , $temp , $h , $hum , $w , $wind , $r , $rain , $ir , $israin ) = preg_split ( " /[ \ s,]+/ " , $array [ $x ]);
if (
(( $array [ $x ][ 14 ] != $oldmin )
or ( $array [ $x ][ 12 ] != $oldhour )
or ( $x == $counter - 1 ))
2007-03-30 14:55:39 +00:00
and ( $t != " avg_day " )
2008-03-25 12:20:23 +00:00
and ( $date != " NEWLOGS " )
and ( $t == " T: " )
)
2007-01-30 12:47:36 +00:00
{
$oldmin = $array [ $x ][ 14 ];
$oldhour = $array [ $x ][ 12 ];
array_push ( $arraydata , array ( $date , $temp , $hum , $wind , $rain , $israin ));
}
}
2007-03-19 13:26:11 +00:00
#WS300 has Willi instead other things
if ( $r == " Willi: " ) { $willi = 1 ;};
2007-01-30 12:47:36 +00:00
$resultreverse = array_reverse ( $arraydata );
$xold = $imgmaxxks ;
if ( $imgmaxxks > count ( $resultreverse ) )
{ $maxdata = count ( $resultreverse ); }
else
{ $maxdata = $imgmaxxks ; };
###################
### min/max
$mintemp = 100 ;
$maxtemp =- 100 ;
for ( $x = 0 ; $x <= $maxdata ; $x ++ )
{
if ( $resultreverse [ $x ][ 1 ] > $maxtemp ) $maxtemp = $resultreverse [ $x ][ 1 ];
if ( ( $resultreverse [ $x ][ 1 ] < $mintemp ) and ( $resultreverse [ $x ][ 1 ] >- 100 ) ) $mintemp = $resultreverse [ $x ][ 1 ];
}
$tempdiff = $maxtemp - $mintemp ;
if ( $tempdiff == 0 ) $tempdiff = 1 ;
$fac = $imgmaxyks / $tempdiff ;
$yold = round ( $imgmaxyks - (( $resultreverse [ 0 ][ 1 ] - $mintemp ) * $fac ));
###################
2007-03-22 08:47:09 +00:00
if ( $maxcountKS < $maxdata ) { $anzlines = $maxcountKS ;} else { $anzlines = $maxdata ;}
for ( $x = 0 ; $x < $anzlines ; $x ++ )
2007-01-30 12:47:36 +00:00
{
$y = round ( $imgmaxyks - (( $resultreverse [ $x ][ 1 ] - $mintemp ) * $fac ));
ImageLine ( $im , $imgmaxxks - $x , $y , $xold , $yold , $red );
$xold = $imgmaxxks - $x ;
$yold = $y ;
$parts = explode ( " _ " , $resultreverse [ $x ][ 0 ]);
if ( ( $parts [ 0 ] != $olddate ) )
{
$olddate = $parts [ 0 ];
ImageLine ( $im , $imgmaxxks - $x , 0 , $imgmaxxks - $x , $imgmaxyks , $bg1p );
};
};
ImageLine ( $im , $imgmaxxks - $x , 0 , $imgmaxxks - $x , $imgmaxyks , $yellow );
2007-03-22 08:47:09 +00:00
ImageLine ( $im , $imgmaxxks - $maxcountKS , 0 , $imgmaxxks - $maxcountKS , $imgmaxyks , $white );
2007-01-30 12:47:36 +00:00
if ( $mintemp < 0 )
{
$y = round ( $imgmaxyks - (( 0 - $mintemp ) * $fac ));
2010-01-08 18:55:40 +00:00
#ImageLine($im, $imgmaxxks-$maxcountKS, $y,0 , $y, $bg1p);
ImageLine ( $im , $imgmaxxks , $y , $imgmaxxks - $maxcountKS , $y , $bg1p );
2007-01-30 12:47:36 +00:00
}
$text = " Temperature " ;
$fontsize = 7 ;
$txtcolor = $bg3p ;
2007-03-22 08:47:09 +00:00
ImageTTFText ( $im , $fontsize , 0 , 3 , 10 , $txtcolor , $fontttf , $text );
2007-01-30 12:47:36 +00:00
$fontsize = 9 ;
2010-04-22 08:52:21 +00:00
$temp = $resultreverse [ 0 ][ 1 ]; #Martin
2007-01-30 12:47:36 +00:00
$text = $temp . " °C " ;
2007-12-21 12:27:09 +00:00
$tvalue = $temp ;
2007-03-22 08:47:09 +00:00
ImageTTFText ( $im , $fontsize , 0 , 90 - $XcorrectMainTextKS , 37 , $txtcolor , $fontttfb , $text );
2007-01-30 12:47:36 +00:00
$text = $drawks ;
2007-03-22 08:47:09 +00:00
ImageTTFText ( $im , 8 , 0 , 90 - $XcorrectMainTextKS , 22 , $txtcolor , $fontttfb , $text );
2007-01-30 12:47:36 +00:00
$fontsize = 7 ;
$text = " min= $mintemp max= $maxtemp " ;
2007-03-22 08:47:09 +00:00
ImageTTFText ( $im , $fontsize , 0 , 67 - $XcorrectMainTextKS , 49 , $txtcolor , $fontttf , $text );
2007-01-30 12:47:36 +00:00
$imt = $im ;
#humidity
$im = ImageCreateTrueColor ( $imgmaxxks , $imgmaxyks );
ImageFill ( $im , 0 , 0 , $bg2p );
ImageRectangle ( $im , 0 , 0 , $imgmaxxks - 1 , $imgmaxyks - 1 , $white );
$oldmin = 0 ; //only the data from every 10min
$min = 100 ;
$max =- 100 ;
2007-03-22 08:47:09 +00:00
if ( $maxcountKS < $maxdata ) { $anzlines = $maxcountKS ;} else { $anzlines = $maxdata ;}
for ( $x = 0 ; $x < $anzlines ; $x ++ )
2007-01-30 12:47:36 +00:00
{
$temp = $resultreverse [ $x ][ 2 ];
if ( $temp > $max ) $max = $temp ;
if ( ( $temp < $min ) and ( $temp != '' )) $min = $temp ;
}
$temp = $resultreverse [ 0 ][ 2 ];
$tempdiff = $max - $min ;
if ( $tempdiff == 0 ) $tempdiff = 1 ;
$fac = $imgmaxyks / $tempdiff ;
$xold = $imgmaxxks ;
$yold = round ( $imgmaxyks - (( $resultreverse [ 0 ][ 2 ] - $min ) * $fac ));
$olddate = ( $resultreverse [ 0 ][ 0 ][ 9 ]);
2007-03-22 08:47:09 +00:00
$countresultrev = count ( $resultreverse );
if ( $maxcountKS < $countresultrev ) { $anzlines = $maxcountKS ;} else { $anzlines = $countresultrev ;}
for ( $x = 0 ; $x < $anzlines ; $x ++ )
2007-01-30 12:47:36 +00:00
{
$y = round ( $imgmaxyks - (( $resultreverse [ $x ][ 2 ] - $min ) * $fac ));
ImageLine ( $im , $imgmaxxks - $x , $y , $xold , $yold , $red );
$xold = $imgmaxxks - $x ;
$yold = $y ;
$parts = explode ( " _ " , $resultreverse [ $x ][ 0 ]);
if ( ( $parts [ 0 ] != $olddate ) )
{
$olddate = $parts [ 0 ];
ImageLine ( $im , $imgmaxxks - $x , 0 , $imgmaxxks - $x , $imgmaxyks , $bg1p );
};
};
ImageLine ( $im , $imgmaxxks - $x , 0 , $imgmaxxks - $x , $imgmaxyks , $yellow );
2007-03-22 08:47:09 +00:00
ImageLine ( $im , $imgmaxxks - $maxcountKS , 0 , $imgmaxxks - $maxcountKS , $imgmaxyks , $white );
2007-01-30 12:47:36 +00:00
$text = " Humidity " ;
$fontsize = 7 ;
$txtcolor = $bg3p ;
2007-03-22 08:47:09 +00:00
ImageTTFText ( $im , $fontsize , 0 , 3 , 10 , $txtcolor , $fontttf , $text );
2007-01-30 12:47:36 +00:00
$fontsize = 9 ;
$text = $temp . " % " ;
2007-12-21 12:27:09 +00:00
$hvalue = $temp ;
2007-03-22 08:47:09 +00:00
ImageTTFText ( $im , $fontsize , 0 , 90 - $XcorrectMainText , 37 , $txtcolor , $fontttfb , $text );
2007-01-30 12:47:36 +00:00
$fontsize = 7 ;
$text = " min= $min max= $max " ;
2007-03-22 08:47:09 +00:00
ImageTTFText ( $im , $fontsize , 0 , 67 - $XcorrectMainText , 49 , $txtcolor , $fontttf , $text );
2007-01-30 12:47:36 +00:00
$imh = $im ;
2007-12-21 12:27:09 +00:00
# dewpoint
if ( $showdewpointks300 = 'yes' )
{
$dp = sprintf ( " %3.1f " , dewpoint ( $tvalue , $hvalue ));
$fontsize = 9 ;
2007-12-21 16:19:05 +00:00
$text = $dp . " °C " ;
2007-12-21 12:27:09 +00:00
ImageTTFText ( $im , $fontsize , 0 , 350 , 35 , $bg1p , $fontttfb , $text );
$txtcolor = $orange ;
$fontsize = 7 ;
$text = " Dewpoint " ;
ImageTTFText ( $im , $fontsize , 0 , 350 , 47 , $bg1p , $fontttf , $text );
}
2007-03-19 13:26:11 +00:00
#wind/Air Pressure
2007-01-30 12:47:36 +00:00
$im = ImageCreateTrueColor ( $imgmaxxks , $imgmaxyks );
ImageFill ( $im , 0 , 0 , $bg2p );
ImageRectangle ( $im , 0 , 0 , $imgmaxxks - 1 , $imgmaxyks - 1 , $white );
$oldmin = 0 ; //only the data from every 10min
2007-03-19 13:26:11 +00:00
$min = 120000 ;
2007-01-30 12:47:36 +00:00
$max =- 100 ;
2007-03-22 08:47:09 +00:00
if ( $maxcountKS < $maxdata ) { $anzlines = $maxcountKS ;} else { $anzlines = $maxdata ;}
for ( $x = 0 ; $x < $anzlines ; $x ++ )
2007-01-30 12:47:36 +00:00
{
$temp = $resultreverse [ $x ][ 3 ];
if ( $temp > $max ) $max = $temp ;
if ( $temp < $min and ( $temp != '' )) $min = $temp ;
}
$temp = $resultreverse [ 0 ][ 3 ];
$tempdiff = $max - $min ;
if ( $tempdiff == 0 ) $tempdiff = 1 ;
$fac = $imgmaxyks / $tempdiff ;
$xold = $imgmaxxks ;
$yold = round ( $imgmaxyks - (( $resultreverse [ 0 ][ 3 ] - $min ) * $fac ));
2007-03-22 08:47:09 +00:00
$countresultrev = count ( $resultreverse );
if ( $maxcountKS < $countresultrev ) { $anzlines = $maxcountKS ;} else { $anzlines = $countresultrev ;}
for ( $x = 0 ; $x < $anzlines ; $x ++ )
2007-01-30 12:47:36 +00:00
{
$y = round ( $imgmaxyks - (( $resultreverse [ $x ][ 3 ] - $min ) * $fac ));
ImageLine ( $im , $imgmaxxks - $x , $y , $xold , $yold , $red );
$xold = $imgmaxxks - $x ;
$yold = $y ;
$parts = explode ( " _ " , $resultreverse [ $x ][ 0 ]);
if ( ( $parts [ 0 ] != $olddate ) )
{
$olddate = $parts [ 0 ];
ImageLine ( $im , $imgmaxxks - $x , 0 , $imgmaxxks - $x , $imgmaxyks , $bg1p );
};
};
ImageLine ( $im , $imgmaxxks - $x , 0 , $imgmaxxks - $x , $imgmaxyks , $yellow );
2007-03-22 08:47:09 +00:00
ImageLine ( $im , $imgmaxxks - $maxcountKS , 0 , $imgmaxxks - $maxcountKS , $imgmaxyks , $white );
2007-03-19 13:26:11 +00:00
if ( isset ( $willi )) $text = " Air Pressure " ; else $text = " Wind " ;
2007-01-30 12:47:36 +00:00
$fontsize = 7 ;
$txtcolor = $bg3p ;
2007-03-22 08:47:09 +00:00
ImageTTFText ( $im , $fontsize , 0 , 3 , 10 , $txtcolor , $fontttf , $text );
2007-01-30 12:47:36 +00:00
$fontsize = 9 ;
2007-03-19 13:26:11 +00:00
if ( isset ( $willi )) $text = $temp . " hPa " ; else $text = $temp . " km/h " ;
2007-03-22 08:47:09 +00:00
ImageTTFText ( $im , $fontsize , 0 , 80 - $XcorrectMainTextKS , 37 , $txtcolor , $fontttfb , $text );
2007-01-30 12:47:36 +00:00
$fontsize = 7 ;
2007-03-19 13:26:11 +00:00
if (( $showbft == 1 ) and ( ! isset ( $willi )))
2007-01-30 12:47:36 +00:00
{
$text = " ( " . bft ( $temp ) . " Bft) " ;
2007-03-22 08:47:09 +00:00
ImageTTFText ( $im , $fontsize , 0 , 140 - $XcorrectMainTextKS , 37 , $txtcolor , $fontttfb , $text );
2007-01-30 12:47:36 +00:00
$text2 = " min= $min max= $max ( " . bft ( $max ) . " Bft) " ;
}
else
{
$text2 = " min= $min max= $max " ;
}
2007-03-22 08:47:09 +00:00
ImageTTFText ( $im , $fontsize , 0 , 57 - $XcorrectMainTextKS , 49 , $txtcolor , $fontttf , $text2 );
2007-01-30 12:47:36 +00:00
$imw = $im ;
2007-03-19 13:26:11 +00:00
#rain/willi
if ( ! isset ( $willi ))
{
2007-01-30 12:47:36 +00:00
$im = ImageCreateTrueColor ( $imgmaxxks , $imgmaxyks );
ImageFill ( $im , 0 , 0 , $bg2p );
ImageRectangle ( $im , 0 , 0 , $imgmaxxks - 1 , $imgmaxyks - 1 , $white );
$oldmin = 0 ; //only the data from every 10min
$min = 120 ;
$max =- 100 ;
2007-03-22 08:47:09 +00:00
if ( $maxcountKS < $maxdata ) { $anzlines = $maxcountKS ;} else { $anzlines = $maxdata ;}
for ( $x = 0 ; $x < $anzlines ; $x ++ )
2007-01-30 12:47:36 +00:00
{
$temp = $resultreverse [ $x ][ 4 ];
if ( $temp > $max ) $max = $temp ;
if ( $temp < $min and ( $temp != '' )) $min = $temp ;
}
$temp = $resultreverse [ 0 ][ 4 ];
$israin = rtrim ( $resultreverse [ 0 ][ 5 ]);
$tempdiff = $max - $min ;
if ( $temdiff == 0 ) $tempdiff = 1 ;
$fac = $imgmaxyks / $tempdiff ;
$xold = $imgmaxxks ;
$yold = round ( $imgmaxyks - (( $resultreverse [ 0 ][ 4 ] - $min ) * $fac ));
2007-03-22 08:47:09 +00:00
if ( $maxcountKS < $maxdata ) { $anzlines = $maxcountKS ;} else { $anzlines = $maxdata ;}
for ( $x = 0 ; $x < $anzlines ; $x ++ )
2007-01-30 12:47:36 +00:00
{
$parts = explode ( " _ " , $resultreverse [ $x ][ 0 ]);
if ( ( $parts [ 0 ] != $olddate ) )
{
$olddate = $parts [ 0 ];
ImageLine ( $im , $imgmaxxks - $x , 0 , $imgmaxxks - $x , $imgmaxyks , $bg1p );
};
$y = round ( $imgmaxyks - (( $resultreverse [ $x ][ 4 ] - $min ) * $fac ));
ImageLine ( $im , $imgmaxxks - $x , $y , $xold , $yold , $red );
$israin2 = rtrim ( $resultreverse [ $x ][ 5 ]);
if ( $israin2 == " no " )
{ ImageLine ( $im , $imgmaxxks - $x , 18 , $imgmaxxks - $x , 18 , $white );}
else
{ ImageLine ( $im , $imgmaxxks - $x , 17 , $imgmaxxks - $x , 19 , $red );};
$xold = $imgmaxxks - $x ;
$yold = $y ;
};
ImageLine ( $im , $imgmaxxks - $x , 0 , $imgmaxxks - $x , $imgmaxyks , $yellow );
2007-03-22 08:47:09 +00:00
ImageLine ( $im , $imgmaxxks - $maxcountKS , 0 , $imgmaxxks - $maxcountKS , $imgmaxyks , $white );
2007-01-30 12:47:36 +00:00
$fontsize = 7 ;
$text = " Is raining: " ;
ImageTTFText ( $im , $fontsize , 0 , 50 , 14 , $txtcolor , $fontttf , $text );
if ( $israin == " no " )
{ imagestring ( $im , 5 , 110 , 2 , $israin , $white );}
else
{ imagestring ( $im , 5 , 110 , 2 , $israin , $red );};
$text = " Rain " ;
$fontsize = 7 ;
$txtcolor = $bg3p ;
2007-03-22 08:47:09 +00:00
ImageTTFText ( $im , $fontsize , 0 , 3 , 10 , $txtcolor , $fontttf , $text );
2007-01-30 12:47:36 +00:00
$fontsize = 9 ;
$text = $temp . " l/m2 " ;
2007-03-22 08:47:09 +00:00
ImageTTFText ( $im , $fontsize , 0 , 90 - $XcorrectMainTextKS , 37 , $txtcolor , $fontttfb , $text );
2007-01-30 12:47:36 +00:00
$fontsize = 7 ;
$text = " min= $min max= $max " ;
ImageTTFText ( $im , $fontsize , 0 , $imgmaxxks - 130 , 30 , $txtcolor , $fontttf , $text );
$text = $resultreverse [ 0 ][ 0 ];
ImageTTFText ( $im , $fontsize , 0 , $imgmaxxks - 130 , 15 , $txtcolor , $fontttf , $text );
$text = " avg_day: " . $avgday ;
2007-03-22 08:47:09 +00:00
ImageTTFText ( $im , $fontsize , 0 , 70 , 49 , $txtcolor , $fontttf , $text );
2007-01-30 12:47:36 +00:00
$text = " avg_mon: " . $avgmonth ;
2007-03-22 08:47:09 +00:00
ImageTTFText ( $im , $fontsize , 0 , 320 , 49 , $txtcolor , $fontttf , $text );
2007-01-30 12:47:36 +00:00
$text = $room ;
2007-03-22 08:47:09 +00:00
ImageTTFText ( $im , $fontsize , 0 , 3 , 49 , $txtcolor , $fontttf , $text );
2007-01-30 12:47:36 +00:00
$imr = $im ;
2007-03-19 13:26:11 +00:00
}
else # Willi:
{
$im = ImageCreateTrueColor ( $imgmaxxks , $imgmaxyks );
ImageFill ( $im , 0 , 0 , $bg2p );
ImageRectangle ( $im , 0 , 0 , $imgmaxxks - 1 , $imgmaxyks - 1 , $white );
$oldmin = 0 ; //only the data from every 10min
$min = 120000 ;
$max =- 100 ;
2007-03-22 08:47:09 +00:00
if ( $maxcountKS < $maxdata ) { $anzlines = $maxcountKS ;} else { $anzlines = $maxdata ;}
for ( $x = 0 ; $x < $anzlines ; $x ++ )
2007-03-19 13:26:11 +00:00
{
$temp = $resultreverse [ $x ][ 4 ];
if ( $temp > $max ) $max = $temp ;
if ( $temp < $min and ( $temp != '' )) $min = $temp ;
}
$temp = $resultreverse [ 0 ][ 4 ];
$tempdiff = $max - $min ;
if ( $tempdiff == 0 ) $tempdiff = 1 ;
$fac = $imgmaxyks / $tempdiff ;
$xold = $imgmaxxks ;
$yold = round ( $imgmaxyks - (( $resultreverse [ 0 ][ 4 ] - $min ) * $fac ));
for ( $x = 0 ; $x < count ( $resultreverse ); $x ++ )
{
$y = round ( $imgmaxyks - (( $resultreverse [ $x ][ 4 ] - $min ) * $fac ));
ImageLine ( $im , $imgmaxxks - $x , $y , $xold , $yold , $red );
$xold = $imgmaxxks - $x ;
$yold = $y ;
$parts = explode ( " _ " , $resultreverse [ $x ][ 0 ]);
if ( ( $parts [ 0 ] != $olddate ) )
{
$olddate = $parts [ 0 ];
ImageLine ( $im , $imgmaxxks - $x , 0 , $imgmaxxks - $x , $imgmaxyks , $bg1p );
};
};
ImageLine ( $im , $imgmaxxks - $x , 0 , $imgmaxxks - $x , $imgmaxyks , $yellow );
2007-03-22 08:47:09 +00:00
ImageLine ( $im , $imgmaxxks - $maxcountKS , 0 , $imgmaxxks - $maxcountKS , $imgmaxyks , $white );
2007-03-19 13:26:11 +00:00
$text = " Willi " ;
$fontsize = 7 ;
$txtcolor = $bg3p ;
ImageTTFText ( $im , $fontsize , 0 , 5 , 12 , $txtcolor , $fontttf , $text );
$fontsize = 9 ;
$text = $temp ;
ImageTTFText ( $im , $fontsize , 0 , 80 , 35 , $txtcolor , $fontttfb , $text );
$fontsize = 7 ;
$text2 = " min= $min max= $max " ;
ImageTTFText ( $im , $fontsize , 0 , 60 , 47 , $txtcolor , $fontttf , $text2 );
$text = $resultreverse [ 0 ][ 0 ];
ImageTTFText ( $im , $fontsize , 0 , $imgmaxxks - 130 , 15 , $txtcolor , $fontttf , $text );
2007-03-22 08:47:09 +00:00
$text = $room ;
ImageTTFText ( $im , $fontsize , 0 , 7 , 47 , $txtcolor , $fontttf , $text );
2007-03-19 13:26:11 +00:00
$imr = $im ;
}
2007-01-30 12:47:36 +00:00
# big picture
$imall = ImageCreateTrueColor ( $imgmaxxks , $imgmaxyks * 4 );
ImageFill ( $imall , 0 , 0 , $bg2p );
ImageCopy ( $imall , $imt , 0 , 0 , 0 , 0 , $imgmaxxks , $imgmaxyks );
ImageCopy ( $imall , $imh , 0 , $imgmaxyks , 0 , 0 , $imgmaxxks , $imgmaxyks );
ImageCopy ( $imall , $imw , 0 , $imgmaxyks * 2 , 0 , 0 , $imgmaxxks , $imgmaxyks );
ImageCopy ( $imall , $imr , 0 , $imgmaxyks * 3 , 0 , 0 , $imgmaxxks , $imgmaxyks );
2007-10-23 19:42:09 +00:00
imagePng ( $imall , $savefile );
2007-01-30 12:47:36 +00:00
header ( " Content-type: image/png " );
imagePng ( $imall );
function show_error ( $file , $draw , $imgmaxx , $imgmaxy )
{
$im = ImageCreateTrueColor ( $imgmaxx , $imgmaxy * 4 );
$black = ImageColorAllocate ( $im , 0 , 0 , 0 );
$bg2p = ImageColorAllocate ( $im , 175 , 198 , 219 );
$white = ImageColorAllocate ( $im , 255 , 255 , 255 );
$red = ImageColorAllocate ( $im , 255 , 0 , 0 );
ImageFill ( $im , 0 , 0 , $bg2p );
ImageRectangle ( $im , 0 , 0 , $imgmaxx - 1 , $imgmaxy - 1 , $white );
imagestring ( $im , 3 , 5 , 5 , " Error, there is no $file " , $black );
2009-11-16 11:49:16 +00:00
imagestring ( $im , 1 , 3 , 25 , " Please add the following to your fhem.cfg " , $black );
2007-01-30 12:47:36 +00:00
$logname = $draw . " log " ;
2010-04-22 08:52:21 +00:00
imagestring ( $im , 1 , 3 , 35 , " define $logname FileLog $file $draw :* " , $black );
2007-01-30 12:47:36 +00:00
header ( " Content-type: image/png " );
imagePng ( $im );
exit ;
}
?>