From 9f47c0fd4f94f45ce02c8c67ae59f5fc74f8ad9e Mon Sep 17 00:00:00 2001 From: Jacek Kowalski <Jacek@jacekk.info> Date: Sat, 13 Feb 2016 01:05:20 +0000 Subject: [PATCH] [mod_pogoda] Poprawka błędnego wyświetlania danych w komendzie miasto --- modules/30_pogoda/handler.php | 40 ++++++++++++++++++++++------------------ 1 files changed, 22 insertions(+), 18 deletions(-) diff --git a/modules/30_pogoda/handler.php b/modules/30_pogoda/handler.php index 40a1691..175c7ed 100644 --- a/modules/30_pogoda/handler.php +++ b/modules/30_pogoda/handler.php @@ -7,7 +7,7 @@ $arg = trim($msg->args); $out = new BotMsg(); - + $loc = FALSE; if(empty($arg)) { $msg->session->setClass('pogoda'); @@ -37,22 +37,13 @@ catch(Exception $e) { } + $forced = FALSE; if(empty($arg)) { $arg = 'Warszawa'; $forced = TRUE; } $out->a('<p>Nie ustawiono miasta (pomoc - wpisz: help miasto) - '.(!$forced ? 'na podstawie danych z katalogu publicznego ' : '').'wybieram miasto '.$arg.'</p>'."\n\n"); - - $loc = new api_geonames(); - $loc = $loc->search($arg); - - if($loc === FALSE) { - return new BotMsg('Nie udało się pobrać danych o podanym miejscu - spróbuj ponownie za około 10 minut.'); - } - elseif($loc === NULL) { - return new BotMsg('Dla podanego miejsca nie udało się uzyskać współrzędnych geograficznych - spróbuj wpisać inną nazwę.'); - } } else { @@ -63,6 +54,18 @@ 'lat' => $msg->session->geo['lat'], 'lng' => $msg->session->geo['lon'] ); + } + } + + if($loc === FALSE) { + $loc = new api_geonames(); + $loc = $loc->search($arg); + + if($loc === FALSE) { + return new BotMsg('Nie udało się pobrać danych o podanym miejscu - spróbuj ponownie za około 10 minut.'); + } + elseif($loc === NULL) { + return new BotMsg('Dla podanego miejsca nie udało się uzyskać współrzędnych geograficznych - spróbuj wpisać inną nazwę.'); } } @@ -77,10 +80,10 @@ $weather = $api->getCurrentWeather(); $out->a('<p><b>Teraz</b><br />'."\n" - . '<img src="./data/pogoda/'.$icon.'.png" />'."\n" + . '<img src="./data/pogoda/'.$icon.'.png" /><br />'."\n" . api_yrno_parse::$symbols[$icon].'<br />'."\n" . 'Temp.: '.htmlspecialchars($weather['temp']).'°C<br />'."\n" - . 'Wiatr: '.htmlspecialchars($weather['wind_speed']).' km/h, '.api_yrno_parse::wind($weather['wind_direction']).'<br />'."\n" + . 'Wiatr: '.htmlspecialchars($weather['wind_speed']).' km/h, '.api_yrno_parse::wind($weather['wind_dir']).'<br />'."\n" . 'Ciśnienie: '.htmlspecialchars($weather['pressure']).' hPa</p>'."\n\n"); $when = time(); @@ -136,9 +139,11 @@ $arg = trim($msg->args); } + $out = new BotMsg(); + if(empty($arg)) { - if(isset($this->session->miasto)) { - return new BotMsg('Aktualnie ustawione miejsce to: '.htmlspecialchars($this->session->miasto).', '.htmlspecialchars($this->session->countryName)); + if(isset($msg->session->miasto)) { + return new BotMsg('Aktualnie ustawione miejsce to: '.htmlspecialchars($msg->session->miasto).', '.htmlspecialchars($msg->session->kraj)); } try { @@ -158,7 +163,7 @@ } else { - $out = new BotMsg(); + } $api = new api_geonames(); @@ -176,9 +181,8 @@ $msg->session->cc = $dane['countryCode']; $msg->session->geo = array('lat' => $dane['lat'], 'lon' => $dane['lng']); - $out->a('<p>Ustawiono miejsce: '.htmlspecialchars($this->session->miasto).', '.htmlspecialchars($this->session->countryName).'</p>'); + $out->a('<p>Ustawiono miejsce: '.htmlspecialchars($msg->session->miasto).', '.htmlspecialchars($msg->session->kraj).'</p>'); return $out; } } -?> \ No newline at end of file -- Gitblit v1.9.1