Esempio n. 1
0
require_once Pommo::$_baseDir . 'classes/Pommo_Helper_Personalize.php';
if (!isset(Pommo::$_session['personalization'])) {
    Pommo::$_session['personalization'] = FALSE;
    $matches = array();
    preg_match('/\\[\\[[^\\]]+]]/', $mailing->_mailing['body'], $matches);
    if (!empty($matches)) {
        Pommo::$_session['personalization'] = TRUE;
    }
    preg_match('/\\[\\[[^\\]]+]]/', $mailing->_mailing['altbody'], $matches);
    if (!empty($matches)) {
        Pommo::$_session['personalization'] = TRUE;
    }
    // cache personalizations in session
    if (Pommo::$_session['personalization']) {
        Pommo::$_session['personalization_body'] = Pommo_Helper_Personalize::search($mailing->_mailing['body']);
        Pommo::$_session['personalization_altbody'] = Pommo_Helper_Personalize::search($mailing->_mailing['altbody']);
    }
}
/**********************************
 * PREPARE THE MAILER
 *********************************/
$html = $mailing->_mailing['ishtml'] == 'on' ? TRUE : FALSE;
$mailer = new Pommo_Mailer($mailing->_mailing['fromname'], $mailing->_mailing['fromemail'], $mailing->_mailing['frombounce'], $config['list_exchanger'], NULL, $mailing->_mailing['charset'], Pommo::$_session['personalization']);
if (!$mailer->prepareMail($mailing->_mailing['subject'], $mailing->_mailing['body'], $html, $mailing->_mailing['altbody'], $mailing->_mailing['attachments'])) {
    $mailer->shutdown('*** ERROR *** prepareMail() returned errors.');
}
// Set appropriate SMTP relay
if ($config['list_exchanger'] == 'smtp') {
    $mailer->setRelay(unserialize($config['smtp_1']));
    $mailer->SMTPKeepAlive = TRUE;
}
Esempio n. 2
0
    $input = current(Pommo_Mailing::get(array('id' => $_GET['mail_id'])));
    // attempt personalizations
    if (isset($_GET['email']) && isset($_GET['code'])) {
        $subscriber = current(Pommo_Subscribers::get(array('email' => $_GET['email'], 'status' => 1)));
        if ($_GET['code'] == Pommo_Subscribers::getActCode($subscriber)) {
            require_once Pommo::$_baseDir . 'classes/Pommo_Helper_Personalize.php';
            // require once here so that mailer can use
            $matches = array();
            preg_match('/\\[\\[[^\\]]+]]/', $input['body'], $matches);
            if (!empty($matches)) {
                $pBody = Pommo_Helper_Personalize::search($input['body']);
                $input['body'] = Pommo_Helper_Personalize::replace($input['body'], $subscriber, $pBody);
            }
            preg_match('/\\[\\[[^\\]]+]]/', $input['altbody'], $matches);
            if (!empty($matches)) {
                $pAltBody = Pommo_Helper_Personalize::search($input['altbody']);
                $input['altbody'] = Pommo_Helper_Personalize::replace($input['altbody'], $subscriber, $pAltBody);
            }
        }
    }
    $view->assign($input);
    $view->display('inc/mailing');
    Pommo::kill();
}
/**********************************
	VALIDATION ROUTINES
*********************************/
if (!is_numeric($state['limit']) || $state['limit'] < 10 || $state['limit'] > 200) {
    $state['limit'] = 100;
}
if ($state['order'] != 'asc' && $state['order'] != 'desc') {