/var/www/vhosts/ihelp.ro/ajutam.ro/wp-content/plugins/give/src/API/Endpoints/Reports
NameSizeModeActions
AverageDonation.php70530644editdlrm
DonationsVsIncome.php30620644editdlrm
Endpoint.php118050644editdlrm
FormPerformance.php41810644editdlrm
Income.php44160644editdlrm
IncomeBreakdown.php44430644editdlrm
PaymentMethods.php24770644editdlrm
PaymentStatuses.php38560644editdlrm
RecentDonations.php21850644editdlrm
TopDonors.php30340644editdlrm
TotalDonors.php56330644editdlrm
TotalIncome.php61520644editdlrm
TotalRefunds.php54770644editdlrm
Edit: /var/www/vhosts/ihelp.ro/ajutam.ro/wp-content/plugins/give/src/API/Endpoints/Reports/TopDonors.php (3034B)
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; } }