export_type . '-' . date( 'm-d-Y' ) ) . '.csv"' ); header( 'Expires: 0' ); } /** * Set the CSV columns * * @since 1.4.4 * @return array $cols All the columns */ public function csv_cols() { if ( ! empty( $_POST['edd_export_download'] ) ) { $cols = array( 'first_name' => __( 'First Name', 'easy-digital-downloads' ), 'last_name' => __( 'Last Name', 'easy-digital-downloads' ), 'email' => __( 'Email', 'easy-digital-downloads' ), 'date' => __( 'Date Purchased', 'easy-digital-downloads' ) ); } else { $cols = array(); if( 'emails' != $_POST['edd_export_option'] ) { $cols['name'] = __( 'Name', 'easy-digital-downloads' ); } $cols['email'] = __( 'Email', 'easy-digital-downloads' ); if( 'full' == $_POST['edd_export_option'] ) { $cols['purchases'] = __( 'Total Purchases', 'easy-digital-downloads' ); $cols['amount'] = __( 'Total Purchased', 'easy-digital-downloads' ) . ' (' . html_entity_decode( edd_currency_filter( '' ) ) . ')'; } } return $cols; } /** * Get the Export Data * * @since 1.4.4 * @global object $wpdb Used to query the database using the WordPress * Database API * @global object $edd_logs EDD Logs Object * @return array $data The data for the CSV file */ public function get_data() { $data = array(); if ( ! empty( $_POST['edd_export_download'] ) ) { $edd_logs = EDD()->debug_log; $args = array( 'post_parent' => absint( $_POST['edd_export_download'] ), 'log_type' => 'sale', 'nopaging' => true ); if( isset( $_POST['edd_price_option'] ) ) { $args['meta_query'] = array( array( 'key' => '_edd_log_price_id', 'value' => (int) $_POST['edd_price_option'] ) ); } $logs = $edd_logs->get_connected_logs( $args ); if ( $logs ) { foreach ( $logs as $log ) { $payment_id = get_post_meta( $log->ID, '_edd_log_payment_id', true ); $user_info = edd_get_payment_meta_user_info( $payment_id ); $data[] = array( 'first_name' => $user_info['first_name'], 'last_name' => $user_info['last_name'], 'email' => $user_info['email'], 'date' => $log->post_date ); } } } else { // Export all customers $customers = edd_get_customers( array( 'limit' => 9999999, ) ); $i = 0; foreach ( $customers as $customer ) { if( 'emails' != $_POST['edd_export_option'] ) { $data[$i]['name'] = $customer->name; } $data[$i]['email'] = $customer->email; if( 'full' == $_POST['edd_export_option'] ) { $data[$i]['purchases'] = $customer->purchase_count; $data[$i]['amount'] = edd_format_amount( $customer->purchase_value ); } $i++; } } $data = apply_filters( 'edd_export_get_data', $data ); $data = apply_filters( 'edd_export_get_data_' . $this->export_type, $data ); return $data; } }