Last active
April 2, 2016 13:47
-
-
Save bizmedia/9254770 to your computer and use it in GitHub Desktop.
Подписать всех пользователей 1С-Битрикс на рассылку через Bitrix API
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<? | |
/*** | |
* Подписать всех пользователей 1С-Битрикс на рассылку через Bitrix API | |
* чтобы исключить конкретного пользователя, нужно создать пользовательское поле UF_UNSUBSCRIBED типа CHECKBOX | |
* если в UF_UNSUBSCRIBED стоит галочка т.е. "UF_UNSUBSCRIBED" => true - то эту запись будем игнорировать | |
**/ | |
CModule::IncludeModule('iblock'); | |
CModule::IncludeModule("subscribe"); | |
$cUser = new CUser; | |
$sort_by = "ID"; | |
$sort_ord = "ASC"; | |
$arFilter = array( | |
"ACTIVE" => 'Y', | |
"UF_UNSUBSCRIBED" => false // Если стоит галочка, то это признак того, что пользователь сам отказался от рассылки | |
); | |
$dbUsers = $cUser->GetList($sort_by, $sort_ord, $arFilter); | |
while ($arUser = $dbUsers->Fetch()) | |
{ | |
$USER_ID = $arUser["ID"]; | |
$EMAIL = $arUser["EMAIL"]; | |
$arFilter = array( | |
//"ID" => array(1,2) если нужно указать идентификатор рассылки | |
"ACTIVE" => "Y", | |
"VISIBLE"=>"Y", | |
"LID" => "s1", | |
); | |
$rsRubrics = CRubric::GetList(array(), $arFilter); | |
//$arRubrics = array(1,2,3); //для задачи определённых рубрик, заккоментировать код между звёздочками и зазкомментирвать даную строку | |
/**/ | |
$arRubrics = array(); | |
while($arRubric = $rsRubrics->GetNext()) {$arRubrics[] = $arRubric["ID"];} | |
/**/ | |
$obSubscription = new CSubscription; | |
$rsSubscription = $obSubscription->GetList(array(), array("USER_ID" => $USER_ID)); | |
$arSubscription = $rsSubscription->Fetch(); | |
if(is_array($arSubscription)) | |
{ | |
$rs = $obSubscription->Update( | |
$arSubscription["ID"], | |
array( | |
"FORMAT" => "html", | |
"RUB_ID" => $arRubrics, | |
), | |
false | |
); | |
echo 'подписка пользователю ID='.$USER_ID.' успешно обновлена<br>'; | |
} | |
else | |
{ | |
$rs = $obSubscription->Add(array( | |
"USER_ID" => $USER_ID, | |
"ACTIVE" => "Y", | |
"EMAIL" => $EMAIL, | |
"FORMAT" => "html", | |
"CONFIRMED" => "Y", | |
"SEND_CONFIRM" => "N", | |
"RUB_ID" => $arRubrics, | |
), "s1"); | |
echo 'подписка пользователю ID='.$USER_ID.' успешно добавлне<br>'; | |
} | |
} | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment