3namespace Bitrix\Sender\Consent;
5use Bitrix\Main\Web\Json;
6use Bitrix\Sender\ContactTable;
7use Bitrix\Sender\Transport;
8use Bitrix\Main\ArgumentNullException;
9use Bitrix\Main\Security\Sign\TimeSigner;
17 private const SALT =
"SENDER_CONSENT_SALT";
27 static $transports = [];
28 if(!isset($transports[
$code]))
30 $transports[
$code] = Transport\Adapter::create(
$code);
32 return $transports[
$code];
50 return Consent::getTransport(
$code)->isConsentAvailable() &&
70 return $requests > Consent::getTransport(
$code)->getConsentMaxRequests();
86 $tagString = Json::encode(
$fields);
87 return $signer->sign($tagString,
"+ 4 weeks", Consent::SALT);
103 $tag = $signer->unsign($tag,static::SALT);
104 return Json::decode($tag);
static checkIfConsentRequestLimitExceeded(int $requests, string $code)
static encodeTag(array $fields)
static isUnsub(string $status, ?int $requests, ?string $code)
static decodeTag(string $tag)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
if(!is_null($config))($config as $configItem)(! $configItem->isVisible()) $code