<?php
$image = "http://xxxx.dyndns.org:8080/cgi-bin/viewer/video.jpg";
$font = "tahomabd.ttf";
$clientrawfile = "currdat.lst";
$cstring = "nordicweather.net";
/*
if(!isset($PHP_SELF)) {$PHP_SELF = $_SERVER['PHP_SELF']; }
$t = pathinfo($PHP_SELF);
$Program = $t['basename'];
$ourHost = str_replace('', '', $_SERVER[HTTP_HOST]);
$mc = parse_url($_SERVER['HTTP_REFERER']);
$masterHost = $mc['host'];
if ($ourHost <> $masterHost) { exit;}
*/
date_default_timezone_set("Europe/Helsinki");
$clientraw = get_raw($clientrawfile);

$temp = preg_replace('|<[^>]+>|is','',$clientraw[29]); // clean out any HTML markup;
preg_match('/"(.*)"/', $temp, $t);
$temp = $t[1];

$wind = preg_replace('|<[^>]+>|is','',$clientraw[47]); // clean out any HTML markup;
preg_match('/"(.*)"/', $wind, $w);
$wspd = $w[1];

$dir = preg_replace('|<[^>]+>|is','',$clientraw[55]); // clean out any HTML markup;
preg_match('/"(.*)"/', $dir, $d);
$dir = $d[1];

$rain = preg_replace('|<[^>]+>|is','',$clientraw[104]); // clean out any HTML markup;
preg_match('/"(.*)"/', $rain, $r);
$rain = sprintf("%01.1f",$r[1]);

$astring= $dir . " " . $wspd . " m/s, ".$temp."°C, ". $rain." mm";
$bstring = date('d.m.Y H:i:s T');


$ext = substr($image, -3);

if (strtolower($ext) == "gif") {
    if (!$im2 = imagecreatefromgif($image)) {
        echo "Error opening $image!"; exit;
    }
} else if(strtolower($ext) == "jpg") {
    if (!$im2 = imagecreatefromjpeg($image)) {
        echo "Error opening $image!"; exit;
    }
} else if(strtolower($ext) == "png") {
    if (!$im2 = imagecreatefrompng($image)) {
        echo "Error opening $image!"; exit;
    }
} else {
    die;
}

$grey = imagecolorallocate ($im2, 166, 166, 166);
$black = imagecolorallocate ($im2, 0,0,0);

$str = $cstring.' - '.$bstring.' - '.$astring;
$transparent = imagecolorallocatealpha($im2, 0,0,0, 50);

imagefilledrectangle($im2, 0, 575, 800, 600, $transparent);
imagettftext($im2, 11, 0, 5, 593, $grey, $font, $str);

header("Content-Type: image/jpeg");
imagejpeg($im2);
imagedestroy($im2);

function get_raw( $rawfile ) {
$rawdata = implode('', file($rawfile));
$rawdata = explode("\r",$rawdata);
return $rawdata;
}

function ktsToMph ($kts, $prec) {
          $prec = (integer)$prec;
          $inch = (float)$kts * 0.514444444;
          return round($inch, 1);
}

function windDir ($winddir)
// Given the wind direction, return the text label
// for that value.  16 point compass
{
  if (!isset($winddir)) {
    return "---";
  }
$windlabel = array ("N","NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S",
   "SSW","SW", "WSW", "W", "WNN", "NW", "NNW");
$dir = $windlabel[ (int) ($winddir / 22.5) ];
return "$dir";
}
exit;

?> 
