• Модуль: location
  • Путь к файлу: ~/bitrix/modules/location/lib/source/osm/converters/baseconverter.php
  • Класс: BitrixLocationSourceOsmConvertersBaseConverter
  • Вызов: BaseConverter::isDetailsValid
private function isDetailsValid(): bool
{
	if (!isset($this->details['osm_type']))
	{
		return false;
	}

	if (!isset($this->details['osm_id']))
	{
		return false;
	}

	if (!isset($this->details['address']) || !is_array($this->details['address']))
	{
		return false;
	}

	/**
	 * Remove non-address items
	 */
	$this->addressComponents = array_filter(
		$this->details['address'],
		static function (array $addressComponent)
		{
			if (!isset($addressComponent['isaddress']))
			{
				return false;
			}

			return (bool)$addressComponent['isaddress'];
		}
	);

	if (empty($this->details['address']))
	{
		return false;
	}

	if (!isset($this->details['country_code']))
	{
		return false;
	}

	if (!$this->getCountry())
	{
		return false;
	}

	if (!$this->getCoordinates())
	{
		return false;
	}

	return true;
}