Compare commits
11 Commits
5.7.0
...
update-plu
Author | SHA1 | Date | |
---|---|---|---|
c3382d314e | |||
81180caccb | |||
10c82b687d | |||
00c9bf3dcd | |||
27b66e9dc9 | |||
0a166aa9e8 | |||
1727a87e1b | |||
05b7346fe8 | |||
3e68608859 | |||
97ea3f1364 | |||
699c9851d3 |
@ -197,7 +197,7 @@ jobs:
|
|||||||
- run:
|
- run:
|
||||||
name: Download additional WP Plugins for tests
|
name: Download additional WP Plugins for tests
|
||||||
command: |
|
command: |
|
||||||
./do download:woo-commerce-zip 9.6.0
|
./do download:woo-commerce-zip 9.6.1
|
||||||
./do download:woo-commerce-subscriptions-zip 7.1.0
|
./do download:woo-commerce-subscriptions-zip 7.1.0
|
||||||
./do download:woo-commerce-memberships-zip 1.26.5
|
./do download:woo-commerce-memberships-zip 1.26.5
|
||||||
./do download:automate-woo-zip 6.1.5
|
./do download:automate-woo-zip 6.1.5
|
||||||
|
30
.woodpecker.yml
Normal file
30
.woodpecker.yml
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
clone:
|
||||||
|
git:
|
||||||
|
image: woodpeckerci/plugin-git
|
||||||
|
settings:
|
||||||
|
depth: 1
|
||||||
|
|
||||||
|
steps:
|
||||||
|
build:
|
||||||
|
image: node:current-bookworm-slim
|
||||||
|
commands:
|
||||||
|
- apt update
|
||||||
|
- apt install php php-symfony bash -y
|
||||||
|
- npm install pnpm
|
||||||
|
- cd mailpoet
|
||||||
|
- bash build.sh
|
||||||
|
- mkdir ../output
|
||||||
|
- mv mailpoet.zip ../output
|
||||||
|
- cd ..
|
||||||
|
|
||||||
|
release:
|
||||||
|
image: woodpeckerci/plugin-gitea-release:latest
|
||||||
|
settings:
|
||||||
|
base_url: https://git.cavemanon.xyz
|
||||||
|
api_key:
|
||||||
|
from_secret: releasesmithapikey
|
||||||
|
files: "output/"
|
||||||
|
prerelease: false
|
||||||
|
title: "${CI_COMMIT_TAG}"
|
||||||
|
when:
|
||||||
|
- event: tag
|
@ -3,6 +3,7 @@ import { Step } from '../../../../../editor/components/automation/types';
|
|||||||
import { storeName } from '../../../../../editor/store';
|
import { storeName } from '../../../../../editor/store';
|
||||||
|
|
||||||
const transactionalTriggers = [
|
const transactionalTriggers = [
|
||||||
|
'mailpoet:custom-trigger',
|
||||||
'woocommerce:order-status-changed',
|
'woocommerce:order-status-changed',
|
||||||
'woocommerce:order-created',
|
'woocommerce:order-created',
|
||||||
'woocommerce:order-completed',
|
'woocommerce:order-completed',
|
||||||
|
@ -41,24 +41,36 @@ export const initializeSatismeterSurvey = (writeId = null) => {
|
|||||||
} else {
|
} else {
|
||||||
writeKey = oldUsersPollId;
|
writeKey = oldUsersPollId;
|
||||||
}
|
}
|
||||||
|
const traits = {
|
||||||
|
name: window.mailpoet_current_wp_user.user_nicename,
|
||||||
|
email: window.mailpoet_current_wp_user.user_email,
|
||||||
|
mailpoetVersion: window.mailpoet_version,
|
||||||
|
mailpoetPremiumIsActive: window.mailpoet_premium_active,
|
||||||
|
createdAt: trackingData.installedAtIso,
|
||||||
|
newslettersSent: trackingData.newslettersSent,
|
||||||
|
welcomeEmails: trackingData.welcomeEmails,
|
||||||
|
postnotificationEmails: trackingData.postnotificationEmails,
|
||||||
|
woocommerceEmails: trackingData.woocommerceEmails,
|
||||||
|
subscribers: trackingData.subscribers,
|
||||||
|
lists: trackingData.lists,
|
||||||
|
sendingMethod: trackingData.sendingMethod,
|
||||||
|
woocommerceIsInstalled: trackingData.woocommerceIsInstalled,
|
||||||
|
woocommerceVersion: trackingData.woocommerceVersion,
|
||||||
|
WordPressVersion: trackingData.WordPressVersion,
|
||||||
|
blockTheme: trackingData.blockTheme,
|
||||||
|
themeVersion: trackingData.themeVersion,
|
||||||
|
theme: trackingData.theme,
|
||||||
|
};
|
||||||
|
if (trackingData.gutenbergVersion) {
|
||||||
|
traits.gutenbergVersion = trackingData.gutenbergVersion;
|
||||||
|
}
|
||||||
|
if (trackingData.wooCommerceVersion) {
|
||||||
|
traits.wooCommerceVersion = trackingData.wooCommerceVersion;
|
||||||
|
}
|
||||||
satismeter({
|
satismeter({
|
||||||
writeKey,
|
writeKey,
|
||||||
userId: window.mailpoet_current_wp_user.ID + window.mailpoet_site_url,
|
userId: window.mailpoet_current_wp_user.ID + window.mailpoet_site_url,
|
||||||
traits: {
|
traits,
|
||||||
name: window.mailpoet_current_wp_user.user_nicename,
|
|
||||||
email: window.mailpoet_current_wp_user.user_email,
|
|
||||||
mailpoetVersion: window.mailpoet_version,
|
|
||||||
mailpoetPremiumIsActive: window.mailpoet_premium_active,
|
|
||||||
createdAt: trackingData.installedAtIso,
|
|
||||||
newslettersSent: trackingData.newslettersSent,
|
|
||||||
welcomeEmails: trackingData.welcomeEmails,
|
|
||||||
postnotificationEmails: trackingData.postnotificationEmails,
|
|
||||||
woocommerceEmails: trackingData.woocommerceEmails,
|
|
||||||
subscribers: trackingData.subscribers,
|
|
||||||
lists: trackingData.lists,
|
|
||||||
sendingMethod: trackingData.sendingMethod,
|
|
||||||
woocommerceIsInstalled: trackingData.woocommerceIsInstalled,
|
|
||||||
},
|
|
||||||
events: {
|
events: {
|
||||||
submit: (response) => {
|
submit: (response) => {
|
||||||
if (response.rating >= 9 && response.completed) {
|
if (response.rating >= 9 && response.completed) {
|
||||||
|
@ -1,5 +1,12 @@
|
|||||||
== Changelog ==
|
== Changelog ==
|
||||||
|
|
||||||
|
= 5.7.0 - 2025-02-11 =
|
||||||
|
* Improved: Rename Review Trigger in Automations;
|
||||||
|
* Changed: minimum required WooCommerce is 9.5;
|
||||||
|
* Fixed: Automation UI shows wrong saved status after failed activation;
|
||||||
|
* Fixed: Email preview does not work with sent emails;
|
||||||
|
* Fixed: email content patterns are mixed with page starter patterns.
|
||||||
|
|
||||||
= 5.6.4 - 2025-02-04 =
|
= 5.6.4 - 2025-02-04 =
|
||||||
* Improved: randomness in generated WooCommerce coupons;
|
* Improved: randomness in generated WooCommerce coupons;
|
||||||
* Improved: prevent abandoned cart from getting stuck.
|
* Improved: prevent abandoned cart from getting stuck.
|
||||||
|
@ -61,6 +61,9 @@
|
|||||||
"MailPoet\\Test\\DataGenerator\\": "tests/DataGenerator"
|
"MailPoet\\Test\\DataGenerator\\": "tests/DataGenerator"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"replace": {
|
||||||
|
"soundasleep/html2text": "*"
|
||||||
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"pre-install-cmd": [
|
"pre-install-cmd": [
|
||||||
"@php tools/install.php",
|
"@php tools/install.php",
|
||||||
|
10
mailpoet/composer.lock
generated
10
mailpoet/composer.lock
generated
@ -4,7 +4,7 @@
|
|||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "9957467448f215809ac9dc8fbcab2b00",
|
"content-hash": "51893b0f5ed38d130932b86b48e55b94",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "dragonmantank/cron-expression",
|
"name": "dragonmantank/cron-expression",
|
||||||
@ -73,10 +73,11 @@
|
|||||||
"dist": {
|
"dist": {
|
||||||
"type": "path",
|
"type": "path",
|
||||||
"url": "../packages/php/email-editor",
|
"url": "../packages/php/email-editor",
|
||||||
"reference": "311798cfd57b26bb5df1fc7f97b5732e45603419"
|
"reference": "53577c5aa3a97e82c58284d48c3aa339cb2a15d4"
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.4"
|
"php": ">=7.4",
|
||||||
|
"soundasleep/html2text": "^2.1"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@ -101,6 +102,9 @@
|
|||||||
],
|
],
|
||||||
"code-style-fix": [
|
"code-style-fix": [
|
||||||
"../../../mailpoet/tasks/code_sniffer/vendor/bin/phpcbf -p"
|
"../../../mailpoet/tasks/code_sniffer/vendor/bin/phpcbf -p"
|
||||||
|
],
|
||||||
|
"phpstan": [
|
||||||
|
"php ./tasks/run-phpstan.php"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"description": "Email editor based on WordPress Gutenberg package.",
|
"description": "Email editor based on WordPress Gutenberg package.",
|
||||||
|
@ -417,11 +417,15 @@ class Reporter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function getTrackingData() {
|
public function getTrackingData() {
|
||||||
|
global $wp_version, $woocommerce; // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps
|
||||||
$newsletters = $this->newslettersRepository->getAnalytics();
|
$newsletters = $this->newslettersRepository->getAnalytics();
|
||||||
$segments = $this->segmentsRepository->getCountsPerType();
|
$segments = $this->segmentsRepository->getCountsPerType();
|
||||||
$mta = $this->settings->get('mta', []);
|
$mta = $this->settings->get('mta', []);
|
||||||
$installedAt = new Carbon($this->settings->get('installed_at'));
|
$installedAt = new Carbon($this->settings->get('installed_at'));
|
||||||
return [
|
$theme = $this->wp->wpGetTheme();
|
||||||
|
$result = [
|
||||||
|
'WordPressVersion' => $wp_version, // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps
|
||||||
|
'pluginGutenberg' => $this->wp->isPluginActive('gutenberg/gutenberg.php'),
|
||||||
'installedAtIso' => $installedAt->format(Carbon::ISO8601),
|
'installedAtIso' => $installedAt->format(Carbon::ISO8601),
|
||||||
'newslettersSent' => $newsletters['sent_newsletters_count'],
|
'newslettersSent' => $newsletters['sent_newsletters_count'],
|
||||||
'welcomeEmails' => $newsletters['welcome_newsletters_count'],
|
'welcomeEmails' => $newsletters['welcome_newsletters_count'],
|
||||||
@ -429,9 +433,19 @@ class Reporter {
|
|||||||
'woocommerceEmails' => $newsletters['automatic_emails_count'],
|
'woocommerceEmails' => $newsletters['automatic_emails_count'],
|
||||||
'subscribers' => $this->subscribersFeature->getSubscribersCount(),
|
'subscribers' => $this->subscribersFeature->getSubscribersCount(),
|
||||||
'lists' => isset($segments['default']) ? (int)$segments['default'] : 0,
|
'lists' => isset($segments['default']) ? (int)$segments['default'] : 0,
|
||||||
'sendingMethod' => isset($mta['method']) ? $mta['method'] : null,
|
'sendingMethod' => $mta['method'] ?? null,
|
||||||
'woocommerceIsInstalled' => $this->woocommerceHelper->isWooCommerceActive(),
|
'woocommerceIsInstalled' => $this->woocommerceHelper->isWooCommerceActive(),
|
||||||
|
'blockTheme' => $this->wp->wpIsBlockTheme(),
|
||||||
|
'theme' => $theme->Name, // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps
|
||||||
|
'themeVersion' => $theme->Version, // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps
|
||||||
];
|
];
|
||||||
|
if (defined('GUTENBERG_VERSION')) {
|
||||||
|
$result['gutenbergVersion'] = GUTENBERG_VERSION;
|
||||||
|
}
|
||||||
|
if ($this->woocommerceHelper->isWooCommerceActive()) {
|
||||||
|
$result['wooCommerceVersion'] = $woocommerce->version;
|
||||||
|
}
|
||||||
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function isFilterTypeActive(string $filterType, string $action): bool {
|
private function isFilterTypeActive(string $filterType, string $action): bool {
|
||||||
|
@ -62,6 +62,7 @@ class SendEmailAction implements Action {
|
|||||||
private const OPTIN_RETRIES = 'optin_retries';
|
private const OPTIN_RETRIES = 'optin_retries';
|
||||||
|
|
||||||
private const TRANSACTIONAL_TRIGGERS = [
|
private const TRANSACTIONAL_TRIGGERS = [
|
||||||
|
'mailpoet:custom-trigger',
|
||||||
'woocommerce:order-status-changed',
|
'woocommerce:order-status-changed',
|
||||||
'woocommerce:order-created',
|
'woocommerce:order-created',
|
||||||
'woocommerce:order-completed',
|
'woocommerce:order-completed',
|
||||||
|
@ -39,7 +39,13 @@ class PostContentManager {
|
|||||||
if ($this->wp->hasExcerpt($post)) {
|
if ($this->wp->hasExcerpt($post)) {
|
||||||
return self::stripShortCodes($this->wp->getTheExcerpt($post));
|
return self::stripShortCodes($this->wp->getTheExcerpt($post));
|
||||||
}
|
}
|
||||||
return $this->generateExcerpt($post->post_content); // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps
|
return self::stripShortCodes(
|
||||||
|
$this->wp->applyFilters(
|
||||||
|
'get_the_excerpt',
|
||||||
|
$this->generateExcerpt($post->post_content), // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps
|
||||||
|
$post
|
||||||
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
return self::stripShortCodes($post->post_content); // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps
|
return self::stripShortCodes($post->post_content); // phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps
|
||||||
}
|
}
|
||||||
|
@ -167,8 +167,6 @@ class Subscribers {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private function getFreeSubscribersLimit() {
|
private function getFreeSubscribersLimit() {
|
||||||
$installationTime = strtotime((string)$this->settings->get('installed_at'));
|
return 999999999;
|
||||||
$oldUser = $installationTime < strtotime(self::NEW_LIMIT_DATE);
|
|
||||||
return $oldUser ? self::SUBSCRIBERS_OLD_LIMIT : self::SUBSCRIBERS_NEW_LIMIT;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Plugin Name: MailPoet
|
* Plugin Name: MailPoet
|
||||||
* Version: 5.6.4
|
* Version: 5.7.0
|
||||||
* Plugin URI: https://www.mailpoet.com
|
* Plugin URI: https://www.mailpoet.com
|
||||||
* Description: Create and send newsletters, post notifications and welcome emails from your WordPress.
|
* Description: Create and send newsletters, post notifications and welcome emails from your WordPress.
|
||||||
* Author: MailPoet
|
* Author: MailPoet
|
||||||
@ -20,7 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
$mailpoetPlugin = [
|
$mailpoetPlugin = [
|
||||||
'version' => '5.6.4',
|
'version' => '5.7.0',
|
||||||
'filename' => __FILE__,
|
'filename' => __FILE__,
|
||||||
'path' => dirname(__FILE__),
|
'path' => dirname(__FILE__),
|
||||||
'autoloader' => dirname(__FILE__) . '/vendor/autoload.php',
|
'autoloader' => dirname(__FILE__) . '/vendor/autoload.php',
|
||||||
|
@ -3,7 +3,7 @@ Contributors: mailpoet, woocommerce, automattic
|
|||||||
Tags: email marketing, post notification, woocommerce emails, email automation, newsletter
|
Tags: email marketing, post notification, woocommerce emails, email automation, newsletter
|
||||||
Requires at least: 6.6
|
Requires at least: 6.6
|
||||||
Tested up to: 6.7
|
Tested up to: 6.7
|
||||||
Stable tag: 5.6.4
|
Stable tag: 5.7.0
|
||||||
Requires PHP: 7.4
|
Requires PHP: 7.4
|
||||||
License: GPLv3
|
License: GPLv3
|
||||||
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
||||||
@ -222,8 +222,11 @@ Check our [Knowledge Base](https://kb.mailpoet.com) or contact us through our [s
|
|||||||
|
|
||||||
== Changelog ==
|
== Changelog ==
|
||||||
|
|
||||||
= 5.6.4 - 2025-02-04 =
|
= 5.7.0 - 2025-02-11 =
|
||||||
* Improved: randomness in generated WooCommerce coupons;
|
* Improved: Rename Review Trigger in Automations;
|
||||||
* Improved: prevent abandoned cart from getting stuck.
|
* Changed: minimum required WooCommerce is 9.5;
|
||||||
|
* Fixed: Automation UI shows wrong saved status after failed activation;
|
||||||
|
* Fixed: Email preview does not work with sent emails;
|
||||||
|
* Fixed: email content patterns are mixed with page starter patterns.
|
||||||
|
|
||||||
[See the changelog for all versions.](https://github.com/mailpoet/mailpoet/blob/trunk/mailpoet/changelog.txt)
|
[See the changelog for all versions.](https://github.com/mailpoet/mailpoet/blob/trunk/mailpoet/changelog.txt)
|
||||||
|
@ -5,10 +5,7 @@
|
|||||||
"autoload": {
|
"autoload": {
|
||||||
"classmap": [
|
"classmap": [
|
||||||
"src/"
|
"src/"
|
||||||
],
|
]
|
||||||
"files": [
|
|
||||||
"src/exceptions.php"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"autoload-dev": {
|
"autoload-dev": {
|
||||||
"classmap": [
|
"classmap": [
|
||||||
@ -29,7 +26,7 @@
|
|||||||
"unit-test": "../../../tests_env/vendor/bin/codecept run unit",
|
"unit-test": "../../../tests_env/vendor/bin/codecept run unit",
|
||||||
"integration-test": "cd ../../../tests_env/docker && COMPOSE_HTTP_TIMEOUT=200 docker compose run -e SKIP_DEPS=1 -e SKIP_PLUGINS=1 -e PACKAGE_NAME=email-editor codeception_integration",
|
"integration-test": "cd ../../../tests_env/docker && COMPOSE_HTTP_TIMEOUT=200 docker compose run -e SKIP_DEPS=1 -e SKIP_PLUGINS=1 -e PACKAGE_NAME=email-editor codeception_integration",
|
||||||
"code-style": "../../../mailpoet/tasks/code_sniffer/vendor/bin/phpcs -ps",
|
"code-style": "../../../mailpoet/tasks/code_sniffer/vendor/bin/phpcs -ps",
|
||||||
"code-style-fix": "../../../mailpoet/tasks/code_sniffer/vendor/bin/phpcbf -p",
|
"code-style-fix": "../../../mailpoet/tasks/code_sniffer/vendor/bin/phpcbf -p",
|
||||||
"phpstan": "php ./tasks/run-phpstan.php"
|
"phpstan": "php ./tasks/run-phpstan.php"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -75,7 +75,7 @@ services:
|
|||||||
- mailhog-data:/mailhog-data
|
- mailhog-data:/mailhog-data
|
||||||
|
|
||||||
wordpress:
|
wordpress:
|
||||||
image: wordpress:${WORDPRESS_IMAGE_VERSION:-6.7.1-php8.3}
|
image: wordpress:${WORDPRESS_IMAGE_VERSION:-6.7.2-php8.3}
|
||||||
container_name: wordpress_${CIRCLE_NODE_INDEX:-default}
|
container_name: wordpress_${CIRCLE_NODE_INDEX:-default}
|
||||||
depends_on:
|
depends_on:
|
||||||
smtp:
|
smtp:
|
||||||
|
Reference in New Issue
Block a user