Add a method for sending newsletters via new Mailer class

This commit is contained in:
Tautvidas Sipavičius
2016-01-13 13:04:21 +02:00
parent 1b2cf7bd16
commit 2cb32e7a78
4 changed files with 54 additions and 18 deletions

View File

@ -217,6 +217,43 @@ class Newsletters {
wp_send_json(array('rendered_body' => $renderer->render()));
}
function sendPreview($data = array()) {
$id = (isset($data['id'])) ? (int) $data['id'] : 0;
$newsletter = Newsletter::findOne($id);
if($newsletter === false) {
wp_send_json(array(
'result' => false
));
} else {
$newsletter = $newsletter->asArray();
$renderer = new Renderer($newsletter);
$rendered_body = $renderer->render();
$newsletter['body'] = array(
'html' => $rendered_body,
'text' => '',
);
try {
$mailer = new \MailPoet\Mailer\Mailer(
false,
(isset($data['sender'])) ? $data['sender'] : false,
false
);
wp_send_json(array(
'result' => $mailer->send($newsletter, $data['subscriber'])
));
} catch (\Exception $e) {
wp_send_json(array(
'result' => false,
'errors' => array($e->getMessage()),
));
}
}
}
function listing($data = array()) {
$listing = new Listing\Handler(
'\MailPoet\Models\Newsletter',