42 lines
1.1 KiB
PHP
42 lines
1.1 KiB
PHP
<?php
|
|
class visitors_edits_EMAIL{
|
|
var $subject;
|
|
var $body;
|
|
public function __construct($cpts,$template){
|
|
$template=$this->loadTemplate($template);
|
|
$this->subject=$this->inject($template["subject"],$cpts);
|
|
$this->body=$this->inject($template["body"],$cpts);
|
|
}
|
|
public function send($destination){
|
|
|
|
$options=get_option( "visitors_edits_options", [
|
|
"admin_email"=>"",
|
|
"notify_admin"=>null
|
|
]);
|
|
|
|
$headers = "Content-Type: text/html; charset=UTF-8\r\n";
|
|
wp_mail($destination, $this->subject, $this->body, $headers);
|
|
}
|
|
private function loadTemplate($template){
|
|
ob_start();
|
|
require("mail_templates/".$template.".html");
|
|
$templateHtml=ob_get_clean();
|
|
preg_match("|<subject>(.*)</subject>|",$templateHtml,$subject);
|
|
$templateHtml=preg_replace("|<subject>.*</subject>|","",$templateHtml);
|
|
return [
|
|
"subject"=>$subject[1],
|
|
"body"=>$templateHtml
|
|
];
|
|
}
|
|
private function inject($str,$body){
|
|
foreach ($body as $key => $value) {
|
|
$str=str_replace("#$key#",$value,$str);
|
|
}
|
|
return $str;
|
|
}
|
|
public function preview(){
|
|
echo $this->subject;
|
|
echo $this->body;
|
|
}
|
|
}
|
|
?>
|