Replace deprecated array types with Doctrine's ArrayParameterType
[MAILPOET-6142]
This commit is contained in:
@ -7,6 +7,7 @@ use MailPoet\Entities\ScheduledTaskEntity;
|
||||
use MailPoet\Entities\SendingQueueEntity;
|
||||
use MailPoet\Migrator\AppMigration;
|
||||
use MailPoet\WooCommerce\Helper;
|
||||
use MailPoetVendor\Doctrine\DBAL\ArrayParameterType;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
|
||||
/**
|
||||
@ -44,7 +45,7 @@ class Migration_20231128_120355_App extends AppMigration {
|
||||
'newsletterTypes' => $newsletterTypes,
|
||||
'taskStatus' => $statusCompleted,
|
||||
], [
|
||||
'newsletterTypes' => Connection::PARAM_STR_ARRAY,
|
||||
'newsletterTypes' => ArrayParameterType::STRING,
|
||||
]);
|
||||
|
||||
// Fix data for scheduled tasks
|
||||
@ -62,7 +63,7 @@ class Migration_20231128_120355_App extends AppMigration {
|
||||
'newsletterTypes' => $newsletterTypes,
|
||||
'taskStatus' => $statusScheduled,
|
||||
], [
|
||||
'newsletterTypes' => Connection::PARAM_STR_ARRAY,
|
||||
'newsletterTypes' => ArrayParameterType::STRING,
|
||||
]);
|
||||
}
|
||||
|
||||
|
@ -8,7 +8,7 @@ use MailPoet\Entities\ScheduledTaskSubscriberEntity;
|
||||
use MailPoet\Entities\SendingQueueEntity;
|
||||
use MailPoet\Entities\StatisticsNewsletterEntity;
|
||||
use MailPoet\Migrator\AppMigration;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\DBAL\ArrayParameterType;
|
||||
|
||||
/**
|
||||
* We've had a set of bugs where campaign type newsletters (see NewsletterEntity::CAMPAIGN_TYPES),
|
||||
@ -119,7 +119,7 @@ class Migration_20240207_105912_App extends AppMigration {
|
||||
WHERE t.id IN (:ids)
|
||||
",
|
||||
['sent' => NewsletterEntity::STATUS_SENT, 'ids' => $ids],
|
||||
['ids' => Connection::PARAM_INT_ARRAY]
|
||||
['ids' => ArrayParameterType::INTEGER]
|
||||
);
|
||||
}
|
||||
|
||||
@ -183,7 +183,7 @@ class Migration_20240207_105912_App extends AppMigration {
|
||||
WHERE q.newsletter_id IN (:ids)
|
||||
",
|
||||
['ids' => $ids],
|
||||
['ids' => Connection::PARAM_INT_ARRAY]
|
||||
['ids' => ArrayParameterType::INTEGER]
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ namespace MailPoet\Migrations\App;
|
||||
use MailPoet\Entities\StatisticsWooCommercePurchaseEntity;
|
||||
use MailPoet\Migrator\AppMigration;
|
||||
use MailPoet\WooCommerce\Helper;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\DBAL\ArrayParameterType;
|
||||
|
||||
class Migration_20240322_110443_App extends AppMigration {
|
||||
public function run(): void {
|
||||
@ -46,7 +46,7 @@ class Migration_20240322_110443_App extends AppMigration {
|
||||
$orders = $this->entityManager->getConnection()->executeQuery(
|
||||
$query,
|
||||
['orderIds' => $orderIds],
|
||||
['orderIds' => Connection::PARAM_INT_ARRAY],
|
||||
['orderIds' => ArrayParameterType::INTEGER],
|
||||
)->fetchAllAssociative();
|
||||
|
||||
foreach ($orders as $order) {
|
||||
|
@ -5,7 +5,7 @@ namespace MailPoet\Migrations\Db;
|
||||
use MailPoet\Entities\SegmentEntity;
|
||||
use MailPoet\Entities\SettingEntity;
|
||||
use MailPoet\Migrator\DbMigration;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\DBAL\ArrayParameterType;
|
||||
|
||||
class Migration_20230111_120000 extends DbMigration {
|
||||
public function run(): void {
|
||||
@ -35,7 +35,7 @@ class Migration_20230111_120000 extends DbMigration {
|
||||
UPDATE {$segmentsTable}
|
||||
SET {$columnName} = 1
|
||||
WHERE id IN (?)
|
||||
", [$segmentIds], [Connection::PARAM_INT_ARRAY]);
|
||||
", [$segmentIds], [ArrayParameterType::INTEGER]);
|
||||
|
||||
$subscriptionSetting['segments'] = [];
|
||||
$this->connection->executeStatement(
|
||||
|
@ -17,7 +17,6 @@ use MailPoet\Logging\LoggerFactory;
|
||||
use MailPoet\Util\Helpers;
|
||||
use MailPoetVendor\Carbon\Carbon;
|
||||
use MailPoetVendor\Doctrine\DBAL\ArrayParameterType;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||
use MailPoetVendor\Doctrine\ORM\Query\Expr\Join;
|
||||
|
||||
@ -304,14 +303,14 @@ class NewslettersRepository extends Repository {
|
||||
JOIN $sendingQueueTable q ON t.`id` = q.`task_id`
|
||||
SET t.`deleted_at` = NOW()
|
||||
WHERE q.`newsletter_id` IN (:ids)
|
||||
", ['ids' => $ids], ['ids' => Connection::PARAM_INT_ARRAY]);
|
||||
", ['ids' => $ids], ['ids' => ArrayParameterType::INTEGER]);
|
||||
|
||||
// Trash sending queues
|
||||
$this->entityManager->getConnection()->executeStatement("
|
||||
UPDATE $sendingQueueTable q
|
||||
SET q.`deleted_at` = NOW()
|
||||
WHERE q.`newsletter_id` IN (:ids)
|
||||
", ['ids' => $ids], ['ids' => Connection::PARAM_INT_ARRAY]);
|
||||
", ['ids' => $ids], ['ids' => ArrayParameterType::INTEGER]);
|
||||
|
||||
// Trash CPT.
|
||||
$wpPostIds = $this->getWpPostIds($ids);
|
||||
@ -350,7 +349,7 @@ class NewslettersRepository extends Repository {
|
||||
'ids' => $ids,
|
||||
'pausedStatus' => ScheduledTaskEntity::STATUS_PAUSED,
|
||||
], [
|
||||
'ids' => Connection::PARAM_INT_ARRAY,
|
||||
'ids' => ArrayParameterType::INTEGER,
|
||||
]);
|
||||
|
||||
// Restore sending queues
|
||||
@ -358,7 +357,7 @@ class NewslettersRepository extends Repository {
|
||||
UPDATE $sendingQueueTable q
|
||||
SET q.`deleted_at` = null
|
||||
WHERE q.`newsletter_id` IN (:ids)
|
||||
", ['ids' => $ids], ['ids' => Connection::PARAM_INT_ARRAY]);
|
||||
", ['ids' => $ids], ['ids' => ArrayParameterType::INTEGER]);
|
||||
|
||||
// Untrash CPT.
|
||||
$wpPostIds = $this->getWpPostIds($ids);
|
||||
|
@ -9,7 +9,7 @@ use MailPoet\Entities\SubscriberEntity;
|
||||
use MailPoet\InvalidStateException;
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
use MailPoetVendor\Carbon\Carbon;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\DBAL\ArrayParameterType;
|
||||
use MailPoetVendor\Doctrine\ORM\QueryBuilder;
|
||||
|
||||
/**
|
||||
@ -90,7 +90,7 @@ class ScheduledTaskSubscribersRepository extends Repository {
|
||||
->set('sts.processed', ScheduledTaskSubscriberEntity::STATUS_PROCESSED)
|
||||
->where('sts.subscriber IN (:subscriberIds)')
|
||||
->andWhere('sts.task = :task')
|
||||
->setParameter('subscriberIds', $subscriberIds, Connection::PARAM_INT_ARRAY)
|
||||
->setParameter('subscriberIds', $subscriberIds, ArrayParameterType::INTEGER)
|
||||
->setParameter('task', $task)
|
||||
->getQuery()
|
||||
->execute();
|
||||
@ -159,7 +159,7 @@ class ScheduledTaskSubscribersRepository extends Repository {
|
||||
->where('sts.task = :task')
|
||||
->andWhere('sts.subscriber IN (:subscriberIds)')
|
||||
->setParameter('task', $scheduledTask)
|
||||
->setParameter('subscriberIds', $subscriberIds, Connection::PARAM_INT_ARRAY)
|
||||
->setParameter('subscriberIds', $subscriberIds, ArrayParameterType::INTEGER)
|
||||
->getQuery()
|
||||
->execute();
|
||||
|
||||
|
@ -12,7 +12,7 @@ use MailPoet\Entities\SubscriberEntity;
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
use MailPoetVendor\Carbon\Carbon;
|
||||
use MailPoetVendor\Carbon\CarbonImmutable;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\DBAL\ArrayParameterType;
|
||||
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||
use MailPoetVendor\Doctrine\ORM\Query\Expr\Join;
|
||||
|
||||
@ -317,7 +317,7 @@ class ScheduledTasksRepository extends Repository {
|
||||
->set('st.updatedAt', ':updatedAt')
|
||||
->setParameter('updatedAt', $now)
|
||||
->where('st.id IN (:ids)')
|
||||
->setParameter('ids', $ids, Connection::PARAM_INT_ARRAY)
|
||||
->setParameter('ids', $ids, ArrayParameterType::INTEGER)
|
||||
->getQuery()
|
||||
->execute();
|
||||
|
||||
|
@ -7,7 +7,7 @@ use MailPoet\Automation\Engine\Data\AutomationRun;
|
||||
use MailPoet\Automation\Engine\Storage\AutomationStorage;
|
||||
use MailPoet\Entities\DynamicSegmentFilterData;
|
||||
use MailPoet\Entities\DynamicSegmentFilterEntity;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\DBAL\ArrayParameterType;
|
||||
use MailPoetVendor\Doctrine\DBAL\Query\QueryBuilder;
|
||||
|
||||
class AutomationsEvents implements Filter {
|
||||
@ -85,7 +85,7 @@ class AutomationsEvents implements Filter {
|
||||
'automations.id = runs.automation_id'
|
||||
)
|
||||
->andWhere("automations.id IN (:$automationIdsParam)")
|
||||
->setParameter($automationIdsParam, $automationIds, Connection::PARAM_STR_ARRAY);
|
||||
->setParameter($automationIdsParam, $automationIds, ArrayParameterType::STRING);
|
||||
|
||||
if ($action === self::EXITED_ACTION) {
|
||||
$statusParam = $this->filterHelper->getUniqueParameterName('status');
|
||||
|
@ -14,7 +14,7 @@ use MailPoet\Entities\SubscriberEntity;
|
||||
use MailPoet\Entities\UserAgentEntity;
|
||||
use MailPoet\Newsletter\NewslettersRepository;
|
||||
use MailPoet\Util\Security;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\DBAL\ArrayParameterType;
|
||||
use MailPoetVendor\Doctrine\DBAL\Query\QueryBuilder;
|
||||
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||
|
||||
@ -137,7 +137,7 @@ class EmailAction implements Filter {
|
||||
$queryBuilder = $queryBuilder->andWhere($where);
|
||||
if ($linkIds) {
|
||||
$queryBuilder = $queryBuilder
|
||||
->setParameter('links' . $parameterSuffix, $linkIds, Connection::PARAM_STR_ARRAY);
|
||||
->setParameter('links' . $parameterSuffix, $linkIds, ArrayParameterType::STRING);
|
||||
}
|
||||
return $queryBuilder;
|
||||
}
|
||||
@ -164,7 +164,7 @@ class EmailAction implements Filter {
|
||||
$statsTable,
|
||||
'stats',
|
||||
"statssent.subscriber_id = stats.subscriber_id AND stats.newsletter_id IN (:newsletters" . $parameterSuffix . ')'
|
||||
)->setParameter('newsletters' . $parameterSuffix, $newsletters, Connection::PARAM_INT_ARRAY);
|
||||
)->setParameter('newsletters' . $parameterSuffix, $newsletters, ArrayParameterType::INTEGER);
|
||||
$where .= ' AND stats.id IS NULL';
|
||||
} else {
|
||||
$queryBuilder = $queryBuilder->innerJoin(
|
||||
@ -172,7 +172,7 @@ class EmailAction implements Filter {
|
||||
$statsTable,
|
||||
'stats',
|
||||
"stats.subscriber_id = $subscribersTable.id AND stats.newsletter_id IN (:newsletters" . $parameterSuffix . ')'
|
||||
)->setParameter('newsletters' . $parameterSuffix, $newsletters, Connection::PARAM_INT_ARRAY);
|
||||
)->setParameter('newsletters' . $parameterSuffix, $newsletters, ArrayParameterType::INTEGER);
|
||||
|
||||
if ($operator === DynamicSegmentFilterData::OPERATOR_ALL) {
|
||||
$queryBuilder->groupBy('subscriber_id');
|
||||
@ -212,7 +212,7 @@ class EmailAction implements Filter {
|
||||
'statisticsNewsletter',
|
||||
"$subscribersTable.id = statisticsNewsletter.subscriber_id AND statisticsNewsletter.newsletter_id IN (:newsletters" . $parameterSuffix . ')'
|
||||
)
|
||||
->setParameter('newsletters' . $parameterSuffix, $newsletters, Connection::PARAM_INT_ARRAY)
|
||||
->setParameter('newsletters' . $parameterSuffix, $newsletters, ArrayParameterType::INTEGER)
|
||||
->andWhere('statisticsNewsletter.subscriber_id IS NULL');
|
||||
} else {
|
||||
$queryBuilder->innerJoin(
|
||||
@ -220,7 +220,7 @@ class EmailAction implements Filter {
|
||||
$statisticsNewslettersTable,
|
||||
'statisticsNewsletter',
|
||||
"statisticsNewsletter.subscriber_id = $subscribersTable.id AND statisticsNewsletter.newsletter_id IN (:newsletters" . $parameterSuffix . ')'
|
||||
)->setParameter('newsletters' . $parameterSuffix, $newsletters, Connection::PARAM_INT_ARRAY);
|
||||
)->setParameter('newsletters' . $parameterSuffix, $newsletters, ArrayParameterType::INTEGER);
|
||||
|
||||
if ($operator === DynamicSegmentFilterData::OPERATOR_ALL) {
|
||||
$queryBuilder->groupBy('subscriber_id');
|
||||
|
@ -8,7 +8,7 @@ use MailPoet\Entities\SubscriberEntity;
|
||||
use MailPoet\Entities\SubscriberSegmentEntity;
|
||||
use MailPoet\Segments\SegmentsRepository;
|
||||
use MailPoet\Util\Security;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\DBAL\ArrayParameterType;
|
||||
use MailPoetVendor\Doctrine\DBAL\Query\QueryBuilder;
|
||||
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||
|
||||
@ -50,7 +50,7 @@ class SubscriberSegment implements Filter {
|
||||
);
|
||||
|
||||
$queryBuilder->setParameter($statusSubscribedParam, SubscriberEntity::STATUS_SUBSCRIBED);
|
||||
$queryBuilder->setParameter($segmentsParam, $segments, Connection::PARAM_INT_ARRAY);
|
||||
$queryBuilder->setParameter($segmentsParam, $segments, ArrayParameterType::INTEGER);
|
||||
|
||||
if ($operator === DynamicSegmentFilterData::OPERATOR_NONE) {
|
||||
$queryBuilder->andWhere('subscriber_segments.id IS NULL');
|
||||
|
@ -6,7 +6,7 @@ use MailPoet\Entities\DynamicSegmentFilterData;
|
||||
use MailPoet\Entities\DynamicSegmentFilterEntity;
|
||||
use MailPoet\Entities\StatisticsFormEntity;
|
||||
use MailPoet\Form\FormsRepository;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\DBAL\ArrayParameterType;
|
||||
use MailPoetVendor\Doctrine\DBAL\Query\QueryBuilder;
|
||||
|
||||
class SubscriberSubscribedViaForm implements Filter {
|
||||
@ -54,7 +54,7 @@ class SubscriberSubscribedViaForm implements Filter {
|
||||
$queryBuilder->andWhere("statisticsForms.subscriber_id IS NULL");
|
||||
}
|
||||
|
||||
$queryBuilder->setParameter($formIdsParam, $formIds, Connection::PARAM_INT_ARRAY);
|
||||
$queryBuilder->setParameter($formIdsParam, $formIds, ArrayParameterType::INTEGER);
|
||||
|
||||
return $queryBuilder;
|
||||
}
|
||||
|
@ -7,7 +7,7 @@ use MailPoet\Entities\DynamicSegmentFilterEntity;
|
||||
use MailPoet\Entities\SubscriberEntity;
|
||||
use MailPoet\Util\Security;
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\DBAL\ArrayParameterType;
|
||||
use MailPoetVendor\Doctrine\DBAL\Query\QueryBuilder;
|
||||
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||
use WP_Term;
|
||||
@ -67,7 +67,7 @@ class WooCommerceCategory implements Filter {
|
||||
$this->applyProductJoin($subQuery, $orderStatsAlias);
|
||||
$this->applyTermRelationshipsJoin($subQuery);
|
||||
$this->applyTermTaxonomyJoin($subQuery, $uniqueParamaterSuffix);
|
||||
$subQuery->setParameter("category_$uniqueParamaterSuffix", $categoryIdWithChildrenIds, Connection::PARAM_STR_ARRAY);
|
||||
$subQuery->setParameter("category_$uniqueParamaterSuffix", $categoryIdWithChildrenIds, ArrayParameterType::STRING);
|
||||
$alias = sprintf("subQuery%s", $subQueryCount);
|
||||
$queryBuilder->innerJoin(
|
||||
$subscribersTable,
|
||||
@ -90,7 +90,7 @@ class WooCommerceCategory implements Filter {
|
||||
}
|
||||
|
||||
return $queryBuilder
|
||||
->setParameter("category_$parameterSuffix", $categoryIdswithChildrenIds, Connection::PARAM_STR_ARRAY);
|
||||
->setParameter("category_$parameterSuffix", $categoryIdswithChildrenIds, ArrayParameterType::STRING);
|
||||
}
|
||||
|
||||
private function applyProductJoin(QueryBuilder $queryBuilder, string $orderStatsAlias): QueryBuilder {
|
||||
|
@ -6,7 +6,7 @@ use MailPoet\Entities\DynamicSegmentFilterData;
|
||||
use MailPoet\Entities\DynamicSegmentFilterEntity;
|
||||
use MailPoet\Entities\SubscriberEntity;
|
||||
use MailPoet\Util\Security;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\DBAL\ArrayParameterType;
|
||||
use MailPoetVendor\Doctrine\DBAL\Query\QueryBuilder;
|
||||
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||
|
||||
@ -38,7 +38,7 @@ class WooCommerceMembership implements Filter {
|
||||
->andWhere("posts.post_parent IN (:plans" . $parameterSuffix . ")")
|
||||
->groupBy("$subscribersTable.id")
|
||||
->having("COUNT($subscribersTable.id) = :count$parameterSuffix")
|
||||
->setParameter('plans' . $parameterSuffix, $planIds, Connection::PARAM_STR_ARRAY)
|
||||
->setParameter('plans' . $parameterSuffix, $planIds, ArrayParameterType::STRING)
|
||||
->setParameter('count' . $parameterSuffix, count($planIds));
|
||||
}
|
||||
|
||||
@ -53,7 +53,7 @@ class WooCommerceMembership implements Filter {
|
||||
$subQueryBuilder
|
||||
->andWhere("posts.post_parent IN (:plans" . $parameterSuffix . ")");
|
||||
return $queryBuilder->where("{$subscribersTable}.id NOT IN ({$subQueryBuilder->getSQL()})")
|
||||
->setParameter('plans' . $parameterSuffix, $planIds, Connection::PARAM_STR_ARRAY);
|
||||
->setParameter('plans' . $parameterSuffix, $planIds, ArrayParameterType::STRING);
|
||||
}
|
||||
|
||||
// ANY
|
||||
@ -61,7 +61,7 @@ class WooCommerceMembership implements Filter {
|
||||
$this->applyParentPostJoin($queryBuilder);
|
||||
return $queryBuilder
|
||||
->andWhere("posts.post_parent IN (:plans" . $parameterSuffix . ")")
|
||||
->setParameter('plans' . $parameterSuffix, $planIds, Connection::PARAM_STR_ARRAY);
|
||||
->setParameter('plans' . $parameterSuffix, $planIds, ArrayParameterType::STRING);
|
||||
}
|
||||
|
||||
private function applyPostJoin(QueryBuilder $queryBuilder): QueryBuilder {
|
||||
|
@ -8,7 +8,7 @@ use MailPoet\Entities\SubscriberEntity;
|
||||
use MailPoet\Util\DBCollationChecker;
|
||||
use MailPoet\Util\Security;
|
||||
use MailPoetVendor\Carbon\Carbon;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\DBAL\ArrayParameterType;
|
||||
use MailPoetVendor\Doctrine\DBAL\Query\QueryBuilder;
|
||||
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||
|
||||
@ -98,7 +98,7 @@ class WooCommerceNumberOfOrders implements Filter {
|
||||
],
|
||||
], \true)
|
||||
->setParameter('date' . $parameterSuffix, $date->toDateTimeString())
|
||||
->setParameter('allowedStatuses' . $parameterSuffix, $this->wooFilterHelper->defaultIncludedStatuses(), Connection::PARAM_STR_ARRAY)
|
||||
->setParameter('allowedStatuses' . $parameterSuffix, $this->wooFilterHelper->defaultIncludedStatuses(), ArrayParameterType::STRING)
|
||||
->groupBy('inner_subscriber_id');
|
||||
|
||||
if ($type === '=') {
|
||||
|
@ -7,7 +7,7 @@ use MailPoet\Entities\DynamicSegmentFilterEntity;
|
||||
use MailPoet\Entities\SubscriberEntity;
|
||||
use MailPoet\Util\Security;
|
||||
use MailPoet\WooCommerce\Helper;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\DBAL\ArrayParameterType;
|
||||
use MailPoetVendor\Doctrine\DBAL\Query\QueryBuilder;
|
||||
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||
use WC_Product;
|
||||
@ -69,7 +69,7 @@ class WooCommerceProduct implements Filter {
|
||||
$queryBuilder->where("{$subscribersTable}.id NOT IN ({$this->filterHelper->getInterpolatedSQL($subQuery)})");
|
||||
}
|
||||
return $queryBuilder
|
||||
->setParameter("products_{$parameterSuffix}", $productIds, Connection::PARAM_STR_ARRAY);
|
||||
->setParameter("products_{$parameterSuffix}", $productIds, ArrayParameterType::STRING);
|
||||
}
|
||||
|
||||
private function applyProductJoin(QueryBuilder $queryBuilder, string $orderStatsAlias): QueryBuilder {
|
||||
|
@ -6,7 +6,7 @@ use MailPoet\Entities\DynamicSegmentFilterData;
|
||||
use MailPoet\Entities\DynamicSegmentFilterEntity;
|
||||
use MailPoet\Segments\DynamicSegments\Exceptions\InvalidFilterException;
|
||||
use MailPoet\WP\Functions;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\DBAL\ArrayParameterType;
|
||||
use MailPoetVendor\Doctrine\DBAL\Query\QueryBuilder;
|
||||
|
||||
class WooCommercePurchasedWithAttribute implements Filter {
|
||||
@ -54,7 +54,7 @@ class WooCommercePurchasedWithAttribute implements Filter {
|
||||
$productAlias = $this->applyProductJoin($queryBuilder, $orderStatsAlias);
|
||||
$attributeAlias = $this->applyTaxonomyAttributeJoin($queryBuilder, $productAlias, $attributeTaxonomySlug);
|
||||
$queryBuilder->andWhere("$attributeAlias.term_id IN (:$termIdsParam)");
|
||||
$queryBuilder->setParameter($termIdsParam, $attributeTermIds, Connection::PARAM_STR_ARRAY);
|
||||
$queryBuilder->setParameter($termIdsParam, $attributeTermIds, ArrayParameterType::STRING);
|
||||
}
|
||||
|
||||
private function applyProductJoin(QueryBuilder $queryBuilder, string $orderStatsAlias, string $alias = 'product'): string {
|
||||
@ -203,6 +203,6 @@ class WooCommercePurchasedWithAttribute implements Filter {
|
||||
);
|
||||
|
||||
$queryBuilder->setParameter($keyParam, sprintf("attribute_%s", $attributeName));
|
||||
$queryBuilder->setParameter($valuesParam, $attributeValues, Connection::PARAM_STR_ARRAY);
|
||||
$queryBuilder->setParameter($valuesParam, $attributeValues, ArrayParameterType::STRING);
|
||||
}
|
||||
}
|
||||
|
@ -8,7 +8,7 @@ use MailPoet\Entities\SubscriberEntity;
|
||||
use MailPoet\Util\DBCollationChecker;
|
||||
use MailPoet\Util\Security;
|
||||
use MailPoet\WooCommerce\Helper as WooCommerceHelper;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\DBAL\ArrayParameterType;
|
||||
use MailPoetVendor\Doctrine\DBAL\Query\QueryBuilder;
|
||||
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||
|
||||
@ -50,7 +50,7 @@ class WooCommerceSubscription implements Filter {
|
||||
->andWhere("itemmeta.meta_value IN (:products" . $parameterSuffix . ")")
|
||||
->groupBy("$subscribersTable.id")
|
||||
->having("COUNT($subscribersTable.id) = :count$parameterSuffix")
|
||||
->setParameter('products' . $parameterSuffix, $productIds, Connection::PARAM_STR_ARRAY)
|
||||
->setParameter('products' . $parameterSuffix, $productIds, ArrayParameterType::STRING)
|
||||
->setParameter('count' . $parameterSuffix, count($productIds));
|
||||
}
|
||||
|
||||
@ -66,7 +66,7 @@ class WooCommerceSubscription implements Filter {
|
||||
$subQueryBuilder
|
||||
->andWhere("itemmeta.meta_value IN (:products" . $parameterSuffix . ")");
|
||||
return $queryBuilder->where("{$subscribersTable}.id NOT IN ({$subQueryBuilder->getSQL()})")
|
||||
->setParameter('products' . $parameterSuffix, $productIds, Connection::PARAM_STR_ARRAY);
|
||||
->setParameter('products' . $parameterSuffix, $productIds, ArrayParameterType::STRING);
|
||||
}
|
||||
|
||||
// ANY
|
||||
@ -75,7 +75,7 @@ class WooCommerceSubscription implements Filter {
|
||||
$this->applyOrderItemmetaJoin($queryBuilder);
|
||||
return $queryBuilder
|
||||
->andWhere("itemmeta.meta_value IN (:products" . $parameterSuffix . ")")
|
||||
->setParameter('products' . $parameterSuffix, $productIds, Connection::PARAM_STR_ARRAY);
|
||||
->setParameter('products' . $parameterSuffix, $productIds, ArrayParameterType::STRING);
|
||||
}
|
||||
|
||||
private function applyPostmetaAndPostJoin(QueryBuilder $queryBuilder): QueryBuilder {
|
||||
|
@ -6,7 +6,7 @@ use MailPoet\Entities\DynamicSegmentFilterData;
|
||||
use MailPoet\Entities\DynamicSegmentFilterEntity;
|
||||
use MailPoet\Segments\DynamicSegments\Exceptions\InvalidFilterException;
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\DBAL\ArrayParameterType;
|
||||
use MailPoetVendor\Doctrine\DBAL\Query\QueryBuilder;
|
||||
use WP_Term;
|
||||
|
||||
@ -69,7 +69,7 @@ class WooCommerceTag implements Filter {
|
||||
AND
|
||||
term_taxonomy.term_id IN (:$tagIdsParam)"
|
||||
);
|
||||
$queryBuilder->setParameter($tagIdsParam, $filterData->getArrayParam('tag_ids'), Connection::PARAM_STR_ARRAY);
|
||||
$queryBuilder->setParameter($tagIdsParam, $filterData->getArrayParam('tag_ids'), ArrayParameterType::STRING);
|
||||
}
|
||||
|
||||
private function applyProductJoin(QueryBuilder $queryBuilder, string $orderStatsAlias, string $productAlias = 'product'): string {
|
||||
|
@ -7,7 +7,7 @@ use MailPoet\Entities\DynamicSegmentFilterEntity;
|
||||
use MailPoet\Segments\DynamicSegments\Exceptions\InvalidFilterException;
|
||||
use MailPoet\WooCommerce\Helper;
|
||||
use MailPoetVendor\Carbon\Carbon;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\DBAL\ArrayParameterType;
|
||||
use MailPoetVendor\Doctrine\DBAL\Query\QueryBuilder;
|
||||
|
||||
class WooCommerceUsedCouponCode implements Filter {
|
||||
@ -83,7 +83,7 @@ class WooCommerceUsedCouponCode implements Filter {
|
||||
$couponCodeIdsParam = $this->filterHelper->getUniqueParameterName('couponCodeIds');
|
||||
$queryBuilder
|
||||
->andWhere("couponLookup.coupon_id IN (:$couponCodeIdsParam)")
|
||||
->setParameter($couponCodeIdsParam, $couponIds, Connection::PARAM_INT_ARRAY);
|
||||
->setParameter($couponCodeIdsParam, $couponIds, ArrayParameterType::INTEGER);
|
||||
}
|
||||
|
||||
private function applyForAllOperator(QueryBuilder $queryBuilder, DynamicSegmentFilterEntity $filter): void {
|
||||
|
@ -7,7 +7,7 @@ use MailPoet\Entities\DynamicSegmentFilterEntity;
|
||||
use MailPoet\Segments\DynamicSegments\Exceptions\InvalidFilterException;
|
||||
use MailPoet\WooCommerce\Helper;
|
||||
use MailPoetVendor\Carbon\Carbon;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\DBAL\ArrayParameterType;
|
||||
use MailPoetVendor\Doctrine\DBAL\Query\QueryBuilder;
|
||||
use WC_Payment_Gateway;
|
||||
|
||||
@ -112,7 +112,7 @@ class WooCommerceUsedPaymentMethod implements Filter {
|
||||
->andWhere("postmeta.meta_key = :$paymentMethodMetaKeyParam")
|
||||
->andWhere("postmeta.meta_value IN (:$paymentMethodParam)")
|
||||
->setParameter($paymentMethodMetaKeyParam, '_payment_method')
|
||||
->setParameter($paymentMethodParam, $paymentMethods, Connection::PARAM_STR_ARRAY);
|
||||
->setParameter($paymentMethodParam, $paymentMethods, ArrayParameterType::STRING);
|
||||
if (!$isAllTime) {
|
||||
$dateParam = $this->filterHelper->getUniqueParameterName('date');
|
||||
$queryBuilder
|
||||
@ -129,7 +129,7 @@ class WooCommerceUsedPaymentMethod implements Filter {
|
||||
$queryBuilder
|
||||
->innerJoin($orderStatsAlias, $ordersTable, 'orders', "$orderStatsAlias.order_id = orders.id")
|
||||
->andWhere("$ordersAlias.payment_method IN (:$paymentMethodParam)")
|
||||
->setParameter($paymentMethodParam, $paymentMethods, Connection::PARAM_STR_ARRAY);
|
||||
->setParameter($paymentMethodParam, $paymentMethods, ArrayParameterType::STRING);
|
||||
if (!$isAllTime) {
|
||||
$dateParam = $this->filterHelper->getUniqueParameterName('date');
|
||||
$queryBuilder
|
||||
|
@ -7,7 +7,7 @@ use MailPoet\Entities\DynamicSegmentFilterEntity;
|
||||
use MailPoet\Segments\DynamicSegments\Exceptions\InvalidFilterException;
|
||||
use MailPoet\WooCommerce\Helper;
|
||||
use MailPoetVendor\Carbon\Carbon;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\DBAL\ArrayParameterType;
|
||||
use MailPoetVendor\Doctrine\DBAL\Query\QueryBuilder;
|
||||
|
||||
class WooCommerceUsedShippingMethod implements Filter {
|
||||
@ -111,7 +111,7 @@ class WooCommerceUsedShippingMethod implements Filter {
|
||||
->andWhere("$orderItemsTableAlias.order_item_type = 'shipping'")
|
||||
->andWhere("$orderItemMetaTableAlias.meta_key = 'instance_id'")
|
||||
->andWhere("$orderItemMetaTableAlias.meta_value IN (:$instanceIdsParam)")
|
||||
->setParameter($instanceIdsParam, $shippingMethodInstanceIds, Connection::PARAM_STR_ARRAY);
|
||||
->setParameter($instanceIdsParam, $shippingMethodInstanceIds, ArrayParameterType::STRING);
|
||||
if (!$isAllTime) {
|
||||
$dateParam = $this->filterHelper->getUniqueParameterName('date');
|
||||
$queryBuilder
|
||||
@ -137,7 +137,7 @@ class WooCommerceUsedShippingMethod implements Filter {
|
||||
->andWhere("$orderItemMetaTableAlias.meta_key = 'instance_id'")
|
||||
->andWhere("$orderItemMetaTableAlias.meta_value IN (:$instanceIdsParam)")
|
||||
->setParameter($orderItemTypeParam, 'shipping')
|
||||
->setParameter($instanceIdsParam, $shippingMethodInstanceIds, Connection::PARAM_STR_ARRAY)
|
||||
->setParameter($instanceIdsParam, $shippingMethodInstanceIds, ArrayParameterType::STRING)
|
||||
->groupBy('inner_subscriber_id')
|
||||
->having("COUNT(DISTINCT($orderItemMetaTableAlias.meta_value)) = " . count($shippingMethodInstanceIds));
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
namespace MailPoet\Segments\DynamicSegments\Filters;
|
||||
|
||||
use MailPoet\Util\DBCollationChecker;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\DBAL\ArrayParameterType;
|
||||
use MailPoetVendor\Doctrine\DBAL\Query\QueryBuilder;
|
||||
|
||||
class WooFilterHelper {
|
||||
@ -81,7 +81,7 @@ class WooFilterHelper {
|
||||
$statusParam = $this->filterHelper->getUniqueParameterName('status');
|
||||
$orderStatsAlias = $this->applyCustomerOrderJoin($queryBuilder);
|
||||
$queryBuilder->andWhere("$orderStatsAlias.status IN (:$statusParam)");
|
||||
$queryBuilder->setParameter($statusParam, $allowedStatuses, Connection::PARAM_STR_ARRAY);
|
||||
$queryBuilder->setParameter($statusParam, $allowedStatuses, ArrayParameterType::STRING);
|
||||
return $orderStatsAlias;
|
||||
}
|
||||
|
||||
|
@ -11,7 +11,7 @@ use MailPoet\InvalidStateException;
|
||||
use MailPoet\NotFoundException;
|
||||
use MailPoet\Segments\DynamicSegments\Exceptions\InvalidFilterException;
|
||||
use MailPoet\Segments\DynamicSegments\FilterHandler;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\DBAL\ArrayParameterType;
|
||||
use MailPoetVendor\Doctrine\DBAL\Query\QueryBuilder;
|
||||
use MailPoetVendor\Doctrine\DBAL\Result;
|
||||
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||
@ -386,7 +386,7 @@ class SegmentSubscribersRepository {
|
||||
|
||||
if ($candidateIds) {
|
||||
$queryBuilder->andWhere("$subscribersTable.id IN (:candidateIds)")
|
||||
->setParameter('candidateIds', $candidateIds, Connection::PARAM_STR_ARRAY);
|
||||
->setParameter('candidateIds', $candidateIds, ArrayParameterType::STRING);
|
||||
}
|
||||
|
||||
$statement = $this->executeQuery($queryBuilder);
|
||||
|
@ -17,7 +17,7 @@ use MailPoet\Newsletter\Segment\NewsletterSegmentRepository;
|
||||
use MailPoet\NotFoundException;
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
use MailPoetVendor\Carbon\Carbon;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\DBAL\ArrayParameterType;
|
||||
use MailPoetVendor\Doctrine\DBAL\ParameterType;
|
||||
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||
use MailPoetVendor\Doctrine\ORM\ORMException;
|
||||
@ -254,27 +254,27 @@ class SegmentsRepository extends Repository {
|
||||
", [
|
||||
'ids' => $ids,
|
||||
'type' => $type,
|
||||
], ['ids' => Connection::PARAM_INT_ARRAY]);
|
||||
], ['ids' => ArrayParameterType::INTEGER]);
|
||||
|
||||
$entityManager->getConnection()->executeStatement("
|
||||
DELETE df FROM $segmentFiltersTable df
|
||||
WHERE df.`segment_id` IN (:ids)
|
||||
", [
|
||||
'ids' => $ids,
|
||||
], ['ids' => Connection::PARAM_INT_ARRAY]);
|
||||
], ['ids' => ArrayParameterType::INTEGER]);
|
||||
|
||||
$queryBuilder = $entityManager->createQueryBuilder();
|
||||
$count = $queryBuilder->delete(SegmentEntity::class, 's')
|
||||
->where('s.id IN (:ids)')
|
||||
->andWhere('s.type = :type')
|
||||
->setParameter('ids', $ids, Connection::PARAM_INT_ARRAY)
|
||||
->setParameter('ids', $ids, ArrayParameterType::INTEGER)
|
||||
->setParameter('type', $type, ParameterType::STRING)
|
||||
->getQuery()->execute();
|
||||
|
||||
$queryBuilder = $entityManager->createQueryBuilder();
|
||||
$queryBuilder->delete(NewsletterSegmentEntity::class, 'ns')
|
||||
->where('ns.segment IN (:ids)')
|
||||
->setParameter('ids', $ids, Connection::PARAM_INT_ARRAY)
|
||||
->setParameter('ids', $ids, ArrayParameterType::INTEGER)
|
||||
->getQuery()->execute();
|
||||
});
|
||||
return $count;
|
||||
|
@ -5,7 +5,7 @@ namespace MailPoet\Segments;
|
||||
use MailPoet\Entities\SegmentEntity;
|
||||
use MailPoet\Entities\SubscriberEntity;
|
||||
use MailPoet\Subscribers\SubscribersCountsController;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\DBAL\ArrayParameterType;
|
||||
use MailPoetVendor\Doctrine\DBAL\Result;
|
||||
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||
|
||||
@ -82,7 +82,7 @@ class SegmentsSimpleListRepository {
|
||||
if (!empty($segmentTypes)) {
|
||||
$segmentsDataQuery
|
||||
->andWhere('segments.type IN (:typesParam)')
|
||||
->setParameter('typesParam', $segmentTypes, Connection::PARAM_STR_ARRAY);
|
||||
->setParameter('typesParam', $segmentTypes, ArrayParameterType::STRING);
|
||||
}
|
||||
|
||||
$result = $segmentsDataQuery->executeQuery();
|
||||
|
@ -8,7 +8,7 @@ use MailPoet\Entities\SegmentEntity;
|
||||
use MailPoet\Entities\SubscriberEntity;
|
||||
use MailPoet\Entities\SubscriberSegmentEntity;
|
||||
use MailPoet\InvalidStateException;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\DBAL\ArrayParameterType;
|
||||
use MailPoetVendor\Doctrine\DBAL\ParameterType;
|
||||
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||
|
||||
@ -129,13 +129,13 @@ class SubscribersFinder {
|
||||
->setParameter('processed', ScheduledTaskSubscriberEntity::STATUS_UNPROCESSED, ParameterType::INTEGER)
|
||||
->setParameter('subscribers_status', SubscriberEntity::STATUS_SUBSCRIBED, ParameterType::STRING)
|
||||
->setParameter('relation_status', SubscriberEntity::STATUS_SUBSCRIBED, ParameterType::STRING)
|
||||
->setParameter('segment_ids', $segmentIds, Connection::PARAM_INT_ARRAY);
|
||||
->setParameter('segment_ids', $segmentIds, ArrayParameterType::INTEGER);
|
||||
|
||||
if ($filterSegmentId) {
|
||||
$filterSegmentSubscriberIds = $this->segmentSubscriberRepository->findSubscribersIdsInSegment($filterSegmentId);
|
||||
$selectQueryBuilder
|
||||
->andWhere($selectQueryBuilder->expr()->in('subscribers.id', ':filterSegmentSubscriberIds'))
|
||||
->setParameter('filterSegmentSubscriberIds', $filterSegmentSubscriberIds, Connection::PARAM_INT_ARRAY);
|
||||
->setParameter('filterSegmentSubscriberIds', $filterSegmentSubscriberIds, ArrayParameterType::INTEGER);
|
||||
}
|
||||
|
||||
// queryBuilder doesn't support INSERT IGNORE directly
|
||||
@ -198,7 +198,7 @@ class SubscribersFinder {
|
||||
ParameterType::INTEGER,
|
||||
ParameterType::INTEGER,
|
||||
ParameterType::STRING,
|
||||
Connection::PARAM_INT_ARRAY,
|
||||
ArrayParameterType::INTEGER,
|
||||
]
|
||||
);
|
||||
|
||||
|
@ -16,6 +16,7 @@ use MailPoet\WooCommerce\Helper as WCHelper;
|
||||
use MailPoet\WooCommerce\Subscription;
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
use MailPoetVendor\Carbon\Carbon;
|
||||
use MailPoetVendor\Doctrine\DBAL\ArrayParameterType;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\DBAL\ParameterType;
|
||||
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||
@ -344,7 +345,7 @@ class WooCommerce {
|
||||
UPDATE ' . $subscribersTable . ' mps
|
||||
SET mps.is_woocommerce_user = 1
|
||||
WHERE mps.email IN (:emails)
|
||||
', ['emails' => $emails], ['emails' => Connection::PARAM_STR_ARRAY]);
|
||||
', ['emails' => $emails], ['emails' => ArrayParameterType::STRING]);
|
||||
|
||||
// Save timestamp about new subscribers before insert
|
||||
$this->subscriberChangesNotifier->subscribersBatchCreate();
|
||||
@ -376,7 +377,7 @@ class WooCommerce {
|
||||
FROM {$addressesTableName}
|
||||
WHERE order_id IN (:orderIds) and address_type = 'billing'",
|
||||
['orderIds' => array_values($orders)],
|
||||
['orderIds' => Connection::PARAM_INT_ARRAY]
|
||||
['orderIds' => ArrayParameterType::INTEGER]
|
||||
)->fetchAllAssociative();
|
||||
|
||||
// format data in the same format that is used when querying wp_postmeta (see below).
|
||||
@ -403,7 +404,7 @@ class WooCommerce {
|
||||
WHERE meta_key IN ('_billing_first_name', '_billing_last_name') AND post_id IN (:postIds)
|
||||
",
|
||||
['metaKeys' => $metaKeys, 'postIds' => array_values($orders)],
|
||||
['metaKeys' => Connection::PARAM_STR_ARRAY, 'postIds' => Connection::PARAM_INT_ARRAY]
|
||||
['metaKeys' => ArrayParameterType::STRING, 'postIds' => ArrayParameterType::INTEGER]
|
||||
)->fetchAllAssociative();
|
||||
}
|
||||
|
||||
|
@ -8,7 +8,7 @@ use MailPoet\Entities\SendingQueueEntity;
|
||||
use MailPoet\Entities\StatisticsClickEntity;
|
||||
use MailPoet\Entities\StatisticsWooCommercePurchaseEntity;
|
||||
use MailPoet\WooCommerce\Helper;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\DBAL\ArrayParameterType;
|
||||
use MailPoetVendor\Doctrine\DBAL\ParameterType;
|
||||
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||
|
||||
@ -102,7 +102,7 @@ class StatisticsWooCommercePurchasesRepository extends Repository {
|
||||
'notification_history_type' => ParameterType::STRING,
|
||||
'notification_type' => ParameterType::STRING,
|
||||
'currency' => ParameterType::STRING,
|
||||
'revenue_status' => Connection::PARAM_STR_ARRAY,
|
||||
'revenue_status' => ArrayParameterType::STRING,
|
||||
])->fetchAllAssociative();
|
||||
|
||||
$data = array_map(function($row) {
|
||||
|
@ -10,7 +10,7 @@ use MailPoet\Segments\DynamicSegments\Filters\FilterHelper;
|
||||
use MailPoet\Segments\DynamicSegments\Filters\WooFilterHelper;
|
||||
use MailPoet\WooCommerce\Helper;
|
||||
use MailPoetVendor\Carbon\Carbon;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\DBAL\ArrayParameterType;
|
||||
use MailPoetVendor\Doctrine\DBAL\Result;
|
||||
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||
|
||||
@ -113,7 +113,7 @@ class EngagementDataBackfiller {
|
||||
->from($subscribersTable)
|
||||
->innerJoin($subscribersTable, $clicksTable, 'clicks', "$subscribersTable.id = clicks.subscriber_id")
|
||||
->andWhere("$subscribersTable.id IN (:subscriberIds)")
|
||||
->setParameter('subscriberIds', $subscriberIds, Connection::PARAM_INT_ARRAY)
|
||||
->setParameter('subscriberIds', $subscriberIds, ArrayParameterType::INTEGER)
|
||||
->groupBy("$subscribersTable.id");
|
||||
|
||||
$result = $query->execute();
|
||||
@ -138,7 +138,7 @@ class EngagementDataBackfiller {
|
||||
->select("$subscribersTable.id, MAX(orderStats.date_created) as last_purchase_at")
|
||||
->from($subscribersTable)
|
||||
->andWhere("$subscribersTable.id IN (:subscriberIds)")
|
||||
->setParameter('subscriberIds', $subscriberIds, Connection::PARAM_INT_ARRAY);
|
||||
->setParameter('subscriberIds', $subscriberIds, ArrayParameterType::INTEGER);
|
||||
$this->wooFilterHelper->applyOrderStatusFilter($query);
|
||||
$query->groupBy("$subscribersTable.id");
|
||||
|
||||
@ -161,7 +161,7 @@ class EngagementDataBackfiller {
|
||||
->from($subscribersTable)
|
||||
->innerJoin($subscribersTable, $opensTable, 'opens', "$subscribersTable.id = opens.subscriber_id")
|
||||
->andWhere("$subscribersTable.id IN (:subscriberIds)")
|
||||
->setParameter('subscriberIds', $subscriberIds, Connection::PARAM_INT_ARRAY)
|
||||
->setParameter('subscriberIds', $subscriberIds, ArrayParameterType::INTEGER)
|
||||
->groupBy("$subscribersTable.id");
|
||||
|
||||
$result = $query->execute();
|
||||
@ -183,7 +183,7 @@ class EngagementDataBackfiller {
|
||||
->from($subscribersTable)
|
||||
->innerJoin($subscribersTable, $sendsTable, 'sends', "$subscribersTable.id = sends.subscriber_id")
|
||||
->andWhere("$subscribersTable.id IN (:subscriberIds)")
|
||||
->setParameter('subscriberIds', $subscriberIds, Connection::PARAM_INT_ARRAY)
|
||||
->setParameter('subscriberIds', $subscriberIds, ArrayParameterType::INTEGER)
|
||||
->groupBy("$subscribersTable.id");
|
||||
|
||||
$result = $query->execute();
|
||||
|
@ -12,7 +12,7 @@ use MailPoet\Entities\SubscriberSegmentEntity;
|
||||
use MailPoet\Segments\DynamicSegments\FilterHandler;
|
||||
use MailPoet\Subscribers\SubscriberCustomFieldRepository;
|
||||
use MailPoet\Subscribers\SubscribersRepository;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\DBAL\ArrayParameterType;
|
||||
use MailPoetVendor\Doctrine\DBAL\Query\QueryBuilder;
|
||||
use MailPoetVendor\Doctrine\DBAL\Result;
|
||||
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||
@ -161,7 +161,7 @@ class ImportExportRepository {
|
||||
$parameters[$keyColumn] = array_map(function(array $row) use ($columnIndex) {
|
||||
return $row[$columnIndex];
|
||||
}, $data);
|
||||
$parameterTypes[$keyColumn] = Connection::PARAM_STR_ARRAY;
|
||||
$parameterTypes[$keyColumn] = ArrayParameterType::STRING;
|
||||
$keyColumnsConditions[] = "{$keyColumn} IN (:{$keyColumn})";
|
||||
}
|
||||
|
||||
@ -327,6 +327,6 @@ class ImportExportRepository {
|
||||
SELECT id
|
||||
FROM {$tableName}
|
||||
WHERE email IN (:emails)
|
||||
", ['emails' => $emails], ['emails' => Connection::PARAM_STR_ARRAY])->fetchFirstColumn();
|
||||
", ['emails' => $emails], ['emails' => ArrayParameterType::STRING])->fetchFirstColumn();
|
||||
}
|
||||
}
|
||||
|
@ -7,7 +7,7 @@ use MailPoet\Entities\ScheduledTaskSubscriberEntity;
|
||||
use MailPoet\Entities\SendingQueueEntity;
|
||||
use MailPoet\Entities\SubscriberEntity;
|
||||
use MailPoetVendor\Carbon\Carbon;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\DBAL\ArrayParameterType;
|
||||
use MailPoetVendor\Doctrine\DBAL\ParameterType;
|
||||
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||
|
||||
@ -141,7 +141,7 @@ class InactiveSubscribersController {
|
||||
$connection->executeQuery("UPDATE {$subscribersTable} SET status = :statusInactive WHERE id IN (:idsToDeactivate)", [
|
||||
'statusInactive' => SubscriberEntity::STATUS_INACTIVE,
|
||||
'idsToDeactivate' => $idsToDeactivate,
|
||||
], ['idsToDeactivate' => Connection::PARAM_INT_ARRAY]);
|
||||
], ['idsToDeactivate' => ArrayParameterType::INTEGER]);
|
||||
return count($idsToDeactivate);
|
||||
}
|
||||
|
||||
@ -180,7 +180,7 @@ class InactiveSubscribersController {
|
||||
$connection->executeQuery("UPDATE {$subscribersTable} SET status = :statusSubscribed WHERE id IN (:idsToActivate)", [
|
||||
'statusSubscribed' => SubscriberEntity::STATUS_SUBSCRIBED,
|
||||
'idsToActivate' => $idsToActivate,
|
||||
], ['idsToActivate' => Connection::PARAM_INT_ARRAY]);
|
||||
], ['idsToActivate' => ArrayParameterType::INTEGER]);
|
||||
return count($idsToActivate);
|
||||
}
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ use MailPoet\Util\License\Features\Subscribers;
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
use MailPoetVendor\Carbon\Carbon;
|
||||
use MailPoetVendor\Carbon\CarbonImmutable;
|
||||
use MailPoetVendor\Doctrine\DBAL\Connection;
|
||||
use MailPoetVendor\Doctrine\DBAL\ArrayParameterType;
|
||||
use MailPoetVendor\Doctrine\DBAL\ParameterType;
|
||||
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||
use MailPoetVendor\Doctrine\ORM\Query\Expr\Join;
|
||||
@ -187,7 +187,7 @@ class SubscribersRepository extends Repository {
|
||||
WHERE scs.`subscriber_id` IN (:ids)
|
||||
AND s.`is_woocommerce_user` = false
|
||||
AND s.`wp_user_id` IS NULL
|
||||
", ['ids' => $ids], ['ids' => Connection::PARAM_INT_ARRAY]);
|
||||
", ['ids' => $ids], ['ids' => ArrayParameterType::INTEGER]);
|
||||
|
||||
// Delete subscriber tags
|
||||
$subscriberTagTable = $entityManager->getClassMetadata(SubscriberTagEntity::class)->getTableName();
|
||||
@ -197,7 +197,7 @@ class SubscribersRepository extends Repository {
|
||||
WHERE st.`subscriber_id` IN (:ids)
|
||||
AND s.`is_woocommerce_user` = false
|
||||
AND s.`wp_user_id` IS NULL
|
||||
", ['ids' => $ids], ['ids' => Connection::PARAM_INT_ARRAY]);
|
||||
", ['ids' => $ids], ['ids' => ArrayParameterType::INTEGER]);
|
||||
|
||||
$queryBuilder = $entityManager->createQueryBuilder();
|
||||
$count = $queryBuilder->delete(SubscriberEntity::class, 's')
|
||||
@ -226,7 +226,7 @@ class SubscribersRepository extends Repository {
|
||||
DELETE ss FROM $subscriberSegmentsTable ss
|
||||
WHERE ss.`subscriber_id` IN (:ids)
|
||||
AND ss.`segment_id` = :segment_id
|
||||
", ['ids' => $ids, 'segment_id' => $segment->getId()], ['ids' => Connection::PARAM_INT_ARRAY]);
|
||||
", ['ids' => $ids, 'segment_id' => $segment->getId()], ['ids' => ArrayParameterType::INTEGER]);
|
||||
|
||||
$this->changesNotifier->subscribersUpdated($ids);
|
||||
return $count;
|
||||
@ -554,7 +554,7 @@ class SubscribersRepository extends Repository {
|
||||
DELETE st FROM $subscriberTagsTable st
|
||||
WHERE st.`subscriber_id` IN (:ids)
|
||||
AND st.`tag_id` = :tag_id
|
||||
", ['ids' => $ids, 'tag_id' => $tag->getId()], ['ids' => Connection::PARAM_INT_ARRAY]);
|
||||
", ['ids' => $ids, 'tag_id' => $tag->getId()], ['ids' => ArrayParameterType::INTEGER]);
|
||||
|
||||
$this->changesNotifier->subscribersUpdated($ids);
|
||||
return $count;
|
||||
@ -607,7 +607,7 @@ class SubscribersRepository extends Repository {
|
||||
", [
|
||||
'ids' => $ids,
|
||||
'typeDefault' => SegmentEntity::TYPE_DEFAULT,
|
||||
], ['ids' => Connection::PARAM_INT_ARRAY]);
|
||||
], ['ids' => ArrayParameterType::INTEGER]);
|
||||
|
||||
return $count;
|
||||
}
|
||||
|
Reference in New Issue
Block a user