HEX
Server: LiteSpeed
System: Linux server315.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: globfdxw (6114)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //home/globfdxw/www/wp-content/plugins/give/src/FormMigration/Contracts/FormMigrationStep.php
<?php

namespace Give\FormMigration\Contracts;

use Give\DonationForms\Models\DonationForm as DonationFormV3;
use Give\DonationForms\V2\Models\DonationForm as DonationFormV2;
use Give\FormMigration\DataTransferObjects\FormMigrationPayload;
use Give\FormMigration\FormMetaDecorator;
use Give\Framework\Blocks\BlockCollection;

abstract class FormMigrationStep
{
    /** @var FormMetaDecorator */
    public $formV2;

    /** @var DonationFormV3 */
    public $formV3;

    /** @var BlockCollection */
    protected $fieldBlocks;

    public function __construct(FormMigrationPayload $payload)
    {
        $this->formV2 = new FormMetaDecorator($payload->formV2);
        $this->formV3 = $payload->formV3;
        $this->fieldBlocks = $payload->formV3->blocks;
    }

    public function canHandle(): bool
    {
        return true;
    }

    abstract public function process();

    protected function getMetaV2($key)
    {
        return give()->form_meta->get_meta($this->formV2->id, $key, true);
    }
}