• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/userconsent/agreement.php
  • Класс: BitrixMainUserConsentAgreement
  • Вызов: Agreement::save
public function save()
{
	$this->errors->clear();
	$data = $this->data;

	$fields = $data['FIELDS'];
	unset($data['FIELDS']);

	if(!$this->check())
	{
		return;
	}

	if ($this->isAgreementTextHtml)
	{
		(new CBXSanitizer)->sanitizeHtml($data['AGREEMENT_TEXT']);
	}

	if($this->id)
	{
		$result = InternalsAgreementTable::update($this->id, $data);
	}
	else
	{
		$data['DATE_INSERT'] = new DateTime();
		$result = InternalsAgreementTable::add($data);
		$this->id = $result->getId();
	}

	if(!$result->isSuccess())
	{
		return;
	}

	InternalsFieldTable::setConsentFields($this->id, $fields);
}