• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/rest/externalchannelconnector.php
  • Класс: Bitrix\Crm\Rest\CCrmExternalChannelConnector
  • Вызов: CCrmExternalChannelConnector::checkFields
public function checkFields(&$fields, &$errors)
{
	if(!CCrmExternalChannelType::isDefined(CCrmExternalChannelType::resolveID($fields['TYPE_ID'])))
	{
		$errors[] = "Argument TYPE_ID out of range";
	}
	else
	{
		if(!is_set($fields, 'ORIGINATOR_ID') || $fields['ORIGINATOR_ID'] =='')
		{
			$errors[] = "Argument ORIGINATOR_ID is not defined";
		}
		else
		{
			if(preg_match("/[^A-Za-z0-9_]/",  $fields['ORIGINATOR_ID']))
			{
				$errors[] = "ORIGINATOR_ID can contain only Latin letter, digits, and the underscore symbol.";
			}
			else
			{
				$r = $this->getList(array('filter'=>array('ORIGINATOR_ID'=>$fields['ORIGINATOR_ID'], 'TYPE_ID'=>$fields['TYPE_ID']<>'' ? $fields['TYPE_ID']:CCrmExternalChannelType::OneCName)));

				if($connector = $r->fetch())
				{
					$errors[] = "Type id {$connector['TYPE_ID']}, ORIGINATOR_ID {$connector['ORIGINATOR_ID']} already in use ";
				}
			}
		}
	}

	if(is_set($fields['NAME']) && mb_strlen($fields['NAME']) > 32)
	{
		$errors[] = "The length of NAME should not exceed 32 characters.";
	}
	if(is_set($fields['ORIGINATOR_ID']) && mb_strlen($fields['ORIGINATOR_ID']) > 32)
	{
		$errors[] = "The length of ORIGINATOR_ID should not exceed 32 characters.";
	}
	if(is_set($fields['EXTERNAL_SERVER_HOST']) && mb_strlen($fields['EXTERNAL_SERVER_HOST']) > 128)
	{
		$errors[] = "The length of EXTERNAL_SERVER_HOST should not exceed 128 characters.";
	}
}