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"; } } }
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.