function _yr_verdata_get_wind in Yr Weatherdata 6
Helper function for creating wind data and image.
2 calls to _yr_verdata_get_wind()
- theme_yr_verdata_location_block in ./
yr_verdata.module - theme_yr_verdata_location_page in ./
yr_verdata.module - Theming of a page with detailed forecast for a location.
File
- ./
yr_verdata.module, line 832 - yr_verdata.module This file provides the yr_verdata forecast module.
Code
function _yr_verdata_get_wind($tab) {
$wind = array();
// Round degrees to nearest 5 and make sure it's a 3-digit number.
$m = $tab->windDirection['deg'] % 5;
$wind['dir']['deg'] = $tab->windDirection['deg'] - $m;
if (drupal_strlen($wind['dir']['deg']) == 2) {
$wind['dir']['deg'] = '0' . $wind['dir']['deg'];
}
elseif (drupal_strlen($wind['dir']['deg']) == 1) {
$wind['dir']['deg'] = '00' . $wind['dir']['deg'];
}
// 360 degrees won't work, so set to 0 in that case.
if ($wind['dir']['deg'] == 360) {
$wind['dir']['deg'] = '000';
}
$wind['dir']['name'] = $tab->windDirection['name'];
$wind['dir']['code'] = $tab->windDirection['code'];
$wind['speed']['name'] = $tab->windSpeed['name'];
// Speed is given in nearest 2.5, but in the url for the image, the number is multiplied by 10.
$wind['speed']['mps'] = $tab->windSpeed['mps'] * 10;
$wind['speed']['mps'] = round($wind['speed']['mps'] / 25) * 25;
// Add leading zeroes if needed.
if ($wind['speed']['mps'] > 99) {
$wind['speed']['mps'] = '0' . $wind['speed']['mps'];
}
elseif ($wind['speed']['mps'] > 9) {
$wind['speed']['mps'] = '00' . $wind['speed']['mps'];
}
else {
$wind['speed']['mps'] = '000' . $wind['speed']['mps'];
}
// And set up the image url.
$windurl = check_url('http://fil.nrk.no/yr/grafikk/vindpiler/32/vindpil.' . $wind['speed']['mps'] . '.' . $wind['dir']['deg'] . '.png');
$wind['img'] = '<img src="' . $windurl . '" alt="' . check_plain($wind['speed']['name']) . ' ' . check_plain($wind['dir']['code']) . '" />';
return $wind;
}