diff --git a/.env.dist b/.env.dist
index a9738072..07a41b6a 100644
--- a/.env.dist
+++ b/.env.dist
@@ -26,7 +26,7 @@ PREFERENCEPAGE_SHOW_PRIVATE_LISTS=0
API_BASE_URL=http://api.phplist.local/
FRONT_END_BASE_URL=http://frontend.phplist.local
-PARALLER_USE_WITH_PHPLIST3=0
+PARALLEL_USE_WITH_PHPLIST3=0
# Email configuration
MAILER_FROM=noreply@phplist.com
diff --git a/README.md b/README.md
index 1f6a71cd..7c2ed6f7 100755
--- a/README.md
+++ b/README.md
@@ -117,12 +117,14 @@ If your module provides any Symfony bundles, the bundle class names need to be
listed in the `extra` section of the module's `composer.json` like this:
```json
-"extra": {
- "phplist/core": {
- "bundles": [
- "Symfony\\Bundle\\FrameworkBundle\\FrameworkBundle",
- "PhpList\\Core\\EmptyStartPageBundle\\PhpListEmptyStartPageBundle"
- ]
+{
+ "extra": {
+ "phplist/core": {
+ "bundles": [
+ "Symfony\\Bundle\\FrameworkBundle\\FrameworkBundle",
+ "PhpList\\Core\\EmptyStartPageBundle\\PhpListEmptyStartPageBundle"
+ ]
+ }
}
}
```
@@ -137,12 +139,14 @@ Similarly, if your module provides any routes, those also need to be listed in
the `extra` section of the module's `composer.json` like this:
```json
-"extra": {
- "phplist/core": {
- "routes": {
- "homepage": {
- "resource": "@PhpListEmptyStartPageBundle/Controller/",
- "type": "annotation"
+{
+ "extra": {
+ "phplist/core": {
+ "routes": {
+ "homepage": {
+ "resource": "@PhpListEmptyStartPageBundle/Controller/",
+ "type": "annotation"
+ }
}
}
}
@@ -152,18 +156,20 @@ the `extra` section of the module's `composer.json` like this:
You can also provide system configuration for your module:
```json
-"extra": {
- "phplist/core": {
- "configuration": {
- "framework": {
- "templating": {
- "engines": [
- "twig"
- ]
+{
+ "extra": {
+ "phplist/core": {
+ "configuration": {
+ "framework": {
+ "templating": {
+ "engines": [
+ "twig"
+ ]
+ }
}
}
}
- }
+ }
}
```
@@ -203,7 +209,7 @@ To extract translation strings from the source into an XLIFF catalog:
```bash
php bin/console translation:extract --force en --format=xlf
php bin/console messenger:setup-transports
-php bin/console messenger:consume async --limit=1
+php bin/console messenger:consume async_email --limit=1
php bin/console phplist:search:init-indices
```
diff --git a/config/config.yml b/config/config.yml
index 7de6dca6..332b3eb3 100644
--- a/config/config.yml
+++ b/config/config.yml
@@ -14,7 +14,7 @@ framework:
default_path: '%kernel.project_dir%/resources/translations'
fallbacks: ['%locale%']
- secret: '%secret%'
+ secret: '%app.secret%'
router:
resource: '%kernel.project_dir%/config/routing.yml'
strict_requirements: ~
diff --git a/config/config_dev.yml b/config/config_dev.yml
index c6cbdfd8..561d1a43 100644
--- a/config/config_dev.yml
+++ b/config/config_dev.yml
@@ -18,8 +18,8 @@ monolog:
# graylog:
# type: gelf
# publisher:
- # hostname: '%app.config.graylog_host%'
- # port: '%app.config.graylog_port%'
+ # hostname: '%graylog.host%'
+ # port: '%graylog.port%'
# level: debug
# channels: ['!event']
console:
diff --git a/config/config_prod.yml b/config/config_prod.yml
index 157dc5cf..c21ec90c 100644
--- a/config/config_prod.yml
+++ b/config/config_prod.yml
@@ -7,8 +7,8 @@ monolog:
# graylog:
# type: gelf
# publisher:
-# hostname: '%graylog_host%'
-# port: '%graylog_port%'
+# hostname: '%graylog.host%'
+# port: '%graylog.port%'
# level: error
# Local file logging as backup
main:
diff --git a/config/config_test.yml b/config/config_test.yml
index fe97391a..c98f659c 100644
--- a/config/config_test.yml
+++ b/config/config_test.yml
@@ -15,12 +15,12 @@ doctrine:
# in-memory SQLite database instead (no MySQL server needed), set in .env.test.local:
# PHPLIST_DATABASE_DRIVER=pdo_sqlite
# PHPLIST_DATABASE_PATH=:memory:
- driver: '%database_driver%'
- path: '%database_path%'
- host: '%database_host%'
- port: '%database_port%'
+ driver: '%database.driver%'
+ path: '%database.path%'
+ host: '%database.host%'
+ port: '%database.port%'
dbname: 'phplist'
- user: '%database_user%'
- password: '%database_password%'
+ user: '%database.user%'
+ password: '%database.password%'
charset: UTF8
diff --git a/config/doctrine.yml b/config/doctrine.yml
index caaaec71..4e1cce9b 100644
--- a/config/doctrine.yml
+++ b/config/doctrine.yml
@@ -3,13 +3,13 @@ doctrine:
dbal:
# These variables come from parameters.yml. There, the values are read from environment variables
# and can also be set directly in the parameters.yml file.
- driver: '%database_driver%'
- host: '%database_host%'
- path: '%database_path%'
- port: '%database_port%'
- dbname: '%database_name%'
- user: '%database_user%'
- password: '%database_password%'
+ driver: '%database.driver%'
+ host: '%database.host%'
+ path: '%database.path%'
+ port: '%database.port%'
+ dbname: '%database.name%'
+ user: '%database.user%'
+ password: '%database.password%'
charset: UTF8
use_savepoints: true
diff --git a/config/parameters.yml b/config/parameters.yml
index 772774d1..28d4ed9c 100644
--- a/config/parameters.yml
+++ b/config/parameters.yml
@@ -6,25 +6,25 @@
# The environment variables themselves are defined in the ".env" file (see ".env.dist" for the template)
# and/or in the actual environment (e.g. Apache host configuration, command line).
parameters:
- database_driver: '%env(PHPLIST_DATABASE_DRIVER)%'
- database_path: '%env(PHPLIST_DATABASE_PATH)%'
- database_host: '%env(PHPLIST_DATABASE_HOST)%'
- database_port: '%env(PHPLIST_DATABASE_PORT)%'
- database_name: '%env(PHPLIST_DATABASE_NAME)%'
- database_user: '%env(PHPLIST_DATABASE_USER)%'
- database_password: '%env(PHPLIST_DATABASE_PASSWORD)%'
- database_prefix: '%env(DATABASE_PREFIX)%'
- list_table_prefix: '%env(LIST_TABLE_PREFIX)%'
+ database.driver: '%env(PHPLIST_DATABASE_DRIVER)%'
+ database.path: '%env(PHPLIST_DATABASE_PATH)%'
+ database.host: '%env(PHPLIST_DATABASE_HOST)%'
+ database.port: '%env(PHPLIST_DATABASE_PORT)%'
+ database.name: '%env(PHPLIST_DATABASE_NAME)%'
+ database.user: '%env(PHPLIST_DATABASE_USER)%'
+ database.password: '%env(PHPLIST_DATABASE_PASSWORD)%'
+ database.prefix: '%env(DATABASE_PREFIX)%'
+ database.list_table_prefix: '%env(LIST_TABLE_PREFIX)%'
+
app.dev_version: '%env(APP_DEV_VERSION)%'
app.dev_email: '%env(APP_DEV_EMAIL)%'
app.powered_by_phplist: '%env(APP_POWERED_BY_PHPLIST)%'
app.preference_page_show_private_lists: '%env(PREFERENCEPAGE_SHOW_PRIVATE_LISTS)%'
-
app.rest_api_base_url: '%env(API_BASE_URL)%/api/v2'
app.api_base_url: '%env(API_BASE_URL)%'
app.frontend_base_url: '%env(FRONT_END_BASE_URL)%'
- parallel_use_with_phplist3: '%env(PARALLER_USE_WITH_PHPLIST3)%'
+ app.parallel_use_with_phplist3: '%env(PARALLEL_USE_WITH_PHPLIST3)%'
# Email configuration
app.mailer_from: '%env(MAILER_FROM)%'
@@ -63,11 +63,11 @@ parameters:
elasticsearch.purge.subscriber_history_retention: '%env(ELASTICSEARCH_PURGE_SUBSCRIBER_HISTORY_RETENTION)%'
# A secret key that's used to generate certain security-related tokens
- secret: '%env(PHPLIST_SECRET)%'
+ app.secret: '%env(PHPLIST_SECRET)%'
phplist.verify_ssl: '%env(VERIFY_SSL)%'
- graylog_host: 'graylog.phplist.local'
- graylog_port: 12201
+ graylog.host: 'graylog.phplist.local'
+ graylog.port: 12201
app.phplist_isp_conf_path: '%env(APP_PHPLIST_ISP_CONF_PATH)%'
diff --git a/config/services.yml b/config/services.yml
index 768a4ca4..bfb06823 100644
--- a/config/services.yml
+++ b/config/services.yml
@@ -53,7 +53,7 @@ services:
PhpList\Core\Core\Doctrine\TablePrefixListener:
arguments:
- $tablePrefix: '%database_prefix%'
+ $tablePrefix: '%database.prefix%'
PhpList\Core\Core\Doctrine\SearchIndexDoctrineListener:
arguments:
diff --git a/config/services/managers.yml b/config/services/managers.yml
index 936bf38f..f82cdbb7 100644
--- a/config/services/managers.yml
+++ b/config/services/managers.yml
@@ -16,5 +16,5 @@ services:
autoconfigure: true
public: true
arguments:
- $dbPrefix: '%database_prefix%'
- $dynamicListTablePrefix: '%list_table_prefix%'
+ $dbPrefix: '%database.prefix%'
+ $dynamicListTablePrefix: '%database.list_table_prefix%'
diff --git a/config/services/messenger.yml b/config/services/messenger.yml
index 16e02ff4..40d70b93 100644
--- a/config/services/messenger.yml
+++ b/config/services/messenger.yml
@@ -17,10 +17,10 @@ services:
resource: '../../src/Domain/Search/MessageHandler'
tags: [ 'messenger.message_handler' ]
- PhpList\Core\Domain\Messaging\MessageHandler\CampaignProcessor\CampaignProcessorMessageHandler:
+ PhpList\Core\Domain\Messaging\MessageHandler\CampaignProcessorMessageHandler:
autowire: true
autoconfigure: true
- PhpList\Core\Domain\Messaging\MessageHandler\CampaignProcessor\TestCampaignProcessorMessageHandler:
+ PhpList\Core\Domain\Messaging\MessageHandler\CampaignProcessorTestMessageHandler:
autowire: true
autoconfigure: true
diff --git a/config/services/repositories.yml b/config/services/repositories.yml
index 4cb9d01b..95952280 100644
--- a/config/services/repositories.yml
+++ b/config/services/repositories.yml
@@ -77,8 +77,8 @@ services:
PhpList\Core\Domain\Subscription\Repository\DynamicListAttrRepository:
autowire: true
arguments:
- $dbPrefix: '%database_prefix%'
- $dynamicListTablePrefix: '%list_table_prefix%'
+ $dbPrefix: '%database.prefix%'
+ $dynamicListTablePrefix: '%database.list_table_prefix%'
PhpList\Core\Domain\Subscription\Repository\SubscriberHistoryRepository:
parent: PhpList\Core\Domain\Common\Repository\AbstractRepository
arguments:
diff --git a/config/services/services.yml b/config/services/services.yml
index 4d0b4514..e80096a3 100644
--- a/config/services/services.yml
+++ b/config/services/services.yml
@@ -199,6 +199,30 @@ services:
autowire: true
autoconfigure: true
+ PhpList\Core\Domain\Messaging\Service\MessageStatusUpdater:
+ autowire: true
+ autoconfigure: true
+
+ PhpList\Core\Domain\Messaging\Service\SystemNotificationMailer:
+ autowire: true
+ autoconfigure: true
+
+ PhpList\Core\Domain\Messaging\Service\CampaignExclusionService:
+ autowire: true
+ autoconfigure: true
+
+ PhpList\Core\Domain\Messaging\Service\CampaignAdminNotifier:
+ autowire: true
+ autoconfigure: true
+
+ PhpList\Core\Domain\Messaging\Service\CampaignEmailSender:
+ autowire: true
+ autoconfigure: true
+
+ PhpList\Core\Domain\Messaging\Service\CampaignSendingLoop:
+ autowire: true
+ autoconfigure: true
+
_instanceof:
PhpList\Core\Domain\Messaging\Service\Handler\BounceActionHandlerInterface:
tags:
diff --git a/resources/translations/messages.en.xlf b/resources/translations/messages.en.xlf
index 090b4f5d..876cae3d 100644
--- a/resources/translations/messages.en.xlf
+++ b/resources/translations/messages.en.xlf
@@ -826,6 +826,22 @@ Thank you.
%subscriber% has forwarded message %campaignId% to %email%
__%subscriber% has forwarded message %campaignId% to %email%
+
+ Error precaching campaign message: {error}
+ __Error precaching campaign message: {error}
+
+
+ phplist system error
+ __phplist system error
+
+
+ Failed to send to: %subscriber_id%
+ __Failed to send to: %subscriber_id%
+
+
+ Invalid email, marking unconfirmed: %subscriber_id%
+ __Invalid email, marking unconfirmed: %subscriber_id%
+