# give/4.16.9/src/Campaigns/Actions/AddCampaignFormFromRequest.php

GiveWP – Donation Plugin and Fundraising Platform, version 4.16.9. 40 lines.

- Page: https://pluginprobe.com/plugins/give/4.16.9/code/src/Campaigns/Actions/AddCampaignFormFromRequest.php
- Raw: https://pluginprobe.com/plugins/give/4.16.9/raw/src/Campaigns/Actions/AddCampaignFormFromRequest.php
- Modified: 2025-03-31T19:17:16+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.16.9/code/src/Campaigns/Actions/AddCampaignFormFromRequest.php#L10-L20`.

```php
<?php

namespace Give\Campaigns\Actions;

use Exception;
use Give\Campaigns\Models\Campaign;
use Give\Campaigns\Repositories\CampaignRepository;
use Give\DonationForms\Models\DonationForm;
use WP_Post;

/**
 * @since 4.0.0
 */
class AddCampaignFormFromRequest
{
    /**
     * @since 4.0.0
     *
     * @throws Exception
     */
    public function optionBasedFormEditor(int $formId, WP_Post $post, bool $update)
    {
        if ( ! $update && isset($_GET['campaignId']) && $campaign = Campaign::find(absint($_GET['campaignId']))) {
            give(CampaignRepository::class)->addCampaignForm($campaign, $formId);
        }
    }

    /**
     * @since 4.0.0
     *
     * @throws Exception
     */
    public function visualFormBuilder(DonationForm $donationForm)
    {
        if (isset($_GET['campaignId']) && $campaign = Campaign::find(absint($_GET['campaignId']))) {
            give(CampaignRepository::class)->addCampaignForm($campaign, $donationForm->id);
        }
    }
}

```
