Ejemplo n.º 1
0
 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);
         }
     }
 }
Ejemplo n.º 2
0
// 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);
}