PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.2.2
GiveWP – Donation Plugin and Fundraising Platform v2.2.2
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 7 years ago class-batch-export-forms.php 8 years ago class-batch-export.php 8 years ago class-core-settings-export.php 8 years ago class-export-earnings.php 8 years ago class-export.php 8 years ago class-give-export-donations.php 8 years ago export-actions.php 8 years ago export-functions.php 8 years ago give-export-donations-exporter.php 7 years ago give-export-donations-functions.php 7 years ago pdf-reports.php 7 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, WordImpress
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 * @var string
29 * @since 1.0
30 */
31 public $export_type = 'earnings';
32
33 /**
34 * Set the export headers
35 *
36 * @access public
37 * @since 1.6
38 * @return void
39 */
40 public function headers() {
41 give_ignore_user_abort();
42
43 nocache_headers();
44 header( 'Content-Type: text/csv; charset=utf-8' );
45 header( 'Content-Disposition: attachment; filename=' . apply_filters( 'give_earnings_export_filename', 'give-export-' . $this->export_type . '-' . date( 'n' ) . '-' . date( 'Y' ) ) . '.csv' );
46 header( "Expires: 0" );
47
48 }
49
50 /**
51 * Set the CSV columns
52 *
53 * @access public
54 * @since 1.0
55 * @return array $cols All the columns
56 */
57 public function csv_cols() {
58
59 $cols = array(
60 'date' => __( 'Date', 'give' ),
61 'donations' => __( 'Donations', 'give' ),
62 /* translators: %s: currency */
63 'earnings' => sprintf( __( 'Income (%s)', 'give' ), give_currency_symbol('', true) )
64 );
65
66 return $cols;
67 }
68
69 /**
70 * Get the Export Data
71 *
72 * @access public
73 * @since 1.0
74 * @return array $data The data for the CSV file
75 */
76 public function get_data() {
77
78 $start_year = isset( $_POST['start_year'] ) ? absint( $_POST['start_year'] ) : date( 'Y' );
79 $end_year = isset( $_POST['end_year'] ) ? absint( $_POST['end_year'] ) : date( 'Y' );
80 $start_month = isset( $_POST['start_month'] ) ? absint( $_POST['start_month'] ) : date( 'n' );
81 $end_month = isset( $_POST['end_month'] ) ? absint( $_POST['end_month'] ) : date( 'n' );
82
83 $data = array();
84 $year = $start_year;
85 $stats = new Give_Payment_Stats;
86
87 while ( $year <= $end_year ) {
88
89 if ( $year == $start_year && $year == $end_year ) {
90
91 $m1 = $start_month;
92 $m2 = $end_month;
93
94 } elseif ( $year == $start_year ) {
95
96 $m1 = $start_month;
97 $m2 = 12;
98
99 } elseif ( $year == $end_year ) {
100
101 $m1 = 1;
102 $m2 = $end_month;
103
104 } else {
105
106 $m1 = 1;
107 $m2 = 12;
108
109 }
110
111 while ( $m1 <= $m2 ) {
112
113 $date1 = mktime( 0, 0, 0, $m1, 1, $year );
114 $date2 = mktime( 0, 0, 0, $m1, cal_days_in_month( CAL_GREGORIAN, $m1, $year ), $year );
115
116 $data[] = array(
117 'date' => date_i18n( 'F Y', $date1 ),
118 'donations' => $stats->get_sales( 0, $date1, $date2 ),
119 'earnings' => give_format_amount( $stats->get_earnings( 0, $date1, $date2 ), array( 'sanitize' => false ) ),
120 );
121
122 $m1 ++;
123
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