<?php
/*********************
* Steff / 25.05.2015 *
* nur zu Testzwecken *
* Feedback erwünscht *
*********************/

$plz = $_GET["qs"];

if ($plz == "") {
	$plz = 10115;
}

$homepage = file_get_contents('http://www.weather24.com/search/'.$plz.'/');
//Alternative http://www.wetter.com/suche/?q=berlin&o=location
// -->  http://www.wetter.com/wetter_aktuell/wettervorhersage/3_tagesvorhersage/?id=DE0001020

$weatherdirect = '<title>The weather for'; //Stadt wurde direkt gefunden und Ergebnisse werden sofort dargestellt
$weathersearch = '<title>Search weather in Europe and the World</title>'; //Stadt wurde nicht gefunden oder es gibt mehrere Ergebnisse

//Defaults setzen - Webby kommt durcheinander wenn die Felder im XML leer sind?
$country = 'DE';
$city = 'Berlin';
$code = 'DE0001020';


if (strpos($homepage, $weatherdirect)) {	//direkt gefunden
	$weatherbegin  = '| weather forecast '; //Germany
	$citybegin = 'onclick="window.location.href=\'http://www.weather24.com/7days/r/'; //Berlin-DE0001020.html"
	$cityseparator = '-';
	$cityend  = '.htm';
	
	$pos0 = strpos($homepage, $weatherbegin);
	$pos1 = strpos($homepage, $citybegin, $pos0);
	$pos2 = strpos($homepage, $cityseparator, $pos1);
	$pos3 = strpos($homepage, $cityend, $pos2);
	
	if ($pos0 !== false) {
		$city = substr($homepage, $pos1 + strlen($citybegin), $pos2 - ($pos1 + strlen($citybegin))); 
		$code = substr($homepage, $pos2 + strlen($cityseparator), $pos3 - ($pos2 + strlen($cityseparator))); 
		$country = substr($code, 0, 2);
	}
} elseif (strpos($homepage, $weathersearch)) {	//Suchseite oder nichts gefunden --> dann defaults
	$weatherbegin  = 'class="country_header" my_country="'; //DE"
	$citybegin = 'class="search_result" href="http://www.weather24.com/'; //Berlin-DE0001020.html"
	$cityseparator = '-';
	$cityend  = '.htm';
	
	$pos0 = strpos($homepage, $weatherbegin);
	$pos1 = strpos($homepage, $citybegin, $pos0);
	$pos2 = strpos($homepage, $cityseparator, $pos1);
	$pos3 = strpos($homepage, $cityend, $pos2);
	
	if ($pos0 !== false) {
		//$country = substr($homepage, $pos0 + strlen($weatherbegin), 2); 
		$city = substr($homepage, $pos1 + strlen($citybegin), $pos2 - ($pos1 + strlen($citybegin))); 
		$code = substr($homepage, $pos2 + strlen($cityseparator), $pos3 - ($pos2 + strlen($cityseparator))); 
		$country = substr($code, 0, 2);
	}
}

//Generate XML Response
header ("Content-Type:text/xml");  
$doc = new DOMDocument('1.0', 'UTF-8');
$root = $doc->createElement('locationInfo');
$root = $doc->appendChild($root);

$debug = $doc->createElement('debug');
$root->appendChild($debug);

$items = $doc->createElement('items');
$root->appendChild($items);

	$item = $doc->createElement('item');
		$code = $doc->createElement('code',$code);
		$item->appendChild($code);
		$name = $doc->createElement('name',$city);
		$item->appendChild($name);
		$country = $doc->createElement('country',$country);
		$item->appendChild($country);
	$items->appendChild($item);

$num = $doc->createElement('num','1');
$root->appendChild($num);

$logosmall = $doc->createElement('logoURLSmall','http://devices.sf-sfr.fr/webby/widget/meteo/images/meteo_logo_small.png');
$root->appendChild($logosmall);

$logo = $doc->createElement('logoURLLarge','http://devices.sf-sfr.fr/webby/widget/meteo/images/meteo_logo.png');
$root->appendChild($logo);
	
echo $doc->saveXML(); 

?>