[insert_php]
$map = array();
class Data {
public $den = “N/A”;
public $hodina = “N/A”;
public $vitr = “N/A”;
public $poryv = “N/A”;
public $smer = “N/A”;
public $teplota = “N/A”;
public $srazky = “N/A”;
}
function updateMap($map, $data, $func) {
foreach($data as $val) {
$cas = $val[‘x’]/1000;
if (!array_key_exists($cas, $map)) {
$map[$cas] = new Data;
}
$d = $map[$cas];
$func($d, $val);
}
}
function bg($val) {
return “background-color: $val”;
}
function bgColorFor($val) {
if ($val >= 8) {
return bg(‘red’);
} else if ($val >= 5) {
return bg(‘orange’);
} else if ($val >= 3) {
return bg(‘green’);
} else {
return “”;
}
}
function bgSrazkyColorFor($val) {
if ($val > 0) {
return bg(‘CornflowerBlue’);
} else {
return “”;
}
}
function colorTd($val, $bold = null)
{
$valTag = $val;
if ($bold != null && $bold) {
$valTag = ‘‘.$val.’‘;
}
return ‘
‘.$valTag.’
‘;
}
function colorTdSrazky($val)
{
return ‘
‘.$val.’
‘;
}
function httpPost($url, $data)
{
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($curl);
curl_close($curl);
return $response;
}
function getJsonData($velicina,$url) {
$args = array(
‘tabulka_nebo_graf’ => ‘graf’,
‘lokalita_nazev’ => ‘Příbor’,
‘lokalita_lat’ => 49.6313100,
‘lokalita_long’ => 18.1264261,
‘vybrana_velicina’ => $velicina
);
$resp = httpPost($url, $args);
return json_decode($resp, true);
}
//————————————————
$url = “http://www.lipno-pocasi.cz/web/database/data_grafy_tabulky_predpovedi_cr.php”;
//Vitr, poryvy, smer
$json = getJsonData(“vitr”, $url);
$dataVitr = $json[‘name_predpovedi_a_data’][0][‘data’];
$dataPoryv = $json[‘name_predpovedi_a_data’][1][‘data’];
foreach($dataVitr as $val) {
$cas = $val[‘x’]/1000;
if (!array_key_exists($cas, $map)) {
$map[$cas] = new Data;
}
$d = $map[$cas];
$d->den = date(“D d.m.”, $cas);
$d->hodina = date(“H”, $cas);
$d->vitr = $val[‘y’];
$d->smer = $val[‘z’];
}
updateMap($map, $dataPoryv, function($d,$val) {
$d->poryv = $val[‘y’];
});
//Teplota a srazky
$json = getJsonData(“teplota_srazky”, $url);
$dataTeplota = $json[‘name_predpovedi_a_data’][0][‘data’];
$dataSrazky = $json[‘name_predpovedi_a_data’][1][‘data’];
updateMap($map, $dataTeplota, function($d,$val) {
$d->teplota = $val[‘y’];
});
updateMap($map, $dataSrazky, function($d,$val) {
$d->srazky = $val[‘y’];
});
//print_r($map);
echo ‘
‘;echo ”;echo ”;
echo ”;
echo ”;
echo ”;
echo ”;
echo ”;
echo ”;
echo ”;// style=”width: 37px;”$timestamp = round(microtime(true));foreach($map as $key => $d) {
if ($key < $timestamp) {
continue;
}echo ”;echo ”;
echo ”;
echo colorTd($d->vitr, true);
echo colorTd($d->poryv);
echo ”;
echo colorTdSrazky($d->srazky);
echo ”;
echo ”;
}echo ‘
Den | Hod. | Vítr | Poryv | Tepl. | Srážky | Směr |
---|---|---|---|---|---|---|
‘.$d->den.’ | ‘.$d->hodina.’ | ‘.$d->teplota.’ | ‘.$d->smer.’ |
‘;
[/insert_php]