コード例 #1
0
ファイル: emails.php プロジェクト: raminabsari/phonicsschool
 function get_current_theme_options()
 {
     $theme_options = $this->themes->get_options($this->get_current_theme());
     // main options merge
     $main_options = Newsletter::instance()->options;
     foreach ($main_options as $key => $value) {
         $theme_options['main_' . $key] = $value;
     }
     return $theme_options;
 }
コード例 #2
0
ファイル: index.php プロジェクト: chicosilva/olharambiental
}
//if (isset($controls->data['search_test'])) {
//    $where .= " and test=1";
//}
if (!empty($controls->data['search_status'])) {
    if ($controls->data['search_status'] == 'T') {
        $where .= " and test=1";
    } else {
        $query_args[] = $controls->data['search_status'];
        $where .= " and status=%s";
    }
}
// Total items, total pages
$items_per_page = 20;
$where = $wpdb->prepare($where, $query_args);
$count = Newsletter::instance()->store->get_count(NEWSLETTER_USERS_TABLE, $where);
$last_page = floor($count / $items_per_page) - ($count % $items_per_page == 0 ? 1 : 0);
if ($last_page < 0) {
    $last_page = 0;
}
if ($controls->is_action('last')) {
    $controls->data['search_page'] = $last_page;
}
if ($controls->is_action('first')) {
    $controls->data['search_page'] = 0;
}
if ($controls->is_action('next')) {
    $controls->data['search_page'] = (int) $controls->data['search_page'] + 1;
}
if ($controls->is_action('prev')) {
    $controls->data['search_page'] = (int) $controls->data['search_page'] - 1;
コード例 #3
0
 function mail($to, $subject, $message, $headers = null)
 {
     $newsletter = Newsletter::instance();
     if ($this->mandrill == null) {
         require_once dirname(__FILE__) . '/api/Mandrill.php';
         $mandrill = new Mandrill($this->options['smtp_password']);
     }
     $data = array();
     if (!is_array($message)) {
         $data['html'] = $message;
     } else {
         if (!empty($message['html'])) {
             $data['html'] = $message['html'];
         }
         if (!empty($message['text'])) {
             $data['text'] = $message['text'];
         }
     }
     $data['subject'] = $subject;
     $data['to'] = array(array('email' => $to, 'type' => 'to'));
     if (isset($headers['X-Newsletter-Email-Id'])) {
         $data['tags'] = array('Newsletter ' . $headers['X-Newsletter-Email-Id']);
     }
     if (!empty($headers)) {
         $data['headers'] = $headers;
     } else {
         $data['headers'] = array();
     }
     $data['from_email'] = $newsletter->options['sender_email'];
     $data['from_name'] = $newsletter->options['sender_name'];
     if (!empty($newsletter->options['reply_to'])) {
         $data['headers']['Reply-To'] = $newsletter->options['reply_to'];
     }
     try {
         //    $async = false;
         //    $ip_pool = 'Main Pool';
         //    $send_at = 'example send_at';
         //    $result = $mandrill->messages->send($message, $async, $ip_pool, $send_at);
         $this->mandrill_result = $mandrill->messages->send($data);
         //print_r($result);
         return true;
     } catch (Mandrill_Error $e) {
         $this->mandrill_result = $e->getMessage();
         // Mandrill errors are thrown as exceptions
         //echo 'A mandrill error occurred: ' . get_class($e) . ' - ' . $e->getMessage();
         // A mandrill error occurred: Mandrill_Unknown_Subaccount - No subaccount exists with the id 'customer-123'
         //throw $e;
         return false;
     }
 }
コード例 #4
0
ファイル: index.php プロジェクト: ilke-zilci/newcomers-wp
    $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')) {
    Newsletter::instance()->delete_email($_POST['btn']);
    $controls->messages .= __('Message deleted.', 'newsletter');
}
if ($controls->is_action('delete_selected')) {
    $r = Newsletter::instance()->delete_email($_POST['ids']);
    $controls->messages .= $r . ' message(s) deleted';
}
$emails = Newsletter::instance()->get_emails('message');
?>

