From 905c85813a24f02050421df8a7b1bf7ffbf4d987 Mon Sep 17 00:00:00 2001
From: Jacek Kowalski <Jacek@jacekk.info>
Date: Sat, 01 Nov 2014 23:52:41 +0000
Subject: [PATCH] [core] Zablokowanie przetwarzania XML External Entities
---
modules/30_pogoda/handler.php | 31 ++++++++++++++++++-------------
1 files changed, 18 insertions(+), 13 deletions(-)
diff --git a/modules/30_pogoda/handler.php b/modules/30_pogoda/handler.php
index f095039..5a11706 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,8 +139,10 @@
$arg = trim($msg->args);
}
+ $out = new BotMsg();
+
if(empty($arg)) {
- if(isset($this->session->miasto)) {
+ if(isset($msg->session->miasto)) {
return new BotMsg('Aktualnie ustawione miejsce to: '.htmlspecialchars($this->session->miasto).', '.htmlspecialchars($this->session->countryName));
}
@@ -158,7 +163,7 @@
}
else
{
- $out = new BotMsg();
+
}
$api = new api_geonames();
--
Gitblit v1.9.1