<?php declare(strict_types=1);namespace Shopware\Core\Framework\Event\EventAction;use Doctrine\DBAL\Connection;use Shopware\Core\Content\MailTemplate\MailTemplateEvents;use Shopware\Core\Framework\DataAbstractionLayer\Event\EntityDeletedEvent;use Shopware\Core\Framework\Feature;use Shopware\Core\Framework\Log\Package;use Symfony\Component\EventDispatcher\EventSubscriberInterface;/** * @deprecated tag:v6.5.0 - reason:remove-subscriber - Will be removed in v6.5.0. */#[Package('business-ops')]class EventActionSubscriber implements EventSubscriberInterface{ private Connection $connection; /** * @internal */ public function __construct(Connection $connection) { $this->connection = $connection; } /** * @return array<string, string|array{0: string, 1: int}|list<array{0: string, 1?: int}>> */ public static function getSubscribedEvents() { return [ MailTemplateEvents::MAIL_TEMPLATE_DELETED_EVENT => 'deleted', ]; } public function deleted(EntityDeletedEvent $event): void { if (Feature::isActive('FEATURE_NEXT_17858')) { return; } $ids = $event->getIds(); if (empty($ids)) { return; } $this->connection->executeUpdate( 'DELETE FROM event_action WHERE action_name = :action AND JSON_UNQUOTE(JSON_EXTRACT(event_action.config, "$.mail_template_id")) IN (:ids)', ['action' => 'action.mail.send', 'ids' => $ids], ['ids' => Connection::PARAM_STR_ARRAY] ); }}