From dd5dbdd6e7555166adf0bee73d35091cfd6f5535 Mon Sep 17 00:00:00 2001 From: rMalie Date: Tue, 24 Apr 2012 09:01:40 +0000 Subject: [PATCH] // Fix list of suppliers for multishop #PSTEST-1194 --- classes/Supplier.php | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/classes/Supplier.php b/classes/Supplier.php index 4870dab44..e3e2ff573 100644 --- a/classes/Supplier.php +++ b/classes/Supplier.php @@ -108,12 +108,18 @@ class SupplierCore extends ObjectModel { if (!$id_lang) $id_lang = Configuration::get('PS_LANG_DEFAULT'); - $query = 'SELECT s.*, sl.`description`'; - $query .= ' FROM `'._DB_PREFIX_.'supplier` as s - LEFT JOIN `'._DB_PREFIX_.'supplier_lang` sl ON (s.`id_supplier` = sl.`id_supplier` AND sl.`id_lang` = '.(int)$id_lang.') - '.Shop::addSqlAssociation('supplier', 's').' - '.($active ? ' WHERE s.`active` = 1 ' : ''); - $query .= ' ORDER BY s.`name` ASC'.($p ? ' LIMIT '.(((int)$p - 1) * (int)$n).','.(int)$n : ''); + + $query = new DbQuery(); + $query->select('s.*, sl.`description`'); + $query->from('supplier', 's'); + $query->leftJoin('supplier_lang', 'sl', 's.`id_supplier` = sl.`id_supplier` AND sl.`id_lang` = '.(int)$id_lang); + $query->join(Shop::addSqlAssociation('supplier', 's')); + if ($active) + $query->where('s.`active` = 1'); + $query->orderBy(' s.`name` ASC'); + $query->limit($n, ($p - 1) * $n); + $query->groupBy('s.id_supplier'); + $suppliers = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($query); if ($suppliers === false) return false;