Easy Digital Downloads
  • Package
  • Class
  • Tree

Packages

  • EDD
    • Admin
      • Actions
      • Add-ons
      • Dashboard
      • Discounts
      • Downloads
      • Export
      • Notices
      • Pages
      • Payments
      • Reports
      • Settings
      • System
      • Upgrades
      • Upload
      • Welcome
    • Cart
    • Checkout
    • Classes
      • API
      • Fees
      • HTML
      • Roles
      • Session
    • Emails
    • Functions
      • AJAX
      • Compatibility
      • Errors
      • Formatting
      • Install
      • Login
      • Taxes
      • Templates
    • Gateways
    • Logging
    • Payments
    • Shortcodes
    • Widgets

Classes

  • EDD_API_Request_Log_Table
  • EDD_Customer_Reports_Table
  • EDD_Customers_Export
  • EDD_Download_History_Export
  • EDD_Download_Reports_Table
  • EDD_Export
  • EDD_File_Downloads_Log_Table
  • EDD_Gateway_Error_Log_Table
  • EDD_Payments_Export
  • EDD_Sales_Log_Table

Functions

  • edd_draw_chart_image
  • edd_estimated_monthly_stats
  • edd_generate_pdf
  • edd_get_report_dates
  • edd_log_default_views
  • edd_log_views
  • edd_logs_view_api_requests
  • edd_logs_view_file_downloads
  • edd_logs_view_gateway_errors
  • edd_logs_view_sales
  • edd_parse_report_dates
  • edd_report_views
  • edd_reporting_contextual_help
  • edd_reports_customers_table
  • edd_reports_default_views
  • edd_reports_downloads_table
  • edd_reports_earnings
  • edd_reports_graph
  • edd_reports_graph_controls
  • edd_reports_page
  • edd_reports_tab_export
  • edd_reports_tab_logs
  • edd_reports_tab_reports
  • edd_reports_taxes
 1 <?php
 2 /**
 3  * Customers Export Class
 4  *
 5  * This class handles customer export
 6  *
 7  * @package     EDD
 8  * @subpackage  Admin/Reports
 9  * @copyright   Copyright (c) 2013, Pippin Williamson
10  * @license     http://opensource.org/licenses/gpl-2.0.php GNU Public License
11  * @since       1.4.4
12  */
13 
14 // Exit if accessed directly
15 if ( ! defined( 'ABSPATH' ) ) exit;
16 
17 /**
18  * EDD_Download_History_Export Class
19  *
20  * @since 1.4.4
21  */
22 class EDD_Download_History_Export extends EDD_Export {
23     /**
24      * Our export type. Used for export-type specific filters/actions
25      *
26      * @var string
27      * @since 1.4.4
28      */
29     public $export_type = 'download_history';
30 
31     /**
32      * Set the CSV columns
33      *
34      * @access public
35      * @since 1.4.4
36      * @return array $cols All the columns
37      */
38     public function csv_cols() {
39         $cols = array(
40             'date'     => __( 'Date',   'edd' ),
41             'user'     => __( 'Downloaded by', 'edd' ),
42             'ip'       => __( 'IP Address', 'edd' ),
43             'download' => __( 'Product', 'edd' ),
44             'file'     => __( 'File', 'edd' )
45         );
46         return $cols;
47     }
48 
49     /**
50      * Get the Export Data
51      *
52      * @access public
53      * @since 1.4.4
54      * @global object $edd_logs EDD Logs Object
55      * @return array $data The data for the CSV file
56      */
57     public function get_data() {
58         global $edd_logs;
59 
60         $data = array();
61 
62         $logs = $edd_logs->get_connected_logs( array(
63             'nopaging' => true,
64             'log_type' => 'file_download',
65             'month'    => date( 'n' ),
66             'year'     => date( 'Y' )
67         ) );
68 
69         if ( $logs ) {
70             foreach ( $logs as $log ) {
71                 $user_info = get_post_meta( $log->ID, '_edd_log_user_info', true );
72                 $files     = edd_get_download_files( $log->post_parent );
73                 $file_id   = (int) get_post_meta( $log->ID, '_edd_log_file_id', true );
74                 $file_name = isset( $files[ $file_id ]['name'] ) ? $files[ $file_id ]['name'] : null;
75                 $user      = get_userdata( $user_info['id'] );
76                 $user      = $user ? $user->user_login : $user_info['email'];
77 
78                 $data[]    = array(
79                     'date'     => $log->post_date,
80                     'user'     => $user,
81                     'ip'       => get_post_meta( $log->ID, '_edd_log_ip', true ),
82                     'download' => get_the_title( $log->post_parent ),
83                     'file'     => $file_name
84                 );
85             }
86         }
87 
88         $data = apply_filters( 'edd_export_get_data', $data );
89         $data = apply_filters( 'edd_export_get_data_' . $this->export_type, $data );
90 
91         return $data;
92     }
93 }
Easy Digital Downloads API documentation generated by ApiGen 2.8.0