Skip to content
Open

Dev #390

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
3ebedfb
Update TemplateImageManager to set correct MIME type for resized imag…
tatevikg1 Oct 26, 2026
7327e72
Refactor UserMessageBounce and UserMessageView to update TODO comment…
tatevikg1 Oct 26, 2026
2777d0e
Improve writeFileToDirectory method to handle temp file management an…
tatevikg1 Oct 26, 2026
54e8f5f
Remove TODO comment for upload directory configuration in LocalUpload…
tatevikg1 Oct 26, 2026
c52c7cb
Add methods to retrieve bounce report data and refactor database quer…
tatevikg1 Oct 26, 2026
3914068
Refactor comments in CampaignProcessorMessageHandler and MessageForwa…
tatevikg1 Oct 26, 2026
c09147b
Validate temp file directory in FileHelper and unlink if it doesn't m…
tatevikg1 Oct 26, 2026
93a4548
ref: MessageDataLoader and MessageRepository for improved data handli…
tatevikg1 Oct 27, 2026
deff331
feat: link tracking functionality with token generation and click tra…
tatevikg1 Oct 27, 2026
ee412fd
ref: improve security in FileHelper
tatevikg1 Oct 27, 2026
6cbdced
ref: use executeStatement instead of flush
tatevikg1 Oct 27, 2026
8f30740
fix: ensure UID is added before fragment in personalized links
tatevikg1 Oct 27, 2026
e37ba43
feat: add LIST_FIELDS constant and handle null data for target and ex…
tatevikg1 Oct 27, 2026
4e4c6d0
ref: to fix phpmd
tatevikg1 Oct 27, 2026
b7eb0a8
feat: add APP_WEBSITE to environment configuration for server domain …
tatevikg1 Nov 1, 2026
ba20091
fix: clarify envelope sender configuration in SystemNotificationMailer
tatevikg1 Nov 1, 2026
3ec60da
feat: integrate user blacklist check in SubscriberCsvImporter for ema…
tatevikg1 Nov 1, 2026
c517d53
feat: blacklisting logic in SubscriberCsvExporter to re-verify agains…
tatevikg1 Nov 1, 2026
5e71eb4
fix: test
tatevikg1 Nov 1, 2026
1277dec
ref: update comments in ExternalImageService and RemotePageFetcher fo…
tatevikg1 Nov 1, 2026
cbdf76c
feat: implement link tracking in CampaignMailContentBuilder after pla…
tatevikg1 Nov 2, 2026
3efa03d
feat: add analytics tracking service for campaign links and integrate…
tatevikg1 Nov 2, 2026
0a8e6c3
feat: add fallback for APP_WEBSITE in parameters.yml to support exist…
tatevikg1 Nov 2, 2026
b7e40ee
feat: add restrictive umask when creating files in FileHelper to ensu…
tatevikg1 Nov 2, 2026
b09f08a
feat: refactor UserTrackValueResolver to use absolute REST API base U…
tatevikg1 Nov 2, 2026
f8b558f
feat: enhance SubscriberCsvExporter to include blacklisted email chec…
tatevikg1 Nov 2, 2026
bf29cc5
feat: implement live blacklist status filtering in SubscriberRepository
tatevikg1 Nov 2, 2026
d4d78c8
feat: update SubscriberCsvImporter to ignore CSV blacklisted flag and…
tatevikg1 Nov 2, 2026
15579b1
feat: implement method to remove query parameters with specified pref…
tatevikg1 Nov 2, 2026
8d8ef6a
feat: enhance LinkRewriter to handle PCRE errors gracefully and add u…
tatevikg1 Nov 2, 2026
48b8ab8
feat: implement storeMessageData method in MessageDataManager and add…
tatevikg1 Nov 3, 2026
668d712
feat: update LinkClickService to allow tracking clicks for subscriber…
tatevikg1 Nov 3, 2026
d10550a
feat: update UserMessageService to count views even when no campaign …
tatevikg1 Nov 3, 2026
e6030ca
feat: enhance LinkTrackTokenService to support parsing phplist3 token…
tatevikg1 Nov 3, 2026
201a392
chore: update to PHP 8.2
tatevikg1 Nov 5, 2026
c209891
feat: optimize runForMySql method to skip creating messenger_messages…
tatevikg1 Nov 5, 2026
9fc83f2
feat: new logo
tatevikg1 Nov 5, 2026
c91c359
feat: implement access level checks for administrators and update res…
tatevikg1 Nov 9, 2026
9bf47aa
feat: add admin notification system for queued campaigns and attachme…
tatevikg1 Nov 10, 2026
4d4b6d4
feat: add PendingMigrationsNotificationProvider to notify superusers …
tatevikg1 Nov 11, 2026
e0448d5
feat: add SkippedMigrationRecorder to track skipped migrations in Doc…
tatevikg1 Nov 11, 2026
f4bfebd
feat: add DevModeNotification and MailerDisabledNotification
tatevikg1 Nov 11, 2026
15ac445
chore: remove todo lists are filtered by owner in repo
tatevikg1 Nov 11, 2026
c4c7edc
feat: update email header handling to use 'Received' in case of http …
tatevikg1 Nov 11, 2026
e913998
feat: enhance placeholder replacement for website and domain in confi…
tatevikg1 Nov 11, 2026
ef20e9c
todos
tatevikg1 Nov 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .env.dist
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@ APP_POWERED_BY_PHPLIST=0
PREFERENCEPAGE_SHOW_PRIVATE_LISTS=0

