示例#1
0
        fn_delete_subscribers($_REQUEST['subscriber_ids']);
    }
    if ($mode == 'delete') {
        if (!empty($_REQUEST['subscriber_id'])) {
            fn_delete_subscribers((array) $_REQUEST['subscriber_id']);
        }
    }
    return array(CONTROLLER_STATUS_OK, 'subscribers' . $suffix);
}
if ($mode == 'manage') {
    list($subscribers, $search) = fn_get_subscribers($_REQUEST, Registry::get('settings.Appearance.admin_elements_per_page'));
    foreach ($subscribers as &$subscriber) {
        if (!empty($subscriber['list_ids'])) {
            $subscriber['mailing_lists'] = array();
            foreach (explode(',', $subscriber['list_ids']) as $list_id) {
                $subscriber['mailing_lists'][$list_id] = fn_get_mailing_list_data($list_id, DESCR_SL);
                // get additional user-specific data for each mailing list (like lang_code)
                $_where = array('list_id' => $list_id, 'subscriber_id' => $subscriber['subscriber_id']);
                $subscriber_list_data = db_get_row("SELECT * FROM ?:user_mailing_lists WHERE ?w", $_where);
                $subscriber['mailing_lists'][$list_id] = array_merge($subscriber['mailing_lists'][$list_id], $subscriber_list_data);
                $subscriber['lang_code'] = $subscriber['mailing_lists'][$list_id]['lang_code'];
            }
            unset($subscriber['list_ids']);
        }
    }
    $mailing_lists = db_get_hash_array("SELECT m.list_id, d.object, ?:newsletters.newsletter_id as register_autoresponder FROM ?:mailing_lists AS m INNER JOIN ?:common_descriptions AS d ON m.list_id=d.object_id LEFT JOIN ?:newsletters ON m.register_autoresponder = ?:newsletters.newsletter_id AND ?:newsletters.status = 'A' WHERE d.object_holder='mailing_lists' AND d.lang_code = ?s", 'list_id', DESCR_SL);
    Tygh::$app['view']->assign('mailing_lists', $mailing_lists);
    Tygh::$app['view']->assign('subscribers', $subscribers);
    Tygh::$app['view']->assign('search', $search);
    fn_newsletters_generate_sections('subscribers');
}
示例#2
0
function fn_send_confirmation_email($subscriber_id, $list_id, $email, $lang_code = CART_LANGUAGE)
{
    $list = fn_get_mailing_list_data($list_id);
    if ($list['register_autoresponder']) {
        $autoresponder = fn_get_newsletter_data($list['register_autoresponder']);
        $body = $autoresponder['body_html'];
        $body = fn_render_newsletter($body, array('list_id' => $list_id, 'subscriber_id' => $subscriber_id, 'email' => $email));
        if (AREA == 'A') {
            fn_echo(__('sending_email_to', array('[email]' => $email)) . '<br />');
        }
        fn_send_newsletter($email, $list, $autoresponder['newsletter'], $body, array(), $lang_code, $list['reply_to']);
    }
}
示例#3
0
                }
            }
            $_data = $list_data;
            $_data['object_id'] = $k;
            $_data['object_holder'] = 'mailing_lists';
            $_data['object'] = $_data['name'];
            $_where = array('object_id' => $k, 'object_holder' => 'mailing_lists', 'lang_code' => DESCR_SL);
            db_query("UPDATE ?:common_descriptions SET ?u WHERE ?w", $_data, $_where);
        }
    }
    return array(CONTROLLER_STATUS_OK, "mailing_lists.manage");
}
if ($mode == 'update') {
    fn_add_breadcrumb(fn_get_lang_var('newsletters'), "newsletters.manage");
    $view->assign('autoresponders', fn_get_newsletters(array('type' => NEWSLETTER_TYPE_AUTORESPONDER, 'only_available' => false), DESCR_SL));
    $view->assign('mailing_list', fn_get_mailing_list_data($_REQUEST['list_id'], DESCR_SL));
} elseif ($mode == 'delete') {
    if (!empty($_REQUEST['list_id'])) {
        db_query("DELETE FROM ?:common_descriptions WHERE object_id = ?i AND object_holder='mailing_lists'", $_REQUEST['list_id']);
        db_query("DELETE FROM ?:mailing_lists WHERE list_id = ?i", $_REQUEST['list_id']);
        db_query("DELETE FROM ?:user_mailing_lists WHERE list_id = ?i", $_REQUEST['list_id']);
        $_mailing_lists = fn_get_mailing_lists(array('only_available' => false, 'limit' => $limit), DESCR_SL);
        if (empty($_mailing_lists)) {
            $view->display('addons/news_and_emails/views/mailing_lists/manage.tpl');
        }
    }
    exit;
} elseif ($mode == 'manage') {
    $total_pages = db_get_field("SELECT COUNT(*) FROM ?:mailing_lists");
    $limit = fn_paginate(@$_REQUEST['page'], $total_pages, Registry::get('settings.Appearance.admin_elements_per_page'));
    $mailing_lists = fn_get_mailing_lists(array('only_available' => false, 'limit' => $limit), DESCR_SL);
示例#4
0
            db_query("DELETE FROM ?:common_descriptions WHERE object_id = ?i AND object_holder = 'mailing_lists'", $_REQUEST['list_id']);
            db_query("DELETE FROM ?:mailing_lists WHERE list_id = ?i", $_REQUEST['list_id']);
            db_query("DELETE FROM ?:user_mailing_lists WHERE list_id = ?i", $_REQUEST['list_id']);
            list($_mailing_lists) = fn_get_mailing_lists(array('only_available' => false), 0, DESCR_SL);
            if (empty($_mailing_lists)) {
                Registry::get('view')->display('addons/news_and_emails/views/mailing_lists/manage.tpl');
            }
        }
        exit;
    }
    return array(CONTROLLER_STATUS_OK, 'mailing_lists.manage');
}
if ($mode == 'update') {
    list($autoresponders) = fn_get_newsletters(array('type' => NEWSLETTER_TYPE_AUTORESPONDER, 'only_available' => false), 0, DESCR_SL);
    Registry::get('view')->assign('autoresponders', $autoresponders);
    Registry::get('view')->assign('mailing_list', fn_get_mailing_list_data($_REQUEST['list_id'], DESCR_SL));
} elseif ($mode == 'manage') {
    $params = $_REQUEST;
    $params['only_available'] = false;
    list($mailing_lists) = fn_get_mailing_lists($params, 0, DESCR_SL);
    $subscribers = db_get_hash_array("SELECT * FROM ?:subscribers", 'subscriber_id');
    foreach ($mailing_lists as &$list) {
        $list['subscribers_num'] = db_get_field("SELECT COUNT(*) FROM ?:user_mailing_lists WHERE list_id = ?i", $list['list_id']);
    }
    list($autoresponders) = fn_get_newsletters(array('type' => NEWSLETTER_TYPE_AUTORESPONDER, 'only_available' => false), 0, DESCR_SL);
    Registry::get('view')->assign('mailing_lists', $mailing_lists);
    Registry::get('view')->assign('autoresponders', $autoresponders);
    Registry::get('view')->assign('subscribers', $subscribers);
    fn_newsletters_generate_sections('mailing_lists');
}
function fn_update_mailing_list($mailing_list_data, $list_id, $lang_code = DESCR_SL)
示例#5
0
function fn_send_confirmation_email($subscriber_id, $list_id, $email, $format = NEWSLETTER_FORMAT_TXT, $lang_code = CART_LANGUAGE)
{
    static $msg;
    if (empty($msg)) {
        $msg = fn_get_lang_var('sending_email_to');
    }
    $list = fn_get_mailing_list_data($list_id);
    if ($list['register_autoresponder']) {
        $autoresponder = fn_get_newsletter_data($list['register_autoresponder']);
        if ($format == NEWSLETTER_FORMAT_TXT) {
            $body = $autoresponder['body_txt'];
        } else {
            $body = $autoresponder['body_html'];
        }
        $body = fn_render_newsletter($body, array('list_id' => $list_id, 'subscriber_id' => $subscriber_id, 'email' => $email));
        if (AREA == 'A') {
            fn_echo(str_replace('[email]', $email, $msg) . '<br />');
        }
        fn_send_newsletter($email, $list, $autoresponder['newsletter'], $body, array(), $lang_code, $list['reply_to'], $format == NEWSLETTER_FORMAT_HTML);
    }
}
示例#6
0
            db_query("DELETE FROM ?:common_descriptions WHERE object_id = ?i AND object_holder = 'mailing_lists'", $_REQUEST['list_id']);
            db_query("DELETE FROM ?:mailing_lists WHERE list_id = ?i", $_REQUEST['list_id']);
            db_query("DELETE FROM ?:user_mailing_lists WHERE list_id = ?i", $_REQUEST['list_id']);
            list($_mailing_lists) = fn_get_mailing_lists(array('only_available' => false), 0, DESCR_SL);
            if (empty($_mailing_lists)) {
                Tygh::$app['view']->display('addons/news_and_emails/views/mailing_lists/manage.tpl');
            }
        }
        exit;
    }
    return array(CONTROLLER_STATUS_OK, 'mailing_lists.manage');
}
if ($mode == 'update') {
    list($autoresponders) = fn_get_newsletters(array('type' => NEWSLETTER_TYPE_AUTORESPONDER, 'only_available' => false), 0, DESCR_SL);
    Tygh::$app['view']->assign('autoresponders', $autoresponders);
    Tygh::$app['view']->assign('mailing_list', fn_get_mailing_list_data($_REQUEST['list_id'], DESCR_SL));
} elseif ($mode == 'manage') {
    $params = $_REQUEST;
    $params['only_available'] = false;
    list($mailing_lists) = fn_get_mailing_lists($params, 0, DESCR_SL);
    $subscribers = db_get_hash_array("SELECT * FROM ?:subscribers", 'subscriber_id');
    foreach ($mailing_lists as &$list) {
        $list['subscribers_num'] = db_get_field("SELECT COUNT(*) FROM ?:user_mailing_lists WHERE list_id = ?i", $list['list_id']);
    }
    list($autoresponders) = fn_get_newsletters(array('type' => NEWSLETTER_TYPE_AUTORESPONDER, 'only_available' => false), 0, DESCR_SL);
    Tygh::$app['view']->assign('mailing_lists', $mailing_lists);
    Tygh::$app['view']->assign('autoresponders', $autoresponders);
    Tygh::$app['view']->assign('subscribers', $subscribers);
    fn_newsletters_generate_sections('mailing_lists');
}
function fn_update_mailing_list($mailing_list_data, $list_id, $lang_code = DESCR_SL)