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 |   36 ++++++++++++++++++++----------------
 1 files changed, 20 insertions(+), 16 deletions(-)

diff --git a/modules/30_pogoda/handler.php b/modules/30_pogoda/handler.php
index f095039..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ę.');
 			}
 		}
 		
@@ -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