Use proper check for existence

[MAILPOET-2535]
This commit is contained in:
Pavel Dohnal
2019-11-19 14:04:57 +01:00
committed by Jack Kitterhing
parent f1da8e5c36
commit 650f9a8c90
7 changed files with 14 additions and 10 deletions

View File

@@ -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;
}

View File

@@ -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);

View File

@@ -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;

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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;

View File

@@ -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');