Отправка сообщения






Добро пожаловать!

Подписка пользователя на почтовую рассылку

Сегодня на сайтах повсеместно используются различные механизмы подписки пользователей на почтовые рассылки. Рассмотрим пример кода, которым можно воспользоваться, если вы собираетесь делать подписку пользователя на рассылку в битрикс-е. Использование подобного кода удобно в случаях, когда к примеру, вам необходимо организовать подписку пользователей при регистрации на сайте.

<?php

class subscr {
	
	const SUBSC_ID = 1; // id рассылки
	
	// подписка пользователя
	public static function subscribe($userID,$email){

		CModule::IncludeModule("subscribe");
		$subscr = new CSubscription;
		$subscription = CSubscription::GetByEmail($email); // поиск подписчика по mail
		if($arSub = $subscription->Fetch()){
			
		// если майл есть в подписчиках, то активируем подписку
		$res = $subscr->Update(
					$arSub['ID'],
					array(
						"ACTIVE"=>"Y",
						"USER_ID"=>$userID,
						"RUB_ID"=>array(self::SUBSC_ID))
					);
		 
		} else {

			// если нет подписки, то добавляем его
			$arFieldFilter = array(
							"RUB_ID" => array(self::SUBSC_ID),// id подписки
							"USER_ID" => $userID,
							"FORMAT" => "html",
							"EMAIL" => $email,
							"ACTIVE" => "Y",
							"SEND_CONFIRM" => 'N'
						);

			$ID = $subscr->Add($arFieldFilter);

			// поиск подписчика по mail, что бы получить код потверждения
			$subscription = CSubscription::GetByEmail($email);              
			if($arSub = $subscription->Fetch()){
				$arResult['DATA_SUB_USSER'] = $arSub;
			}

			// подтверждаем подписку
			$res = $subscr->Update(
							$ID,
							array(
								"CONFIRMED"=>"Y",
								"CONFIRM_CODE"=>$arResult['DATA_SUB_USSER']["CONFIRM_CODE"])
							);
			unset($arResult);
		}
	}

}
?>

Обращаемся к методу таким образом

subscr::subscribe($userID,$email);

$userID — ID зарегистрированного пользователя;
$email — Почтовый ящик пользователя;

Добавил: htmaker, 25.10.2014 г.
 
плохослабосойдетхорошоотлично (Еще не оценили)
Загрузка...

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Комментарии

  • Загрузка...

Наверх