示例#1
0
function wpr_replace_tags($sid, &$subject, &$body, $additional = array())
{
    global $wpdb;
    $query = "SELECT * FROM " . $wpdb->prefix . "wpr_subscribers WHERE id='{$sid}'";
    $subscriber = $wpdb->get_results($query);
    $subscriber = $subscriber[0];
    $nid = $subscriber->nid;
    $newsletter = new Newsletter($nid);
    $parameters = array();
    //newsletter name
    $newsletterName = $newsletter->getNewsletterName();
    $parameters['newslettername'] = $newsletterName;
    $query = "SELECT * FROM " . $wpdb->prefix . "wpr_custom_fields where nid='{$nid}'";
    $custom_fields = $wpdb->get_results($query);
    //blog name
    $parameters['sitename'] = get_bloginfo("name");
    //blog url
    $parameters['homeurl'] = get_bloginfo("home");
    //subscriber name
    $parameters['name'] = $subscriber->name;
    //the address of the sender (as required by can spam)
    $parameters['address'] = get_option("wpr_admin_address");
    //the email address
    $parameters['email'] = $subscriber->email;
    //admin email
    $parameters['adminemail'] = get_option('admin_email');
    $query = "select * from " . $wpdb->prefix . "wpr_subscribers_{$nid} where id={$id};";
    $subscriber = $wpdb->get_results($query);
    $subscriber = $subscriber[0];
    //custom fields defined by the administrator
    foreach ($custom_fields as $custom_field) {
        $name = $custom_field->name;
        $parameters[$custom_field->name] = $subscriber->{$name};
    }
    $parameters = array_merge($parameters, $additional);
    foreach ($parameters as $name => $value) {
        $subject = str_replace("[!{$name}!]", $value, $subject);
        $body = str_replace("[!{$name}!]", $value, $body);
    }
}
示例#2
0
function _wpr_newsletter_delete()
{
    global $wpdb;
    $prefix = $wpdb->prefix;
    $nid = $_GET['nid'];
    try {
        $newsletter = new Newsletter($nid);
    } catch (Exception $excp) {
        _wpr_set("_wpr_view", "newsletter_delete_not_found");
        return;
    }
    if (isset($_GET['confirmed']) && $_GET['confirmed'] == 'true') {
        $newsletter->delete();
        $newsletter_home = Routing::newsletterHome();
        wp_redirect($newsletter_home);
    }
    $getEmailsPendingDeliveryQuery = sprintf("SELECT COUNT(*) number FROM %swpr_queue WHERE sid=(SELECT id FROM %swpr_subscribers WHERE nid=%d) AND sent=0;", $prefix, $prefix, $nid);
    $emails_pending_count_result = $wpdb->get_results($getEmailsPendingDeliveryQuery);
    $number_pending = $emails_pending_count_result[0]->number;
    _wpr_set("newsletter_name", $newsletter->getNewsletterName());
    _wpr_set("subscriber_count", $newsletter->getNumberOfActiveSubscribers());
    _wpr_set("_wpr_view", "newsletter_delete");
    _wpr_set("nid", $nid);
    _wpr_set("emailsPendingDelivery", $number_pending);
}