- Модуль: 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.";
}
}