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_err/wp-content/plugins/give/src/Helpers/Frontend/ConfirmDonation.php
<?php

namespace Give\Helpers\Frontend;

use Give\Helpers\Form\Utils as FormUtils;
use Give\Session\SessionDonation\DonationAccessor;

/**
 * Class ConfirmDonation
 *
 * @package Give\Helpers\Frontend
 */
class ConfirmDonation
{
    /**
     * Store posted data to donation session to access it in iframe if we are on payment confirmation page.
     * This function will return true if data stored successfully in purchase session (session key name "give_purchase" ) otherwise false.
     *
     * Note: only for internal use.
     *
     * @since 2.7.0
     * @return bool
     */
    public static function storePostedDataInDonationSession()
    {
        $isShowingDonationReceipt = ! empty($_REQUEST['giveDonationAction']) && 'showReceipt' === give_clean(
                $_REQUEST['giveDonationAction']
            );

        if ( ! $isShowingDonationReceipt || ! isset($_GET['payment-confirmation'])) {
            return false;
        }

        $paymentGatewayId = ucfirst(give_clean($_GET['payment-confirmation']));

        $session = new DonationAccessor();
        $session->store("postDataFor{$paymentGatewayId}", array_map('give_clean', $_POST));

        return true;
    }

    /**
     * Remove posted data from donation session just before rendering payment confirmation view because beyond this view this data is not useful.
     *
     * Note: Only for internal use.
     *
     * @since 2.7.0
     */
    public static function removePostedDataFromDonationSession()
    {
        $paymentGatewayId = ucfirst(give_clean($_GET['payment-confirmation']));

        $session = new DonationAccessor();
        $session->delete("postDataFor{$paymentGatewayId}");
    }

    /**
     * Return whether or not we are viewing donation confirmation view or not.
     *
     * @since 2.7.0
     * @return bool
     */
    public static function isConfirming()
    {
        return FormUtils::isViewingFormReceipt() && isset($_GET['payment-confirmation']);
    }
}