Your IP : 216.73.216.95


Current Path : /var/www/html/soar-backup/wp-content/plugins/give/src/API/Endpoints/Reports/
Upload File :
Current File : /var/www/html/soar-backup/wp-content/plugins/give/src/API/Endpoints/Reports/RecentDonations.php

<?php

/**
 * Recent Donations endpoint
 *
 * @package Give
 */

namespace Give\API\Endpoints\Reports;

class RecentDonations extends Endpoint {

	public function __construct() {
		$this->endpoint = 'recent-donations';
	}

	public function getReport( $request ) {

		$paymentObjects = $this->getPayments( $request->get_param( 'start' ), $request->get_param( 'end' ), 'date', 50 );

		// Populate $list with arrays in correct shape for frontend RESTList component
		$data = [];
		foreach ( $paymentObjects as $paymentObject ) {
			$amount = give_currency_symbol( $paymentObject->currency, true ) . give_format_amount( $paymentObject->total, [ 'sanitize' => false ] );
			$status = null;
			switch ( $paymentObject->status ) {
				case 'publish':
					$meta   = $paymentObject->payment_meta;
					$status = isset( $meta['_give_is_donation_recurring'] ) && $meta['_give_is_donation_recurring'] ? 'first_renewal' : 'completed';
					break;
				case 'give_subscription':
					$status = 'renewal';
					break;
				default:
					$status = $paymentObject->status;
			}
			$url = admin_url( 'edit.php?post_type=give_forms&page=give-payment-history&view=view-payment-details&id=' . absint( $paymentObject->ID ) );

			$data[] = [
				'type'     => 'donation',
				'donation' => $paymentObject,
				'status'   => $status,
				'amount'   => $amount,
				'url'      => $url,
				'time'     => $paymentObject->date,
				'donor'    => [
					'name' => "{$paymentObject->first_name} {$paymentObject->last_name}",
					'id'   => $paymentObject->donor_id,
				],
				'source'   => $paymentObject->form_title,
			];
		}

		// Return $list of donations for RESTList component
		return $data;
	}
}