diff --git a/lib/Config/Hooks.php b/lib/Config/Hooks.php index 0476c92939..47001e6c76 100644 --- a/lib/Config/Hooks.php +++ b/lib/Config/Hooks.php @@ -3,15 +3,15 @@ namespace MailPoet\Config; use MailPoet\Models\Setting; -use MailPoetVendor\Psr\Container\ContainerInterface; +use MailPoet\Subscription\Form; class Hooks { - /** @var ContainerInterface */ - private $container; + /** @var Form */ + private $subscription_form; - function __construct(ContainerInterface $container) { - $this->container = $container; + function __construct(Form $subscription_form) { + $this->subscription_form = $subscription_form; } function init() { @@ -101,11 +101,11 @@ class Hooks { // Subscription form add_action( 'admin_post_mailpoet_subscription_form', - [$this, 'subscriptionFormOnSubmit'] + [$this->subscription_form, 'onSubmit'] ); add_action( 'admin_post_nopriv_mailpoet_subscription_form', - [$this, 'subscriptionFormOnSubmit'] + [$this->subscription_form, 'onSubmit'] ); } @@ -181,9 +181,4 @@ class Hooks { 10, 3 ); } - - // Callbacks - function subscriptionFormOnSubmit($data = false) { - $this->container->get(\MailPoet\Subscription\Form::class)->onSubmit($data); - } } diff --git a/lib/DI/ContainerConfigurator.php b/lib/DI/ContainerConfigurator.php index a7cec44c08..7227f7deb1 100644 --- a/lib/DI/ContainerConfigurator.php +++ b/lib/DI/ContainerConfigurator.php @@ -50,10 +50,7 @@ class ContainerConfigurator implements IContainerConfigurator { $container->autowire(\MailPoet\API\JSON\v1\Subscribers::class)->setPublic(true); // Config $container->autowire(\MailPoet\Config\AccessControl::class)->setPublic(true); - $container->autowire(\MailPoet\Config\Hooks::class) - ->addArgument(new Reference(ContainerWrapper::class)) - ->setPublic(true); - + $container->autowire(\MailPoet\Config\Hooks::class)->setPublic(true); // Cron $container->autowire(\MailPoet\Cron\Daemon::class)->setPublic(true); $container->autowire(\MailPoet\Cron\DaemonHttpRunner::class)->setPublic(true); diff --git a/tests/integration/Config/HooksTest.php b/tests/integration/Config/HooksTest.php index cd48b1fe6d..873c668d91 100644 --- a/tests/integration/Config/HooksTest.php +++ b/tests/integration/Config/HooksTest.php @@ -3,11 +3,10 @@ namespace MailPoet\Test\Config; use MailPoet\Config\Hooks; use MailPoet\DI\ContainerWrapper; -use MailPoet\WP\Posts as WPPosts; class HooksTest extends \MailPoetTest { function testItHooksSchedulerToMultiplePostTypes() { - $hooks = new Hooks(ContainerWrapper::getInstance()); + $hooks = ContainerWrapper::getInstance()->get(Hooks::class); $hooks->setupPostNotifications(); expect(has_filter('transition_post_status', '\MailPoet\Newsletter\Scheduler\Scheduler::transitionHook'))->notEmpty(); } diff --git a/tests/integration/Newsletter/Scheduler/SchedulerTest.php b/tests/integration/Newsletter/Scheduler/SchedulerTest.php index 19892487f3..7069fffe3a 100644 --- a/tests/integration/Newsletter/Scheduler/SchedulerTest.php +++ b/tests/integration/Newsletter/Scheduler/SchedulerTest.php @@ -697,7 +697,7 @@ class SchedulerTest extends \MailPoetTest { } function testUnsearchablePostTypeDoesNotSchedulePostNotification() { - $hook = new Hooks(ContainerWrapper::getInstance()); + $hook = ContainerWrapper::getInstance()->get(Hooks::class); $newsletter = $this->_createNewsletter(Newsletter::TYPE_NOTIFICATION);