t> */ public function getSubjects(): array { return $this->subjects; } public function addSubjectTransformer(SubjectTransformer $transformer): void { $this->subjectTransformers[] = $transformer; } public function getSubjectTransformers(): array { return $this->subjectTransformers; } public function getField(string $key): ?Field { return $this->getFields()[$key] ?? null; } /** @return array */ public function getFields(): array { // add fields lazily (on the first call) if ($this->fields === null) { $this->fields = []; foreach ($this->subjects as $subject) { foreach ($subject->getFields() as $field) { $this->addField($field); } } } return $this->fields ?? []; } public function addFilter(Filter $filter): void { $fieldType = $filter->getFieldType(); if (isset($this->filters[$fieldType])) { throw new \Exception(); // TODO } $this->filters[$fieldType] = $filter; } public function getFilter(string $fieldType): ?Filter { return $this->filters[$fieldType] ?? null; } /** @return array */ public function getFilters(): array { return $this->filters; } public function addStep(Step $step): void { if ($step instanceof Trigger) { $this->addTrigger($step); } elseif ($step instanceof Action) { $this->addAction($step); } // TODO: allow adding any other step implementations? } public function getStep(string $key): ?Step { return $this->steps[$key] ?? null; } /** @return array */ public function getSteps(): array { return $this->steps; } public function addTrigger(Trigger $trigger): void { $key = $trigger->getKey(); if (isset($this->steps[$key]) || isset($this->triggers[$key])) { throw new \Exception(); // TODO } $this->steps[$key] = $trigger; $this->triggers[$key] = $trigger; } public function getTrigger(string $key): ?Trigger { return $this->triggers[$key] ?? null; } /** @return array */ public function getTriggers(): array { return $this->triggers; } public function addAction(Action $action): void { $key = $action->getKey(); if (isset($this->steps[$key]) || isset($this->actions[$key])) { throw new \Exception(); // TODO } $this->steps[$key] = $action; $this->actions[$key] = $action; } public function getAction(string $key): ?Action { return $this->actions[$key] ?? null; } /** @return array */ public function getActions(): array { return $this->actions; } public function addContextFactory(string $key, callable $factory): void { $this->contextFactories[$key] = $factory; } /** @return callable[] */ public function getContextFactories(): array { return $this->contextFactories; } public function onBeforeAutomationSave(callable $callback, int $priority = 10): void { $this->wordPress->addAction(Hooks::AUTOMATION_BEFORE_SAVE, $callback, $priority); } public function onBeforeAutomationStepSave(callable $callback, string $key = null, int $priority = 10): void { $keyPart = $key ? "/key=$key" : ''; $this->wordPress->addAction(Hooks::AUTOMATION_STEP_BEFORE_SAVE . $keyPart, $callback, $priority, 2); } /** * This is used only internally. Fields are added lazily from subjects. */ private function addField(Field $field): void { $key = $field->getKey(); if (isset($this->fields[$key])) { throw new \Exception(); // TODO } $this->fields[$key] = $field; } }
Fatal error: Uncaught Error: Class "MailPoet\Automation\Engine\Registry" not found in /htdocs/wp-content/plugins/mailpoet/generated/FreeCachedContainer.php:1705 Stack trace: #0 /htdocs/wp-content/plugins/mailpoet/generated/FreeCachedContainer.php(1511): MailPoetGenerated\FreeCachedContainer->getRegistryService() #1 /htdocs/wp-content/plugins/mailpoet/generated/FreeCachedContainer.php(1863): MailPoetGenerated\FreeCachedContainer->getFilterHandlerService() #2 /htdocs/wp-content/plugins/mailpoet/generated/FreeCachedContainer.php(1873): MailPoetGenerated\FreeCachedContainer->getIfElseActionService() #3 /htdocs/wp-content/plugins/mailpoet/generated/FreeCachedContainer.php(1675): MailPoetGenerated\FreeCachedContainer->getCoreIntegrationService() #4 /htdocs/wp-content/plugins/mailpoet/generated/FreeCachedContainer.php(2640): MailPoetGenerated\FreeCachedContainer->getEngineService() #5 /htdocs/wp-content/plugins/mailpoet/vendor-prefixed/symfony/dependency-injection/Container.php(122): MailPoetGenerated\FreeCachedContainer->getInitializerService() #6 /htdocs/wp-content/plugins/mailpoet/vendor-prefixed/symfony/dependency-injection/Container.php(110): MailPoetVendor\Symfony\Component\DependencyInjection\Container->make('MailPoet\\Config...', 1) #7 /htdocs/wp-content/plugins/mailpoet/lib/DI/ContainerWrapper.php(39): MailPoetVendor\Symfony\Component\DependencyInjection\Container->get('MailPoet\\Config...') #8 /htdocs/wp-content/plugins/mailpoet/mailpoet_initializer.php(89): MailPoet\DI\ContainerWrapper->get('MailPoet\\Config...') #9 /htdocs/wp-content/plugins/mailpoet/mailpoet.php(194): require_once('/htdocs/wp-cont...') #10 /htdocs/wp-settings.php(526): include_once('/htdocs/wp-cont...') #11 /htdocs/wp-config.php(85): require_once('/htdocs/wp-sett...') #12 /htdocs/wp-load.php(50): require_once('/htdocs/wp-conf...') #13 /htdocs/wp-blog-header.php(13): require_once('/htdocs/wp-load...') #14 /htdocs/index.php(17): require('/htdocs/wp-blog...') #15 {main} thrown in /htdocs/wp-content/plugins/mailpoet/generated/FreeCachedContainer.php on line 1705