Пример #1
0
function sendConfirmedEmail($id)
{
    global $wpdb;
    $query = "select * from " . $wpdb->prefix . "wpr_subscribers where id={$id}";
    $sub = $wpdb->get_results($query);
    $sub = $sub[0];
    //get the confirmation email and subject from newsletter
    $newsletter = _wpr_newsletter_get($sub->nid);
    $confirmed_subject = $newsletter->confirmed_subject;
    $confirmed_body = $newsletter->confirmed_body;
    //if a registered form was used to subscribe, then override the newsletter's confirmed email.
    $sid = $sub->id;
    //the susbcriber id
    $unsubscriptionURL = wpr_get_unsubscription_url($sid);
    $unsubscriptionInformation = "\n\nTo manage your email subscriptions or to unsubscribe click on the URL below:\n{$unsubscriptionURL}\n\nIf the above URL is not a clickable link simply copy it and paste it in your web browser.";
    $fid = $args[2];
    $query = "SELECT a.* from " . $wpdb->prefix . "wpr_subscription_form a, " . $wpdb->prefix . "wpr_subscribers b  where a.id=b.fid and b.id={$sid};";
    $form = $wpdb->get_results($query);
    if (count($form)) {
        $confirmed_subject = $form[0]->confirmed_subject;
        $confirmed_body = $form[0]->confirmed_body;
    }
    $confirmed_body .= $unsubscriptionInformation;
    $params = array($confirmed_subject, $confirmed_body);
    wpr_place_tags($sub->id, $params);
    $fromname = $newsletter->fromname;
    if (!$fromname) {
        $fromname = get_bloginfo('name');
    }
    $fromemail = $newsletter->fromemail;
    if (!$fromemail) {
        $fromemail = get_bloginfo('admin_email');
    }
    $email = $sub->email;
    $emailBody = $params[1];
    $emailSubject = $params[0];
    $mailToSend = array('to' => $email, 'fromname' => $fromname, 'from' => $fromemail, 'textbody' => $emailBody, 'subject' => $emailSubject);
    try {
        dispatchEmail($mailToSend);
    } catch (Swift_RfcComplianceException $exception) {
        //disable all subscribers with that email.
        $email = $mailToSend['to'];
        $query = "UPDATE " . $wpdb->prefix . "wpr_subscribers set active=3, confirmed=0 where email='{$email}'";
        $wpdb->query($query);
    }
}
Пример #2
0
 public function getUnsubscriptionUrl()
 {
     $unsuburl = wpr_get_unsubscription_url($this->getId());
     return $unsuburl;
 }