1 <?php
2 3 4 5 6 7 8 9 10 11 12
13
14
15 if ( ! defined( 'ABSPATH' ) ) exit;
16
17 18 19 20 21
22 class EDD_Download_History_Export extends EDD_Export {
23 24 25 26 27 28
29 public $export_type = 'download_history';
30
31 32 33 34 35 36 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 51 52 53 54 55 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 }