<div class="wrap" id="tnp-wrap">

    <?php 
$help_url = 'http://www.thenewsletterplugin.com/plugins/newsletter/newsletters-module';
?>
    
    <?php 
include NEWSLETTER_DIR . '/tnp-header.php';
?>

    <div id="tnp-heading">
    
    <h2><?php 
コード例 #5
0
 /**
  * Send emails during the subscription process. Emails are themes with email.php file.
  * @global type $newsletter
  * @return type
  */
 function mail($to, $subject, $message)
 {
     // If the template setup on administrative panel is enabled, use it, if not
     // use the default old templating system.
     if ($this->options['template_enabled'] == 1) {
         $template = $this->options['template'];
         if (strpos($template, '{message}') === false) {
             $template .= '{message}';
         }
         $message = str_replace('{message}', $message, $template);
     } else {
         ob_start();
         include NEWSLETTER_DIR . '/subscription/email.php';
         $message = ob_get_clean();
     }
     return Newsletter::instance()->mail($to, $subject, $message);
 }
コード例 #6
0
<?php 
if (NEWSLETTER_DEBUG || !isset($dismissed['newsletter-page']) && empty(NewsletterSubscription::instance()->options['url'])) {
    ?>
    <div class="notice">
        <a href="<?php 
    echo $_SERVER['REQUEST_URI'] . '&dismiss=newsletter-page';
    ?>
" class="dismiss">&times;</a>
        <p>
            You should create a blog page to show the subscription form and the subscription messages. Go to the
            <a href="?page=newsletter_subscription_options">subscription panel</a> to
            configure it.
        </p>
    </div>
<?php 
}
?>

<div id="tnp-notification">
    <?php 
Newsletter::instance()->warnings();
?>
    <?php 
