function _wpr_process_sendmail_parameters($sid, $params, $footerMessage = "") { global $wpdb; $subscriber = new Subscriber($sid); $newsletter = _wpr_newsletter_get($subscriber->getNewsletterId()); //if the fromname field is set in the newsletter, then use that value otherwise use the blog name. $fromname = !empty($params['fromname']) ? $params['fromname'] : !empty($newsletter->fromname) ? $newsletter->fromname : get_bloginfo("name"); if ($newsletter->reply_to) { $replyto = $newsletter->reply_to; } $unsuburl = wpr_get_unsubscription_url($sid); $subject = $params['subject']; $address = get_option("wpr_address"); $textUnSubMessage = "\n\n{$address}\n\n" . __("To unsubscribe or change subscription options visit", 'wpr_autoresponder') . ":\r\n\r\n{$unsuburl}"; $reply_to = $newsletter->reply_to; $htmlbody = trim($params['htmlbody']); $textbody = $params['textbody']; $subject = $params['subject']; //append the address and the unsub link to the email $address = "<br>\n<br>\n" . nl2br(get_option("wpr_address")) . "<br>\n<br>\n"; $htmlUnSubscribeMessage = "<br><br>" . $address . "<br><br>" . __("To unsubscribe or change subscriber options visit:", 'wpr_autoresponder') . "<br />\n\r\n <a href=\"{$unsuburl}\">{$unsuburl}</a>"; $htmlenabled = $params['htmlenabled'] ? 1 : 0; if (!empty($htmlbody)) { if ($footerMessage && !empty($htmlbody)) { $htmlbody .= nl2br($footerMessage) . "<br>\n<br>\n"; } if (strstr($htmlbody, "[!unsubscribe!]")) { $htmlbody = str_replace("[!unsubscribe!]", $unsuburl, $htmlbody); } else { $htmlbody .= $htmlUnSubscribeMessage; } } if ($footerMessage) { $params['textbody'] .= $footerMessage . "\n\n"; } if (strstr($params['textbody'], "[!unsubscribe!]")) { $textbody = str_replace("[!unsubscribe!]", $unsuburl, $textbody); } else { $textbody = $params['textbody'] . $textUnSubMessage; } $textbody = addslashes($textbody); $htmlbody = addslashes($htmlbody); $subject = addslashes($subject); $time = time(); $subject = str_replace("[!name!]", $subscriber->getName(), $subject); $textbody = str_replace("[!name!]", $subscriber->getName(), $textbody); $htmlbody = str_replace("[!name!]", $subscriber->getName(), $htmlbody); $delivery_type = !empty($params['delivery_type']) ? $params['delivery_type'] : 0; $email_type = !empty($params['email_type']) ? $params['email_type'] : 'misc'; $meta_key = !empty($params['meta_key']) ? $params['meta_key'] : "Misc-{$sid}-{$time}"; $hash = make_hash(array_merge(array('sid' => $sid), $params)); $from = !empty($params['fromemail']) ? $params['fromemail'] : !empty($newsletter->fromemail) ? $newsletter->fromemail : get_bloginfo('admin_email'); $parameters = array('from' => $from, 'fromname' => $fromname, 'to' => $subscriber->email, 'reply_to' => $reply_to, 'subject' => $subject, 'htmlbody' => $htmlbody, 'textbody' => $textbody, 'headers' => '', 'htmlenabled' => $htmlenabled, 'delivery_type' => $delivery_type, 'email_type' => $email_type, 'meta_key' => $meta_key, 'hash' => $hash); return $parameters; }
public static function replaceCustomFieldValues($string, Subscriber $subscriber) { $name = $subscriber->getName(); $string = str_replace("[!name!]", $name, $string); $values = $subscriber->getCustomFieldValuesByLabels(); foreach ($values as $name => $value) { $string = str_replace("[!{$name}!]", $value, $string); } return $string; }