# give/4.17.0/src/FormMigration/Actions/MapSettingsToDonationSummary.php

GiveWP – Donation Plugin and Fundraising Platform, version 4.17.0. 41 lines.

- Page: https://pluginprobe.com/plugins/give/4.17.0/code/src/FormMigration/Actions/MapSettingsToDonationSummary.php
- Raw: https://pluginprobe.com/plugins/give/4.17.0/raw/src/FormMigration/Actions/MapSettingsToDonationSummary.php
- Modified: 2023-10-16T17:55:46+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/give/4.17.0/code/src/FormMigration/Actions/MapSettingsToDonationSummary.php#L10-L20`.

```php
<?php

namespace Give\FormMigration\Actions;

use Give\FormMigration\DataTransferObjects\DonationSummarySettings;
use Give\Framework\Blocks\BlockCollection;

class MapSettingsToDonationSummary
{
    /**
     * @var BlockCollection
     */
    protected $blocks;

    public function __construct(BlockCollection $blocks)
    {
        $this->blocks = $blocks;
    }

    public static function make(BlockCollection $blocks)
    {
        return new self($blocks);
    }

    public function __invoke(DonationSummarySettings $settings)
    {
        if($settings->isEnabled()){
            $block = $this->blocks->findByName('givewp/donation-summary');
            $block->setAttribute('label', $settings->getHeading());

            if($settings->isBeforePaymentFields()) {
                // Remove and re-insert is the same as "move".
                $this->blocks->remove('givewp/donation-summary');
                $this->blocks->insertBefore('givewp/payment-gateways', $block );
            }
        } else {
            $this->blocks->remove('givewp/donation-summary');
        }
    }
}

```
