PATH:
home
/
lab2454c
/
caimegroup.com
/
wp-content
/
plugins
/
mailpoet
/
lib
/
Automation
/
Engine
/
Data
<?php declare(strict_types = 1); namespace MailPoet\Automation\Engine\Data; if (!defined('ABSPATH')) exit; class Step { public const TYPE_ROOT = 'root'; public const TYPE_TRIGGER = 'trigger'; public const TYPE_ACTION = 'action'; /** @var string */ private $id; /** @var string */ private $type; /** @var string */ private $key; /** @var array */ protected $args; /** @var NextStep[] */ protected $nextSteps; /** @var Filters|null */ private $filters; /** * @param array<string, mixed> $args * @param NextStep[] $nextSteps */ public function __construct( string $id, string $type, string $key, array $args, array $nextSteps, Filters $filters = null ) { $this->id = $id; $this->type = $type; $this->key = $key; $this->args = $args; $this->nextSteps = $nextSteps; $this->filters = $filters; } public function getId(): string { return $this->id; } public function getType(): string { return $this->type; } public function getKey(): string { return $this->key; } /** @return NextStep[] */ public function getNextSteps(): array { return $this->nextSteps; } public function getNextStepIds(): array { $ids = []; foreach ($this->nextSteps as $nextStep) { $nextStepId = $nextStep->getId(); if ($nextStepId) { $ids[] = $nextStep->getId(); } } return $ids; } /** @param NextStep[] $nextSteps */ public function setNextSteps(array $nextSteps): void { $this->nextSteps = $nextSteps; } public function getArgs(): array { return $this->args; } public function getFilters(): ?Filters { return $this->filters; } public function toArray(): array { return [ 'id' => $this->id, 'type' => $this->type, 'key' => $this->key, 'args' => $this->args, 'next_steps' => array_map(function (NextStep $nextStep) { return $nextStep->toArray(); }, $this->nextSteps), 'filters' => $this->filters ? $this->filters->toArray() : null, ]; } public static function fromArray(array $data): self { return new self( $data['id'], $data['type'], $data['key'], $data['args'], array_map(function (array $nextStep) { return NextStep::fromArray($nextStep); }, $data['next_steps']), isset($data['filters']) ? Filters::fromArray($data['filters']) : null ); } }
[-] AutomationRunLog.php
[edit]
[-] Filter.php
[edit]
[-] index.php
[edit]
[+]
..
[-] AutomationTemplate.php
[edit]
[-] NextStep.php
[edit]
[-] Subject.php
[edit]
[-] StepValidationArgs.php
[edit]
[-] AutomationTemplateCategory.php
[edit]
[-] AutomationStatistics.php
[edit]
[-] Filters.php
[edit]
[-] FilterGroup.php
[edit]
[-] AutomationRun.php
[edit]
[-] Automation.php
[edit]
[-] Field.php
[edit]
[-] SubjectEntry.php
[edit]
[-] StepRunArgs.php
[edit]
[-] Step.php
[edit]