From 93f5bc0bf16d26f4dfcc959d8db3f0de6e7c2a69 Mon Sep 17 00:00:00 2001 From: wxa Date: Thu, 27 Dec 2018 11:15:07 +0300 Subject: [PATCH 1/2] Fix a duplicate constructor after merging encapsulated WP functions --- lib/API/JSON/v1/Newsletters.php | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/lib/API/JSON/v1/Newsletters.php b/lib/API/JSON/v1/Newsletters.php index e764620415..eb7cfff49e 100644 --- a/lib/API/JSON/v1/Newsletters.php +++ b/lib/API/JSON/v1/Newsletters.php @@ -38,16 +38,13 @@ class Newsletters extends APIEndpoint { ); private $wp; - function __construct() { - $this->wp = new WPFunctions; - } - function __construct( Listing\BulkActionController $bulk_action, Listing\Handler $listing_handler ) { $this->bulk_action = $bulk_action; $this->listing_handler = $listing_handler; + $this->wp = new WPFunctions; } function get($data = array()) { From 26220f73eec1c31d8804ac3046b9bf5bbde4093a Mon Sep 17 00:00:00 2001 From: Rostislav Wolny Date: Wed, 2 Jan 2019 11:02:08 +0100 Subject: [PATCH 2/2] Inject WP Functions to newsletters API endpoint using DI container --- lib/API/JSON/v1/Newsletters.php | 9 ++++++--- lib/DI/ContainerConfigurator.php | 2 ++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/API/JSON/v1/Newsletters.php b/lib/API/JSON/v1/Newsletters.php index eb7cfff49e..42c1de3b0c 100644 --- a/lib/API/JSON/v1/Newsletters.php +++ b/lib/API/JSON/v1/Newsletters.php @@ -33,18 +33,21 @@ class Newsletters extends APIEndpoint { /** @var Listing\Handler */ private $listing_handler; + /** @var WPFunctions */ + private $wp; + public $permissions = array( 'global' => AccessControl::PERMISSION_MANAGE_EMAILS ); - private $wp; function __construct( Listing\BulkActionController $bulk_action, - Listing\Handler $listing_handler + Listing\Handler $listing_handler, + WPFunctions $wp ) { $this->bulk_action = $bulk_action; $this->listing_handler = $listing_handler; - $this->wp = new WPFunctions; + $this->wp = $wp; } function get($data = array()) { diff --git a/lib/DI/ContainerConfigurator.php b/lib/DI/ContainerConfigurator.php index 7227f7deb1..f865a2a4c8 100644 --- a/lib/DI/ContainerConfigurator.php +++ b/lib/DI/ContainerConfigurator.php @@ -72,6 +72,8 @@ class ContainerConfigurator implements IContainerConfigurator { $container->autowire(\MailPoet\Subscription\Form::class)->setPublic(true); // Newsletter $container->autowire(\MailPoet\Newsletter\AutomatedLatestContent::class)->setPublic(true); + // WordPress + $container->autowire(\MailPoet\WP\Functions::class)->setPublic(true); return $container; }