<?php @(include_once NEWSLETTER_INCLUDES_DIR . '/controls.php'); $controls = new NewsletterControls(); $module = NewsletterSubscription::instance(); // TODO: Remove and use the $module->options. $options = get_option('newsletter', array()); if ($controls->is_action()) { if ($controls->is_action('save')) { $defaults = $module->get_default_options(); if (empty($controls->data['profile_text'])) { $controls->data['profile_text'] = $defaults['profile_text']; } // Without the last curly bracket since there can be a form number apended if (empty($controls->data['subscription_text'])) { $controls->data['subscription_text'] = $defaults['subscription_text']; } if (empty($controls->data['confirmation_text'])) { $controls->data['confirmation_text'] = $defaults['confirmation_text']; } if (empty($controls->data['confirmation_subject'])) { $controls->data['confirmation_subject'] = $defaults['confirmation_subject']; } if (empty($controls->data['confirmation_message'])) { $controls->data['confirmation_message'] = $defaults['confirmation_message']; } if (empty($controls->data['confirmed_text'])) { $controls->data['confirmed_text'] = $defaults['confirmed_text']; } if (empty($controls->data['confirmed_subject'])) { $controls->data['confirmed_subject'] = $defaults['confirmed_subject'];
<?php require_once NEWSLETTER_INCLUDES_DIR . '/controls.php'; $controls = new NewsletterControls(); $module = NewsletterUsers::instance(); $options = stripslashes_deep($_POST['options']); $options_lists = get_option('newsletter_profile'); $options_profile = get_option('newsletter_profile'); $options_main = get_option('newsletter_main'); $lists = array('' => 'Any'); for ($i = 1; $i <= NEWSLETTER_LIST_MAX; $i++) { if (empty($options_lists['list_' . $i])) { continue; } $lists['' . $i] = '(' . $i . ') ' . $options_lists['list_' . $i]; } if ($controls->is_action('resend')) { $user = NewsletterUsers::instance()->get_user($controls->button_data); $opts = get_option('newsletter'); $newsletter->mail($user->email, $newsletter->replace($opts['confirmation_subject'], $user), $newsletter->replace($opts['confirmation_message'], $user)); $controls->messages = 'Activation email resent to ' . $user->email; } if ($controls->is_action('resend_welcome')) { $user = NewsletterUsers::instance()->get_user($controls->button_data); $opts = get_option('newsletter'); $newsletter->mail($user->email, $newsletter->replace($opts['confirmed_subject'], $user), $newsletter->replace($opts['confirmed_message'], $user)); $controls->messages = 'Welcome email resent.'; } if ($controls->is_action('remove')) { $wpdb->query($wpdb->prepare("delete from " . $wpdb->prefix . "newsletter where id=%d", $controls->button_data)); unset($controls->data['subscriber_id']);
<?php @(include_once NEWSLETTER_INCLUDES_DIR . '/controls.php'); $controls = new NewsletterControls(); if ($controls->is_action('feed_enable')) { delete_option('newsletter_feed_demo_disable'); $controls->messages = 'Feed by Mail demo panels enabled. On next page reload it will show up.'; } if ($controls->is_action('feed_disable')) { update_option('newsletter_feed_demo_disable', 1); $controls->messages = 'Feed by Mail demo panel disabled. On next page reload it will disappear.'; } ?> <div class="wrap main-index"> <?php $help_url = 'http://www.thenewsletterplugin.com/plugins/newsletter'; ?> <?php include NEWSLETTER_DIR . '/header-new.php'; ?> <div id="newsletter-title"> <h2>Welcome and Support</h2> <p> With my horrible English, everything can be found starting from <a href="http://www.thenewsletterplugin.com/plugins/newsletter" target="_blank">Newsletter Official page</a> and every configuration panel has some included documentation just to avoid the most common mistakes. </p> </div> <div class="newsletter-separator"></div>
<?php if (function_exists('load_plugin_textdomain')) { load_plugin_textdomain('newsletter-statistics', false, 'newsletter/statistics/languages'); load_plugin_textdomain('newsletter', false, 'newsletter/languages'); } require_once NEWSLETTER_INCLUDES_DIR . '/controls.php'; $module = NewsletterStatistics::instance(); $controls = new NewsletterControls(); $emails = Newsletter::instance()->get_emails(); if (!$controls->is_action()) { $controls->data = $module->options; } if ($controls->is_action('save')) { $module->save_options($controls->data); $controls->messages = 'Saved.'; } ?> <div class="wrap"> <?php $help_url = 'http://www.thenewsletterplugin.com/plugins/newsletter/statistics-module'; ?> <?php include NEWSLETTER_DIR . '/header-new.php'; ?> <div id="newsletter-title"> <h2>Configuration and Email List</h2>
<?php require_once NEWSLETTER_INCLUDES_DIR . '/controls.php'; $controls = new NewsletterControls(); $module = NewsletterUsers::instance(); if ($controls->is_action('save')) { $controls->data['status'] = 'C'; $controls->data['sex'] = 'n'; $user = $module->save_user($controls->data); if ($user === false) { $controls->errors = 'This email already exists.'; } else { $controls->js_redirect($module->get_admin_page_url('edit') . '&id=' . $user->id); return; } } ?> <div class="wrap"> <?php $help_url = 'http://www.thenewsletterplugin.com/plugins/newsletter/subscribers-module'; ?> <?php include NEWSLETTER_DIR . '/header-new.php'; ?> <div id="newsletter-title"> <?php include NEWSLETTER_DIR . '/users/menu.inc.php'; ?> <h2>New subscriber</h2> </div>
<?php @(include_once NEWSLETTER_INCLUDES_DIR . '/controls.php'); $controls = new NewsletterControls(); $module = NewsletterSubscription::instance(); if (!$controls->is_action()) { $controls->data = $module->get_options('profile'); } else { if ($controls->is_action('save')) { $module->merge_options($controls->data, 'profile'); $controls->add_message_saved(); } } $status = array(0 => 'Disabled/Private use', 1 => 'Only on profile page', 2 => 'Even on subscription forms', '3' => 'Hidden'); ?> <div class="wrap" id="tnp-wrap"> <?php include NEWSLETTER_DIR . '/tnp-header.php'; ?> <div id="tnp-heading"> <h2><?php _e('Lists', 'newsletter'); ?> </h2> <p> Preferences are on/off choices users can select during subscription and change on their profile.
<?php @(include_once NEWSLETTER_INCLUDES_DIR . '/controls.php'); $controls = new NewsletterControls(); $module = NewsletterSubscription::instance(); if (!$controls->is_action()) { $controls->data = get_option('newsletter_forms'); } if ($controls->is_action('save')) { update_option('newsletter_forms', $controls->data); $controls->add_message_saved(); } ?> <div class="wrap" id="tnp-wrap"> <?php include NEWSLETTER_DIR . '/tnp-header.php'; ?> <div id="tnp-heading"> <h2><?php _e('Custom Forms', 'newsletter'); ?> </h2> <p> Here you can store your hand coded forms to recall them from short codes. <a href="http://www.thenewsletterplugin.com/plugins/newsletter/newsletter-forms" target="_blank">Read more about forms</a>. </p>
<?php @(include_once NEWSLETTER_INCLUDES_DIR . '/controls.php'); $module = Newsletter::instance(); $controls = new NewsletterControls(); if (!$controls->is_action()) { $controls->data = $module->get_options('smtp'); } else { if ($controls->is_action('save')) { if ($controls->data['enabled'] && empty($controls->data['host'])) { $controls->errors = 'The host must be set to enable the SMTP'; } if (empty($controls->errors)) { $module->save_options($controls->data, 'smtp'); $controls->messages .= __('Saved. Remember to test your changes right now!', 'newsletter'); } } if ($controls->is_action('test')) { require_once ABSPATH . WPINC . '/class-phpmailer.php'; require_once ABSPATH . WPINC . '/class-smtp.php'; $mail = new PHPMailer(); ob_start(); $mail->IsSMTP(); $mail->SMTPDebug = true; $mail->CharSet = 'UTF-8'; $message = 'This Email is sent by PHPMailer of WordPress'; $mail->IsHTML(false); $mail->Body = $message; $mail->From = $module->options['sender_email']; $mail->FromName = $module->options['sender_name']; if (!empty($module->options['return_path'])) {
if ($action == 'save') { $options = stripslashes_deep($_POST['options']); $options['confirmed_url'] = trim($options['confirmed_url']); if ($errors == null) { update_option('newsletter', $options); } } if ($action == 'reset') { @(include_once dirname(__FILE__) . '/languages/en_US_options.php'); if (WPLANG != '') { @(include_once dirname(__FILE__) . '/languages/' . WPLANG . '_options.php'); } $options = array_merge($options, $newsletter_default_options); update_option('newsletter', $options); } $nc = new NewsletterControls($options); ?> <?php if ($options['novisual'] != 1) { ?> <script type="text/javascript" src="<?php echo get_option('siteurl'); ?> /wp-content/plugins/newsletter/tiny_mce/tiny_mce.js"></script> <script type="text/javascript"> tinyMCE.init({ mode : "specific_textareas", editor_selector : "visual", theme : "advanced",
<?php require_once NEWSLETTER_INCLUDES_DIR . '/controls.php'; $controls = new NewsletterControls(); $module = NewsletterUsers::instance(); $options = $controls->data; $options_lists = get_option('newsletter_profile'); $options_profile = get_option('newsletter_profile'); $options_main = get_option('newsletter_main'); // Move to base zero if ($controls->is_action()) { $controls->data['search_page'] = (int) $controls->data['search_page'] - 1; $module->save_options($controls->data, 'search'); } else { $controls->data = $module->get_options('search'); if (empty($controls->data['search_page'])) { $controls->data['search_page'] = 0; } } $lists = array('' => 'Any'); for ($i = 1; $i <= NEWSLETTER_LIST_MAX; $i++) { if (empty($options_lists['list_' . $i])) { continue; } $lists['' . $i] = '(' . $i . ') ' . $options_lists['list_' . $i]; } if ($controls->is_action('resend')) { $user = NewsletterUsers::instance()->get_user($controls->button_data); $opts = get_option('newsletter'); NewsletterSubscription::instance()->mail($user->email, $newsletter->replace($opts['confirmation_subject'], $user), $newsletter->replace($opts['confirmation_message'], $user)); $controls->messages = 'Activation email resent to ' . $user->email;
<?php @(include_once 'commons.php'); $nc = new NewsletterControls(); $emails = $wpdb->get_results("select * from " . $wpdb->prefix . "newsletter_emails where type='email' order by id desc"); if ($nc->is_action('send')) { $newsletter->hook_newsletter(); } ?> <div class="wrap"> <h2>Messages</h2> <?php include dirname(__FILE__) . '/header.php'; ?> <form method="post" action="admin.php?page=newsletter/emails.php"> <?php $nc->init(); ?> <p><a href="admin.php?page=newsletter/emails-edit.php&id=0" class="button">New message</a></p> <p> Delivery engine next run: <?php echo wp_next_scheduled('newsletter') - time(); ?> seconds <?php $nc->button('send', 'Trigger now');
<?php @(include_once NEWSLETTER_INCLUDES_DIR . '/controls.php'); $controls = new NewsletterControls(); $module = NewsletterSubscription::instance(); if (!$controls->is_action()) { $controls->data = $module->get_options('template'); } else { if ($controls->is_action('save')) { $module->save_options($controls->data, 'template'); if (strpos($controls->data['template'], '{message}') === false) { $controls->errors = 'Warning: the tag {message} is missing in your template'; } $controls->messages = 'Saved.'; } if ($controls->is_action('reset')) { $controls->data['template'] = file_get_contents(dirname(__FILE__) . '/email.html'); $controls->messages = 'Done.'; } if ($controls->is_action('test')) { $users = NewsletterUsers::instance()->get_test_users(); if (count($users) == 0) { $controls->errors = 'There are no test subscribers. Read more about test subscribers <a href="http://www.thenewsletterplugin.com/plugins/newsletter/subscribers-module#test" target="_blank">here</a>.'; } else { $template = $controls->data['template']; if (strpos($template, '{message}') === false) { $template .= '{message}'; } $message = '<p>This is a generic example of message embedded inside the template.</p>'; $message .= '<p>Subscriber data can be referenced by messages with tags. See the <a href="http://www.thenewsletterplugin.com">plugin documentation</a>.</p>'; $message .= '<p>First name: {name}</p>';
<?php @(include_once NEWSLETTER_INCLUDES_DIR . '/controls.php'); $controls = new NewsletterControls(); if ($controls->is_action('save')) { update_option('newsletter_log_level', $controls->data['log_level']); update_option('newsletter_diagnostic', $controls->data); $controls->messages = 'Loggin levels saved.'; } if ($controls->is_action('reset_cron_calls')) { update_option($module->prefix . '_cron_calls', false); $controls->messages = 'Reset.'; } if ($controls->is_action('check-versions')) { $newsletter->hook_newsletter_extension_versions(true); $controls->messages = 'Extensions data updated. Go to the plugins panel to see if there are updates available.'; } if ($controls->is_action('trigger')) { $newsletter->hook_newsletter(); $controls->messages = 'Delivery engine triggered.'; } if ($controls->is_action('undismiss')) { update_option('newsletter_dismissed', array()); $controls->messages = 'Notices restored.'; } if ($controls->is_action('trigger_followup')) { NewsletterFollowup::instance()->send(); $controls->messages = 'Follow up delivery engine triggered.'; } if ($controls->is_action('engine_on')) { wp_clear_scheduled_hook('newsletter');
<?php /* @var $wpdb wpdb */ require_once NEWSLETTER_INCLUDES_DIR . '/controls.php'; $controls = new NewsletterControls(); $module = NewsletterEmails::instance(); // Always required $email = Newsletter::instance()->get_email((int) $_GET['id'], ARRAY_A); if (empty($email)) { echo 'Wrong email identifier'; return; } $email_id = $email['id']; // If there is no action we assume we are enter the first time so we populate the // $nc->data with the editable email fields if (!$controls->is_action()) { $controls->data = $email; if (!empty($email['preferences'])) { $controls->data['preferences'] = explode(',', $email['preferences']); } if (!empty($email['sex'])) { $controls->data['sex'] = explode(',', $email['sex']); } $email_options = unserialize($email['options']); if (is_array($email_options)) { $controls->data = array_merge($controls->data, $email_options); } } if ($controls->is_action('test') || $controls->is_action('save') || $controls->is_action('send') || $controls->is_action('editor')) { // If we were editing with visual editor (==0), we must read the extra <body> content if ($email['editor'] == 0) {
<?php // Stops WP Super Cache which removes the logged_in cookie $_GET['preview'] = 'true'; require_once '../../../../wp-load.php'; if (!is_user_logged_in()) { die('No logged in user found. A plugin is almost surely removing the authentication cookies, usually a cache plugin. Try to report the issue on http://www.thenewsletterplugin.com forum.'); } if (!current_user_can('manage_categories')) { die('Not enough privileges'); } if (Newsletter::instance()->options['editor'] != 1 && !current_user_can('manage_options')) { die('Not enough privileges'); } require_once NEWSLETTER_INCLUDES_DIR . '/controls.php'; $controls = new NewsletterControls(); $module = NewsletterEmails::instance(); if ($controls->is_action('create')) { $module->save_options($controls->data); $email = array(); $email['status'] = 'new'; $email['subject'] = ''; //__('Here the email subject', 'newsletter-emails'); $email['track'] = 1; $theme_options = $module->get_current_theme_options(); $theme_url = $module->get_current_theme_url(); $theme_subject = ''; ob_start(); include $module->get_current_theme_file_path('theme.php'); $email['message'] = ob_get_clean(); if (!empty($theme_subject)) {
<?php @(include_once NEWSLETTER_INCLUDES_DIR . '/controls.php'); $controls = new NewsletterControls(); $module = NewsletterUsers::instance(); $options_profile = get_option('newsletter_profile'); $lists = array(); for ($i = 1; $i <= NEWSLETTER_LIST_MAX; $i++) { if (!isset($options_profile['list_' . $i])) { $options_profile['list_' . $i] = ''; } $lists['' . $i] = '(' . $i . ') ' . $options_profile['list_' . $i]; } if ($controls->is_action('remove_unconfirmed')) { $r = $wpdb->query("delete from " . NEWSLETTER_USERS_TABLE . " where status='S'"); $controls->messages = __('Subscribers not confirmed deleted: ', 'newsletter') . $r . '.'; } if ($controls->is_action('remove_unsubscribed')) { $r = $wpdb->query("delete from " . NEWSLETTER_USERS_TABLE . " where status='U'"); $controls->messages = __('Subscribers unsubscribed deleted: ', 'newsletter') . $r . '.'; } if ($controls->is_action('remove_bounced')) { $r = $wpdb->query("delete from " . NEWSLETTER_USERS_TABLE . " where status='B'"); $controls->messages = __('Subscribers bounced deleted: ', 'newsletter') . $r . '.'; } if ($controls->is_action('unconfirm_all')) { $r = $wpdb->query("update " . NEWSLETTER_USERS_TABLE . " set status='S' where status='C'"); $controls->messages = __('Subscribers changed to not confirmed: ', 'newsletter') . $r . '.'; } if ($controls->is_action('confirm_all')) { $r = $wpdb->query("update " . NEWSLETTER_USERS_TABLE . " set status='C' where status='S'");
<?php require_once NEWSLETTER_INCLUDES_DIR . '/controls.php'; $controls = new NewsletterControls(); $module = NewsletterUsers::instance(); $options_profile = get_option('newsletter_profile'); if ($controls->is_action('import')) { $mode = $controls->data['mode']; // TODO: to be removed, it's not safe @set_time_limit(100000); $results = ''; if (is_uploaded_file($_FILES['csv_file']['tmp_name'])) { $lines = file($_FILES['csv_file']['tmp_name']); } else { $csv = stripslashes($controls->data['csv']); $lines = explode("\n", $csv); } // Set the selected preferences inside the if (!is_array($controls->data['preferences'])) { $controls->data['preferences'] = array(); } // if ($options['followup'] == 'activate') { // $subscriber['followup'] = 1; // } $error_count = 0; $added_count = 0; $updated_count = 0; $skipped_count = 0; foreach ($lines as &$line) { // Parse the CSV line $line = trim($line);
<?php @(include_once NEWSLETTER_INCLUDES_DIR . '/controls.php'); $options_profile = get_option('newsletter_profile'); $controls = new NewsletterControls(); $module = NewsletterUsers::instance(); $lists = array('0' => 'All'); for ($i = 1; $i <= NEWSLETTER_LIST_MAX; $i++) { if (!isset($options_profile['list_' . $i])) { $options_profile['list_' . $i] = ''; } $lists['' . $i] = '(' . $i . ') ' . $options_profile['list_' . $i]; } ?> <div class="wrap" id="tnp-wrap"> <?php include NEWSLETTER_DIR . '/tnp-header.php'; ?> <div id="tnp-heading"> <h2><?php _e('Export', 'newsletter'); ?> </h2> <p> The import and export functions <strong>ARE NOT for backup</strong>. If you want to backup you should consider to backup the wp_newsletter* tables.
<?php @(include_once NEWSLETTER_INCLUDES_DIR . '/controls.php'); $controls = new NewsletterControls(); $module = NewsletterSubscription::instance(); if (!$controls->is_action()) { $controls->data = get_option('newsletter_profile'); } else { if ($controls->is_action('save')) { update_option('newsletter_profile', $controls->data); } if ($controls->is_action('reset')) { // TODO: Move this inside the module @(include NEWSLETTER_DIR . '/subscription/languages/profile-en_US.php'); @(include NEWSLETTER_DIR . '/subscription/languages/profile-' . WPLANG . '.php'); update_option('newsletter_profile', array_merge(get_option('newsletter_profile', array()), $options)); $controls->data = get_option('newsletter_profile'); } } $status = array(0 => 'Disabled/Private use', 1 => 'Only on profile page', 2 => 'Even on subscription forms'); $rules = array(0 => 'Optional', 1 => 'Required'); ?> <div class="wrap"> <?php $help_url = 'http://www.thenewsletterplugin.com/plugins/newsletter/subscription-module'; ?> <?php include NEWSLETTER_DIR . '/header-new.php'; ?>
<?php require_once NEWSLETTER_INCLUDES_DIR . '/controls.php'; $module = NewsletterStatistics::instance(); $controls = new NewsletterControls(); $email_id = (int) $_GET['id']; $email = $module->get_email($email_id); if ($email->send_on == 0) { $wpdb->query($wpdb->prepare("update " . NEWSLETTER_EMAILS_TABLE . " set send_on=unix_timestamp(created) where id=%d limit 1", $email->id)); $email = $module->get_email($email->id); } $count = $wpdb->get_var($wpdb->prepare("select count(*) from " . NEWSLETTER_SENT_TABLE . " where email_id=%d", $email_id)); if (true || $count == 0) { if (empty($email->query)) { $email->query = "select * from " . NEWSLETTER_USERS_TABLE . " where status='C'"; } $query = str_replace('*', 'id, unix_timestamp(created) as created', $email->query); $ids = $wpdb->get_results($query . " and unix_timestamp(created)<" . $email->send_on); foreach ($ids as $id) { $wpdb->query($wpdb->prepare("insert ignore into " . $wpdb->prefix . 'newsletter_sent (user_id, email_id, time, status, error) values (%d, %d, %d, %d, %s)', $id->id, $email->id, $email->send_on, 0, '')); } $wpdb->query($wpdb->prepare("update " . $wpdb->prefix . "newsletter_sent s1 join " . $wpdb->prefix . "newsletter_stats s2 on s1.user_id=s2.user_id and s1.email_id=s2.email_id and s1.email_id=%d set s1.open=1, s1.ip=s2.ip", $email->id)); $wpdb->query($wpdb->prepare("update " . $wpdb->prefix . "newsletter_sent s1 join " . $wpdb->prefix . "newsletter_stats s2 on s1.user_id=s2.user_id and s1.email_id=s2.email_id and s2.url<>'' and s1.email_id=%d set s1.open=2, s1.ip=s2.ip", $email->id)); } $total_count = $total_sent = $email->total; $open_count = (int) $wpdb->get_var("select count(distinct user_id) from " . NEWSLETTER_STATS_TABLE . " where email_id=" . $email_id); $click_count = (int) $wpdb->get_var("select count(distinct user_id) from " . NEWSLETTER_STATS_TABLE . " where url<>'' and email_id=" . $email_id); function percent($value, $total) { if ($total == 0) { return '-';
<?php @(include_once 'commons.php'); $nc = new NewsletterControls(); if (isset($_GET['id'])) { $nc->load($wpdb->prefix . 'newsletter', $_GET['id']); if (empty($nc->data['id'])) { $nc->data['status'] = 'C'; $nc->data['token'] = md5(rand()); } } else { if ($nc->is_action('save')) { for ($i = 1; $i <= NEWSLETTER_LIST_MAX; $i++) { if (!isset($nc->data['list_' . $i])) { $nc->data['list_' . $i] = 0; } } $nc->save($wpdb->prefix . 'newsletter'); } } $nc->errors($errors); $nc->messages($messages); $options_profile = get_option('newsletter_profile'); ?> <div class="wrap"> <h2>Newsletter Subscriber Editing</h2> <p><a href="admin.php?page=newsletter/users.php">Back to the list</a></p> <form method="post" action="admin.php?page=newsletter/users-edit.php"> <?php $nc->init(); ?>
<?php @(include_once 'commons.php'); $nc = new NewsletterControls(); if (isset($_GET['id'])) { $nc->load($wpdb->prefix . 'newsletter_emails', $_GET['id']); if (empty($nc->data['id'])) { $nc->data['status'] = 'new'; $nc->data['subject'] = 'Here the email subject'; $nc->data['message'] = '<p>An empty email to start.</p>'; $nc->data['theme'] = 'blank'; } } else { if ($nc->is_action('save') || $nc->is_action('send')) { $nc->save($wpdb->prefix . 'newsletter_emails'); } if ($nc->is_action('send')) { // Fake value representing the WordPress users as target if ($nc->data['list'] == -1) { $query = "select count(*) from " . $wpdb->prefix . "users " . $nc->data['query']; } else { if (!empty($nc->data['query'])) { $query = "select count(*) from " . $wpdb->prefix . "newsletter " . $nc->data['query']; } else { $query = "select count(*) from " . $wpdb->prefix . "newsletter where status='C'"; if ($nc->data['list'] != 0) { $query .= " and list_" . $nc->data['list'] . "=1"; } if (!empty($nc->data['sex'])) { $query .= " and sex='" . $nc->data['sex'] . "'"; }
<?php @(include_once 'commons.php'); $nc = new NewsletterControls(); if (!$nc->is_action()) { $nc->data = get_option('newsletter_profile'); } else { if ($nc->is_action('save')) { update_option('newsletter_profile', $nc->data); } if ($nc->is_action('reset')) { include dirname(__FILE__) . '/languages/en_US.php'; @(include dirname(__FILE__) . '/languages/' . WPLANG . '.php'); update_option('newsletter_profile', $defaults_profile); $nc->data = $defaults_profile; } } $nc->errors($errors); $nc->messages($messages); $status = array(0 => 'Disabled', 1 => 'Only on profile page', 2 => 'Even on subscription page'); ?> <script type="text/javascript" src="<?php echo get_option('siteurl'); ?> /wp-content/plugins/newsletter/tiny_mce/tiny_mce.js"></script> <script type="text/javascript"> tinyMCE.init({ mode : "specific_textareas", editor_selector : "visual", theme : "advanced", theme_advanced_disable : "styleselect",
<?php require_once NEWSLETTER_INCLUDES_DIR . '/controls.php'; $controls = new NewsletterControls(); $module = NewsletterEmails::instance(); if ($controls->is_action('convert')) { $module->convert_old_emails(); $controls->messages = 'Converted!'; } if ($controls->is_action('unconvert')) { $wpdb->query("update wp_newsletter_emails set type='email' where type='message'"); $controls->messages = 'Unconverted!'; } if ($controls->is_action('send')) { $newsletter->hook_newsletter(); $controls->messages .= __('Delivery engine triggered.', 'newsletter'); } if ($controls->is_action('copy')) { $original = Newsletter::instance()->get_email($_POST['btn']); $email = array(); $email['subject'] = $original->subject; $email['message'] = $original->message; $email['message_text'] = $original->message_text; $email['send_on'] = time(); $email['type'] = 'message'; $email['editor'] = $original->editor; $email['track'] = $original->track; Newsletter::instance()->save_email($email); $controls->messages .= __('Message duplicated.', 'newsletter'); } if ($controls->is_action('delete')) {
<?php require_once NEWSLETTER_INCLUDES_DIR . '/controls.php'; $controls = new NewsletterControls(); $module = NewsletterEmails::instance(); // Always required $email_id = $_GET['id']; $email = Newsletter::instance()->get_email($email_id, ARRAY_A); // If there is no action we assume we are enter the first time so we populate the // $nc->data with the editable email fields if (!$controls->is_action()) { $controls->data = $email; if (!empty($email['preferences'])) { $controls->data['preferences'] = explode(',', $email['preferences']); } if (!empty($email['sex'])) { $controls->data['sex'] = explode(',', $email['sex']); } $email_options = unserialize($email['options']); if (is_array($email_options)) { $controls->data = array_merge($controls->data, $email_options); } } if ($controls->is_action('test') || $controls->is_action('save') || $controls->is_action('send') || $controls->is_action('editor')) { // If we were editing with visual editor (==0), we must read the extra <body> content if ($email['editor'] == 0) { $x = strpos($email['message'], '<body'); if ($x !== false) { $x = strpos($email['message'], '>', $x); $email['message'] = substr($email['message'], 0, $x + 1) . $controls->data['message'] . '</body></html>'; } else {
<?php require_once NEWSLETTER_INCLUDES_DIR . '/controls.php'; $module = NewsletterStatistics::instance(); $controls = new NewsletterControls(); $emails = Newsletter::instance()->get_emails(); if ($controls->is_action('save')) { $module->save_options($controls->data); $controls->messages = 'Saved.'; } ?> <div class="wrap"> <?php $help_url = 'http://www.thenewsletterplugin.com/plugins/newsletter/statistics-module'; ?> <?php include NEWSLETTER_DIR . '/header-new.php'; ?> <div id="newsletter-title"> <h2>Configuration and Email List</h2> <p> This module is a core part of Newsletter that collects statistics about sent emails: how many have been read, how many have been clicked and so on. </p> <p> To see the statistics of each single email, you should click the "statistics" button you will find near each message where they are listed (like on Newsletters panel). For your
<?php require_once NEWSLETTER_INCLUDES_DIR . '/controls.php'; $controls = new NewsletterControls(); $module = NewsletterUsers::instance(); $id = (int) $_GET['id']; if ($controls->is_action('save')) { // For unselected preferences, force the zero value for ($i = 1; $i <= NEWSLETTER_LIST_MAX; $i++) { if (!isset($controls->data['list_' . $i])) { $controls->data['list_' . $i] = 0; } } $controls->data['id'] = $id; $r = $module->save_user($controls->data); if ($r === false) { $controls->errors = 'Unable to update, may be the email (if changed) is duplicated.'; } else { $controls->messages = 'Updated.'; $controls->data = $module->get_user($id, ARRAY_A); } } if ($controls->is_action('delete')) { $module->delete_user($id); $controls->js_redirect($module->get_admin_page_url('index')); return; } if (!$controls->is_action()) { $controls->data = $module->get_user($id, ARRAY_A); } $options_profile = get_option('newsletter_profile');
<?php require_once NEWSLETTER_INCLUDES_DIR . '/controls.php'; $controls = new NewsletterControls(); $module = NewsletterEmails::instance(); if ($controls->is_action('theme')) { $controls->merge($module->themes->get_options($controls->data['theme'])); $module->save_options($controls->data); } if ($controls->data == null) { $controls->data = $module->get_options(); } function newsletter_emails_update_options($options) { add_option('newsletter_emails', '', null, 'no'); update_option('newsletter_emails', $options); } function newsletter_emails_update_theme_options($theme, $options) { $x = strrpos($theme, '/'); if ($x !== false) { $theme = substr($theme, $x + 1); } add_option('newsletter_emails_' . $theme, '', null, 'no'); update_option('newsletter_emails_' . $theme, $options); } function newsletter_emails_get_options() { $options = get_option('newsletter_emails', array()); return $options; }
<?php @(include_once NEWSLETTER_INCLUDES_DIR . '/controls.php'); $controls = new NewsletterControls(); $module = NewsletterUsers::instance(); $options_profile = get_option('newsletter_profile'); $lists = array(); for ($i = 1; $i <= NEWSLETTER_LIST_MAX; $i++) { if (!isset($options_profile['list_' . $i])) { $options_profile['list_' . $i] = ''; } $lists['' . $i] = '(' . $i . ') ' . $options_profile['list_' . $i]; } if ($controls->is_action('remove_unconfirmed')) { $r = $wpdb->query("delete from " . NEWSLETTER_USERS_TABLE . " where status='S'"); $controls->messages = $r . ' not confirmed deleted.'; } if ($controls->is_action('remove_unsubscribed')) { $r = $wpdb->query("delete from " . NEWSLETTER_USERS_TABLE . " where status='U'"); $controls->messages = $r . ' unsubscribed deleted (profiles associated to WordPress users are never deleted).'; } if ($controls->is_action('remove_bounced')) { $r = $wpdb->query("delete from " . NEWSLETTER_USERS_TABLE . " where status='B'"); $controls->messages = $r . ' bounced deleted.'; } if ($controls->is_action('unconfirm_all')) { $r = $wpdb->query("update " . NEWSLETTER_USERS_TABLE . " set status='S' where status='C'"); $controls->messages = $r . ' unconfirmed.'; } if ($controls->is_action('confirm_all')) { $r = $wpdb->query("update " . NEWSLETTER_USERS_TABLE . " set status='C' where status='S'");