Inject Router into Initializer

[MAILPOET-1823]
This commit is contained in:
Rostislav Wolny
2019-02-20 16:16:57 +01:00
committed by M. Shull
parent 4a6fb923e0
commit db8c68460d
2 changed files with 9 additions and 7 deletions

View File

@@ -40,6 +40,9 @@ class Initializer {
/** @var SettingsController */ /** @var SettingsController */
private $settings; private $settings;
/** @var Router\Router */
private $router;
const INITIALIZED = 'MAILPOET_INITIALIZED'; const INITIALIZED = 'MAILPOET_INITIALIZED';
function __construct( function __construct(
@@ -48,7 +51,8 @@ class Initializer {
AccessControl $access_control, AccessControl $access_control,
API $api, API $api,
Activator $activator, Activator $activator,
SettingsController $settings SettingsController $settings,
Router\Router $router
) { ) {
$this->container = $container; $this->container = $container;
$this->renderer_factory = $renderer_factory; $this->renderer_factory = $renderer_factory;
@@ -56,6 +60,7 @@ class Initializer {
$this->api = $api; $this->api = $api;
$this->activator = $activator; $this->activator = $activator;
$this->settings = $settings; $this->settings = $settings;
$this->router = $router;
} }
function init() { function init() {
@@ -258,18 +263,13 @@ class Initializer {
try { try {
$this->setupHooks(); $this->setupHooks();
$this->api->init(); $this->api->init();
$this->setupRouter(); $this->router->init();
$this->setupUserLocale(); $this->setupUserLocale();
} catch (\Exception $e) { } catch (\Exception $e) {
$this->handleFailedInitialization($e); $this->handleFailedInitialization($e);
} }
} }
function setupRouter() {
$router = new Router\Router($this->access_control, $this->container);
$router->init();
}
function setupUserLocale() { function setupUserLocale() {
if (get_user_locale() === get_locale()) return; if (get_user_locale() === get_locale()) return;
unload_textdomain(Env::$plugin_name); unload_textdomain(Env::$plugin_name);

View File

@@ -74,6 +74,8 @@ class ContainerConfigurator implements IContainerConfigurator {
$container->autowire(\MailPoet\Router\Endpoints\Subscription::class)->setPublic(true); $container->autowire(\MailPoet\Router\Endpoints\Subscription::class)->setPublic(true);
$container->autowire(\MailPoet\Router\Endpoints\Track::class)->setPublic(true); $container->autowire(\MailPoet\Router\Endpoints\Track::class)->setPublic(true);
$container->autowire(\MailPoet\Router\Endpoints\ViewInBrowser::class)->setPublic(true); $container->autowire(\MailPoet\Router\Endpoints\ViewInBrowser::class)->setPublic(true);
$container->autowire(\MailPoet\Router\Router::class)
->setArgument('$container', new Reference(ContainerWrapper::class));
// Mailer // Mailer
$container->autowire(\MailPoet\Mailer\Mailer::class); $container->autowire(\MailPoet\Mailer\Mailer::class);
// Subscribers // Subscribers