PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.21.1
GiveWP – Donation Plugin and Fundraising Platform v2.21.1
4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 4.16.3 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 / export-functions.php
give / includes / admin / tools / export Last commit date
class-batch-export-donors.php 5 years ago class-batch-export.php 4 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 4 years ago export-functions.php 4 years ago give-export-donations-exporter.php 6 years ago give-export-donations-functions.php 5 years ago pdf-reports.php 5 years ago
export-functions.php
164 lines
1 <?php
2 /**
3 * Exports Functions
4 *
5 * These functions are used for exporting data from Give
6 *
7 * @package Give
8 * @subpackage Admin/Export
9 * @copyright Copyright (c) 2016, GiveWP
10 * @license https://opensource.org/licenses/gpl-license GNU Public License
11 */
12
13 // Exit if accessed directly.
14 if ( ! defined( 'ABSPATH' ) ) {
15 exit;
16 }
17
18
19 /**
20 * Process batch exports via ajax
21 *
22 * @since 2.21.0 Sanitize file name. Allow plain file name only.
23 * @since 1.5
24 * @return void
25 */
26 function give_do_ajax_export() {
27
28 require_once GIVE_PLUGIN_DIR . 'includes/admin/tools/export/class-batch-export.php';
29
30 parse_str( $_POST['form'], $form );
31
32 $_REQUEST = $form = (array) $form;
33
34 if (
35 ! wp_verify_nonce( $_REQUEST['give_ajax_export'], 'give_ajax_export' )
36 || ! current_user_can( 'manage_give_settings' )
37 ) {
38 die( '-2' );
39 }
40
41 /**
42 * Fires before batch export.
43 *
44 * @since 1.5
45 *
46 * @param string $class Export class.
47 */
48 do_action( 'give_batch_export_class_include', $form['give-export-class'] );
49
50 $step = absint( $_POST['step'] );
51 $class = sanitize_text_field( $form['give-export-class'] );
52 $filename = isset( $_POST['file_name'] ) ?
53 basename(sanitize_file_name( $_POST['file_name'] ), '.csv') :
54 null;
55
56 /* @var Give_Batch_Export $export */
57 $export = new $class( $step, $filename );
58
59 if ( ! $export->can_export() ) {
60 die( '-1' );
61 }
62
63 if ( ! $export->is_writable ) {
64 $json_args = [
65 'error' => true,
66 'message' => esc_html__( 'Export location or file not writable.', 'give' ),
67 ];
68 echo json_encode( $json_args );
69 exit;
70 }
71
72 $export->set_properties( give_clean( $_REQUEST ) );
73
74 $export->pre_fetch();
75
76 $ret = $export->process_step();
77
78 $percentage = $export->get_percentage_complete();
79
80 if ( $ret ) {
81
82 $step += 1;
83 $json_data = [
84 'step' => $step,
85 'percentage' => $percentage,
86 'file_name' => $export->filename,
87 ];
88
89 } elseif ( true === $export->is_empty ) {
90
91 $json_data = [
92 'error' => true,
93 'message' => esc_html__( 'No data found for export parameters.', 'give' ),
94 ];
95
96 } elseif ( true === $export->done && true === $export->is_void ) {
97
98 $message = ! empty( $export->message ) ?
99 $export->message :
100 esc_html__( 'Batch Processing Complete', 'give' );
101
102 $json_data = [
103 'success' => true,
104 'message' => $message,
105 ];
106
107 } else {
108
109 $args = array_merge(
110 $_REQUEST,
111 [
112 'step' => $step,
113 'class' => $class,
114 'nonce' => wp_create_nonce( 'give-batch-export' ),
115 'give_action' => 'form_batch_export',
116 'file_name' => $export->filename,
117 ]
118 );
119
120 $json_data = [
121 'step' => 'done',
122 'url' => esc_url_raw(add_query_arg( $args, admin_url() )),
123 ];
124
125 }
126
127 $export->unset_properties( give_clean( $_REQUEST ), $export );
128 echo json_encode( $json_data );
129 exit;
130 }
131
132 add_action( 'wp_ajax_give_do_ajax_export', 'give_do_ajax_export' );
133
134
135 /**
136 * This function is used to define default columns for export.
137 *
138 * Note: This function is for internal purposes only.
139 * Use filter "give_export_donors_get_default_columns" instead.
140 *
141 * @since 2.2.6
142 *
143 * @return array
144 */
145 function give_export_donors_get_default_columns() {
146
147 $default_columns = [
148 'full_name' => __( 'Name', 'give' ),
149 'email' => __( 'Email', 'give' ),
150 'address' => __( 'Address', 'give' ),
151 'userid' => __( 'User ID', 'give' ),
152 'donor_created_date' => __( 'Donor Created Date', 'give' ),
153 'donations' => __( 'Number of donations', 'give' ),
154 'donation_sum' => __( 'Total Donated', 'give' ),
155 ];
156
157 /**
158 * This filter will be used to define default columns for export.
159 *
160 * @since 2.2.6
161 */
162 return apply_filters( 'give_export_donors_get_default_columns', $default_columns );
163 }
164