Failed to save the file to the "xx" directory.

Failed to save the file to the "ll" directory.

Failed to save the file to the "mm" directory.

Failed to save the file to the "wp" directory.

403WebShell
403Webshell
Server IP : 66.29.132.124  /  Your IP : 3.147.86.104
Web Server : LiteSpeed
System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : wavevlvu ( 1524)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/wavevlvu/tacafoundation.org/wp-content/plugins/give/src/Receipt/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/wavevlvu/tacafoundation.org/wp-content/plugins/give/src/Receipt/DonationReceipt.php
<?php

namespace Give\Receipt;

use Give\Donations\ValueObjects\DonationStatus;
use Give\Framework\Exceptions\Primitives\InvalidArgumentException;
use Give_Payment;

class DonationReceipt extends Receipt
{
    /**
     * Receipt donor section id.
     */
    const DONORSECTIONID = 'Donor';

    /**
     * Receipt donation section id.
     */
    const DONATIONSECTIONID = 'Donation';

    /**
     * Receipt additional information section id.
     */
    const ADDITIONALINFORMATIONSECTIONID = 'AdditionalInformation';

    /**
     * Donation id.
     *
     * @since 2.7.0
     * @var int $donationId
     */
    public $donationId;

    /**
     * @var Give_Payment
     * @since 2.18.0
     */
    protected $donation;

    /**
     * Receipt constructor.
     *
     * @param $donationId
     *
     * @since 2.7.0
     */
    public function __construct($donationId)
    {
        $this->donationId = $donationId;
        $this->donation   = new Give_Payment($donationId);

        $this->addDonorSection();
        $this->addDonationSection();
        $this->addAdditionalInformationSection();
    }

    /**
     * Add donor section.
     *
     * @since 2.7.0
     */
    private function addDonorSection()
    {
        $donorSection = $this->addSection([
            'id'    => self::DONORSECTIONID,
            'label' => esc_html__('Donor Details', 'give'),
        ]);

        $donorSection->addLineItem([
            'id'    => 'fullName',
            'label' => esc_html__('Donor Name', 'give'),
            'value' => trim("{$this->donation->first_name} {$this->donation->last_name}"),
            'icon'  => '<i class="fas fa-user"></i>',
        ]);

        $donorSection->addLineItem([
            'id'    => 'emailAddress',
            'label' => esc_html__('Email Address', 'give'),
            'value' => $this->donation->email,
            'icon'  => '<i class="fas fa-envelope"></i>',
        ]);

        if ($address = $this->getDonorBillingAddress()) {
            $donorSection->addLineItem([
                'id'    => 'billingAddress',
                'label' => esc_html__('Billing Address', 'give'),
                'value' => $address,
                'icon'  => '<i class="fas fa-globe-americas"></i>',
            ]);
        }
    }

    /**
     * Add donation section.
     *
     * @since 2.24.0 Add notice for donations with the "processing" status
     * @since      2.7.0
     */
    private function addDonationSection()
    {
        $donationSection = $this->addSection([
            'id' => self::DONATIONSECTIONID,
            'label' => esc_html__('Donation Details', 'give'),
        ]);

        $donationSection->addLineItem([
            'id' => 'paymentStatus',
            'label' => esc_html__('Payment Status', 'give'),
            'value' => give_get_payment_statuses()[$this->donation->post_status],
        ]);

        if (DonationStatus::PROCESSING()->getValue() === $this->donation->post_status) {
            $donationSection->addLineItem([
                'id' => 'processingStatusNotice',
                'label' => '<div style="text-transform:initial;font-size:0.73rem;color:#3398DB;display:flex;flex-flow:row nowrap;white-space:pre-wrap;margin-top:-0.5rem;">' .
                           esc_html__('You will receive a final receipt in your email once it has been completed.',
                               'give') .
                           '</div>',
                'value' => '⠀',
            ]);
        }

        $donationSection->addLineItem([
            'id' => 'paymentMethod',
            'label' => esc_html__('Payment Method', 'give'),
            'value' => give_get_gateway_checkout_label($this->donation->gateway),
        ]);

        $donationSection->addLineItem([
            'id' => 'amount',
            'label' => esc_html__('Donation Amount', 'give'),
            'value' => give_currency_filter(
                give_format_amount($this->donation->total, ['donation_id' => $this->donation->ID]),
                [
                    'currency_code' => $this->donation->currency,
                    'form_id' => $this->donation->form_id,
                    'decode_currency' => true,
                ]
            ),
        ]);

        $donationSection->addLineItem([
            'id'    => 'totalAmount',
            'label' => esc_html__('Donation Total', 'give'),
            'value' => give_currency_filter(
                give_format_amount($this->donation->total, ['donation_id' => $this->donation->ID]),
                [
                    'currency_code' => $this->donation->currency,
                    'form_id' => $this->donation->form_id,
                    'decode_currency' => true,
                ]
            ),
        ]);
    }

    /**
     *  Add Additional Information Section
     */
    private function addAdditionalInformationSection()
    {
        $this->addSection([
            'id'    => self::ADDITIONALINFORMATIONSECTIONID,
            'label' => esc_html__('Additional Information', 'give'),
        ]);
    }

    /**
     * Get donor billing address
     *
     * @return string|null
     */
    private function getDonorBillingAddress()
    {
        $address   = give_get_donation_address($this->donationId);
        $formatted = sprintf(
            '%1$s%7$s%2$s%3$s, %4$s%5$s%7$s%6$s',
            $address['line1'],
            ! empty($address['line2']) ? $address['line2'] . "\r\n" : '',
            $address['city'],
            $address['state'],
            $address['zip'],
            $address['country'],
            "\r\n"
        );

        $hasAddress = (bool) trim(str_replace(',', '', strip_tags($formatted)));

        if ($hasAddress) {
            return $formatted;
        }

        return null;
    }

    /**
     * Set iterator position to zero when rewind.
     *
     * @since 2.7.0
     */
    public function rewind()
    {
        $this->position = 0;
    }

    /**
     * Validate section.
     *
     * @param  array  $array
     *
     * @since 2.7.0
     */
    protected function validateSection($array)
    {
        $required = [ 'id' ];
        $array    = array_filter($array); // Remove empty values.

        if (array_diff($required, array_keys($array))) {
            throw new InvalidArgumentException(esc_html__('Invalid receipt section. Please provide valid section id', 'give'));
        }
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit