• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/saleszone.php
  • Класс: BitrixSaleSalesZone
  • Вызов: SalesZone::getCities
static function getCities($countriesIds = array(), $regionsIds = array(), $lang )
{
	$cities = array();
	$citiesList = static::getAllCities($lang);
	$getRegionNull = in_array("NULL", $regionsIds);
	$getRegionAll = in_array("", $regionsIds);
	$getCountryNull = in_array("NULL", $countriesIds);
	$getCountryAll = in_array("", $countriesIds);

	$filter = in_array("", $regionsIds) ? array() : array(($getRegionNull ? "+" : "")."REGION_ID" => $regionsIds);

	foreach($countriesIds as $countryId)
	{
		if(($getRegionNull || $getRegionAll) && !$getCountryAll)
			$filter[($getCountryNull ? "+" : "")."COUNTRY_ID"] = $countryId;

		$dbLocationsList = CSaleLocation::GetList(
			array(),
			$filter,
			array("CITY_ID")
		);

		while($arCity = $dbLocationsList->GetNext())
			if($arCity["CITY_ID"] <> '')
				$cities[$arCity["CITY_ID"]] =  $citiesList[$arCity["CITY_ID"]];
	}

	return  $cities;
}