Fix for PHP7 & Mysql 5.7
- added default values to not null columns - fixed passing by reference issue on MailChimp->getDataCenter - fixed a couple unit tests
This commit is contained in:
@ -59,7 +59,7 @@ class Migrator {
|
|||||||
'id mediumint(9) NOT NULL AUTO_INCREMENT,',
|
'id mediumint(9) NOT NULL AUTO_INCREMENT,',
|
||||||
'name varchar(90) NOT NULL,',
|
'name varchar(90) NOT NULL,',
|
||||||
'type varchar(90) NOT NULL DEFAULT "default",',
|
'type varchar(90) NOT NULL DEFAULT "default",',
|
||||||
'description varchar(250) NOT NULL,',
|
'description varchar(250) NOT NULL DEFAULT "",',
|
||||||
'created_at TIMESTAMP NOT NULL DEFAULT 0,',
|
'created_at TIMESTAMP NOT NULL DEFAULT 0,',
|
||||||
'deleted_at TIMESTAMP NULL DEFAULT NULL,',
|
'deleted_at TIMESTAMP NULL DEFAULT NULL,',
|
||||||
'updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,',
|
'updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,',
|
||||||
@ -124,8 +124,8 @@ class Migrator {
|
|||||||
$attributes = array(
|
$attributes = array(
|
||||||
'id mediumint(9) NOT NULL AUTO_INCREMENT,',
|
'id mediumint(9) NOT NULL AUTO_INCREMENT,',
|
||||||
'wp_user_id bigint(20) NULL,',
|
'wp_user_id bigint(20) NULL,',
|
||||||
'first_name tinytext NOT NULL,',
|
'first_name tinytext NOT NULL DEFAULT "",',
|
||||||
'last_name tinytext NOT NULL,',
|
'last_name tinytext NOT NULL DEFAULT "",',
|
||||||
'email varchar(150) NOT NULL,',
|
'email varchar(150) NOT NULL,',
|
||||||
'status varchar(12) NOT NULL DEFAULT "unconfirmed",',
|
'status varchar(12) NOT NULL DEFAULT "unconfirmed",',
|
||||||
'created_at TIMESTAMP NOT NULL DEFAULT 0,',
|
'created_at TIMESTAMP NOT NULL DEFAULT 0,',
|
||||||
@ -156,7 +156,7 @@ class Migrator {
|
|||||||
'id mediumint(9) NOT NULL AUTO_INCREMENT,',
|
'id mediumint(9) NOT NULL AUTO_INCREMENT,',
|
||||||
'subscriber_id mediumint(9) NOT NULL,',
|
'subscriber_id mediumint(9) NOT NULL,',
|
||||||
'custom_field_id mediumint(9) NOT NULL,',
|
'custom_field_id mediumint(9) NOT NULL,',
|
||||||
'value varchar(255) NOT NULL,',
|
'value varchar(255) NOT NULL DEFAULT "",',
|
||||||
'created_at TIMESTAMP NOT NULL DEFAULT 0,',
|
'created_at TIMESTAMP NOT NULL DEFAULT 0,',
|
||||||
'updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,',
|
'updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,',
|
||||||
'PRIMARY KEY (id),',
|
'PRIMARY KEY (id),',
|
||||||
@ -168,13 +168,13 @@ class Migrator {
|
|||||||
function newsletters() {
|
function newsletters() {
|
||||||
$attributes = array(
|
$attributes = array(
|
||||||
'id mediumint(9) NOT NULL AUTO_INCREMENT,',
|
'id mediumint(9) NOT NULL AUTO_INCREMENT,',
|
||||||
'subject varchar(250) NOT NULL,',
|
'subject varchar(250) NOT NULL DEFAULT "",',
|
||||||
'type varchar(20) NOT NULL DEFAULT "standard",',
|
'type varchar(20) NOT NULL DEFAULT "standard",',
|
||||||
'sender_address varchar(150) NOT NULL,',
|
'sender_address varchar(150) NOT NULL DEFAULT "",',
|
||||||
'sender_name varchar(150) NOT NULL,',
|
'sender_name varchar(150) NOT NULL DEFAULT "",',
|
||||||
'reply_to_address varchar(150) NOT NULL,',
|
'reply_to_address varchar(150) NOT NULL DEFAULT "",',
|
||||||
'reply_to_name varchar(150) NOT NULL,',
|
'reply_to_name varchar(150) NOT NULL DEFAULT "",',
|
||||||
'preheader varchar(250) NOT NULL,',
|
'preheader varchar(250) NOT NULL DEFAULT "",',
|
||||||
'body longtext,',
|
'body longtext,',
|
||||||
'created_at TIMESTAMP NOT NULL DEFAULT 0,',
|
'created_at TIMESTAMP NOT NULL DEFAULT 0,',
|
||||||
'deleted_at TIMESTAMP NULL DEFAULT NULL,',
|
'deleted_at TIMESTAMP NULL DEFAULT NULL,',
|
||||||
@ -217,7 +217,7 @@ class Migrator {
|
|||||||
'id mediumint(9) NOT NULL AUTO_INCREMENT,',
|
'id mediumint(9) NOT NULL AUTO_INCREMENT,',
|
||||||
'newsletter_id mediumint(9) NOT NULL,',
|
'newsletter_id mediumint(9) NOT NULL,',
|
||||||
'option_field_id mediumint(9) NOT NULL,',
|
'option_field_id mediumint(9) NOT NULL,',
|
||||||
'value varchar(255) NOT NULL,',
|
'value varchar(255) NOT NULL DEFAULT "",',
|
||||||
'created_at TIMESTAMP NOT NULL DEFAULT 0,',
|
'created_at TIMESTAMP NOT NULL DEFAULT 0,',
|
||||||
'updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,',
|
'updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,',
|
||||||
'PRIMARY KEY (id),',
|
'PRIMARY KEY (id),',
|
||||||
|
@ -121,7 +121,8 @@ class MailChimp {
|
|||||||
function getDataCenter($APIKey) {
|
function getDataCenter($APIKey) {
|
||||||
if (!preg_match('/-[a-zA-Z0-9]{3,}/', $APIKey)) return false;
|
if (!preg_match('/-[a-zA-Z0-9]{3,}/', $APIKey)) return false;
|
||||||
// double parantheses: http://phpsadness.com/sad/51
|
// double parantheses: http://phpsadness.com/sad/51
|
||||||
return end((explode('-', $APIKey)));
|
$key_parts = explode('-', $APIKey);
|
||||||
|
return end($key_parts);
|
||||||
}
|
}
|
||||||
|
|
||||||
function getAPIKey($APIKey) {
|
function getAPIKey($APIKey) {
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
use MailPoet\Models\Newsletter;
|
use MailPoet\Models\Newsletter;
|
||||||
use MailPoet\Models\Segment;
|
use MailPoet\Models\Segment;
|
||||||
|
use MailPoet\Models\Subscriber;
|
||||||
use MailPoet\Models\SendingQueue;
|
use MailPoet\Models\SendingQueue;
|
||||||
use MailPoet\Models\NewsletterSegment;
|
use MailPoet\Models\NewsletterSegment;
|
||||||
use MailPoet\Models\NewsletterOptionField;
|
use MailPoet\Models\NewsletterOptionField;
|
||||||
@ -111,10 +112,17 @@ class NewsletterTest extends MailPoetTest {
|
|||||||
$sending_queue = SendingQueue::create();
|
$sending_queue = SendingQueue::create();
|
||||||
$sending_queue->newsletter_id = $this->newsletter->id;
|
$sending_queue->newsletter_id = $this->newsletter->id;
|
||||||
$sending_queue->save();
|
$sending_queue->save();
|
||||||
|
|
||||||
|
$subscriber = Subscriber::createOrUpdate(array(
|
||||||
|
'email' => 'john.doe@mailpoet.com'
|
||||||
|
));
|
||||||
|
|
||||||
$opens = StatisticsOpens::create();
|
$opens = StatisticsOpens::create();
|
||||||
|
$opens->subscriber_id = $subscriber->id;
|
||||||
$opens->newsletter_id = $this->newsletter->id;
|
$opens->newsletter_id = $this->newsletter->id;
|
||||||
$opens->queue_id = $sending_queue->id;
|
$opens->queue_id = $sending_queue->id;
|
||||||
$opens->save();
|
$opens->save();
|
||||||
|
|
||||||
$newsletter->queue = $newsletter->getQueue()->asArray();
|
$newsletter->queue = $newsletter->getQueue()->asArray();
|
||||||
$statistics = $newsletter->getStatistics();
|
$statistics = $newsletter->getStatistics();
|
||||||
expect($statistics->opened)->equals(1);
|
expect($statistics->opened)->equals(1);
|
||||||
|
@ -53,8 +53,10 @@ class NewslettersTest extends MailPoetTest {
|
|||||||
|
|
||||||
function testItCanSaveAnExistingNewsletter() {
|
function testItCanSaveAnExistingNewsletter() {
|
||||||
$router = new Newsletters();
|
$router = new Newsletters();
|
||||||
$newsletter_data = $this->newsletter->asArray();
|
$newsletter_data = array(
|
||||||
$newsletter_data['subject'] = 'My Updated Newsletter';
|
'id' => $this->newsletter->id,
|
||||||
|
'subject' => 'My Updated Newsletter'
|
||||||
|
);
|
||||||
|
|
||||||
$response = $router->save($newsletter_data);
|
$response = $router->save($newsletter_data);
|
||||||
expect($response['result'])->true();
|
expect($response['result'])->true();
|
||||||
|
Reference in New Issue
Block a user