template for the widget should an error occur

pull/281/head
Tobias Diekershoff 2015-07-13 11:22:51 +02:00
parent c0e27bbe80
commit 317e8724c5
2 changed files with 29 additions and 14 deletions

View File

@ -14,6 +14,8 @@ use Cmfcmf\OpenWeatherMap\Exception as OWMException;
// Must point to composer's autoload file. // Must point to composer's autoload file.
require('vendor/autoload.php'); require('vendor/autoload.php');
//require('addon/curweather/openweathermap-php-api/Cmfcmf/OpenWeatherMap.php');
//require('addon/curweather/vendor/cmfcmf/openweathermap-php-api/Cmfcmf/OpenWeatherMap.php');
function curweather_install() { function curweather_install() {
register_hook('network_mod_init', 'addon/curweather/curweather.php', 'curweather_network_mod_init'); register_hook('network_mod_init', 'addon/curweather/curweather.php', 'curweather_network_mod_init');
@ -106,6 +108,7 @@ function curweather_network_mod_init(&$fk_app,&$b) {
// Example_Cache.php to see how it works). // Example_Cache.php to see how it works).
//$owm = new OpenWeatherMap(); //$owm = new OpenWeatherMap();
$owm = new OpenWeatherMap(null, new CWCache(), $cachetime); $owm = new OpenWeatherMap(null, new CWCache(), $cachetime);
$ok = true;
try { try {
$weather = $owm->getWeather($rpt, $units, $lang, $appid); $weather = $owm->getWeather($rpt, $units, $lang, $appid);
@ -125,23 +128,34 @@ function curweather_network_mod_init(&$fk_app,&$b) {
'lat' =>$weather->city->lat 'lat' =>$weather->city->lat
); );
} catch(OWMException $e) { } catch(OWMException $e) {
info ( 'OpenWeatherMap exception: ' . $e->getMessage() . ' (Code ' . $e->getCode() . ').'); info ( 'OpenWeatherMap exception: ' . $e->getMessage() . ' (Code ' . $e->getCode() . ').');
$ok = false;
} catch(\Exception $e) { } catch(\Exception $e) {
info ('General exception: ' . $e->getMessage() . ' (Code ' . $e->getCode() . ').'); info ('General exception: ' . $e->getMessage() . ' (Code ' . $e->getCode() . ').');
$ok = false;
} }
$t = get_markup_template("widget.tpl", "addon/curweather/" ); if ($ok) {
$curweather = replace_macros ($t, array( $t = get_markup_template("widget.tpl", "addon/curweather/" );
'$title' => t("Current Weather"), $curweather = replace_macros ($t, array(
'$city' => $city, '$title' => t("Current Weather"),
'$description' => $description, '$city' => $city,
'$temp' => $temp, '$description' => $description,
'$relhumidity' => array('caption'=>t('Relative Humidity'), 'val'=>$rhumid), '$temp' => $temp,
'$pressure' => array('caption'=>t('Pressure'), 'val'=>$pressure), '$relhumidity' => array('caption'=>t('Relative Humidity'), 'val'=>$rhumid),
'$wind' => array('caption'=>t('Wind'), 'val'=> $wind), '$pressure' => array('caption'=>t('Pressure'), 'val'=>$pressure),
'$databy' => t('Data by'), '$wind' => array('caption'=>t('Wind'), 'val'=> $wind),
'$showonmap' => t('Show on map') '$databy' => t('Data by'),
)); '$showonmap' => t('Show on map')
));
} else {
$t = get_markup_template('widget-error.tpl', 'addon/curweather/');
$curweather = replace_macros( $t, array(
'$problem' => t('There was a problem accessing the weather data. But have a look'),
'$rpt' => $rpt,
'$atOWM' => t('at OpenWeatherMap')
));
}
$fk_app->page['aside'] = $curweather.$fk_app->page['aside']; $fk_app->page['aside'] = $curweather.$fk_app->page['aside'];

View File

@ -0,0 +1 @@
<div>{{$problem}} <a href="http://openweathermap.org/find?q={{$rpt}}">{{$atOWM}}</a>.</div>