if (isset($controls)) {
    $controls->show();
    $controls->messages = '';
    $controls->errors = '';
}
?>
</div>
コード例 #7
0
ファイル: edit.php プロジェクト: taeche/SoDoEx
    $email['status'] = 'sending';
}
if ($controls->is_action('abort')) {
    $wpdb->query("update " . NEWSLETTER_EMAILS_TABLE . " set last_id=0, total=0, sent=0, status='new' where id=" . $email_id);
    $email['status'] = 'new';
    $email['total'] = 0;
    $email['sent'] = 0;
    $email['last_id'] = 0;
    $controls->messages = "Sending aborted.";
}
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 {
        Newsletter::instance()->send(Newsletter::instance()->get_email($email_id), $users);
        $controls->messages .= 'Test emails sent to ' . count($users) . ' test subscribers. Read more about test subscribers <a href="http://www.thenewsletterplugin.com/plugins/newsletter/subscribers-module#test" target="_blank">here</a>.';
    }
    $controls->messages .= '<br>If diagnostic emails are delivered but test emails are not, try to change the encoding to "base 64" on main configuration panel';
}
if ($email['editor'] == 0) {
    $x = strpos($controls->data['message'], '<body');
    // Some time the message in $nc->data is already cleaned up, it depends on action called
    if ($x !== false) {
        $x = strpos($controls->data['message'], '>', $x);
        $y = strpos($controls->data['message'], '</body>');
        $controls->data['message'] = substr($controls->data['message'], $x + 1, $y - $x - 1);
    }
}
?>
コード例 #8
0
ファイル: options.php プロジェクト: chicosilva/olharambiental
 }
 if ($controls->is_action('test-template')) {
     $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 = str_replace('{message}', $message, $template);
         $addresses = array();
         foreach ($users as &$user) {
             $addresses[] = $user->email;
             Newsletter::instance()->mail($user->email, 'Newsletter Messages Template Test', $newsletter->replace($message, $user));
         }
         $controls->messages .= 'Test emails sent to ' . count($users) . ' test subscribers: ' . implode(', ', $addresses) . '. Read more about test subscribers <a href="http://www.thenewsletterplugin.com/plugins/newsletter/subscribers-module#test" target="_blank">here</a>.';
     }
 }
 if ($controls->is_action('test-confirmation')) {
     $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 = str_replace('{message}', $message, $template);
コード例 #9
0
ファイル: csv.php プロジェクト: imeuro/escapelifestyle
<?php

require_once '../../../../wordpress/wp-load.php';
$newsletter = Newsletter::instance();
require_once NEWSLETTER_INCLUDES_DIR . '/controls.php';
// TODO: Check the user capabilities
if (current_user_can('manage_options') || $newsletter->options['editor'] == 1 && current_user_can('manage_categories')) {
    $controls = new NewsletterControls();
    if ($controls->is_action('export')) {
        NewsletterUsers::instance()->export($controls->data);
    }
} else {
    die('Not allowed.');
}
コード例 #10
0
ファイル: change.php プロジェクト: ilke-zilci/newcomers-wp
<?php

header('Content-Type: text/html;charset=UTF-8');
header('X-Robots-Tag: noindex,nofollow,noarchive');
header('Cache-Control: no-cache,no-store,private');
include '../../../../wp-load.php';
$user = Newsletter::instance()->get_user_from_request(true);
$field = $_REQUEST['nf'];
$value = $_REQUEST['nv'];
$url = $_REQUEST['nu'];
switch ($field) {
    case 'sex':
        if (!in_array($value, array('f', 'm', 'n'))) {
            die('Invalid sex value');
        }
        NewsletterUsers::instance()->set_user_field($user->id, 'sex', $value);
        break;
        // Should be managed by Feed by Mail
    // Should be managed by Feed by Mail
    case 'feed':
        if (isset($value) && ($value === '0' || $value === '1')) {
            NewsletterUsers::instance()->set_user_field($user->id, 'feed', $value);
        } else {
            die('Invalid feed value');
        }
        break;
}
if (strpos($field, 'preference_') === 0) {
    $idx = (int) substr($field, 11);
    $options_profile = get_option('newsletter_profile');
    if ($options_profile['list_' . $idx . '_status'] == 0) {
コード例 #11
0
ファイル: link.php プロジェクト: radikalportal/radikalportal
//die($url);
$verified = $parts['host'] == $_SERVER['HTTP_HOST'];
if (!$verified) {
    $options = NewsletterStatistics::instance()->options;
    $verified = $key == md5($email_id . ';' . $user_id . ';' . $url . ';' . $anchor . $options['key']);
}
// For feed by mail tests
if ($verified && empty($email_id) && is_user_logged_in()) {
    header('Location: ' . $url);
    die;
}
$ip = preg_replace('/[^0-9a-fA-F:., ]/', '', $_SERVER['REMOTE_ADDR']);
if ($verified) {
    $wpdb->insert(NEWSLETTER_STATS_TABLE, array('email_id' => $email_id, 'user_id' => $user_id, 'url' => $url, 'ip' => $ip));
    $wpdb->query($wpdb->prepare("update " . NEWSLETTER_SENT_TABLE . " set open=2, ip=%s where email_id=%d and user_id=%d limit 1", $ip, $email_id, $user_id));
    $user = Newsletter::instance()->get_user($user_id);
    if ($user) {
        setcookie('newsletter', $user->id . '-' . $user->token, time() + 60 * 60 * 24 * 365, '/');
    }
    header('Location: ' . $url);
    die;
} else {
    header("HTTP/1.0 404 Not Found");
    //header('Location: ' . home_url());
    //die();
}
?>
<html>
    <head>
        <style>
            body {
コード例 #12
0
ファイル: lock.php プロジェクト: radikalportal/radikalportal
 function shortcode_newsletter_lock($attrs, $content = null)
 {
     global $hyper_cache_stop, $cache_stop;
     $hyper_cache_stop = true;
     $cache_stop = true;
     $this->found = true;
     $user = $this->check_user();
     if ($user != null && $user->status == 'C') {
         return do_shortcode($content);
     }
     $buffer = $this->options['message'];
     $buffer = str_ireplace('<form', '<form method="post" action="' . plugins_url('newsletter/do/subscribe.php') . '"', $buffer);
     $buffer = Newsletter::instance()->replace($buffer, null, null, 'lock');
     $buffer = do_shortcode($buffer);
     return '<div class="newsletter-lock">' . $buffer . '</div>';
 }
コード例 #13
0
ファイル: index.php プロジェクト: radikalportal/radikalportal
    ?>
" href="<?php 
    echo NewsletterStatistics::instance()->get_statistics_url($email->id);
    ?>
"><i class="fa fa-bar-chart"></i></a>
                                            </td>
                                        </tr>
<?php 
}
?>
                                </table>
                            </div>
                        </div>
                        <!-- END Newsletters -->
<?php 
if (empty(Newsletter::instance()->options['contract_key'])) {
    ?>
                            <!-- START Premium -->
                            <div id="tnp-dash-premium" class="postbox">
                                <h3><?php 
    _e('Premium', 'newsletter');
    ?>
                                    <a href="http://www.thenewsletterplugin.com/extensions" target="_blank">
                                        <i class="fa fa-trophy"></i> <?php 
    _e('Buy', 'newsletter');
    ?>
                                    </a>
                                </h3>
                                <div class="inside">
                                    <div>
                                        <a href="http://www.thenewsletterplugin.com/extensions" target="_blank">
コード例 #14
0
ファイル: plugin.php プロジェクト: manhhung86it/builder-site
 /**
  * @return Newsletter
  */
 static function instance()
 {
     if (self::$instance == null) {
         self::$instance = new Newsletter();
     }
     return self::$instance;
 }
コード例 #15
0
ファイル: grabber.php プロジェクト: kfwebdev/wp-atd
 function hook_site_transient_update_plugins($value)
 {
     if (!class_exists('Newsletter')) {
         return $value;
     }
     // See the wp_update_plugins function
     if (!is_object($value)) {
         return $value;
     }
     if (!isset($value->response[$this->plugin])) {
         return $value;
     }
     if (defined('NEWSLETTER_LICENSE_KEY')) {
         $value->response[$this->plugin]->package = 'http://www.thenewsletterplugin.com/wp-content/plugins/file-commerce-pro/get.php?f=' . $this->id . '&k=' . NEWSLETTER_LICENSE_KEY;
     } else {
         $value->response[$this->plugin]->package = 'http://www.thenewsletterplugin.com/wp-content/plugins/file-commerce-pro/get.php?f=' . $this->id . '&k=' . Newsletter::instance()->options['contract_key'];
     }
     return $value;
 }
コード例 #16
0
ファイル: smtp.php プロジェクト: radikalportal/radikalportal
<?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'])) {
コード例 #17
0
 function get_email_from_request()
 {
     $newsletter = Newsletter::instance();
     if (isset($_REQUEST['nek'])) {
         list($id, $token) = @explode('-', $_REQUEST['nek'], 2);
     } else {
         return null;
     }
     $email = $newsletter->get_email($id);
     return $email;
 }
コード例 #18
0
                    <tr valign="top">
                        <th>Enabled?</th>
                        <td>
                            <?php 
$controls->yesno('enabled');
?>
                        </td>
                    </tr>
                    <tr valign="top">
                        <th>License key</th>
                        <td>
                            <?php 
if (empty(Newsletter::instance()->options['contract_key'])) {
    echo 'Not set';
} else {
    echo Newsletter::instance()->options['contract_key'];
}
?>
                            <p class="description">
                                The license key can be set on main Newsletter configuration and will be used for the one clic
                                update feature.
                            </p>
                        </td>
                    </tr>
                </table>
            </div>


            <div id="tabs-smtp">

                <p>
コード例 #19
0
ファイル: css.php プロジェクト: manhhung86it/builder-site
<?php

include '../../../../wp-load.php';
$email_id = (int) $_GET['id'];
$body = Newsletter::instance()->get_email_field($email_id, 'message');
$x = strpos($body, '<style');
if ($x === false) {
    return;
}
$x = strpos($body, '>', $x);
$y = strpos($body, '</style>');
header('Content-Type: text/css');
echo substr($body, $x + 1, $y - $x - 1);
コード例 #20
0
ファイル: edit.php プロジェクト: radikalportal/radikalportal
                <?php 
if ($email['editor'] == 0) {
    $controls->editor('message', 30);
} else {
    $controls->textarea_preview('message', '100%', '700');
}
?>


            </div>


            <div id="tabs-b">
                <?php 
if (Newsletter::instance()->options['phpmailer'] == 0) {
    ?>
                <p class="tnp-tab-warning">The text part is sent only when Newsletter manages directly the sending process. <a href="admin.php?page=newsletter_main_main" target="_blank">See the main settings</a>.</p>
                <?php 
}
?>
                <p>
                    This is the textual version of your newsletter. If you empty it, only an HTML version will be sent but
                    is an anti-spam best practice to include a text only version.
                </p>

                <?php 
$controls->textarea_fixed('message_text', '100%', '500');
?>
            </div>
コード例 #21
0
ファイル: create.php プロジェクト: raminabsari/phonicsschool
}
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)) {
        $email['subject'] = $theme_subject;
    }
    ob_start();
    include $module->get_current_theme_file_path('theme-text.php');
    $email['message_text'] = ob_get_clean();
    $email['type'] = 'message';
    $email['send_on'] = time();
    $email = Newsletter::instance()->save_email($email);
    header('Location: ' . $module->get_admin_page_url('edit') . '&id=' . $email->id);
}
コード例 #22
0
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');
    wp_schedule_event(time() + 30, 'newsletter', 'newsletter');
    $controls->messages = 'Delivery engine reactivated.';
}
if ($controls->is_action('upgrade')) {
    // TODO: Compact them in a call to Newsletter which should be able to manage the installed modules
    Newsletter::instance()->upgrade();
    NewsletterUsers::instance()->upgrade();
    NewsletterSubscription::instance()->upgrade();
    NewsletterEmails::instance()->upgrade();
    NewsletterStatistics::instance()->upgrade();
    if (method_exists('NewsletterFollowup', 'upgrade')) {
        NewsletterFollowup::instance()->upgrade();
    }
    $controls->messages = 'Upgrade forced!';
}
if ($controls->is_action('upgrade_old')) {
    $row = $wpdb->get_row("select * from " . NEWSLETTER_USERS_TABLE . " limit 1");
    if (!isset($row->id)) {
        $row = $wpdb->query("alter table " . NEWSLETTER_USERS_TABLE . " drop primary key");
        $row = $wpdb->query("alter table " . NEWSLETTER_USERS_TABLE . " add column id int not null auto_increment primary key");
        $row = $wpdb->query("alter table " . NEWSLETTER_USERS_TABLE . " add unique email (email)");
コード例 #23
0
 /**
  * Loads the user using the request parameters (nk or nt and ni).
  *
  * @global Newsletter $newsletter
  * @return null
  */
 function get_user_from_request()
 {
     $newsletter = Newsletter::instance();
     if (isset($_REQUEST['nk'])) {
         list($id, $token) = @explode('-', $_REQUEST['nk'], 2);
     } else {
         if (isset($_REQUEST['ni'])) {
             $id = (int) $_REQUEST['ni'];
             $token = $_REQUEST['nt'];
         } else {
             return null;
         }
     }
     $user = $newsletter->get_user($id);
     if ($user == null || $token != $user->token) {
         return null;
     }
     return $user;
 }
コード例 #24
0
ファイル: view.php プロジェクト: manhhung86it/builder-site
<?php

/**
 * This is a generic viewer for sent emails. It is not binded to one shot emails, it can display even the emails from
 * updates or feed by mail module.
 */
header('Content-Type: text/html;charset=UTF-8');
header('X-Robots-Tag: noindex,nofollow,noarchive');
header('Cache-Control: no-cache,no-store,private');
include '../../../../wp-load.php';
// TODO: Change to Newsletter::instance()->get:email(), not urgent
$email = Newsletter::instance()->get_email((int) $_GET['id']);
if (empty($email)) {
    die('Email not found');
}
$user = NewsletterSubscription::instance()->get_user_from_request();
if (is_file(WP_CONTENT_DIR . '/extensions/newsletter/view.php')) {
    include WP_CONTENT_DIR . '/extensions/newsletter/view.php';
    die;
}
echo $newsletter->replace($email->message, $user, $email->id);
コード例 #25
0
ファイル: plugin.php プロジェクト: blocher/oneholyname
 /**
  * Completes the WordPress plugin update data with the extension data. 
  * $value is the data WordPress is saving
  * $extension is an instance of an extension
  */
 function set_extension_update_data($value, $extension)
 {
     // See the wp_update_plugins function
     if (!is_object($value)) {
         return $value;
     }
     // If someone registered our extension name on wordpress.org... get rid of it otherwise
     // our extenions will be overwritten!
     unset($value->response[$extension->plugin]);
     unset($value->no_update[$extension->plugin]);
     if (defined('NEWSLETTER_EXTENSION_UPDATE') && !NEWSLETTER_EXTENSION_UPDATE) {
         return $value;
     }
     if (!function_exists('get_plugin_data')) {
         return $value;
     }
     $new_version = $this->get_extension_version($extension->id);
     if (empty($new_version)) {
         return $value;
     }
     if (function_exists('get_plugin_data')) {
         if (file_exists(WP_PLUGIN_DIR . '/' . $extension->plugin)) {
             $plugin_data = get_plugin_data(WP_PLUGIN_DIR . '/' . $extension->plugin, false, false);
         } else {
             if (file_exists(WPMU_PLUGIN_DIR . '/' . $extension->plugin)) {
                 $plugin_data = get_plugin_data(WPMU_PLUGIN_DIR . '/' . $extension->plugin, false, false);
             }
         }
     }
     if (!isset($plugin_data)) {
         return $value;
     }
     if (version_compare($new_version, $plugin_data['Version']) <= 0) {
         return $value;
     }
     $plugin = new stdClass();
     $plugin->id = $extension->id;
     $plugin->slug = $extension->slug;
     $plugin->plugin = $extension->plugin;
     $plugin->new_version = $new_version;
     $plugin->url = '';
     $value->response[$extension->plugin] = $plugin;
     if (defined('NEWSLETTER_LICENSE_KEY')) {
         $value->response[$extension->plugin]->package = 'http://www.thenewsletterplugin.com/wp-content/plugins/file-commerce-pro/get.php?f=' . $extension->id . '&k=' . NEWSLETTER_LICENSE_KEY;
     } else {
         $value->response[$extension->plugin]->package = 'http://www.thenewsletterplugin.com/wp-content/plugins/file-commerce-pro/get.php?f=' . $extension->id . '&k=' . Newsletter::instance()->options['contract_key'];
     }
     return $value;
 }
コード例 #26
0
ファイル: users.php プロジェクト: ilke-zilci/newcomers-wp
 /**
  *
  * @global Newsletter $newsletter
  * @param int|string $id_or_email
  * @param string $status
  * @return boolean
  */
 function set_user_status($id_or_email, $status)
 {
     $newsletter = Newsletter::instance();
     return $newsletter->set_user_status($id_or_email, $status);
 }
コード例 #27
0
ファイル: index.php プロジェクト: taeche/SoDoEx
<?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
コード例 #28
0
ファイル: edit.php プロジェクト: radikalportal/radikalportal
        } 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');
$panels = Newsletter::instance()->panels;
//$wpdb->query($wpdb->prepare("insert ignore into " . $wpdb->prefix . "newsletter_sent (user_id, email_id, time) select user_id, email_id, UNIX_TIMESTAMP(created) from " . NEWSLETTER_STATS_TABLE . " where user_id=%d", $id));
function percent($value, $total)
{
    if ($total == 0) {
        return '-';
    }
    return sprintf("%.2f", $value / $total * 100) . '%';
}
function percentValue($value, $total)
{
    if ($total == 0) {
        return 0;
    }
    return round($value / $total * 100);
}