diff --git a/classes/Country.php b/classes/Country.php index 993a70953..7d9b43a86 100644 --- a/classes/Country.php +++ b/classes/Country.php @@ -121,19 +121,22 @@ class CountryCore extends ObjectModel public static function getCountries($id_lang, $active = false, $contain_states = false, $list_states = true) { $countries = array(); - foreach (Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('SELECT cl.*,c.*, cl.`name` country, z.`name` zone - FROM `'._DB_PREFIX_.'country` c '.Shop::addSqlAssociation('country', 'c').' - LEFT JOIN `'._DB_PREFIX_.'country_lang` cl ON (c.`id_country` = cl.`id_country` AND cl.`id_lang` = '.(int)$id_lang.') - LEFT JOIN `'._DB_PREFIX_.'zone` z ON (z.`id_zone` = c.`id_zone`) - WHERE 1'.($active ? ' AND c.active = 1' : '').($contain_states ? ' AND c.`contains_states` = '.(int)$contain_states : '').' - ORDER BY cl.name ASC') as $country) - $countries[$country['id_country']] = $country; + $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS(' + SELECT cl.*,c.*, cl.`name` country, z.`name` zone + FROM `'._DB_PREFIX_.'country` c '.Shop::addSqlAssociation('country', 'c').' + LEFT JOIN `'._DB_PREFIX_.'country_lang` cl ON (c.`id_country` = cl.`id_country` AND cl.`id_lang` = '.(int)$id_lang.') + LEFT JOIN `'._DB_PREFIX_.'zone` z ON (z.`id_zone` = c.`id_zone`) + WHERE 1'.($active ? ' AND c.active = 1' : '').($contain_states ? ' AND c.`contains_states` = '.(int)$contain_states : '').' + ORDER BY cl.name ASC'); + foreach ($result as $row) + $countries[$row['id_country']] = $row; if ($list_states) - foreach (Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('SELECT * FROM `'._DB_PREFIX_.'state` ORDER BY `name` ASC') as $state) - if (isset($countries[$state['id_country']])) /* Does not keep the state if its country has been disabled and not selected */ - if ($state['active'] == 1) - $countries[$state['id_country']]['states'][] = $state; + { + $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('SELECT * FROM `'._DB_PREFIX_.'state` ORDER BY `name` ASC'); + foreach ($result as $row) + if (isset($countries[$row['id_country']]) && $row['active'] == 1) /* Does not keep the state if its country has been disabled and not selected */ + $countries[$row['id_country']]['states'][] = $row; return $countries; }