Server IP : 192.158.238.246 / Your IP : 3.142.92.19 Web Server : LiteSpeed System : Linux uniform.iwebfusion.net 4.18.0-553.27.1.lve.1.el8.x86_64 #1 SMP Wed Nov 20 15:58:00 UTC 2024 x86_64 User : jenniferflocom ( 1321) PHP Version : 8.1.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/7779/root/home/jenniferflocom/www/wp-content/plugins/give/src/FormMigration/ |
Upload File : |
<?php namespace Give\FormMigration; use Give\FormMigration\Contracts\FormMigrationStep; use Give\FormMigration\DataTransferObjects\FormMigrationPayload; class Pipeline { protected $steps = []; protected $payload; protected $beforeStep; protected $afterStep; public function __construct(array $steps) { $this->steps = $steps; } public function beforeEach(callable $beforeStep): Pipeline { $this->beforeStep = $beforeStep; return $this; } public function afterEach(callable $afterStep): Pipeline { $this->afterStep = $afterStep; return $this; } public function process(FormMigrationPayload $payload): StepProcessor { $processor = new StepProcessor($payload); foreach ($this->steps as $stepClass) { if ($this->beforeStep) call_user_func($this->beforeStep, $stepClass, $payload); $_payload = unserialize(serialize($payload)); $processor(new $stepClass($payload)); if ($this->afterStep) call_user_func($this->afterStep, $stepClass, $payload, $_payload); } return $processor; } }