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);
         }
     }
 }
Beispiel #2
0
        $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);
}
foreach ($unsubs as $sub) {
    if (!empty($sub['unsubscribe_all'])) {
        $subInfo['unsubscribe_all'] = TRUE;
        break;
    }
Beispiel #3
0
    $_REQUEST['edit'] = $gContent->mInfo['data'];
    //	$_REQUEST["preview"] = 1;
}
$gBitSmarty->assign('preview', 'n');
$gBitSmarty->assign('presend', 'n');
$gBitSmarty->assign('emited', 'n');
$validated = !empty($_REQUEST["validated"]) ? TRUE : FALSE;
if ($gContent->isValid() && isset($_REQUEST['preview']) && isset($_REQUEST['send_group'])) {
    $recipients = $gContent->getRecipients($_REQUEST['send_group'], $validated, !empty($_REQUEST['test_mode']));
    $gBitSmarty->assignByRef('recipientList', $recipients);
    $gBitSmarty->assign('validated', $validated);
    $gBitSmarty->assign('sending', TRUE);
} elseif ($gContent->isValid() && isset($_REQUEST["send"])) {
    if ($emails = $gContent->getRecipients($_REQUEST['send_group'], $validated, !empty($_REQUEST['test_mode']))) {
        global $gBitNewsletterMailer;
        $gBitNewsletterMailer = new BitNewsletterMailer();
        $queueCount = $gBitNewsletterMailer->queueRecipients($gContent->mContentId, $gContent->mNewsletter->mContentId, $emails, !empty($_REQUEST['test_mode']));
        $feedback['success'] = $queueCount . ' ' . tra('emails were queued to be sent:') . ' ' . $gContent->getTitle();
        $gContent->mEditionId = NULL;
    } else {
        $feedback['error'] = tra('No emails were queued.');
    }
}
if ($gContent->isValid()) {
    $groupListHash = array();
    $groups = $gBitUser->getAllGroups($groupListHash);
    $groups['send_subs']['group_name'] = 'Send to subscribers';
    $gBitSmarty->assignByRef('groupList', $groups);
} else {
    $listHash = array();
    $editions = $gContent->getList($listHash);
Beispiel #4
0
<?php

if (!empty($_REQUEST['batch_command']) && $_REQUEST['batch_command'] == 'send' && !empty($_REQUEST['queue_id'])) {
    $_REQUEST['uri_mode'] = TRUE;
}
require_once '../../kernel/setup_inc.php';
$gBitSystem->verifyPermission('p_mail_admin');
$gBitSystem->verifyPermission('newsletters');
require_once NEWSLETTERS_PKG_PATH . 'BitNewsletterMailer.php';
global $gBitNewsletterMailer;
$gBitNewsletterMailer = new BitNewsletterMailer();
if (!empty($_REQUEST['batch_command']) && !empty($_REQUEST['queue_id'])) {
    if ($_REQUEST['batch_command'] == 'delete') {
        foreach ($_REQUEST['queue_id'] as $qId) {
            $gBitNewsletterMailer->expungeQueueRow($qId);
        }
    } elseif ($_REQUEST['batch_command'] == 'send' && !empty($_REQUEST['queue_id'])) {
        foreach ($_REQUEST['queue_id'] as $queueId) {
            $gBitNewsletterMailer->sendQueue($queueId);
        }
    }
}
if (empty($_REQUEST['batch_command']) || $_REQUEST['batch_command'] != 'send') {
    $listHash = array();
    $queue = $gBitNewsletterMailer->getQueue($listHash);
    $gBitSmarty->assignByRef('queue', $queue);
    $gBitSystem->display('bitpackage:newsletters/mail_queue.tpl', NULL, array('display_mode' => 'admin'));
}
<?php

global $gShellScript;
$gShellScript = TRUE;
$_REQUEST['uri_mode'] = TRUE;
/**
 * required setup
 */
if (!empty($argc)) {
    $_SERVER["SERVER_NAME"] = '';
    // reduce feedback for command line to keep log noise way down
    define('BIT_PHP_ERROR_REPORTING', E_ALL ^ E_NOTICE ^ E_WARNING);
}
require_once '../../kernel/setup_inc.php';
if ($gBitSystem->isPackageActive('newsletters')) {
    require_once NEWSLETTERS_PKG_PATH . 'BitNewsletterMailer.php';
    global $gBitNewsletterMailer;
    $gBitNewsletterMailer = new BitNewsletterMailer();
    $gBitNewsletterMailer->tendQueue();
}
Beispiel #6
0
/**
 * Copyright (c) 2005 bitweaver.org
 * All Rights Reserved. See below for details and a complete list of authors.
 * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See http://www.gnu.org/copyleft/lesser.html for details
 *
 * created 2005/12/10
 *
 * @package newsletters
 * @author spider <*****@*****.**>
 */
/** 
 * Initialization
 */
require_once '../kernel/setup_inc.php';
include_once NEWSLETTERS_PKG_PATH . 'BitNewsletterMailer.php';
if (isset($_REQUEST["sub"]) || $gBitUser->isRegistered()) {
    if (isset($_REQUEST["sub"]) && strlen($_REQUEST["sub"]) == 32 && ($subInfo = BitNewsletterMailer::lookupSubscription(array('url_code' => $_REQUEST["sub"])))) {
        BitNewsletterMailer::trackMail($subInfo['url_code']);
    }
}
// open the file in a binary mode
$trackImage = $gBitSystem->getConfig('newsletter_tracking_image', NEWSLETTERS_PKG_PATH . 'images/track.gif');
if ($fp = fopen($trackImage, 'rb')) {
    // send the right headers
    header("Content-Type: image/png");
    header("Content-Length: " . filesize($trackImage));
    // dump the picture and stop the script
    fpassthru($fp);
}
exit;