Use proper check for existence
[MAILPOET-2535]
This commit is contained in:
committed by
Jack Kitterhing
parent
f1da8e5c36
commit
650f9a8c90
@@ -36,7 +36,7 @@ class WooCommercePastOrders extends SimpleWorker {
|
||||
|
||||
function processTaskStrategy(ScheduledTask $task) {
|
||||
$oldest_click = StatisticsClicks::orderByAsc('created_at')->limit(1)->findOne();
|
||||
if (!$oldest_click) {
|
||||
if (!$oldest_click instanceof StatisticsClicks) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@@ -775,7 +775,7 @@ class Newsletter extends Model {
|
||||
foreach ($data['filter'] as $key => $value) {
|
||||
if ($key === 'segment') {
|
||||
$segment = Segment::findOne($value);
|
||||
if ($segment !== false) {
|
||||
if ($segment instanceof Segment) {
|
||||
$orm = $segment->newsletters();
|
||||
}
|
||||
}
|
||||
@@ -1149,7 +1149,7 @@ class Newsletter extends Model {
|
||||
|
||||
static function findOneWithOptions($id) {
|
||||
$newsletter = self::findOne($id);
|
||||
if ($newsletter === false) {
|
||||
if (!$newsletter instanceof self) {
|
||||
return false;
|
||||
}
|
||||
return self::filter('filterWithOptions', $newsletter->type)->findOne($id);
|
||||
|
@@ -20,7 +20,7 @@ class StatisticsClicks extends Model {
|
||||
->where('newsletter_id', $newsletter_id)
|
||||
->where('queue_id', $queue_id)
|
||||
->findOne();
|
||||
if (!$statistics) {
|
||||
if (!$statistics instanceof self) {
|
||||
$statistics = self::create();
|
||||
$statistics->link_id = $link_id;
|
||||
$statistics->subscriber_id = $subscriber_id;
|
||||
|
@@ -15,7 +15,9 @@ class Subscriber {
|
||||
$newsletter,
|
||||
$subscriber
|
||||
) {
|
||||
if ($subscriber !== false && !is_object($subscriber)) return $shortcode_details['shortcode'];
|
||||
if ($subscriber !== false && !($subscriber instanceof SubscriberModel)) {
|
||||
return $shortcode_details['shortcode'];
|
||||
}
|
||||
$default_value = ($shortcode_details['action_argument'] === 'default') ?
|
||||
$shortcode_details['action_argument_value'] :
|
||||
'';
|
||||
@@ -43,7 +45,7 @@ class Subscriber {
|
||||
::where('subscriber_id', $subscriber->id)
|
||||
->where('custom_field_id', $custom_field[1])
|
||||
->findOne();
|
||||
return ($custom_field) ? $custom_field->value : false;
|
||||
return ($custom_field instanceof SubscriberCustomField) ? $custom_field->value : false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@@ -58,7 +58,7 @@ class Track {
|
||||
return false;
|
||||
}
|
||||
$data->queue = SendingQueue::findOne($data->queue_id);
|
||||
if ($data->queue) {
|
||||
if ($data->queue instanceof SendingQueue) {
|
||||
$data->queue = SendingTask::createFromQueue($data->queue);
|
||||
}
|
||||
$data->subscriber = Subscriber::findOne($data->subscriber_id) ?: null;
|
||||
|
@@ -105,7 +105,7 @@ class ViewInBrowser {
|
||||
) return false;
|
||||
|
||||
// if queue and subscriber exist, subscriber must have received the newsletter
|
||||
if ($data->queue &&
|
||||
if ($data->queue instanceof SendingQueue &&
|
||||
$data->subscriber &&
|
||||
!$data->queue->isSubscriberProcessed($data->subscriber->id)
|
||||
) return false;
|
||||
|
@@ -5,6 +5,7 @@ namespace MailPoet\Test\Cron\Workers\SendingQueue\Tasks;
|
||||
use MailPoet\Cron\Workers\SendingQueue\Tasks\Shortcodes;
|
||||
use MailPoet\Models\Newsletter;
|
||||
use MailPoet\Models\SendingQueue;
|
||||
use MailPoet\Models\Subscriber;
|
||||
|
||||
class ShortcodesTest extends \MailPoetTest {
|
||||
function _before() {
|
||||
@@ -22,11 +23,12 @@ class ShortcodesTest extends \MailPoetTest {
|
||||
$queue = $newsletter = (object)[
|
||||
'id' => 1,
|
||||
];
|
||||
$subscriber = (object)[
|
||||
$subscriber = Subscriber::create();
|
||||
$subscriber->hydrate([
|
||||
'email' => 'test@xample. com',
|
||||
'first_name' => 'John',
|
||||
'last_name' => 'Doe',
|
||||
];
|
||||
]);
|
||||
$rendered_body = '[subscriber:firstname] [subscriber:lastname]';
|
||||
$result = Shortcodes::process($rendered_body, null, $newsletter, $subscriber, $queue);
|
||||
expect($result)->equals('John Doe');
|
||||
|
Reference in New Issue
Block a user