- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/sitebutton/channel/channelwebform.php
- Класс: Bitrix\Crm\SiteButton\Channel\ChannelWebForm
- Вызов: ChannelWebForm::getList
static function getList()
{
if (!self::canUse())
{
return array();
}
$providerFields = EntityFieldProvider::getFields();
$enumList = array();
$enumListDb = FormTable::getDefaultTypeList(array(
'select' => array('ID', 'NAME'),
'filter' => array(
'=ACTIVE' => 'Y',
'=IS_CALLBACK_FORM' => 'N'
),
));
while($enumItem = $enumListDb->fetch())
{
$enumItem['FORM_FIELDS'] = array();
$fieldDataDb = FieldTable::getList(array(
'select' => array('CODE', 'CAPTION'),
'filter' => array(
'=FORM_ID' => $enumItem['ID'],
),
));
while ($fieldData = $fieldDataDb->fetch())
{
if (!$fieldData['CAPTION'])
{
foreach($providerFields as $field)
{
if($field['name'] == $fieldData['CODE'])
{
$fieldData['CAPTION'] = $field['caption'];
break;
}
}
}
if ($fieldData['CAPTION'])
{
$enumItem['FORM_FIELDS'][] = $fieldData;
}
}
$enumList[] = $enumItem;
}
return $enumList;
}