From 3c97a446c7c170625e51b02058d2d560b227c4d0 Mon Sep 17 00:00:00 2001 From: Jacek Kowalski <Jacek@jacekk.info> Date: Mon, 17 Sep 2012 09:50:13 +0000 Subject: [PATCH] Poprawa błędu w klasie BotSession powodującego wielokrotne tworzenie wpisów w bazie danych sesyjnych (class=NULL, name=user_struct). --- modules/30_pogoda/handler.php | 25 ++++++++++++++----------- 1 files changed, 14 insertions(+), 11 deletions(-) diff --git a/modules/30_pogoda/handler.php b/modules/30_pogoda/handler.php index f095039..ac77828 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 { @@ -66,6 +57,18 @@ } } + 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ę.'); + } + } + $api = yrno_weather($loc['lat'], $loc['lng']); if($api == FALSE) { return new BotMsg('Nie udało się pobrać danych o pogodzie - spróbuj ponownie za około 10 minut.'); -- Gitblit v1.9.1