/home/sharedstore/public_html/prestashop.sharedstore.ma/src/Adapter/Country
Edit: /home/sharedstore/public_html/prestashop.sharedstore.ma/src/Adapter/Country/CountryDataProvider.php (4044B)
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*/
namespace PrestaShop\PrestaShop\Adapter\Country;
use Configuration;
use Country;
use Db;
use DbQuery;
/**
* This class will provide data from DB / ORM about Country
*/
class CountryDataProvider
{
/**
* Return available countries.
*
* @param int $id_lang Language ID
* @param bool $active return only active coutries
* @param bool $contain_states return only country with states
* @param bool $list_states Include the states list with the returned list
*
* @return array Countries and corresponding zones
*/
public function getCountries($id_lang, $active = false, $contain_states = false, $list_states = true)
{
return Country::getCountries($id_lang, $active, $contain_states, $list_states);
}
/**
* Returns list of countries IDs which need DNI
*
* @return array
*/
public function getCountriesIdWhichNeedDni()
{
$query = new DbQuery();
$query
->select('c.`id_country`')
->from('country', 'c')
->where('c.`need_identification_number` = 1')
;
$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($query);
return array_map(function ($country) { return $country['id_country']; }, $result);
}
/**
* Returns list of countries IDs which need Postcode
*
* @return array
*
* @throws \PrestaShopDatabaseException
*/
public function getCountriesIdWhichNeedPostcode()
{
$query = new DbQuery();
$query
->select('c.`id_country`')
->from('country', 'c')
->where('c.`need_zip_code` = 1')
;
$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($query);
return array_map(function ($country) { return $country['id_country']; }, $result);
}
/**
* Returns list of countries IDS which need a state
*
* @return array
*
* @throws \PrestaShopDatabaseException
*/
public function getCountriesIdWhichNeedState()
{
$query = new DbQuery();
$query
->select('c.`id_country`')
->from('country', 'c')
->where('c.`contains_states` = 1')
;
$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($query);
return array_map(function ($country) { return $country['id_country']; }, $result);
}
/**
* Get Country IsoCode by Id.
*
* @param int $id Country Id
*
* @return string the related iso code
*/
public function getIsoCodebyId($id = null)
{
$countryId = (null === $id) ? Configuration::get('PS_COUNTRY_DEFAULT') : $id;
return Country::getIsoById($countryId);
}
/**
* Get country Id by ISO code.
*
* @param string $isoCode Country ISO code
*
* @return int
*/
public function getIdByIsoCode($isoCode)
{
return Country::getByIso($isoCode);
}
}