HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux WebLive 5.15.0-79-generic #86-Ubuntu SMP Mon Jul 10 16:07:21 UTC 2023 x86_64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/wpmuhibbah/wp-content/plugins/give/src/Campaigns/Actions/PreventDeleteDefaultForm.php
<?php

namespace Give\Campaigns\Actions;

use Give\Campaigns\Models\Campaign;

/**
 * @since 4.1.0
 */
class PreventDeleteDefaultForm
{
    /**
     * @since 4.1.0
     */
    public function __invoke($postId)
    {
        if (get_post_type($postId) !== 'give_forms') {
            return;
        }

        $campaign = Campaign::findByFormId($postId);

        if ($campaign && $campaign->defaultFormId == $postId) {
            wp_die(sprintf(__('The form %s with ID %d cannot be deleted because it is the default form for a campaign.',
                'give'),
                $campaign->defaultForm()->title,
                $postId));
        }
    }

    /**
     * @since 4.1.0
     */
    public function preventTrashStatusChange($newStatus, $oldStatus, $post)
    {
        if ($newStatus === 'trash' && get_post_type($post->ID) === 'give_forms') {
            $campaign = Campaign::findByFormId($post->ID);


            if ($campaign && $campaign->defaultFormId == $post->ID) {
                wp_update_post([
                    'ID' => $post->ID,
                    'post_status' => $oldStatus,
                ]);

                wp_die(sprintf(__('The form %s with ID %d cannot be moved to trash because it is the default form for a campaign.',
                    'give'),
                    $campaign->defaultForm()->title,
                    $post->ID));
            }
        }
    }
}