updated plugin Easy Digital Downloads version 3.1.1.2

This commit is contained in:
2023-03-17 22:34:04 +00:00
committed by Gitium
parent e8a66564bd
commit 19e086d1c4
647 changed files with 20986 additions and 27305 deletions

View File

@ -28,6 +28,15 @@ class EDD_Batch_Earnings_Report_Export extends EDD_Batch_Export {
*/
public $export_type = 'earnings_report';
/**
* Refund amounts for partially refunded orders.
* Stored separately from the main data as it's only required for the net columns.
*
* @since 3.1.0.5
* @var array
*/
private $partial_refunds;
/**
* Set the export headers.
*
@ -103,7 +112,7 @@ class EDD_Batch_Earnings_Report_Export extends EDD_Batch_Export {
unset( $statuses['pending'], $statuses['processing'], $statuses['preapproval'] );
$supported_statuses = array_keys( $statuses );
return apply_filters( 'edd_export_earnings_supported_statuses', $supported_statuses );
return array_unique( apply_filters( 'edd_export_earnings_supported_statuses', $supported_statuses ) );
}
/**
@ -188,11 +197,9 @@ class EDD_Batch_Earnings_Report_Export extends EDD_Batch_Export {
}
}
$supported_statuses = $this->get_supported_statuses();
$gross_count = 0;
$gross_amount = 0;
foreach ( $supported_statuses as $status ) {
foreach ( edd_get_gross_order_statuses() as $status ) {
$gross_count += absint( $data[ $status ]['count'] );
$gross_amount += $data[ $status ]['amount'];
}
@ -212,7 +219,7 @@ class EDD_Batch_Earnings_Report_Export extends EDD_Batch_Export {
}
// Allows extensions with other 'completed' statuses to alter net earnings, like recurring.
$completed_statuses = apply_filters( 'edd_export_earnings_completed_statuses', edd_get_complete_order_statuses() );
$completed_statuses = array_unique( apply_filters( 'edd_export_earnings_completed_statuses', edd_get_net_order_statuses() ) );
$net_count = 0;
$net_amount = 0;
@ -223,6 +230,9 @@ class EDD_Batch_Earnings_Report_Export extends EDD_Batch_Export {
$net_count += absint( $data[ $status ]['count'] );
$net_amount += floatval( $data[ $status ]['amount'] );
}
if ( ! empty( $this->partial_refunds ) ) {
$net_amount += floatval( $this->partial_refunds['total'] );
}
$row_data .= $net_count . ',';
$row_data .= '"' . edd_format_amount( $net_amount ) . '"';
@ -265,7 +275,8 @@ class EDD_Batch_Earnings_Report_Export extends EDD_Batch_Export {
$totals = $wpdb->get_results( $wpdb->prepare(
"SELECT SUM(total) AS total, COUNT(DISTINCT id) AS count, status
FROM {$wpdb->edd_orders}
WHERE date_created >= %s AND date_created <= %s
WHERE type = 'sale'
AND date_created >= %s AND date_created <= %s
GROUP BY YEAR(date_created), MONTH(date_created), status
ORDER by date_created ASC", $start_date, $end_date ), ARRAY_A );
@ -273,7 +284,7 @@ class EDD_Batch_Earnings_Report_Export extends EDD_Batch_Export {
foreach ( $totals as $row ) {
$total_data[ $row['status'] ] = array(
'count' => $row['count'],
'amount' => floatval( $row['total'] )
'amount' => floatval( $row['total'] ),
);
}
@ -290,7 +301,30 @@ class EDD_Batch_Earnings_Report_Export extends EDD_Batch_Export {
'amount' => $total_data[ $status ]['amount'],
);
}
}
// Get partial refund amounts to factor into net activity amounts.
$partial_refunds = $wpdb->get_results(
$wpdb->prepare(
"SELECT SUM(total) AS total, COUNT(DISTINCT id) AS count
FROM {$wpdb->edd_orders}
WHERE type = 'refund'
AND parent IN (
SELECT id
FROM {$wpdb->edd_orders}
WHERE status = 'partially_refunded'
AND date_created >= %s
AND date_created <= %s
GROUP BY YEAR(date_created), MONTH(date_created)
ORDER by date_created ASC
);",
$start_date,
$end_date
),
ARRAY_A
);
if ( ! empty( $partial_refunds ) ) {
$this->partial_refunds = reset( $partial_refunds );
}
$data = apply_filters( 'edd_export_get_data', $data );

View File

@ -91,21 +91,21 @@ class EDD_Batch_Payments_Export extends EDD_Batch_Export {
$data = array();
$args = array(
'number' => 30,
'offset' => ( $this->step * 30 ) - 30,
'status' => $this->status,
'order' => 'ASC',
'orderby' => 'date_created',
'type' => 'sale',
'status__not_in' => array( 'trash' ),
'number' => 30,
'offset' => ( $this->step * 30 ) - 30,
'status' => $this->status,
'order' => 'ASC',
'orderby' => 'date_created',
'type' => 'sale',
);
if ( ! empty( $this->start ) || ! empty( $this->end ) ) {
$args['date_query'] = $this->get_date_query();
}
if ( 'all' === $args['status'] ) {
if ( in_array( $args['status'], array( 'any', 'all' ), true ) ) {
unset( $args['status'] );
$args['status__not_in'] = array( 'trash' );
}
$orders = edd_get_orders( $args );
@ -241,14 +241,15 @@ class EDD_Batch_Payments_Export extends EDD_Batch_Export {
public function get_percentage_complete() {
$args = array(
'fields' => 'ids',
'status' => $this->status,
);
if ( ! empty( $this->start ) || ! empty( $this->end ) ) {
$args['date_query'] = $this->get_date_query();
}
if ( 'any' !== $this->status ) {
$args['status'] = $this->status;
if ( in_array( $args['status'], array( 'any', 'all' ), true ) ) {
unset( $args['status'] );
}
$total = edd_count_orders( $args );

View File

@ -35,13 +35,12 @@ class EDD_Batch_Sales_Export extends EDD_Batch_Export {
* @return array $cols All the columns
*/
public function csv_cols() {
$cols = array(
'ID' => __( 'Log ID', 'easy-digital-downloads' ),
return array(
'ID' => __( 'Product ID', 'easy-digital-downloads' ),
'user_id' => __( 'User', 'easy-digital-downloads' ),
'customer_id' => __( 'Customer ID', 'easy-digital-downloads' ),
'email' => __( 'Email', 'easy-digital-downloads' ),
'first_name' => __( 'First Name', 'easy-digital-downloads' ),
'last_name' => __( 'Last Name', 'easy-digital-downloads' ),
'name' => __( 'Name', 'easy-digital-downloads' ),
'download' => edd_get_label_singular(),
'quantity' => __( 'Quantity', 'easy-digital-downloads' ),
'amount' => __( 'Item Amount', 'easy-digital-downloads' ),
@ -49,8 +48,6 @@ class EDD_Batch_Sales_Export extends EDD_Batch_Export {
'price_id' => __( 'Price ID', 'easy-digital-downloads' ),
'date' => __( 'Date', 'easy-digital-downloads' ),
);
return $cols;
}
/**
@ -82,29 +79,15 @@ class EDD_Batch_Sales_Export extends EDD_Batch_Export {
foreach ( $items as $item ) {
/** @var EDD\Orders\Order_Item $item */
$order = edd_get_order( $item->order_id );
$download = edd_get_download( $item->product_id );
$user_info = $order->get_user_info();
$download_title = $item->product_name;
// Maybe append variable price name.
if ( $download->has_variable_prices() ) {
$price_option = edd_get_price_option_name( $item->product_id, $item->price_id, $order->id );
$download_title .= ! empty( $price_option )
? ' - ' . $price_option
: '';
}
$order = edd_get_order( $item->order_id );
$data[] = array(
'ID' => $item->product_id,
'user_id' => $order->user_id,
'customer_id' => $order->customer_id,
'email' => $order->email,
'first_name' => isset( $user_info['first_name'] ) ? $user_info['first_name'] : '',
'last_name' => isset( $user_info['last_name'] ) ? $user_info['last_name'] : '',
'download' => $download_title,
'name' => edd_get_customer_field( $order->customer_id, 'name' ),
'download' => $item->product_name,
'quantity' => $item->quantity,
'amount' => $order->total,
'payment_id' => $order->id,
@ -129,9 +112,7 @@ class EDD_Batch_Sales_Export extends EDD_Batch_Export {
* @return int
*/
public function get_percentage_complete() {
$args = array(
'fields' => 'ids',
);
$args = array();
if ( ! empty( $this->start ) || ! empty( $this->end ) ) {
$args['date_query'] = $this->get_date_query();
@ -141,7 +122,7 @@ class EDD_Batch_Sales_Export extends EDD_Batch_Export {
$args['product_id'] = $this->download_id;
}
$total = edd_count_order_items( $args );
$total = edd_count_order_items( $args );
$percentage = 100;
if ( $total > 0 ) {

View File

@ -90,20 +90,20 @@ class EDD_Batch_Taxed_Orders_Export extends EDD_Batch_Export {
$data = array();
$args = array(
'number' => 30,
'offset' => ( $this->step * 30 ) - 30,
'status' => $this->status,
'order' => 'ASC',
'orderby' => 'date_created',
'status__not_in' => array( 'trash' ),
'number' => 30,
'offset' => ( $this->step * 30 ) - 30,
'status' => $this->status,
'order' => 'ASC',
'orderby' => 'date_created',
);
if ( ! empty( $this->start ) || ! empty( $this->end ) ) {
$args['date_created_query'] = $this->get_date_query();
}
if ( 'any' === $args['status'] || 'all' === $args['status'] ) {
if ( in_array( $args['status'], array( 'any', 'all' ), true ) ) {
unset( $args['status'] );
$args['status__not_in'] = array( 'trash' );
}
add_filter( 'edd_orders_query_clauses', array( $this, 'query_clauses' ), 10, 2 );
@ -236,14 +236,15 @@ class EDD_Batch_Taxed_Orders_Export extends EDD_Batch_Export {
public function get_percentage_complete() {
$args = array(
'fields' => 'ids',
'status' => $this->status,
);
if ( ! empty( $this->start ) || ! empty( $this->end ) ) {
$args['date_created_query'] = $this->get_date_query();
}
if ( 'any' !== $this->status ) {
$args['status'] = $this->status;
if ( in_array( $args['status'], array( 'any', 'all' ), true ) ) {
unset( $args['status'] );
}
$total = edd_count_orders( $args );

View File

@ -35,7 +35,7 @@ function edd_overview_sales_earnings_chart() {
}
$sql_clauses = array(
'select' => 'date_created AS date',
'select' => 'DATE_FORMAT(date_created, "%%Y-%%m") AS date',
'where' => '',
'groupby' => '',
);
@ -48,9 +48,11 @@ function edd_overview_sales_earnings_chart() {
if ( $hour_by_hour ) {
$sql_clauses['groupby'] = Reports\get_groupby_date_string( 'HOUR', 'date_created' );
$sql_clauses['orderby'] = 'HOUR(date_created)';
$sql_clauses['select'] = 'DATE_FORMAT(date_created, "%%Y-%%m-%%d %%H:00:00") AS date';
} elseif ( $day_by_day ) {
$sql_clauses['groupby'] = Reports\get_groupby_date_string( 'DATE', 'date_created' );
$sql_clauses['orderby'] = 'DATE(date_created)';
$sql_clauses['select'] = 'DATE_FORMAT(date_created, "%%Y-%%m-%%d") AS date';
}
if ( ! empty( $currency ) && array_key_exists( strtoupper( $currency ), edd_get_currencies() ) ) {
@ -117,10 +119,11 @@ function edd_overview_sales_earnings_chart() {
// Loop through each date there were sales/earnings, which we queried from the database.
foreach ( $earnings_results as $earnings_result ) {
$date_of_db_value = edd_get_edd_timezone_equivalent_date_from_utc( EDD()->utils->date( $earnings_result->date ) );
$date_of_db_value = EDD()->utils->date( $earnings_result->date );
// Add any sales/earnings that happened during this hour.
if ( $hour_by_hour ) {
$date_of_db_value = edd_get_edd_timezone_equivalent_date_from_utc( $date_of_db_value );
// If the date of this db value matches the date on this line graph/chart, set the y axis value for the chart to the number in the DB result.
if ( $date_of_db_value->format( 'Y-m-d H' ) === $date_on_chart->format( 'Y-m-d H' ) ) {
$earnings[ $timestamp ][1] += $earnings_result->earnings;
@ -142,10 +145,11 @@ function edd_overview_sales_earnings_chart() {
// Loop through each date there were sales/earnings, which we queried from the database.
foreach ( $sales_results as $sales_result ) {
$date_of_db_value = edd_get_edd_timezone_equivalent_date_from_utc( EDD()->utils->date( $sales_result->date ) );
$date_of_db_value = EDD()->utils->date( $sales_result->date );
// Add any sales/earnings that happened during this hour.
if ( $hour_by_hour ) {
$date_of_db_value = edd_get_edd_timezone_equivalent_date_from_utc( $date_of_db_value );
// If the date of this db value matches the date on this line graph/chart, set the y axis value for the chart to the number in the DB result.
if ( $date_of_db_value->format( 'Y-m-d H' ) === $date_on_chart->format( 'Y-m-d H' ) ) {
$sales[ $timestamp ][1] += $sales_result->sales;
@ -175,8 +179,6 @@ function edd_overview_sales_earnings_chart() {
}
}
return array(
'sales' => array_values( $sales ),
'earnings' => array_values( $earnings ),
@ -254,10 +256,11 @@ function edd_overview_refunds_chart() {
// Loop through each date there were refunds, which we queried from the database.
foreach ( $results as $result ) {
$date_of_db_value = edd_get_edd_timezone_equivalent_date_from_utc( EDD()->utils->date( $result->date ) );
$date_of_db_value = EDD()->utils->date( $result->date );
// Add any refunds that happened during this hour.
if ( $hour_by_hour ) {
$date_of_db_value = edd_get_edd_timezone_equivalent_date_from_utc( $date_of_db_value );
// If the date of this db value matches the date on this line graph/chart, set the y axis value for the chart to the number in the DB result.
if ( $date_of_db_value->format( 'Y-m-d H' ) === $date_on_chart->format( 'Y-m-d H' ) ) {
$number[ $timestamp ][1] += $result->number;

View File

@ -306,8 +306,9 @@ function edd_register_overview_report( $reports ) {
'data_callback' => function () use ( $dates ) {
$stats = new EDD\Stats();
return $stats->get_customer_count( array(
'range' => $dates['range'],
'relative' => true,
'range' => $dates['range'],
'relative' => true,
'purchase_count' => true,
) );
},
'display_args' => array(
@ -2569,8 +2570,9 @@ function edd_register_customer_report( $reports ) {
'data_callback' => function () use ( $dates ) {
$stats = new EDD\Stats();
return $stats->get_customer_count( array(
'range' => $dates['range'],
'relative' => true,
'range' => $dates['range'],
'relative' => true,
'purchase_count' => true,
) );
},
'display_args' => array(
@ -2663,11 +2665,13 @@ function edd_register_customer_report( $reports ) {
$results = $wpdb->get_results( $wpdb->prepare(
"SELECT COUNT(c.id) AS total, {$sql_clauses['select']}
FROM {$wpdb->edd_customers} c
WHERE c.date_created >= %s AND c.date_created <= %s
GROUP BY {$sql_clauses['groupby']}
ORDER BY {$sql_clauses['orderby']} ASC",
$dates['start']->copy()->format( 'mysql' ), $dates['end']->copy()->format( 'mysql' ) ) );
FROM {$wpdb->edd_customers} c
WHERE c.date_created >= %s AND c.date_created <= %s
AND c.purchase_count > 0
GROUP BY {$sql_clauses['groupby']}
ORDER BY {$sql_clauses['orderby']} ASC",
$dates['start']->copy()->format( 'mysql' ),
$dates['end']->copy()->format( 'mysql' ) ) );
$customers = array();
@ -2785,470 +2789,31 @@ add_action( 'edd_reports_init', 'edd_register_export_report' );
* @since 3.0
*/
function display_export_report() {
global $wpdb;
wp_enqueue_script( 'edd-admin-tools-export' );
?>
<div id="edd-dashboard-widgets-wrap">
<div class="metabox-holder">
<div id="post-body">
<div id="post-body-content" class="edd-reports-export edd-admin--has-grid">
<?php do_action( 'edd_reports_tab_export_content_top' ); ?>
<div class="postbox edd-export-earnings-report">
<h2 class="hndle"><span><?php esc_html_e( 'Export Earnings Report', 'easy-digital-downloads' ); ?></span></h2>
<div class="inside">
<p><?php esc_html_e( 'Download a CSV giving a detailed look into earnings over time.', 'easy-digital-downloads' ); ?></p>
<form id="edd-export-earnings-report" class="edd-export-form edd-import-export-form" method="post">
<fieldset class="edd-to-and-from-container">
<legend class="screen-reader-text">
<?php esc_html_e( 'Export Earnings Start', 'easy-digital-downloads' ); ?>
</legend>
<label for="edd_export_earnings_start_month" class="screen-reader-text"><?php esc_html_e( 'Select start month', 'easy-digital-downloads' ); ?></label>
<?php echo EDD()->html->month_dropdown( 'start_month', 0, 'edd_export_earnings', true ); ?>
<label for="edd_export_earnings_start_year" class="screen-reader-text"><?php esc_html_e( 'Select start year', 'easy-digital-downloads' ); ?></label>
<?php echo EDD()->html->year_dropdown( 'start_year', 0, 5, 0, 'edd_export_earnings' ); ?>
</fieldset>
<span class="edd-to-and-from--separator"><?php echo _x( '&mdash; to &mdash;', 'Date one to date two', 'easy-digital-downloads' ); ?></span>
<fieldset class="edd-to-and-from-container">
<legend class="screen-reader-text">
<?php esc_html_e( 'Export Earnings End', 'easy-digital-downloads' ); ?>
</legend>
<label for="edd_export_earnings_end_month" class="screen-reader-text"><?php esc_html_e( 'Select end month', 'easy-digital-downloads' ); ?></label>
<?php echo EDD()->html->month_dropdown( 'end_month', 0, 'edd_export_earnings', true ); ?>
<label for="edd_export_earnings_end_year" class="screen-reader-text"><?php esc_html_e( 'Select end year', 'easy-digital-downloads' ); ?></label>
<?php echo EDD()->html->year_dropdown( 'end_year', 0, 5, 0, 'edd_export_earnings' ); ?>
</fieldset>
<?php wp_nonce_field( 'edd_ajax_export', 'edd_ajax_export' ); ?>
<input type="hidden" name="edd-export-class" value="EDD_Batch_Earnings_Report_Export"/>
<button type="submit" class="button button-secondary"><?php esc_html_e( 'Generate CSV', 'easy-digital-downloads' ); ?></button>
</form>
</div>
</div>
<div class="postbox edd-export-sales-earnings">
<h2 class="hndle"><span><?php esc_html_e( 'Export Sales and Earnings', 'easy-digital-downloads' ); ?></span></h2>
<div class="inside">
<p><?php esc_html_e( 'Download a CSV of all sales or earnings on a day-by-day basis.', 'easy-digital-downloads' ); ?></p>
<form id="edd-export-sales-earnings" class="edd-export-form edd-import-export-form" method="post">
<fieldset class="edd-from-to-wrapper">
<legend class="screen-reader-text">
<?php esc_html_e( 'Export Sales and Earnings Dates', 'easy-digital-downloads' ); ?>
</legend>
<label for="edd-order-export-start" class="screen-reader-text"><?php esc_html_e( 'Set start date', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->date_field(
array(
'id' => 'edd-order-export-start',
'class' => 'edd-export-start',
'name' => 'order-export-start',
'placeholder' => _x( 'From', 'date filter', 'easy-digital-downloads' ),
)
);
?>
<label for="edd-order-export-end" class="screen-reader-text"><?php esc_html_e( 'Set end date', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->date_field(
array(
'id' => 'edd-order-export-end',
'class' => 'edd-export-end',
'name' => 'order-export-end',
'placeholder' => _x( 'To', 'date filter', 'easy-digital-downloads' ),
)
);
?>
</fieldset>
<label for="edd_orders_export_download" class="screen-reader-text"><?php esc_html_e( 'Select Download', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->product_dropdown(
array(
'name' => 'download_id',
'id' => 'edd_orders_export_download',
'chosen' => true,
/* translators: the plural post type label */
'placeholder' => sprintf( __( 'All %s', 'easy-digital-downloads' ), edd_get_label_plural() ),
)
);
?>
<label for="edd_order_export_customer" class="screen-reader-text"><?php esc_html_e( 'Select Customer', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->customer_dropdown(
array(
'name' => 'customer_id',
'id' => 'edd_order_export_customer',
'chosen' => true,
'none_selected' => '',
'placeholder' => __( 'All Customers', 'easy-digital-downloads' ),
)
);
wp_nonce_field( 'edd_ajax_export', 'edd_ajax_export' ); ?>
<input type="hidden" name="edd-export-class" value="EDD_Batch_Sales_And_Earnings_Export"/>
<button type="submit" class="button button-secondary"><?php esc_html_e( 'Export', 'easy-digital-downloads' ); ?></button>
</form>
</div>
</div>
<div class="postbox edd-export-orders">
<h2 class="hndle"><span><?php esc_html_e( 'Export Orders', 'easy-digital-downloads' ); ?></span></h2>
<div class="inside">
<p><?php esc_html_e( 'Download a CSV of all orders.', 'easy-digital-downloads' ); ?></p>
<form id="edd-export-orders" class="edd-export-form edd-import-export-form" method="post">
<fieldset class="edd-from-to-wrapper">
<legend class="screen-reader-text">
<?php esc_html_e( 'Export Order Dates', 'easy-digital-downloads' ); ?>
</legend>
<label for="edd-orders-export-start" class="screen-reader-text"><?php esc_html_e( 'Set start date', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->date_field(
array(
'id' => 'edd-orders-export-start',
'class' => 'edd-export-start',
'name' => 'orders-export-start',
'placeholder' => _x( 'From', 'date filter', 'easy-digital-downloads' ),
)
);
?>
<label for="edd-orders-export-end" class="screen-reader-text"><?php esc_html_e( 'Set end date', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->date_field(
array(
'id' => 'edd-orders-export-end',
'class' => 'edd-export-end',
'name' => 'orders-export-end',
'placeholder' => _x( 'To', 'date filter', 'easy-digital-downloads' ),
)
);
?>
</fieldset>
<label for="edd_orders_export_status" class="screen-reader-text"><?php esc_html_e( 'Select Status', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->select(
array(
'id' => 'edd_orders_export_status',
'name' => 'status',
'show_option_all' => __( 'All Statuses', 'easy-digital-downloads' ),
'show_option_none' => false,
'selected' => false,
'options' => edd_get_payment_statuses(),
)
);
wp_nonce_field( 'edd_ajax_export', 'edd_ajax_export' );
?>
<input type="hidden" name="edd-export-class" value="EDD_Batch_Payments_Export"/>
<button type="submit" class="button button-secondary"><?php esc_html_e( 'Generate CSV', 'easy-digital-downloads' ); ?></button>
</form>
</div>
</div>
<div class="postbox edd-export-taxed-orders">
<h2 class="hndle"><span><?php esc_html_e( 'Export Taxed Orders', 'easy-digital-downloads' ); ?></span></h2>
<div class="inside">
<p><?php esc_html_e( 'Download a CSV of all orders, taxed by Country and/or Region.', 'easy-digital-downloads' ); ?></p>
<form id="edd-export-taxed-orders" class="edd-export-form edd-import-export-form" method="post">
<fieldset class="edd-from-to-wrapper">
<legend class="screen-reader-text">
<?php esc_html_e( 'Export Taxed Order Dates', 'easy-digital-downloads' ); ?>
</legend>
<label for="edd-taxed-orders-export-start" class="screen-reader-text"><?php esc_html_e( 'Set start date', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->date_field(
array(
'id' => 'edd-taxed-orders-export-start',
'class' => 'edd-export-start',
'name' => 'taxed-orders-export-start',
'placeholder' => _x( 'From', 'date filter', 'easy-digital-downloads' )
)
);
?>
<label for="edd-taxed-orders-export-end" class="screen-reader-text"><?php esc_html_e( 'Set end date', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->date_field(
array(
'id' => 'edd-taxed-orders-export-end',
'class' => 'edd-export-end',
'name' => 'taxed-orders-export-end',
'placeholder' => _x( 'To', 'date filter', 'easy-digital-downloads' )
)
);
?>
</fieldset>
<label for="edd_taxed_orders_export_status" class="screen-reader-text"><?php esc_html_e( 'Select Status', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->select(
array(
'id' => 'edd_taxed_orders_export_status',
'name' => 'status',
'show_option_all' => __( 'All Statuses', 'easy-digital-downloads' ),
'show_option_none' => false,
'selected' => false,
'options' => edd_get_payment_statuses(),
)
);
?>
<label for="edd_reports_filter_taxed_countries" class="screen-reader-text"><?php esc_html_e( 'Select Country', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->country_select(
array(
'name' => 'country',
'id' => 'edd_reports_filter_taxed_countries',
'selected' => false,
'show_option_all' => false,
)
);
?>
<label for="edd_reports_filter_regions" class="screen-reader-text"><?php esc_html_e( 'Select Region', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->region_select(
array(
'id' => 'edd_reports_filter_regions',
'placeholder' => __( 'All Regions', 'easy-digital-downloads' ),
)
);
wp_nonce_field( 'edd_ajax_export', 'edd_ajax_export' );
?>
<input type="hidden" name="edd-export-class" value="EDD_Batch_Taxed_Orders_Export"/>
<button type="submit" class="button button-secondary"><?php esc_html_e( 'Generate CSV', 'easy-digital-downloads' ); ?></button>
</form>
</div>
</div>
<div class="postbox edd-export-customers">
<h2 class="hndle"><span><?php esc_html_e( 'Export Customers', 'easy-digital-downloads' ); ?></span></h2>
<div class="inside">
<p><?php printf( esc_html__( 'Download a CSV of customers. Select a taxonomy to see all the customers who purchased %s in that taxonomy.', 'easy-digital-downloads' ), edd_get_label_plural( true ) ); ?></p>
<form id="edd-export-customers" class="edd-export-form edd-import-export-form" method="post">
<?php
$taxonomies = edd_get_download_taxonomies();
$taxonomies = array_map( 'sanitize_text_field', $taxonomies );
$placeholders = implode( ', ', array_fill( 0, count( $taxonomies ), '%s' ) );
$taxonomy__in = $wpdb->prepare( "tt.taxonomy IN ({$placeholders})", $taxonomies );
$sql = "SELECT t.*, tt.*, tr.object_id
FROM {$wpdb->terms} AS t
INNER JOIN {$wpdb->term_taxonomy} AS tt ON t.term_id = tt.term_id
INNER JOIN {$wpdb->term_relationships} AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id
WHERE {$taxonomy__in}";
$results = $wpdb->get_results( $sql );
$taxonomies = array();
if ( $results ) {
foreach ( $results as $r ) {
$t = get_taxonomy( $r->taxonomy );
$taxonomies[ absint( $r->term_id ) ] = $t->labels->singular_name . ': ' . esc_html( $r->name );
}
}
?>
<label for="edd_export_taxonomy" class="screen-reader-text"><?php esc_html_e( 'Select Taxonomy', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->select(
array(
'name' => 'taxonomy',
'id' => 'edd_export_taxonomy',
'options' => $taxonomies,
'selected' => false,
'show_option_none' => false,
'show_option_all' => __( 'All Taxonomies', 'easy-digital-downloads' ),
)
);
?>
<label for="edd_customer_export_download" class="screen-reader-text"><?php esc_html_e( 'Select Download', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->product_dropdown(
array(
'name' => 'download',
'id' => 'edd_customer_export_download',
'chosen' => true,
/* translators: the plural post type label */
'placeholder' => sprintf( __( 'All %s', 'easy-digital-downloads' ), edd_get_label_plural() ),
)
);
wp_nonce_field( 'edd_ajax_export', 'edd_ajax_export' );
?>
<input type="hidden" name="edd-export-class" value="EDD_Batch_Customers_Export"/>
<button type="submit" class="button button-secondary"><?php esc_html_e( 'Generate CSV', 'easy-digital-downloads' ); ?></button>
</form>
</div>
</div>
<div class="postbox edd-export-taxed-customers">
<h2 class="hndle"><span><?php esc_html_e( 'Export Taxed Customers', 'easy-digital-downloads' ); ?></span></h2>
<div class="inside">
<p><?php esc_html_e( 'Download a CSV of all customers that were taxed.', 'easy-digital-downloads' ); ?></p>
<form id="edd-export-taxed-customers" class="edd-export-form edd-import-export-form" method="post">
<fieldset class="edd-from-to-wrapper">
<legend class="screen-reader-text">
<?php esc_html_e( 'Export Taxed Customer Dates', 'easy-digital-downloads' ); ?></legend>
<label for="edd-taxed-customers-export-start" class="screen-reader-text"><?php esc_html_e( 'Set start date', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->date_field(
array(
'id' => 'edd-taxed-customers-export-start',
'class' => 'edd-export-start',
'name' => 'taxed-customers-export-start',
'placeholder' => _x( 'From', 'date filter', 'easy-digital-downloads' )
)
);
?>
<label for="edd-taxed-customers-export-end" class="screen-reader-text"><?php esc_html_e( 'Set end date', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->date_field(
array(
'id' => 'edd-taxed-customers-export-end',
'class' => 'edd-export-end',
'name' => 'taxed-customers-export-end',
'placeholder' => _x( 'To', 'date filter', 'easy-digital-downloads' )
)
);
?>
</fieldset>
<?php
wp_nonce_field( 'edd_ajax_export', 'edd_ajax_export' );
?>
<input type="hidden" name="edd-export-class" value="EDD_Batch_Taxed_Customers_Export"/>
<button type="submit" class="button button-secondary"><?php esc_html_e( 'Generate CSV', 'easy-digital-downloads' ); ?></button>
</form>
</div>
</div>
<div class="postbox edd-export-downloads">
<h2 class="hndle"><span><?php esc_html_e(
/* translators: the singular post type label */
sprintf( __( 'Export %s Products', 'easy-digital-downloads' ), edd_get_label_singular() ) ); ?></span></h2>
<div class="inside">
<p><?php esc_html_e(
/* translators: the plural post type label */
sprintf( __( 'Download a CSV of product %1$s.', 'easy-digital-downloads' ), edd_get_label_plural( true ) ) ); ?></p>
<form id="edd-export-downloads" class="edd-export-form edd-import-export-form" method="post">
<label for="edd_download_export_download" class="screen-reader-text"><?php esc_html_e( 'Select Download', 'easy-digital-downloads' ); ?></label>
<?php echo EDD()->html->product_dropdown(
array(
'name' => 'download_id',
'id' => 'edd_download_export_download',
'chosen' => true,
/* translators: the plural post type label */
'placeholder' => sprintf( __( 'All %s', 'easy-digital-downloads' ), edd_get_label_plural() ),
)
);
?>
<?php wp_nonce_field( 'edd_ajax_export', 'edd_ajax_export' ); ?>
<input type="hidden" name="edd-export-class" value="EDD_Batch_Downloads_Export"/>
<button type="submit" class="button button-secondary"><?php esc_html_e( 'Generate CSV', 'easy-digital-downloads' ); ?></button>
</form>
</div>
</div>
<div class="postbox edd-export-api-requests">
<h2 class="hndle"><span><?php esc_html_e( 'Export API Request Logs', 'easy-digital-downloads' ); ?></span></h2>
<div class="inside">
<p><?php esc_html_e( 'Download a CSV of API request logs.', 'easy-digital-downloads' ); ?></p>
<form id="edd-export-api-requests" class="edd-export-form edd-import-export-form" method="post">
<fieldset class="edd-from-to-wrapper">
<legend class="screen-reader-text">
<?php esc_html_e( 'Export API Request Log Dates', 'easy-digital-downloads' ); ?>
</legend>
<label for="edd-api-requests-export-start" class="screen-reader-text"><?php esc_html_e( 'Set start date', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->date_field(
array(
'id' => 'edd-api-requests-export-start',
'class' => 'edd-export-start',
'name' => 'api-requests-export-start',
'placeholder' => _x( 'From', 'date filter', 'easy-digital-downloads' )
)
);
?>
<label for="edd-api-requests-export-end" class="screen-reader-text"><?php esc_html_e( 'Set end date', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->date_field(
array(
'id' => 'edd-api-requests-export-end',
'class' => 'edd-export-end',
'name' => 'api-requests-export-end',
'placeholder' => _x( 'To', 'date filter', 'easy-digital-downloads' )
)
);
?>
</fieldset>
<?php
wp_nonce_field( 'edd_ajax_export', 'edd_ajax_export' );
?>
<input type="hidden" name="edd-export-class" value="EDD_Batch_API_Requests_Export"/>
<button type="submit" class="button button-secondary"><?php esc_html_e( 'Generate CSV', 'easy-digital-downloads' ); ?></button>
</form>
</div>
</div>
<div class="postbox edd-export-download-history">
<h2 class="hndle"><span><?php esc_html_e( 'Export File Download Logs', 'easy-digital-downloads' ); ?></span></h2>
<div class="inside">
<p><?php esc_html_e( 'Download a CSV of file download logs.', 'easy-digital-downloads' ); ?></p>
<form id="edd-export-download-history" class="edd-export-form edd-import-export-form" method="post">
<label for="edd_file_download_export_download" class="screen-reader-text"><?php esc_html_e( 'Select Download', 'easy-digital-downloads' ); ?></label>
<?php echo EDD()->html->product_dropdown(
array(
'name' => 'download_id',
'id' => 'edd_file_download_export_download',
'chosen' => true,
/* translators: the plural post type label */
'placeholder' => sprintf( __( 'All %s', 'easy-digital-downloads' ), edd_get_label_plural() ),
)
);
?>
<fieldset class="edd-from-to-wrapper">
<legend class="screen-reader-text">
<?php esc_html_e( 'Export File Download Log Dates', 'easy-digital-downloads' ); ?>
</legend>
<label for="edd-file-download-export-start" class="screen-reader-text"><?php esc_html_e( 'Set start date', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->date_field(
array(
'id' => 'edd-file-download-export-start',
'class' => 'edd-export-start',
'name' => 'file-download-export-start',
'placeholder' => _x( 'From', 'date filter', 'easy-digital-downloads' )
)
);
?>
<label for="edd-file-download-export-end" class="screen-reader-text"><?php esc_html_e( 'Set end date', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->date_field(
array(
'id' => 'edd-file-download-export-end',
'class' => 'edd-export-end',
'name' => 'file-download-export-end',
'placeholder' => _x( 'To', 'date filter', 'easy-digital-downloads' )
)
);
?>
</fieldset>
<?php
wp_nonce_field( 'edd_ajax_export', 'edd_ajax_export' );
?>
<input type="hidden" name="edd-export-class" value="EDD_Batch_File_Downloads_Export"/>
<button type="submit" class="button button-secondary"><?php esc_html_e( 'Generate CSV', 'easy-digital-downloads' ); ?></button>
</form>
</div>
</div>
<?php do_action( 'edd_reports_tab_export_content_bottom' ); ?>
<?php
do_action( 'edd_reports_tab_export_content_top' );
$views = array(
'earnings-report',
'sales-earnings',
'sales',
'orders',
'taxed-orders',
'customers',
'taxed-customers',
'downloads',
'api-requests',
'download-history',
);
foreach ( $views as $view ) {
include "views/export-{$view}.php";
}
do_action( 'edd_reports_tab_export_content_bottom' );
?>
</div>
</div>
</div>

View File

@ -0,0 +1,38 @@
<div class="postbox edd-export-api-requests">
<h2 class="hndle"><span><?php esc_html_e( 'Export API Request Logs', 'easy-digital-downloads' ); ?></span></h2>
<div class="inside">
<p><?php esc_html_e( 'Download a CSV of API request logs.', 'easy-digital-downloads' ); ?></p>
<form id="edd-export-api-requests" class="edd-export-form edd-import-export-form" method="post">
<fieldset class="edd-from-to-wrapper">
<legend class="screen-reader-text">
<?php esc_html_e( 'Export API Request Log Dates', 'easy-digital-downloads' ); ?>
</legend>
<label for="edd-api-requests-export-start" class="screen-reader-text"><?php esc_html_e( 'Set start date', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->date_field(
array(
'id' => 'edd-api-requests-export-start',
'class' => 'edd-export-start',
'name' => 'api-requests-export-start',
'placeholder' => _x( 'From', 'date filter', 'easy-digital-downloads' )
)
);
?>
<label for="edd-api-requests-export-end" class="screen-reader-text"><?php esc_html_e( 'Set end date', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->date_field(
array(
'id' => 'edd-api-requests-export-end',
'class' => 'edd-export-end',
'name' => 'api-requests-export-end',
'placeholder' => _x( 'To', 'date filter', 'easy-digital-downloads' )
)
);
?>
</fieldset>
<?php wp_nonce_field( 'edd_ajax_export', 'edd_ajax_export' ); ?>
<input type="hidden" name="edd-export-class" value="EDD_Batch_API_Requests_Export"/>
<button type="submit" class="button button-secondary"><?php esc_html_e( 'Generate CSV', 'easy-digital-downloads' ); ?></button>
</form>
</div>
</div>

View File

@ -0,0 +1,63 @@
<div class="postbox edd-export-customers">
<h2 class="hndle"><span><?php esc_html_e( 'Export Customers', 'easy-digital-downloads' ); ?></span></h2>
<div class="inside">
<p><?php printf( esc_html__( 'Download a CSV of customers. Select a taxonomy to see all the customers who purchased %s in that taxonomy.', 'easy-digital-downloads' ), edd_get_label_plural( true ) ); ?></p>
<form id="edd-export-customers" class="edd-export-form edd-import-export-form" method="post">
<?php
global $wpdb;
$taxonomies = edd_get_download_taxonomies();
$taxonomies = array_map( 'sanitize_text_field', $taxonomies );
$placeholders = implode( ', ', array_fill( 0, count( $taxonomies ), '%s' ) );
$taxonomy__in = $wpdb->prepare( "tt.taxonomy IN ({$placeholders})", $taxonomies );
$sql = "SELECT t.*, tt.*, tr.object_id
FROM {$wpdb->terms} AS t
INNER JOIN {$wpdb->term_taxonomy} AS tt ON t.term_id = tt.term_id
INNER JOIN {$wpdb->term_relationships} AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id
WHERE {$taxonomy__in}";
$results = $wpdb->get_results( $sql );
$taxonomies = array();
if ( $results ) {
foreach ( $results as $r ) {
$t = get_taxonomy( $r->taxonomy );
$taxonomies[ absint( $r->term_id ) ] = $t->labels->singular_name . ': ' . esc_html( $r->name );
}
}
?>
<label for="edd_export_taxonomy" class="screen-reader-text"><?php esc_html_e( 'Select Taxonomy', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->select(
array(
'name' => 'taxonomy',
'id' => 'edd_export_taxonomy',
'options' => $taxonomies,
'selected' => false,
'show_option_none' => false,
'show_option_all' => __( 'All Taxonomies', 'easy-digital-downloads' ),
)
);
?>
<label for="edd_customer_export_download" class="screen-reader-text"><?php esc_html_e( 'Select Download', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->product_dropdown(
array(
'name' => 'download',
'id' => 'edd_customer_export_download',
'chosen' => true,
/* translators: the plural post type label */
'placeholder' => sprintf( __( 'All %s', 'easy-digital-downloads' ), edd_get_label_plural() ),
)
);
wp_nonce_field( 'edd_ajax_export', 'edd_ajax_export' );
?>
<input type="hidden" name="edd-export-class" value="EDD_Batch_Customers_Export"/>
<button type="submit" class="button button-secondary"><?php esc_html_e( 'Generate CSV', 'easy-digital-downloads' ); ?></button>
</form>
</div>
</div>

View File

@ -0,0 +1,49 @@
<div class="postbox edd-export-download-history">
<h2 class="hndle"><span><?php esc_html_e( 'Export File Download Logs', 'easy-digital-downloads' ); ?></span></h2>
<div class="inside">
<p><?php esc_html_e( 'Download a CSV of file download logs.', 'easy-digital-downloads' ); ?></p>
<form id="edd-export-download-history" class="edd-export-form edd-import-export-form" method="post">
<label for="edd_file_download_export_download" class="screen-reader-text"><?php esc_html_e( 'Select Download', 'easy-digital-downloads' ); ?></label>
<?php echo EDD()->html->product_dropdown(
array(
'name' => 'download_id',
'id' => 'edd_file_download_export_download',
'chosen' => true,
/* translators: the plural post type label */
'placeholder' => sprintf( __( 'All %s', 'easy-digital-downloads' ), edd_get_label_plural() ),
)
);
?>
<fieldset class="edd-from-to-wrapper">
<legend class="screen-reader-text">
<?php esc_html_e( 'Export File Download Log Dates', 'easy-digital-downloads' ); ?>
</legend>
<label for="edd-file-download-export-start" class="screen-reader-text"><?php esc_html_e( 'Set start date', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->date_field(
array(
'id' => 'edd-file-download-export-start',
'class' => 'edd-export-start',
'name' => 'file-download-export-start',
'placeholder' => _x( 'From', 'date filter', 'easy-digital-downloads' )
)
);
?>
<label for="edd-file-download-export-end" class="screen-reader-text"><?php esc_html_e( 'Set end date', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->date_field(
array(
'id' => 'edd-file-download-export-end',
'class' => 'edd-export-end',
'name' => 'file-download-export-end',
'placeholder' => _x( 'To', 'date filter', 'easy-digital-downloads' )
)
);
?>
</fieldset>
<?php wp_nonce_field( 'edd_ajax_export', 'edd_ajax_export' ); ?>
<input type="hidden" name="edd-export-class" value="EDD_Batch_File_Downloads_Export"/>
<button type="submit" class="button button-secondary"><?php esc_html_e( 'Generate CSV', 'easy-digital-downloads' ); ?></button>
</form>
</div>
</div>

View File

@ -0,0 +1,26 @@
<div class="postbox edd-export-downloads">
<h2 class="hndle"><span><?php esc_html_e(
/* translators: the singular post type label */
sprintf( __( 'Export %s Products', 'easy-digital-downloads' ), edd_get_label_singular() ) ); ?></span></h2>
<div class="inside">
<p><?php esc_html_e(
/* translators: the plural post type label */
sprintf( __( 'Download a CSV of product %1$s.', 'easy-digital-downloads' ), edd_get_label_plural( true ) ) ); ?></p>
<form id="edd-export-downloads" class="edd-export-form edd-import-export-form" method="post">
<label for="edd_download_export_download" class="screen-reader-text"><?php esc_html_e( 'Select Download', 'easy-digital-downloads' ); ?></label>
<?php echo EDD()->html->product_dropdown(
array(
'name' => 'download_id',
'id' => 'edd_download_export_download',
'chosen' => true,
/* translators: the plural post type label */
'placeholder' => sprintf( __( 'All %s', 'easy-digital-downloads' ), edd_get_label_plural() ),
)
);
?>
<?php wp_nonce_field( 'edd_ajax_export', 'edd_ajax_export' ); ?>
<input type="hidden" name="edd-export-class" value="EDD_Batch_Downloads_Export"/>
<button type="submit" class="button button-secondary"><?php esc_html_e( 'Generate CSV', 'easy-digital-downloads' ); ?></button>
</form>
</div>
</div>

View File

@ -0,0 +1,32 @@
<div class="postbox edd-export-earnings-report">
<h2 class="hndle"><span><?php esc_html_e( 'Export Earnings Report', 'easy-digital-downloads' ); ?></span></h2>
<div class="inside">
<p><?php esc_html_e( 'Download a CSV giving a detailed look into earnings over time.', 'easy-digital-downloads' ); ?></p>
<form id="edd-export-earnings-report" class="edd-export-form edd-import-export-form" method="post">
<fieldset class="edd-to-and-from-container">
<legend class="screen-reader-text">
<?php esc_html_e( 'Export Earnings Start', 'easy-digital-downloads' ); ?>
</legend>
<label for="edd_export_earnings_start_month" class="screen-reader-text"><?php esc_html_e( 'Select start month', 'easy-digital-downloads' ); ?></label>
<?php echo EDD()->html->month_dropdown( 'start_month', 0, 'edd_export_earnings', true ); ?>
<label for="edd_export_earnings_start_year" class="screen-reader-text"><?php esc_html_e( 'Select start year', 'easy-digital-downloads' ); ?></label>
<?php echo EDD()->html->year_dropdown( 'start_year', 0, 5, 0, 'edd_export_earnings' ); ?>
</fieldset>
<span class="edd-to-and-from--separator"><?php echo _x( '&mdash; to &mdash;', 'Date one to date two', 'easy-digital-downloads' ); ?></span>
<fieldset class="edd-to-and-from-container">
<legend class="screen-reader-text">
<?php esc_html_e( 'Export Earnings End', 'easy-digital-downloads' ); ?>
</legend>
<label for="edd_export_earnings_end_month" class="screen-reader-text"><?php esc_html_e( 'Select end month', 'easy-digital-downloads' ); ?></label>
<?php echo EDD()->html->month_dropdown( 'end_month', 0, 'edd_export_earnings', true ); ?>
<label for="edd_export_earnings_end_year" class="screen-reader-text"><?php esc_html_e( 'Select end year', 'easy-digital-downloads' ); ?></label>
<?php echo EDD()->html->year_dropdown( 'end_year', 0, 5, 0, 'edd_export_earnings' ); ?>
</fieldset>
<?php wp_nonce_field( 'edd_ajax_export', 'edd_ajax_export' ); ?>
<input type="hidden" name="edd-export-class" value="EDD_Batch_Earnings_Report_Export"/>
<button type="submit" class="button button-secondary"><?php esc_html_e( 'Generate CSV', 'easy-digital-downloads' ); ?></button>
</form>
</div>
</div>

View File

@ -0,0 +1,52 @@
<div class="postbox edd-export-orders">
<h2 class="hndle"><span><?php esc_html_e( 'Export Orders', 'easy-digital-downloads' ); ?></span></h2>
<div class="inside">
<p><?php esc_html_e( 'Download a CSV of all orders.', 'easy-digital-downloads' ); ?></p>
<form id="edd-export-orders" class="edd-export-form edd-import-export-form" method="post">
<fieldset class="edd-from-to-wrapper">
<legend class="screen-reader-text">
<?php esc_html_e( 'Export Order Dates', 'easy-digital-downloads' ); ?>
</legend>
<label for="edd-orders-export-start" class="screen-reader-text"><?php esc_html_e( 'Set start date', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->date_field(
array(
'id' => 'edd-orders-export-start',
'class' => 'edd-export-start',
'name' => 'orders-export-start',
'placeholder' => _x( 'From', 'date filter', 'easy-digital-downloads' ),
)
);
?>
<label for="edd-orders-export-end" class="screen-reader-text"><?php esc_html_e( 'Set end date', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->date_field(
array(
'id' => 'edd-orders-export-end',
'class' => 'edd-export-end',
'name' => 'orders-export-end',
'placeholder' => _x( 'To', 'date filter', 'easy-digital-downloads' ),
)
);
?>
</fieldset>
<label for="edd_orders_export_status" class="screen-reader-text"><?php esc_html_e( 'Select Status', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->select(
array(
'id' => 'edd_orders_export_status',
'name' => 'status',
'show_option_all' => __( 'All Statuses', 'easy-digital-downloads' ),
'show_option_none' => false,
'selected' => false,
'options' => edd_get_payment_statuses(),
)
);
wp_nonce_field( 'edd_ajax_export', 'edd_ajax_export' );
?>
<input type="hidden" name="edd-export-class" value="EDD_Batch_Payments_Export"/>
<button type="submit" class="button button-secondary"><?php esc_html_e( 'Generate CSV', 'easy-digital-downloads' ); ?></button>
</form>
</div>
</div>

View File

@ -0,0 +1,64 @@
<div class="postbox edd-export-sales-earnings">
<h2 class="hndle"><span><?php esc_html_e( 'Export Sales and Earnings', 'easy-digital-downloads' ); ?></span></h2>
<div class="inside">
<p><?php esc_html_e( 'Download a CSV of all sales or earnings on a day-by-day basis.', 'easy-digital-downloads' ); ?></p>
<form id="edd-export-sales-earnings" class="edd-export-form edd-import-export-form" method="post">
<fieldset class="edd-from-to-wrapper">
<legend class="screen-reader-text">
<?php esc_html_e( 'Export Sales and Earnings Dates', 'easy-digital-downloads' ); ?>
</legend>
<label for="edd-order-export-start" class="screen-reader-text"><?php esc_html_e( 'Set start date', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->date_field(
array(
'id' => 'edd-order-export-start',
'class' => 'edd-export-start',
'name' => 'order-export-start',
'placeholder' => _x( 'From', 'date filter', 'easy-digital-downloads' ),
)
);
?>
<label for="edd-order-export-end" class="screen-reader-text"><?php esc_html_e( 'Set end date', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->date_field(
array(
'id' => 'edd-order-export-end',
'class' => 'edd-export-end',
'name' => 'order-export-end',
'placeholder' => _x( 'To', 'date filter', 'easy-digital-downloads' ),
)
);
?>
</fieldset>
<label for="edd_orders_export_download" class="screen-reader-text"><?php esc_html_e( 'Select Download', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->product_dropdown(
array(
'name' => 'download_id',
'id' => 'edd_orders_export_download',
'chosen' => true,
/* translators: the plural post type label */
'placeholder' => sprintf( __( 'All %s', 'easy-digital-downloads' ), edd_get_label_plural() ),
)
);
?>
<label for="edd_order_export_customer" class="screen-reader-text"><?php esc_html_e( 'Select Customer', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->customer_dropdown(
array(
'name' => 'customer_id',
'id' => 'edd_order_export_customer',
'chosen' => true,
'none_selected' => '',
'placeholder' => __( 'All Customers', 'easy-digital-downloads' ),
)
);
wp_nonce_field( 'edd_ajax_export', 'edd_ajax_export' ); ?>
<input type="hidden" name="edd-export-class" value="EDD_Batch_Sales_And_Earnings_Export"/>
<button type="submit" class="button button-secondary"><?php esc_html_e( 'Export', 'easy-digital-downloads' ); ?></button>
</form>
</div>
</div>

View File

@ -0,0 +1,49 @@
<div class="postbox edd-export-payment-history">
<h2 class="hndle"><?php esc_html_e( 'Export Product Sales', 'easy-digital-downloads' ); ?></h2>
<div class="inside">
<p><?php esc_html_e( 'Download a CSV file containing a record of each sale of a product along with the customer information.', 'easy-digital-downloads' ); ?></p>
<form id="edd-export-sales" class="edd-export-form edd-import-export-form" method="post">
<fieldset class="edd-from-to-wrapper">
<legend class="screen-reader-text">
<?php esc_html_e( 'Export Sales Dates', 'easy-digital-downloads' ); ?>
</legend>
<label for="edd-sales-export-start" class="screen-reader-text"><?php esc_html_e( 'Set start date', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->date_field(
array(
'id' => 'edd-sales-export-start',
'class' => 'edd-sales-export-start',
'name' => 'sales-export-start',
'placeholder' => _x( 'From', 'date filter', 'easy-digital-downloads' ),
)
);
?>
<label for="edd-sales-export-end" class="screen-reader-text"><?php esc_html_e( 'Set end date', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->date_field(
array(
'id' => 'edd-sales-export-end',
'class' => 'edd-export-end',
'name' => 'sales-export-end',
'placeholder' => _x( 'To', 'date filter', 'easy-digital-downloads' ),
)
);
?>
</fieldset>
<label for="edd_sales_export_download" class="screen-reader-text"><?php esc_html_e( 'Select Download', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->product_dropdown(
array(
'name' => 'download_id',
'id' => 'edd_sales_export_download',
'chosen' => true,
)
);
?>
<?php wp_nonce_field( 'edd_ajax_export', 'edd_ajax_export' ); ?>
<input type="hidden" name="edd-export-class" value="EDD_Batch_Sales_Export"/>
<button type="submit" class="button button-secondary"><?php esc_html_e( 'Generate CSV', 'easy-digital-downloads' ); ?></button>
</form>
</div>
</div>

View File

@ -0,0 +1,37 @@
<div class="postbox edd-export-taxed-customers">
<h2 class="hndle"><span><?php esc_html_e( 'Export Taxed Customers', 'easy-digital-downloads' ); ?></span></h2>
<div class="inside">
<p><?php esc_html_e( 'Download a CSV of all customers that were taxed.', 'easy-digital-downloads' ); ?></p>
<form id="edd-export-taxed-customers" class="edd-export-form edd-import-export-form" method="post">
<fieldset class="edd-from-to-wrapper">
<legend class="screen-reader-text">
<?php esc_html_e( 'Export Taxed Customer Dates', 'easy-digital-downloads' ); ?></legend>
<label for="edd-taxed-customers-export-start" class="screen-reader-text"><?php esc_html_e( 'Set start date', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->date_field(
array(
'id' => 'edd-taxed-customers-export-start',
'class' => 'edd-export-start',
'name' => 'taxed-customers-export-start',
'placeholder' => _x( 'From', 'date filter', 'easy-digital-downloads' )
)
);
?>
<label for="edd-taxed-customers-export-end" class="screen-reader-text"><?php esc_html_e( 'Set end date', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->date_field(
array(
'id' => 'edd-taxed-customers-export-end',
'class' => 'edd-export-end',
'name' => 'taxed-customers-export-end',
'placeholder' => _x( 'To', 'date filter', 'easy-digital-downloads' )
)
);
?>
</fieldset>
<?php wp_nonce_field( 'edd_ajax_export', 'edd_ajax_export' ); ?>
<input type="hidden" name="edd-export-class" value="EDD_Batch_Taxed_Customers_Export"/>
<button type="submit" class="button button-secondary"><?php esc_html_e( 'Generate CSV', 'easy-digital-downloads' ); ?></button>
</form>
</div>
</div>

View File

@ -0,0 +1,72 @@
<div class="postbox edd-export-taxed-orders">
<h2 class="hndle"><span><?php esc_html_e( 'Export Taxed Orders', 'easy-digital-downloads' ); ?></span></h2>
<div class="inside">
<p><?php esc_html_e( 'Download a CSV of all orders, taxed by Country and/or Region.', 'easy-digital-downloads' ); ?></p>
<form id="edd-export-taxed-orders" class="edd-export-form edd-import-export-form" method="post">
<fieldset class="edd-from-to-wrapper">
<legend class="screen-reader-text">
<?php esc_html_e( 'Export Taxed Order Dates', 'easy-digital-downloads' ); ?>
</legend>
<label for="edd-taxed-orders-export-start" class="screen-reader-text"><?php esc_html_e( 'Set start date', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->date_field(
array(
'id' => 'edd-taxed-orders-export-start',
'class' => 'edd-export-start',
'name' => 'taxed-orders-export-start',
'placeholder' => _x( 'From', 'date filter', 'easy-digital-downloads' )
)
);
?>
<label for="edd-taxed-orders-export-end" class="screen-reader-text"><?php esc_html_e( 'Set end date', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->date_field(
array(
'id' => 'edd-taxed-orders-export-end',
'class' => 'edd-export-end',
'name' => 'taxed-orders-export-end',
'placeholder' => _x( 'To', 'date filter', 'easy-digital-downloads' )
)
);
?>
</fieldset>
<label for="edd_taxed_orders_export_status" class="screen-reader-text"><?php esc_html_e( 'Select Status', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->select(
array(
'id' => 'edd_taxed_orders_export_status',
'name' => 'status',
'show_option_all' => __( 'All Statuses', 'easy-digital-downloads' ),
'show_option_none' => false,
'selected' => false,
'options' => edd_get_payment_statuses(),
)
);
?>
<label for="edd_reports_filter_taxed_countries" class="screen-reader-text"><?php esc_html_e( 'Select Country', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->country_select(
array(
'name' => 'country',
'id' => 'edd_reports_filter_taxed_countries',
'selected' => false,
'show_option_all' => false,
)
);
?>
<label for="edd_reports_filter_regions" class="screen-reader-text"><?php esc_html_e( 'Select Region', 'easy-digital-downloads' ); ?></label>
<?php
echo EDD()->html->region_select(
array(
'id' => 'edd_reports_filter_regions',
'placeholder' => __( 'All Regions', 'easy-digital-downloads' ),
)
);
wp_nonce_field( 'edd_ajax_export', 'edd_ajax_export' );
?>
<input type="hidden" name="edd-export-class" value="EDD_Batch_Taxed_Orders_Export"/>
<button type="submit" class="button button-secondary"><?php esc_html_e( 'Generate CSV', 'easy-digital-downloads' ); ?></button>
</form>
</div>
</div>