Integration::unsubscribeOnLeadAdsEvents

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. Integration
  4. unsubscribeOnLeadAdsEvents
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/webform/options/integration.php
  • Класс: Bitrix\Crm\WebForm\Options\Integration
  • Вызов: Integration::unsubscribeOnLeadAdsEvents
private function unsubscribeOnLeadAdsEvents(string $type, string $accountId, string $formId): Result
{
	$unsubscribeResult = new Result();

	if (!$service = $this->getService())
	{
		$unsubscribeResult->addError(
			new Error(Loc::getMessage('CRM_WEBFORM_OPTIONS_LINK_MODULE_SEO_NOT_INSTALLED'))
		);

		return $unsubscribeResult;
	}

	$form = $service->getForm($type);
	$form->setAccountId($accountId);

	switch ($form::TYPE_CODE)
	{
		case Service::TYPE_VKONTAKTE:
			$links = AdsFormLinkTable::query()
				->where("ADS_TYPE",$form::TYPE_CODE)
				->where("ADS_ACCOUNT_ID",$form->getAccountId())
				->exec();
			$unlinkResult = $links->getSelectedRowsCount() > 1 || $form->unlink($formId);
			break;
		case Service::TYPE_FACEBOOK:
		default:
			$unlinkResult = $form->unlink($formId);
			break;

	}

	if (!$unlinkResult)
	{
		$unsubscribeResult->addError(
			new Error(Loc::getMessage('CRM_WEBFORM_OPTIONS_LINK_UNREGISTER_FAILED'))
		);
	}

	return $unsubscribeResult;
}

Добавить комментарий