Документация для разработчиков
Темная тема

Update

Описание и параметры

mixed
CSubscription::Update(
	int ID,
	array arFields,
	string SITE_ID = SITE_ID
);

Метод изменяет данные подписки. Если изменяется адрес подписки, то метод снимает подтверждение с подписки и генерирует событие для отправки письма с кодом подтверждения подписки (если это явно не запрещено). Если подписка не подтверждена, а массив полей включает в себя правильный CONFIRM_CODE, то подписка подтверждается. Метод нестатический.

Параметры

ПараметрОписаниеC версии
ID Идентификатор подписки.
arFields Массив со значениями полей объекта "Подписка". Дополнительно могут быть указаны поля:
   RUB_ID - массив идентификаторов рассылок, на которые подписывается адрес;
   SEND_CONFIRM - отправлять ли письмо с кодом подтверждения подписчику при изменениии адреса (Y/N).
SITE_ID Идентификатор сайта, по которому определяется шаблон письма о подтверждении подписки. По умолчанию параметр принимает значение текущего сайта. Обязателен при использовании RUB_ID. Если ALL_SITES указан в массиве $arFields, то SITE_ID можно не указывать 4.0.0

Возвращаемые значения

В случае успешного изменения возвращается true. В противном случает возвращается false, и переменная класса LAST_ERROR содержит сообщение об ошибке (так же возбуждается исключение CMain::ThrowException).

При успешном результате переменная класса LAST_MESSAGE содержит строку-код информационного сообщения. Возможные значения:
   "CONF" - подписка подтверждена;
   "SENT" - сгенерировано событие для отправки письма с кодом подтверждения.

Примеры использования

$subscr = new CSubscription;
//confirmation code from letter or confirmation form
if($CONFIRM_CODE <> "" && $ID > 0 && empty($action))
{
	if($str_CONFIRMED <> "Y")
	{
		//subscribtion confirmation
		if($subscr->Update($ID, array("CONFIRM_CODE"=>$CONFIRM_CODE)))
			$str_CONFIRMED = "Y";
		$strWarning .= $subscr->LAST_ERROR;
		$iMsg = $subscr->LAST_MESSAGE;
	}
}

//*************************
//form actions processing
//*************************
if($ID > 0)
{
	if($action == "unsubscribe" && CSubscription::IsAuthorized($ID))
	{
		//unsubscription
		if($subscr->Update($ID, array("ACTIVE"=>"N")))
		{
			$str_ACTIVE = "N";
			$iMsg = "UNSUBSCR";
		}
	}
	if($action == "activate" && CSubscription::IsAuthorized($ID))
	{
		//activation
		if($subscr->Update($ID, array("ACTIVE"=>"Y")))
		{
			$str_ACTIVE = "Y";
			$iMsg = "ACTIVE";
		}
	}
}


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх