# give/4.18.0/src/Campaigns/Actions/UnarchiveCampaignFormAsPublishStatus.php

GiveWP – Donation Plugin and Fundraising Platform, version 4.18.0. 33 lines.

- Page: https://pluginprobe.com/plugins/give/4.18.0/code/src/Campaigns/Actions/UnarchiveCampaignFormAsPublishStatus.php
- Raw: https://pluginprobe.com/plugins/give/4.18.0/raw/src/Campaigns/Actions/UnarchiveCampaignFormAsPublishStatus.php
- Modified: 2025-05-01T11:56:08+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.18.0/code/src/Campaigns/Actions/UnarchiveCampaignFormAsPublishStatus.php#L10-L20`.

```php
<?php

namespace Give\Campaigns\Actions;

use Give\Campaigns\Models\Campaign;
use Give\Framework\Database\DB;

/**
 * @since 4.2.0
 */
class UnarchiveCampaignFormAsPublishStatus
{
    /**
     * @since 4.2.0
     */
    public function __invoke(Campaign $campaign)
    {
        if ($campaign->isDirty('status') &&
            $campaign->status->isActive() &&
            $campaign->getOriginal('status')->isArchived()) {
            if (!$campaign->defaultFormId) {
                return;
            }

            DB::table('posts')
                ->where('ID', $campaign->defaultFormId)
                ->update([
                    'post_status' => 'publish',
                ]);
        }
    }
}

```
