From 3ae193df7bf2dbf61f0460dd63f64735343ec3cb Mon Sep 17 00:00:00 2001 From: David Kobia Date: Fri, 15 Oct 2010 12:27:47 -0400 Subject: [PATCH] * Added more safety checks to reports and json controllers --- application/controllers/json.php | 12 ++---------- application/controllers/reports.php | 17 +++++++++-------- 2 files changed, 11 insertions(+), 18 deletions(-) diff --git a/application/controllers/json.php b/application/controllers/json.php index 874962ec15..dead47c2d2 100644 --- a/application/controllers/json.php +++ b/application/controllers/json.php @@ -53,16 +53,8 @@ function index() $neighboring = ""; $media_type = ""; - if (isset($_GET['c']) && !empty($_GET['c'])) - { - $category_id = $_GET['c']; - if (!is_numeric($category_id)) { - $category_id = $markers = ORM::factory('category') - ->select('id') - ->where('category_title = "'. $category_id . '"') - ->find()->id; - } - } + $category_id = ( isset($_GET['c']) AND ! empty($_GET['c']) ) ? + (int) $_GET['c'] : 0; if (isset($_GET['i']) && !empty($_GET['i'])) { diff --git a/application/controllers/reports.php b/application/controllers/reports.php index a3430fba43..3bb8772f86 100644 --- a/application/controllers/reports.php +++ b/application/controllers/reports.php @@ -56,10 +56,11 @@ public function index($cluster_id = 0) unset($_GET['c']); } - $filter = ( isset($_GET['c']) && !empty($_GET['c']) && $_GET['c']!=0 ) - ? " AND ( c.id='".$_GET['c']."' OR - c.parent_id='".$_GET['c']."' ) " - : " AND 1 = 1"; + $category_id = ( isset($_GET['c']) AND ! empty($_GET['c']) ) ? + (int) $_GET['c'] : 0; + + $filter = ( $category_id ) ? " AND ( c.id=".$category_id." OR + c.parent_id=".$category_id." ) " : " AND 1 = 1"; if ( isset($_GET['sw']) && !empty($_GET['sw']) && count($southwest = explode(",",$_GET['sw'])) > 1 && @@ -70,10 +71,10 @@ public function index($cluster_id = 0) list($longitude_min, $latitude_min) = $southwest; list($longitude_max, $latitude_max) = $northeast; - $filter .= " AND l.latitude >=".$latitude_min. - " AND l.latitude <=".$latitude_max; - $filter .= " AND l.longitude >=".$longitude_min. - " AND l.longitude <=".$longitude_max; + $filter .= " AND l.latitude >=".(float) $latitude_min. + " AND l.latitude <=".(float) $latitude_max; + $filter .= " AND l.longitude >=".(float) $longitude_min. + " AND l.longitude <=".(float) $longitude_max; } // Pagination