From 4c898b76b22d9078ff898e76dcf1c6581e5edfe5 Mon Sep 17 00:00:00 2001 From: Vlad Date: Mon, 24 Jul 2017 11:15:00 -0400 Subject: [PATCH] Uses ValidModel to validate rendered newsletter body Removes previous validation method Does not serialize null values --- lib/Models/SendingQueue.php | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/lib/Models/SendingQueue.php b/lib/Models/SendingQueue.php index cd335278e4..a537997f37 100644 --- a/lib/Models/SendingQueue.php +++ b/lib/Models/SendingQueue.php @@ -12,6 +12,14 @@ class SendingQueue extends Model { const PRIORITY_MEDIUM = 5; const PRIORITY_LOW = 10; + function __construct() { + parent::__construct(); + + $this->addValidations('newsletter_rendered_body', array( + 'validRenderedNewsletterBody' => __('Rendered newsletter body is invalid!', 'mailpoet') + )); + } + function newsletter() { return $this->has_one(__NAMESPACE__ . '\Newsletter', 'id', 'newsletter_id'); } @@ -43,10 +51,10 @@ class SendingQueue extends Model { } function save() { - if(!is_serialized($this->subscribers)) { + if(!is_serialized($this->subscribers) && !is_null($this->newsletter_rendered_body)) { $this->set('subscribers', serialize($this->subscribers)); } - if(!is_serialized($this->newsletter_rendered_body)) { + if(!is_serialized($this->newsletter_rendered_body) && !is_null($this->newsletter_rendered_body)) { $this->set('newsletter_rendered_body', serialize($this->newsletter_rendered_body)); } // set the default priority to medium @@ -119,11 +127,6 @@ class SendingQueue extends Model { $this->updateCount(); } - function isRenderedNewsletterBodyValid() { - $newsletter_body = $this->getNewsletterRenderedBody(); - return (is_array($newsletter_body) && !empty($newsletter_body['html']) && !empty($newsletter_body['text'])); - } - function updateCount() { $this->subscribers = $this->getSubscribers(); $this->count_processed = count($this->subscribers['processed']);