$50 GRAYBYTE WORDPRESS FILE MANAGER $93

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 104.21.43.35 | ADMIN IP 216.73.216.180
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : mail

/home/bravrvjk/itiministry.org/wp-content/plugins/give/src/API/Endpoints/Reports/

HOME
Current File : /home/bravrvjk/itiministry.org/wp-content/plugins/give/src/API/Endpoints/Reports//TopDonors.php
<?php

/**
 * Top Donors endpoint
 *
 * @package Give
 */

namespace Give\API\Endpoints\Reports;

class TopDonors extends Endpoint
{

    public function __construct()
    {
        $this->endpoint = 'top-donors';
    }

    public function getReport($request)
    {
        $start = date_create($request->get_param('start'));
        $end = date_create($request->get_param('end'));

        return $this->get_data($start, $end);
    }

    public function get_data($start, $end)
    {
        $paymentObjects = $this->getPayments($start->format('Y-m-d'), $end->format('Y-m-d 23:i:s'), 'date', -1);

        $donors = [];

        foreach ($paymentObjects as $paymentObject) {
            if ($paymentObject->status === 'publish' || $paymentObject->status === 'give_subscription') {
                $donors[$paymentObject->donor_id]['type'] = 'donor';
                $donors[$paymentObject->donor_id]['earnings'] = isset($donors[$paymentObject->donor_id]['earnings']) ? $donors[$paymentObject->donor_id]['earnings'] += $paymentObject->total : $paymentObject->total;
                $donors[$paymentObject->donor_id]['total'] = give_currency_filter(
                    give_format_amount($donors[$paymentObject->donor_id]['earnings'], ['sanitize' => false]),
                    [
                        'currency_code' => $this->currency,
                        'decode_currency' => true,
                        'sanitize' => false,
                    ]
                );
                $donors[$paymentObject->donor_id]['donations'] = isset($donors[$paymentObject->donor_id]['donations']) ? $donors[$paymentObject->donor_id]['donations'] += 1 : 1;
                $countLabel = _n('Donation', 'Donations', $donors[$paymentObject->donor_id]['donations'], 'give');
                $donors[$paymentObject->donor_id]['count'] = $donors[$paymentObject->donor_id]['donations'] . ' ' . $countLabel;
                $donors[$paymentObject->donor_id]['name'] = $paymentObject->first_name . ' ' . $paymentObject->last_name;
                $donors[$paymentObject->donor_id]['email'] = $paymentObject->email;
                $donors[$paymentObject->donor_id]['image'] = give_validate_gravatar(
                    $paymentObject->email
                ) ? get_avatar_url($paymentObject->email, 60) : null;
                $donors[$paymentObject->donor_id]['url'] = admin_url(
                    'edit.php?post_type=give_forms&page=give-donors&view=overview&id=' . absint(
                        $paymentObject->donor_id
                    )
                );
            }
        }

        $sorted = usort(
            $donors,
            function ($a, $b) {
                if ($a['earnings'] == $b['earnings']) {
                    return 0;
                }

                return ($a['earnings'] > $b['earnings']) ? -1 : 1;
            }
        );

        if ($sorted === true) {
            $donors = array_slice($donors, 0, 25);
            $donors = array_values($donors);
        }

        return $donors;
    }

}


Current_dir [ WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
AverageDonation.php
6.889 KB
17 Jun 2022 4.03 AM
bravrvjk / bravrvjk
0644
DonationsVsIncome.php
2.99 KB
24 Nov 2021 4.55 AM
bravrvjk / bravrvjk
0644
Endpoint.php
11.735 KB
28 Jan 2026 8.00 PM
bravrvjk / bravrvjk
0644
FormPerformance.php
4.083 KB
24 Nov 2021 4.55 AM
bravrvjk / bravrvjk
0644
Income.php
4.313 KB
17 Jun 2022 4.03 AM
bravrvjk / bravrvjk
0644
IncomeBreakdown.php
4.339 KB
24 Nov 2021 4.55 AM
bravrvjk / bravrvjk
0644
PaymentMethods.php
2.419 KB
24 Nov 2021 4.55 AM
bravrvjk / bravrvjk
0644
PaymentStatuses.php
3.766 KB
24 Nov 2021 4.55 AM
bravrvjk / bravrvjk
0644
RecentDonations.php
2.134 KB
24 Nov 2021 4.55 AM
bravrvjk / bravrvjk
0644
TopDonors.php
2.963 KB
24 Nov 2021 4.55 AM
bravrvjk / bravrvjk
0644
TotalDonors.php
5.502 KB
17 Jun 2022 4.03 AM
bravrvjk / bravrvjk
0644
TotalIncome.php
6.009 KB
17 Jun 2022 4.03 AM
bravrvjk / bravrvjk
0644
TotalRefunds.php
5.35 KB
17 Jun 2022 4.03 AM
bravrvjk / bravrvjk
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF