- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/webform/embed/config.php
- Класс: Bitrix\Crm\WebForm\Embed\Config
- Вызов: Config::getAgreements
public function getAgreements()
{
$result = [];
if (!$this->editMode && $this->isDisabled())
{
return $result;
}
$data = $this->form->get();
if (!$this->editMode && $data['USE_LICENCE'] !== 'Y')
{
return $result;
}
$agreements = [];
if ($data['AGREEMENT_ID'])
{
$agreements[$data['AGREEMENT_ID']] = [
'ID' => $data['AGREEMENT_ID'],
'CHECKED' => $data['LICENCE_BUTTON_IS_CHECKED'] === 'Y',
'REQUIRED' => true,
];
}
foreach ($data['AGREEMENTS'] as $agreementRow)
{
$agreements[$agreementRow['AGREEMENT_ID']] = [
'ID' => $agreementRow['AGREEMENT_ID'],
'CHECKED' => $agreementRow['CHECKED'] === 'Y',
'REQUIRED' => $agreementRow['REQUIRED'] === 'Y',
];
}
$agreements = array_values($agreements);
if (empty($agreements))
{
return $result;
}
$replace = array(
'button_caption' => $data['BUTTON_CAPTION'],
'fields' => array_column($this->getFields(), 'label')
);
foreach ($agreements as $agreementData)
{
$agreement = new Main\UserConsent\Agreement($agreementData['ID'], $replace);
if (!$agreement->isActive() || !$agreement->isExist())
{
continue;
}
$content = [
'title' => $agreement->getTitle(),
'url' => $agreement->getUrl(),
];
if ($agreement->isAgreementTextHtml())
{
$content['html'] = $agreement->getHtml();
}
else
{
$content['text'] = $agreement->getText(true);
}
$name = 'AGREEMENT_' . $agreementData['ID'];
$result[] = [
'id' => $this->editMode ? $agreementData['ID'] : $name,
'name' => $name,
'label' => $agreement->getLabel(),
'value' => 'Y',
'required' => $agreementData['REQUIRED'],
'checked' => $agreementData['CHECKED'],
'content' => $content,
];
}
return $result;
}