* SPDX-License-Identifier: AGPL-3.0-only ************************************/ /* crmv@55961 crmv@161554 */ require_once('../../config.inc.php'); chdir($root_directory); require_once('include/utils/utils.php'); global $adb, $default_language, $default_charset, $HELPDESK_SUPPORT_EMAIL_ID; $current_language = $default_language; header('Content-Type: text/html; charset='. $default_charset); $smarty = new VteSmarty(); $smarty->assign('PATH','../../'); $smarty->assign('CURRENT_LANGUAGE',$current_language); $id = vtlib_purify($_REQUEST['id']); $unsub = vtlib_purify($_REQUEST['unsub']); $track = base64_decode($id); @list($msgtype,$linkid,$newsletterid,$crmid) = explode('|',$track); // sanitization $msgtype = substr($msgtype, 0, 1); $linkid = intval($linkid); $newsletterid = intval($newsletterid); $crmid = intval($crmid); if (!empty($unsub) && in_array($unsub,array('all','campaign'))) { $result = $adb->pquery('select * from tbl_s_newsletter_links where linkid = ? and newsletterid = ?',array($linkid,$newsletterid)); $linkdata = $adb->FetchByAssoc($result, -1, false); $linkurlid = $linkdata['linkid']; $focus = CRMEntity::getInstance('Newsletter'); $focus->id = $newsletterid; $focus->retrieve_entity_info($newsletterid,'Newsletter'); $focus->trackLink($linkid,$newsletterid,$crmid,$linkurlid,$msgtype); $result = $focus->unsubscribe($crmid,$unsub); if ($unsub == 'campaign') { if ($result == 1) { $description = getTranslatedString('LBL_SUCCESS_UNSUBSCRIPTION','Newsletter'); } elseif ($result == 2) { $description = getTranslatedString('LBL_ALREADY_UNSUBSCRIPTION','Newsletter'); } elseif ($result == 3) { $description = sprintf(getTranslatedString('LBL_UNSUCCESS_UNSUBSCRIPTION','Newsletter'),$HELPDESK_SUPPORT_EMAIL_ID); } } elseif ($unsub == 'all') { if ($result == 1) { $description = getTranslatedString('LBL_SUCCESS_GENERAL_UNSUBSCRIPTION','Newsletter'); } elseif ($result == 2) { $description = getTranslatedString('LBL_ALREADY_GENERAL_UNSUBSCRIPTION','Newsletter'); } elseif ($result == 3) { $description = sprintf(getTranslatedString('LBL_UNSUCCESS_UNSUBSCRIPTION','Newsletter'),$HELPDESK_SUPPORT_EMAIL_ID); } } $description = '
'.$description.'
'; } else { $module = getSalesEntityType($crmid); if (empty($module)) exit; $focusNewsletter = CRMEntity::getInstance('Newsletter'); $focusRecord = CRMEntity::getInstance($module); $gdprws = GDPRWS::getInstance(); $to_address = getSingleFieldValue($gdprws->emailFields[$module]['tablename'], $gdprws->emailFields[$module]['columnname'], $focusRecord->tab_name_index[$gdprws->emailFields[$module]['tablename']], $crmid); $cid = urlencode(base64_encode("C|".$to_address."|".$module)); $bid = urlencode(base64_encode($gdprws->getBusinessId($crmid, $module, $to_address))); $gdpr_link = $focusNewsletter->gdpr_link.'?action=verify&cid='.$cid.'&bid='.$bid; $description = '
 
'.getTranslatedString('LBL_NEWSLETTER_UNSUBSCRIPTION','Newsletter').'
 
'.getTranslatedString('LBL_GENERAL_UNSUBSCRIPTION','Newsletter').'
 
 
'; } $smarty->assign('BODY',$description); $smarty->display('NoLoginMsg.tpl'); ?>