Your IP : 18.191.144.73


Current Path : /home/bitrix/ext_www/crm.klimatlend.ua/bitrix/modules/crm/lib/entity/
Upload File :
Current File : /home/bitrix/ext_www/crm.klimatlend.ua/bitrix/modules/crm/lib/entity/addressvalidator.php

<?php
namespace Bitrix\Crm\Entity;

class AddressValidator extends FieldValidator
{
	protected $fieldsMap = null;

	public function __construct($entityTypeID, $entityID, array $entityFields, array $fieldsMap = null)
	{
		parent::__construct($entityTypeID, $entityID, $entityFields);
		$this->fieldsMap = is_array($fieldsMap) ? $fieldsMap : array();
	}

	protected function getFieldValue($key)
	{
		$fieldName = isset($this->fieldsMap[$key]) ? $this->fieldsMap[$key] : $key;
		return isset($this->entityFields[$fieldName]) ? $this->entityFields[$fieldName] : '';
	}

	public function isNeedToCheck()
	{
		return $this->entityID <= 0
			|| array_key_exists('ADDRESS', $this->entityFields)
			|| array_key_exists('ADDRESS_2', $this->entityFields)
			|| array_key_exists('ADDRESS_CITY', $this->entityFields)
			|| array_key_exists('ADDRESS_REGION', $this->entityFields)
			|| array_key_exists('ADDRESS_PROVINCE', $this->entityFields)
			|| array_key_exists('ADDRESS_POSTAL_CODE', $this->entityFields);
	}

	public function checkPresence(array $params = null)
	{
		if(!$this->isNeedToCheck())
		{
			return true;
		}

		return $this->getFieldValue('ADDRESS') !== ''
			|| $this->getFieldValue('ADDRESS_2') !== ''
			|| $this->getFieldValue('ADDRESS_CITY') !== ''
			|| $this->getFieldValue('ADDRESS_REGION') !== ''
			|| $this->getFieldValue('ADDRESS_PROVINCE') !== ''
			|| $this->getFieldValue('ADDRESS_POSTAL_CODE') !== '';
	}
}