Uses json_encode() instead of serialize() to save rendered newsletter
body
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
|
||||
namespace MailPoet\Models;
|
||||
|
||||
use MailPoet\Util\Helpers;
|
||||
|
||||
if(!defined('ABSPATH')) exit;
|
||||
|
||||
class ModelValidator extends \Sudzy\Engine {
|
||||
@@ -35,9 +37,11 @@ class ModelValidator extends \Sudzy\Engine {
|
||||
}
|
||||
|
||||
function validateRenderedNewsletterBody($newsletter_body) {
|
||||
$newsletter_body = (!is_serialized($newsletter_body)) ?
|
||||
$newsletter_body :
|
||||
unserialize($newsletter_body);
|
||||
if(is_serialized($newsletter_body)) {
|
||||
$newsletter_body = unserialize($newsletter_body);
|
||||
} else if(Helpers::isJson($newsletter_body)) {
|
||||
$newsletter_body = json_decode($newsletter_body, true);
|
||||
}
|
||||
return (is_null($newsletter_body) || (is_array($newsletter_body) && !empty($newsletter_body['html']) && !empty($newsletter_body['text'])));
|
||||
}
|
||||
}
|
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
namespace MailPoet\Models;
|
||||
|
||||
use MailPoet\Util\Helpers;
|
||||
use MailPoet\WP\Emoji;
|
||||
|
||||
if(!defined('ABSPATH')) exit;
|
||||
@@ -56,10 +57,10 @@ class SendingQueue extends Model {
|
||||
if(!is_serialized($this->subscribers) && !is_null($this->subscribers)) {
|
||||
$this->set('subscribers', serialize($this->subscribers));
|
||||
}
|
||||
if(!is_serialized($this->newsletter_rendered_body) && !is_null($this->newsletter_rendered_body)) {
|
||||
if(!Helpers::isJson($this->newsletter_rendered_body) && !is_null($this->newsletter_rendered_body)) {
|
||||
$this->set(
|
||||
'newsletter_rendered_body',
|
||||
serialize($this->encodeEmojisInBody($this->newsletter_rendered_body))
|
||||
json_encode($this->encodeEmojisInBody($this->newsletter_rendered_body))
|
||||
);
|
||||
}
|
||||
// set the default priority to medium
|
||||
@@ -84,9 +85,7 @@ class SendingQueue extends Model {
|
||||
}
|
||||
|
||||
function getNewsletterRenderedBody($type = false) {
|
||||
$rendered_newsletter = (!is_serialized($this->newsletter_rendered_body)) ?
|
||||
$this->newsletter_rendered_body :
|
||||
$this->decodeEmojisInBody(unserialize($this->newsletter_rendered_body));
|
||||
$rendered_newsletter = $this->decodeRenderedNewsletterBodyObject($this->newsletter_rendered_body);
|
||||
return ($type && !empty($rendered_newsletter[$type])) ?
|
||||
$rendered_newsletter[$type] :
|
||||
$rendered_newsletter;
|
||||
@@ -165,4 +164,15 @@ class SendingQueue extends Model {
|
||||
}
|
||||
return $this->save();
|
||||
}
|
||||
|
||||
private function decodeRenderedNewsletterBodyObject($rendered_body) {
|
||||
if(is_serialized($rendered_body)) {
|
||||
return $this->decodeEmojisInBody(unserialize($rendered_body));
|
||||
}
|
||||
if(Helpers::isJson($rendered_body)) {
|
||||
return $this->decodeEmojisInBody(json_decode($rendered_body, true));
|
||||
}
|
||||
return $rendered_body;
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user