API_BASE_URL=http://api.phplist.local/
# Website address without scheme (e.g. www.example.com). Used as the default of the "website" setting;
# the "domain" setting defaults to the same value without a leading "www.". Both are editable in the admin UI.
APP_WEBSITE=phplist.local
FRONT_END_BASE_URL=http://frontend.phplist.local

PARALLEL_USE_WITH_PHPLIST3=0
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.1']
php-versions: ['8.2']
steps:
- name: Checkout
uses: actions/checkout@v3
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/core-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
- name: Setup PHP, with composer and extensions
uses: shivammathur/setup-php@v2
with:
php-version: 8.1
php-version: 8.2
extensions: mbstring, dom, fileinfo, mysql
- name: Get composer cache directory
id: composer-cache
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/i18n-validate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
strategy:
fail-fast: false
matrix:
php: ['8.1']
php: ['8.2']

steps:
- name: Checkout
Expand Down
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
"source": "https://github.com/phpList/core"
},
"require": {
"php": "^8.1",
"php": "^8.2",
"symfony/framework-bundle": "^6.4",
"symfony/dependency-injection": "^6.4",
"symfony/config": "^6.4",
Expand Down
5 changes: 4 additions & 1 deletion config/parameters.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,12 @@ parameters:
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.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)%'
# falls back to empty so existing .env files without APP_WEBSITE keep working (the value may live in the database)
env(APP_WEBSITE): ''
app.website: '%env(APP_WEBSITE)%'
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Resolved

app.parallel_use_with_phplist3: '%env(PARALLEL_USE_WITH_PHPLIST3)%'

Expand Down
4 changes: 4 additions & 0 deletions config/services.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,10 @@ services:
arguments:
$tablePrefix: '%database.prefix%'

PhpList\Core\Core\Doctrine\SkippedMigrationRecorder:
autowire: true
autoconfigure: true

PhpList\Core\Core\Doctrine\SearchIndexDoctrineListener:
arguments:
$enabled: '%elasticsearch.enabled%'
Expand Down
2 changes: 2 additions & 0 deletions config/services/parameters.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,5 @@ parameters:
notify_end_default: 'end@example.com'
always_add_google_tracking: true
click_track: true
# sign click-tracking links with the application secret, see LinkTrackTokenService
click_track_sign_with_hmac: false
2 changes: 2 additions & 0 deletions config/services/providers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ services:

PhpList\Core\Domain\Configuration\Service\Provider\DefaultConfigProvider:
autowire: true
arguments:
$website: '%app.website%'

PhpList\Core\Domain\Configuration\Service\Provider\ConfigProvider:
autowire: true
Expand Down
8 changes: 8 additions & 0 deletions config/services/repositories.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,14 @@ services:
parent: PhpList\Core\Domain\Common\Repository\AbstractRepository
arguments:
- PhpList\Core\Domain\Analytics\Model\LinkTrackUmlClick
PhpList\Core\Domain\Analytics\Repository\LinkTrackForwardRepository:
parent: PhpList\Core\Domain\Common\Repository\AbstractRepository
arguments:
- PhpList\Core\Domain\Analytics\Model\LinkTrackForward
PhpList\Core\Domain\Analytics\Repository\LinkTrackMlRepository:
parent: PhpList\Core\Domain\Common\Repository\AbstractRepository
arguments:
- PhpList\Core\Domain\Analytics\Model\LinkTrackMl


PhpList\Core\Domain\Configuration\Repository\ConfigRepository:
Expand Down
24 changes: 24 additions & 0 deletions config/services/services.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ services:
autowire: true
autoconfigure: true

PhpList\Core\Domain\Messaging\EventSubscriber\InjectedByHeaderSubscriber:
autowire: true
autoconfigure: true

PhpList\Core\Domain\Messaging\Service\ForwardContentService:
autowire: true
autoconfigure: true
Expand Down Expand Up @@ -61,6 +65,21 @@ services:
autoconfigure: true
public: true

PhpList\Core\Domain\Analytics\Service\LinkRewriter:
autowire: true

PhpList\Core\Domain\Analytics\Service\AnalyticsTrackingService:
autowire: true

PhpList\Core\Domain\Analytics\Service\LinkTrackTokenService:
autowire: true
autoconfigure: true

PhpList\Core\Domain\Analytics\Service\LinkClickService:
autowire: true
autoconfigure: true
public: true

PhpList\Core\Domain\Analytics\Service\AnalyticsService:
autowire: true
autoconfigure: true
Expand Down Expand Up @@ -249,6 +268,11 @@ services:
autoconfigure: true
public: true

PhpList\Core\Domain\Identity\Service\Notification\:
resource: '../../src/Domain/Identity/Service/Notification/*.php'
autowire: true
autoconfigure: true

PhpList\Core\Domain\Identity\Service\AdminNotifier:
autowire: true
autoconfigure: true
Expand Down
Binary file modified public/favicon-48.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/favicon.ico
Binary file not shown.
Loading
Loading