Skip to content

Commit fc6ba92

Browse files
committed
Style fix
1 parent 6a99463 commit fc6ba92

File tree

9 files changed

+53
-34
lines changed

9 files changed

+53
-34
lines changed

src/Domain/Configuration/Service/PlaceholderResolver.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ public function resolve(?string $input): ?string
2020
if ($input === null || $input === '') return $input;
2121

2222
// Replace [TOKEN] (case-insensitive)
23-
return preg_replace_callback('/\[(\w+)\]/i', function ($m) {
24-
$key = strtoupper($m[1]);
23+
return preg_replace_callback('/\[(\w+)\]/i', function ($map) {
24+
$key = strtoupper($map[1]);
2525
if (!isset($this->providers[$key])) {
26-
return $m[0];
26+
return $map[0];
2727
}
2828
return (string) ($this->providers[$key])();
2929
}, $input);

src/Domain/Configuration/Service/Provider/ConfigProvider.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ public function __construct(
2222
) {
2323
}
2424

25+
/** @SuppressWarnings(PHPMD.StaticAccess) */
2526
public function isEnabled(ConfigOption $key): bool
2627
{
2728
if (!in_array($key, $this->booleanValues)) {
@@ -38,6 +39,7 @@ public function isEnabled(ConfigOption $key): bool
3839

3940
/**
4041
* Get configuration value by its key, from settings or default configs or default value (if provided)
42+
* @SuppressWarnings(PHPMD.StaticAccess)
4143
*/
4244
public function getValue(ConfigOption $key): ?string
4345
{
@@ -58,6 +60,7 @@ public function getValue(ConfigOption $key): ?string
5860
return DefaultConfigProvider::has($key->value) ? DefaultConfigProvider::get($key->value) : null;
5961
}
6062

63+
/** @SuppressWarnings(PHPMD.StaticAccess) */
6164
public function getValueWithNamespace(ConfigOption $key): ?string
6265
{
6366
$full = $this->getValue($key);

src/Domain/Configuration/Service/Provider/DefaultConfigProvider.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
use Symfony\Contracts\Translation\TranslatorInterface;
88

9+
/** @SuppressWarnings(PHPMD.StaticAccess) */
910
class DefaultConfigProvider
1011
{
1112
/**
@@ -21,6 +22,7 @@ public static function setTranslator(TranslatorInterface $translator): void
2122
self::$translator = $translator;
2223
}
2324

25+
/** @SuppressWarnings(PHPMD.ExcessiveMethodLength) */
2426
private static function init(): void
2527
{
2628
if (!empty(self::$defaults)) {

src/Domain/Subscription/Model/Dto/SubscriberImportOptions.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ public function __construct(
1414
public readonly array $listIds = [],
1515
public readonly bool $dryRun = false,
1616
public readonly bool $skipInvalidEmail = true,
17-
public readonly bool $notifySubscribers = false,
1817
) {
1918
}
2019
}

src/Domain/Subscription/Repository/DynamicListAttrRepository.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,13 @@ public function fetchOptionNames(string $listTable, array $ids): array
3030

3131
$table = $this->prefix . 'listattr_' . $listTable;
3232

33-
$qb = $this->connection->createQueryBuilder();
34-
$qb->select('name')
33+
$queryBuilder = $this->connection->createQueryBuilder();
34+
$queryBuilder->select('name')
3535
->from($table)
3636
->where('id IN (:ids)')
3737
->setParameter('ids', array_map('intval', $ids), ArrayParameterType::INTEGER);
3838

39-
return $qb->executeQuery()->fetchFirstColumn();
39+
return $queryBuilder->executeQuery()->fetchFirstColumn();
4040
}
4141

4242
public function fetchSingleOptionName(string $listTable, int $id): ?string
@@ -47,13 +47,13 @@ public function fetchSingleOptionName(string $listTable, int $id): ?string
4747

4848
$table = $this->prefix . 'listattr_' . $listTable;
4949

50-
$qb = $this->connection->createQueryBuilder();
51-
$qb->select('name')
50+
$queryBuilder = $this->connection->createQueryBuilder();
51+
$queryBuilder->select('name')
5252
->from($table)
5353
->where('id = :id')
5454
->setParameter('id', $id);
5555

56-
$val = $qb->executeQuery()->fetchOne();
56+
$val = $queryBuilder->executeQuery()->fetchOne();
5757

5858
return $val === false ? null : (string) $val;
5959
}

src/Domain/Subscription/Service/Provider/CheckboxGroupValueProvider.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public function getValue(SubscriberAttributeDefinition $attribute, SubscriberAtt
2626
}
2727

2828
$ids = array_values(array_filter(array_map(
29-
fn($v) => ($i = (int)trim($v)) > 0 ? $i : null,
29+
fn($value) => ($index = (int)trim($value)) > 0 ? $index : null,
3030
explode(',', $csv)
3131
)));
3232

src/Domain/Subscription/Service/SubscriberCsvImporter.php

Lines changed: 34 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -151,21 +151,17 @@ private function processRow(
151151
SubscriberImportOptions $options,
152152
array &$stats,
153153
): void {
154-
if (!filter_var($dto->email, FILTER_VALIDATE_EMAIL)) {
155-
if ($options->skipInvalidEmail) {
156-
$stats['skipped']++;
157-
return;
158-
} else {
159-
$dto->email = 'invalid_' . $dto->email;
160-
$dto->sendConfirmation = false;
161-
}
154+
if ($this->handleInvalidEmail($dto, $options, $stats)) {
155+
return;
162156
}
163-
$subscriber = $this->subscriberRepository->findOneByEmail($dto->email);
164157

158+
$subscriber = $this->subscriberRepository->findOneByEmail($dto->email);
165159
if ($subscriber && !$options->updateExisting) {
166160
$stats['skipped']++;
161+
167162
return;
168163
}
164+
169165
if ($subscriber) {
170166
$this->subscriberManager->updateFromImport($subscriber, $dto);
171167
$stats['updated']++;
@@ -186,9 +182,37 @@ private function processRow(
186182
}
187183
}
188184

185+
$this->handleFlushAndEmail($subscriber, $options,$dto, $addedNewSubscriberToList);
186+
}
187+
188+
private function handleInvalidEmail(
189+
ImportSubscriberDto $dto,
190+
SubscriberImportOptions $options,
191+
array &$stats
192+
): bool {
193+
if (!filter_var($dto->email, FILTER_VALIDATE_EMAIL)) {
194+
if ($options->skipInvalidEmail) {
195+
$stats['skipped']++;
196+
197+
return true;
198+
}
199+
// todo: check
200+
$dto->email = 'invalid_' . $dto->email;
201+
$dto->sendConfirmation = false;
202+
}
203+
204+
return false;
205+
}
206+
207+
private function handleFlushAndEmail(
208+
Subscriber $subscriber,
209+
SubscriberImportOptions $options,
210+
ImportSubscriberDto $dto,
211+
bool $addedNewSubscriberToList
212+
): void {
189213
if (!$options->dryRun) {
190214
$this->entityManager->flush();
191-
if ($options->notifySubscribers && $addedNewSubscriberToList) {
215+
if ($dto->sendConfirmation && $addedNewSubscriberToList) {
192216
$this->sendSubscribeEmail($subscriber, $options->listIds);
193217
}
194218
}

tests/Unit/Domain/Messaging/Command/ProcessQueueCommandTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
namespace PhpList\Core\Tests\Unit\Domain\Messaging\Command;
66

77
use Exception;
8-
use PhpList\Core\Domain\Configuration\Service\Manager\ConfigManager;
8+
use PhpList\Core\Domain\Configuration\Service\Provider\ConfigProvider;
99
use PhpList\Core\Domain\Messaging\Command\ProcessQueueCommand;
1010
use PhpList\Core\Domain\Messaging\Model\Message;
1111
use PhpList\Core\Domain\Messaging\Repository\MessageRepository;
@@ -46,7 +46,7 @@ protected function setUp(): void
4646
lockFactory: $lockFactory,
4747
messagePreparator: $this->messageProcessingPreparator,
4848
campaignProcessor: $this->campaignProcessor,
49-
configManager: $this->createMock(ConfigManager::class),
49+
configProvider: $this->createMock(ConfigProvider::class),
5050
translator: $this->translator,
5151
);
5252

tests/Unit/Domain/Subscription/Service/SubscriberCsvImporterTest.php

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,6 @@
1111
use PhpList\Core\Domain\Subscription\Model\SubscriberAttributeDefinition;
1212
use PhpList\Core\Domain\Subscription\Repository\SubscriberAttributeDefinitionRepository;
1313
use PhpList\Core\Domain\Subscription\Repository\SubscriberRepository;
14-
use PhpList\Core\Domain\Configuration\Model\ConfigOption;
15-
use PhpList\Core\Domain\Configuration\Service\Provider\ConfigProvider;
16-
use PhpList\Core\Domain\Messaging\Service\EmailService;
17-
use PhpList\Core\Domain\Subscription\Repository\SubscriberListRepository;
1814
use PhpList\Core\Domain\Subscription\Service\CsvImporter;
1915
use PhpList\Core\Domain\Subscription\Service\Manager\SubscriberAttributeManager;
2016
use PhpList\Core\Domain\Subscription\Service\Manager\SubscriberManager;
@@ -23,6 +19,7 @@
2319
use PHPUnit\Framework\MockObject\MockObject;
2420
use PHPUnit\Framework\TestCase;
2521
use Symfony\Component\HttpFoundation\File\UploadedFile;
22+
use Symfony\Component\Messenger\MessageBusInterface;
2623
use Symfony\Component\Translation\Translator;
2724

2825
class SubscriberCsvImporterTest extends TestCase
@@ -43,10 +40,6 @@ protected function setUp(): void
4340
$this->csvImporterMock = $this->createMock(CsvImporter::class);
4441
$this->attributeDefinitionRepositoryMock = $this->createMock(SubscriberAttributeDefinitionRepository::class);
4542
$entityManager = $this->createMock(EntityManagerInterface::class);
46-
$configProvider = $this->createMock(ConfigProvider::class);
47-
$emailService = $this->createMock(EmailService::class);
48-
$subscriberListRepository = $this->createMock(SubscriberListRepository::class);
49-
$configProvider->method('isEnabled')->with(ConfigOption::SendSubscribeMessage)->willReturn(false);
5043

5144
$this->subject = new SubscriberCsvImporter(
5245
subscriberManager: $this->subscriberManagerMock,
@@ -57,9 +50,7 @@ protected function setUp(): void
5750
attrDefinitionRepository: $this->attributeDefinitionRepositoryMock,
5851
entityManager: $entityManager,
5952
translator: new Translator('en'),
60-
emailService: $emailService,
61-
configProvider: $configProvider,
62-
subscriberListRepository: $subscriberListRepository,
53+
messageBus: $this->createMock(MessageBusInterface::class),
6354
);
6455
}
6556

0 commit comments

Comments
 (0)