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); } }
public function getUnsubscriptionUrl() { $unsuburl = wpr_get_unsubscription_url($this->getId()); return $unsuburl; }