Beispiel #1
0
 $arResult['LIST'] = \Bitrix\Main\Mail\Tracking::getSubscriptionList($arTag);
 if ($_SERVER['REQUEST_METHOD'] == 'POST' && array_key_exists('MAIN_MAIL_UNSUB_BUTTON', $_POST) && check_bitrix_sessid()) {
     $unsubscribeListFromForm = is_array($_POST['MAIN_MAIL_UNSUB']) ? $_POST['MAIN_MAIL_UNSUB'] : array();
     $arUnsubscribeList = array();
     foreach ($arResult['LIST'] as $key => $unsubItem) {
         if (in_array($unsubItem['ID'], $unsubscribeListFromForm)) {
             $arUnsubscribeList[] = $unsubItem['ID'];
             $arSubList[$key]['SELECTED'] = true;
         } else {
             $arResult['LIST'][$key]['SELECTED'] = false;
         }
     }
     $messageResult = null;
     if (!empty($arUnsubscribeList)) {
         $arTag['FIELDS']['UNSUBSCRIBE_LIST'] = $arUnsubscribeList;
         $result = \Bitrix\Main\Mail\Tracking::unsubscribe($arTag);
         if ($result) {
             $messageResult = '0';
         } else {
             $messageResult = '1000';
         }
     } else {
         $messageResult = '1001';
     }
     if ($messageResult !== null) {
         LocalRedirect($APPLICATION->GetCurPageParam("unsubscribe_result=" . $messageResult, array("unsubscribe_result")));
     }
 } else {
     if (isset($_REQUEST['unsubscribe_result']) && is_numeric($_REQUEST['unsubscribe_result'])) {
         if ($_REQUEST['unsubscribe_result'] == '0') {
             $arResult['DATA_SAVED'] = 'Y';