function newsletters_user_register(&$pObject) { if (!empty($_REQUEST['newsletter_optin'])) { // hidden flag to indicate at least one newsletter was displayed require_once NEWSLETTERS_PKG_PATH . 'BitNewsletter.php'; require_once NEWSLETTERS_PKG_PATH . 'BitNewsletterMailer.php'; if (!empty($_REQUEST['unsub_all'])) { $subHash['unsubscribe_all'] = 'y'; } else { $newsletter = new BitNewsletter(); $pParamHash = array(); $newsletters = $newsletter->getList($pParamHash); foreach (array_keys($newsletters) as $nlContentId) { if (empty($_REQUEST['nl_content_id']) || !in_array($nlContentId, $_REQUEST['nl_content_id'])) { $subHash['unsub_content'][] = $nlContentId; $subHash['unsubscribe_all'] = NULL; } } } if (!empty($subHash)) { $subHash['sub_lookup'] = array('user_id' => $pObject->mUserId); BitNewsletterMailer::storeSubscriptions($subHash); } } }
// Update subscriptions if (isset($_REQUEST["update"])) { $subHash['response_content_id'] = $_REQUEST['response_content_id']; $subHash['sub_lookup'] = !empty($subInfo['user_id']) ? array('user_id' => $subInfo['user_id']) : array('email' => $subInfo['email']); if (!empty($_REQUEST['unsubscribe_all'])) { $subHash['unsubscribe_all'] = 'y'; $subHash['unsub_content'] = array_keys($newsletters); } else { $subHash['unsubscribe_all'] = NULL; foreach (array_keys($newsletters) as $nlContentId) { if (empty($_REQUEST['nl_content_id']) || !in_array($nlContentId, $_REQUEST['nl_content_id'])) { $subHash['unsub_content'][] = $nlContentId; } } } if (BitNewsletterMailer::storeSubscriptions($subHash)) { $feedback['success'] = tra("Your subscriptions were updated."); } else { $feedback['error'] = tra("Subscriptions were not updated."); } $unsubs = BitNewsletterMailer::getUnsubscriptions($lookup); } if (isset($_REQUEST["subscribe"]) && !empty($_REQUEST["email"])) { $gBitSystem->verifyPermission('p_newsletters_subscribe'); $feedback['success'] = tra("Thanks for your subscription. You will receive an email soon to confirm your subscription. No newsletters will be sent to you until the subscription is confirmed."); if (!$gBitUser->hasPermission('p_subscribe_email')) { $_REQUEST["email"] = $gBitUser->mInfo['email']; } // Now subscribe the email address to the newsletter $gContent->subscribe($_REQUEST["email"], TRUE, TRUE); }