VCardImport::tryMapTelAttribute

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. VCardImport
  4. tryMapTelAttribute
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/import/vcardimport.php
  • Класс: Bitrix\Crm\Import\VCardImport
  • Вызов: VCardImport::tryMapTelAttribute
protected function tryMapTelAttribute(VCard\VCardElement $element, array &$fields)
{
	$attrs = $element->getAttributesByName('TEL');
	$mappedMultiFields = array();
	$qty = 0;
	foreach($attrs as $attr)
	{
		$phone = VCard\VCardPhone::createFromAttribute($attr);
		if($phone === null)
		{
			continue;
		}

		$value = $phone->getMultiFieldValue();
		if($value === '')
		{
			continue;
		}

		$valueType = $phone->getMultiFieldValueType();

		if(!isset($fields['FM']))
		{
			$fields['FM'] = array();
		}

		if(!isset($fields['FM']['PHONE']))
		{
			$fields['FM']['PHONE'] = array();
		}

		$qty++;
		$fields['FM']['PHONE']["n{$qty}"] = array('VALUE' => $value, 'VALUE_TYPE' => $valueType);

		if(!isset($mappedMultiFields[$valueType]))
		{
			$mappedMultiFields[$valueType] = true;
		}
	}

	if(!empty($mappedMultiFields))
	{
		$this->mappedMultiFields['PHONE'] = array_keys($mappedMultiFields);
	}
	return $qty > 0;
}

Добавить комментарий