Fix array offset access on null/boolean and with curly braces [MAILPOET-2577]
This commit is contained in:
4
lib-3rd-party/XLSXWriter.php
vendored
4
lib-3rd-party/XLSXWriter.php
vendored
@ -230,9 +230,9 @@ class XLSXWriter
|
||||
$file->write('<c r="' . $cell . '" s="' . $s . '" t="n"><v>' . self::convert_date_time($value) . '</v></c>');
|
||||
} elseif (!is_string($value)) {
|
||||
$file->write('<c r="' . $cell . '" s="' . $s . '" t="n"><v>' . ($value * 1) . '</v></c>');//int,float, etc
|
||||
} elseif ($value{0} != '0' && filter_var($value, FILTER_VALIDATE_INT)){ //excel wants to trim leading zeros
|
||||
} elseif ($value[0] != '0' && filter_var($value, FILTER_VALIDATE_INT)){ //excel wants to trim leading zeros
|
||||
$file->write('<c r="' . $cell . '" s="' . $s . '" t="n"><v>' . ($value) . '</v></c>');//numeric string
|
||||
} elseif ($value{0} == '='){
|
||||
} elseif ($value[0] == '='){
|
||||
$file->write('<c r="' . $cell . '" s="' . $s . '" t="s"><f>' . self::xmlspecialchars($value) . '</f></c>');
|
||||
} elseif ($value !== ''){
|
||||
$file->write('<c r="' . $cell . '" s="' . $s . '" t="s"><v>' . self::xmlspecialchars($this->setSharedString($value)) . '</v></c>');
|
||||
|
@ -28,7 +28,7 @@ class Beacon {
|
||||
$mta = $this->settings->get('mta');
|
||||
$currentTheme = WPFunctions::get()->wpGetTheme();
|
||||
$currentUser = WPFunctions::get()->wpGetCurrentUser();
|
||||
$sender = $this->settings->get('sender');
|
||||
$sender = $this->settings->get('sender', ['address' => null]);
|
||||
$premiumKey = $this->settings->get(Bridge::PREMIUM_KEY_SETTING_NAME) ?: $this->settings->get(Bridge::API_KEY_SETTING_NAME);
|
||||
$cronHelper = ContainerWrapper::getInstance()->get(CronHelper::class);
|
||||
$cronPingUrl = $cronHelper->getCronUrl(
|
||||
|
@ -95,7 +95,12 @@ class State
|
||||
null,
|
||||
$queue
|
||||
),
|
||||
] : null,
|
||||
] : [
|
||||
'newsletter_id' => null,
|
||||
'queue_id' => null,
|
||||
'subject' => null,
|
||||
'preview_url' => null,
|
||||
],
|
||||
];
|
||||
}
|
||||
}
|
||||
|
@ -166,7 +166,6 @@ class CronHelperTest extends \MailPoetTest {
|
||||
'run_access' => $time - 4,
|
||||
'run_start' => $time - 10,
|
||||
],
|
||||
null,
|
||||
];
|
||||
foreach ($testInputs as $testInput) {
|
||||
$daemon = $this->getDeamonTestData();
|
||||
|
@ -54,6 +54,7 @@ class SendingQueueTest extends \MailPoetTest {
|
||||
public $subscriberSegment;
|
||||
public $segment;
|
||||
public $subscriber;
|
||||
private $mailerTaskDummyResponse = ['response' => true];
|
||||
/** @var SendingErrorHandler */
|
||||
private $sendingErrorHandler;
|
||||
/** @var SettingsController */
|
||||
@ -185,7 +186,7 @@ class SendingQueueTest extends \MailPoetTest {
|
||||
Stub::make(
|
||||
new MailerTask(),
|
||||
[
|
||||
'sendBulk' => null,
|
||||
'sendBulk' => $this->mailerTaskDummyResponse,
|
||||
]
|
||||
)
|
||||
);
|
||||
@ -223,7 +224,7 @@ class SendingQueueTest extends \MailPoetTest {
|
||||
Stub::make(
|
||||
new MailerTask(),
|
||||
[
|
||||
'sendBulk' => null,
|
||||
'sendBulk' => $this->mailerTaskDummyResponse,
|
||||
]
|
||||
)
|
||||
);
|
||||
@ -291,7 +292,7 @@ class SendingQueueTest extends \MailPoetTest {
|
||||
'subscriber_status' => 'subscribed',
|
||||
'subscriber_source' => 'administrator',
|
||||
]);
|
||||
return true;
|
||||
return $this->mailerTaskDummyResponse;
|
||||
}),
|
||||
],
|
||||
$this
|
||||
@ -321,7 +322,7 @@ class SendingQueueTest extends \MailPoetTest {
|
||||
'subscriber_status' => 'subscribed',
|
||||
'subscriber_source' => 'administrator',
|
||||
]);
|
||||
return true;
|
||||
return $this->mailerTaskDummyResponse;
|
||||
}),
|
||||
],
|
||||
$this
|
||||
@ -344,7 +345,7 @@ class SendingQueueTest extends \MailPoetTest {
|
||||
// newsletter body should not be empty
|
||||
expect(!empty($newsletter['body']['html']))->true();
|
||||
expect(!empty($newsletter['body']['text']))->true();
|
||||
return true;
|
||||
return $this->mailerTaskDummyResponse;
|
||||
}),
|
||||
],
|
||||
$this
|
||||
@ -393,7 +394,7 @@ class SendingQueueTest extends \MailPoetTest {
|
||||
// newsletter body should not be empty
|
||||
expect(!empty($newsletter[0]['body']['html']))->true();
|
||||
expect(!empty($newsletter[0]['body']['text']))->true();
|
||||
return true;
|
||||
return $this->mailerTaskDummyResponse;
|
||||
}),
|
||||
'getProcessingMethod' => Expected::exactly(1, function() {
|
||||
return 'bulk';
|
||||
@ -445,7 +446,7 @@ class SendingQueueTest extends \MailPoetTest {
|
||||
// newsletter body should not be empty
|
||||
expect(!empty($newsletter['body']['html']))->true();
|
||||
expect(!empty($newsletter['body']['text']))->true();
|
||||
return true;
|
||||
return $this->mailerTaskDummyResponse;
|
||||
}),
|
||||
],
|
||||
$this
|
||||
@ -522,7 +523,7 @@ class SendingQueueTest extends \MailPoetTest {
|
||||
// newsletter body should not be empty
|
||||
expect(!empty($newsletter['body']['html']))->true();
|
||||
expect(!empty($newsletter['body']['text']))->true();
|
||||
return true;
|
||||
return $this->mailerTaskDummyResponse;
|
||||
}),
|
||||
],
|
||||
$this
|
||||
@ -604,7 +605,7 @@ class SendingQueueTest extends \MailPoetTest {
|
||||
new MailerTask(),
|
||||
[
|
||||
'send' => Expected::exactly(1, function() {
|
||||
return true;
|
||||
return $this->mailerTaskDummyResponse;
|
||||
}),
|
||||
],
|
||||
$this
|
||||
@ -639,7 +640,7 @@ class SendingQueueTest extends \MailPoetTest {
|
||||
$sendingQueueWorker = $this->sendingQueueWorker;
|
||||
$sendingQueueWorker->mailerTask = Stub::make(
|
||||
new MailerTask(),
|
||||
['send' => true]
|
||||
['send' => $this->mailerTaskDummyResponse]
|
||||
);
|
||||
$sendingQueueWorker->process();
|
||||
|
||||
@ -660,7 +661,7 @@ class SendingQueueTest extends \MailPoetTest {
|
||||
$sendingQueueWorker = $this->sendingQueueWorker;
|
||||
$sendingQueueWorker->mailerTask = Stub::make(
|
||||
new MailerTask(),
|
||||
['send' => true]
|
||||
['send' => $this->mailerTaskDummyResponse]
|
||||
);
|
||||
|
||||
// newsletter is sent to existing subscriber
|
||||
@ -687,7 +688,7 @@ class SendingQueueTest extends \MailPoetTest {
|
||||
$sendingQueueWorker = $this->sendingQueueWorker;
|
||||
$sendingQueueWorker->mailerTask = Stub::make(
|
||||
new MailerTask(),
|
||||
['send' => true]
|
||||
['send' => $this->mailerTaskDummyResponse]
|
||||
);
|
||||
|
||||
// newsletter is not sent to globally unsubscribed subscriber
|
||||
@ -705,7 +706,7 @@ class SendingQueueTest extends \MailPoetTest {
|
||||
$sendingQueueWorker = $this->sendingQueueWorker;
|
||||
$sendingQueueWorker->mailerTask = Stub::make(
|
||||
new MailerTask(),
|
||||
['send' => true]
|
||||
['send' => $this->mailerTaskDummyResponse]
|
||||
);
|
||||
|
||||
// newsletter is not sent to subscriber unsubscribed from segment
|
||||
@ -723,7 +724,7 @@ class SendingQueueTest extends \MailPoetTest {
|
||||
$sendingQueueWorker = $this->sendingQueueWorker;
|
||||
$sendingQueueWorker->mailerTask = Stub::make(
|
||||
new MailerTask(),
|
||||
['send' => true]
|
||||
['send' => $this->mailerTaskDummyResponse]
|
||||
);
|
||||
|
||||
// newsletter is not sent to inactive subscriber
|
||||
@ -762,7 +763,7 @@ class SendingQueueTest extends \MailPoetTest {
|
||||
Stub::make(
|
||||
new MailerTask(),
|
||||
[
|
||||
'sendBulk' => true,
|
||||
'sendBulk' => $this->mailerTaskDummyResponse,
|
||||
]
|
||||
)
|
||||
);
|
||||
@ -799,7 +800,7 @@ class SendingQueueTest extends \MailPoetTest {
|
||||
Stub::make(
|
||||
new MailerTask(),
|
||||
[
|
||||
'send' => Expected::once(),
|
||||
'send' => Expected::once($this->mailerTaskDummyResponse),
|
||||
],
|
||||
$this
|
||||
)
|
||||
|
@ -13,7 +13,7 @@ class SubscribersListingsHandlerFactoryTest extends \MailPoetTest {
|
||||
$segment->name = 'name';
|
||||
$segment->type = 'unknown';
|
||||
$listings = new SubscribersListingsHandlerFactory();
|
||||
$result = $listings->get($segment, []);
|
||||
$result = $listings->get($segment, ['filter' => ['segment' => null]]);
|
||||
expect($result)->null();
|
||||
}
|
||||
|
||||
@ -24,7 +24,7 @@ class SubscribersListingsHandlerFactoryTest extends \MailPoetTest {
|
||||
'type' => DynamicSegment::TYPE_DYNAMIC,
|
||||
]);
|
||||
$listings = new SubscribersListingsHandlerFactory();
|
||||
$result = $listings->get($segment, []);
|
||||
$result = $listings->get($segment, ['filter' => ['segment' => null]]);
|
||||
expect($result)->notNull();
|
||||
}
|
||||
|
||||
|
@ -128,7 +128,7 @@ class ConfirmationEmailMailerTest extends \MailPoetTest {
|
||||
|
||||
$mailer = Stub::makeEmpty(Mailer::class, [
|
||||
'send' => function() {
|
||||
return true;
|
||||
return ['response' => true];
|
||||
},
|
||||
], $this);
|
||||
$sender = new ConfirmationEmailMailer(
|
||||
@ -156,7 +156,7 @@ class ConfirmationEmailMailerTest extends \MailPoetTest {
|
||||
|
||||
$mailer = Stub::makeEmpty(Mailer::class, [
|
||||
'send' => function() {
|
||||
return true;
|
||||
return ['response' => true];
|
||||
},
|
||||
], $this);
|
||||
$sender = new ConfirmationEmailMailer(
|
||||
|
Reference in New Issue
Block a user