PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.19.5
GiveWP – Donation Plugin and Fundraising Platform v2.19.5
4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / includes / admin / tools / export / class-export-earnings.php
give / includes / admin / tools / export Last commit date
class-batch-export-donors.php 5 years ago class-batch-export.php 5 years ago class-core-settings-export.php 7 years ago class-export-earnings.php 5 years ago class-export.php 6 years ago class-give-export-donations.php 5 years ago export-actions.php 5 years ago export-functions.php 5 years ago give-export-donations-exporter.php 6 years ago give-export-donations-functions.php 5 years ago pdf-reports.php 5 years ago
class-export-earnings.php
137 lines
1 <?php
2 /**
3 * Earnings Export Class
4 *
5 * This class handles earnings export
6 *
7 * @package Give
8 * @subpackage Admin/Reports
9 * @copyright Copyright (c) 2016, GiveWP
10 * @license https://opensource.org/licenses/gpl-license GNU Public License
11 * @since 1.0
12 */
13
14 // Exit if accessed directly.
15 if ( ! defined( 'ABSPATH' ) ) {
16 exit;
17 }
18
19 /**
20 * Give_Earnings_Export Class
21 *
22 * @since 1.0
23 */
24 class Give_Earnings_Export extends Give_Export {
25
26 /**
27 * Our export type. Used for export-type specific filters/actions
28 *
29 * @var string
30 * @since 1.0
31 */
32 public $export_type = 'earnings';
33
34 /**
35 * Set the export headers
36 *
37 * @access public
38 * @since 1.6
39 * @return void
40 */
41 public function headers() {
42 give_ignore_user_abort();
43
44 nocache_headers();
45 header( 'Content-Type: text/csv; charset=utf-8' );
46 header( 'Content-Disposition: attachment; filename=' . apply_filters( 'give_earnings_export_filename', 'give-export-' . $this->export_type . '-' . date( 'n' ) . '-' . date( 'Y' ) ) . '.csv' );
47 header( 'Expires: 0' );
48
49 }
50
51 /**
52 * Set the CSV columns
53 *
54 * @access public
55 * @since 1.0
56 * @return array $cols All the columns
57 */
58 public function csv_cols() {
59
60 $cols = [
61 'date' => __( 'Date', 'give' ),
62 'donations' => __( 'Donations', 'give' ),
63 /* translators: %s: currency */
64 'earnings' => sprintf( __( 'Revenue (%s)', 'give' ), give_currency_symbol( '', true ) ),
65 ];
66
67 return $cols;
68 }
69
70 /**
71 * Get the Export Data
72 *
73 * @access public
74 * @since 1.0
75 * @return array $data The data for the CSV file
76 */
77 public function get_data() {
78
79 $start_year = isset( $_POST['start_year'] ) ? absint( $_POST['start_year'] ) : date( 'Y' );
80 $end_year = isset( $_POST['end_year'] ) ? absint( $_POST['end_year'] ) : date( 'Y' );
81 $start_month = isset( $_POST['start_month'] ) ? absint( $_POST['start_month'] ) : date( 'n' );
82 $end_month = isset( $_POST['end_month'] ) ? absint( $_POST['end_month'] ) : date( 'n' );
83
84 $data = [];
85 $year = $start_year;
86 $stats = new Give_Payment_Stats();
87
88 while ( $year <= $end_year ) {
89
90 if ( $year == $start_year && $year == $end_year ) {
91
92 $m1 = $start_month;
93 $m2 = $end_month;
94
95 } elseif ( $year == $start_year ) {
96
97 $m1 = $start_month;
98 $m2 = 12;
99
100 } elseif ( $year == $end_year ) {
101
102 $m1 = 1;
103 $m2 = $end_month;
104
105 } else {
106
107 $m1 = 1;
108 $m2 = 12;
109
110 }
111
112 while ( $m1 <= $m2 ) {
113
114 $date1 = mktime( 0, 0, 0, $m1, 1, $year );
115 $date2 = mktime( 0, 0, 0, $m1, cal_days_in_month( CAL_GREGORIAN, $m1, $year ), $year );
116
117 $data[] = [
118 'date' => date_i18n( 'F Y', $date1 ),
119 'donations' => $stats->get_sales( 0, $date1, $date2 ),
120 'earnings' => give_format_amount( $stats->get_earnings( 0, $date1, $date2 ), [ 'sanitize' => false ] ),
121 ];
122
123 $m1 ++;
124
125 }
126
127 $year ++;
128
129 }
130
131 $data = apply_filters( 'give_export_get_data', $data );
132 $data = apply_filters( "give_export_get_data_{$this->export_type}", $data );
133
134 return $data;
135 }
136 }
137