template for the widget should an error occur

This commit is contained in:
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);
@ -126,10 +129,13 @@ function curweather_network_mod_init(&$fk_app,&$b) {
); );
} 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;
} }
if ($ok) {
$t = get_markup_template("widget.tpl", "addon/curweather/" ); $t = get_markup_template("widget.tpl", "addon/curweather/" );
$curweather = replace_macros ($t, array( $curweather = replace_macros ($t, array(
'$title' => t("Current Weather"), '$title' => t("Current Weather"),
@ -142,6 +148,14 @@ function curweather_network_mod_init(&$fk_app,&$b) {
'$databy' => t('Data by'), '$databy' => t('Data by'),
'$showonmap' => t('Show on map') '$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>