From 5154585bb29a8664bd0c87d293c15a239eef0fe2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Gaillard?= Date: Mon, 11 Feb 2013 15:54:53 +0100 Subject: [PATCH] [-] BO: Fix #PSCFV-7462 bad sql request for ordering by price in adminproducts --- classes/controller/AdminController.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/classes/controller/AdminController.php b/classes/controller/AdminController.php index 39696bb80..e2bfbd17a 100644 --- a/classes/controller/AdminController.php +++ b/classes/controller/AdminController.php @@ -2028,6 +2028,9 @@ class AdminControllerCore extends Controller || !Validate::isUnsignedId($id_lang)) throw new PrestaShopException('get list params is not valid'); + if (isset($this->fields_list[$order_by]) && isset($this->fields_list[$order_by]['filter_key'])) + $order_by = $this->fields_list[$order_by]['filter_key']; + /* Determine offset from current page */ if ((isset($_POST['submitFilter'.$this->table]) || isset($_POST['submitFilter'.$this->table.'_x']) || @@ -2097,9 +2100,9 @@ class AdminControllerCore extends Controller $having_clause .= $this->_having.' '; } - if (strpos($order_by, '.') > 0) + if (preg_match('/[.!]/', $order_by)) { - $order_by = explode('.', $order_by); + $order_by = preg_split('/[.!]/', $order_by); $order_by = pSQL($order_by[0]).'.`'.pSQL($order_by[1]).'`'; }