You appear to be a bot. Output may be restricted
Description
Process Get Downloads API Request to retrieve download logs
Usage
$array = EDD_API::get_download_logs( $customer_id );
Parameters
- $customer_id
- ( int ) optional – The customer ID you wish to retrieve download logs for
Returns
array Multidimensional array of the download logs
Source
File name: easy-digital-downloads/includes/api/class-edd-api.php
Lines:
1 to 94 of 94
public function get_download_logs( $customer_id = 0 ) { global $edd_logs; $downloads = array(); $errors = array(); $invalid_customer = false; $paged = $this->get_paged(); $per_page = $this->per_page(); $offset = $per_page * ( $paged - 1 ); $meta_query = array(); if ( ! empty( $customer_id ) ) { $customer = new EDD_Customer( $customer_id ); if ( $customer->id > 0 ) { $meta_query['relation'] = 'OR'; if ( $customer->id > 0 ) { // Based on customer->user_id $meta_query[] = array( 'key' => '_edd_log_user_id', 'value' => $customer->user_id, ); } // Based on customer->email $meta_query[] = array( 'key' => '_edd_log_user_info', 'value' => $customer->email, 'compare'=> 'LIKE', ); } else { $invalid_customer = true; } } $query = array( 'log_type' => 'file_download', 'paged' => $paged, 'meta_query' => $meta_query, 'posts_per_page' => $per_page, 'update_post_meta_cache' => false, 'update_post_term_cache' => false, ); $logs = array(); if ( ! $invalid_customer ) { $logs = $edd_logs->get_connected_logs( $query ); } if ( empty( $logs ) ) { $error['error'] = __( 'No download logs found!', 'easy-digital-downloads' ); return $error; } foreach( $logs as $log ) { $item = array(); $log_meta = get_post_custom( $log->ID ); $user_info = isset( $log_meta['_edd_log_user_info'] ) ? maybe_unserialize( $log_meta['_edd_log_user_info'][0] ) : array(); $payment_id = isset( $log_meta['_edd_log_payment_id'] ) ? $log_meta['_edd_log_payment_id'][0] : false; $payment_customer_id = edd_get_payment_customer_id( $payment_id ); $payment_customer = new EDD_Customer( $payment_customer_id ); $user_id = ( $payment_customer->user_id > 0 ) ? $payment_customer->user_id : false; $ip = $log_meta['_edd_log_ip'][0]; $files = edd_get_payment_meta_downloads( $payment_id ); $files = edd_get_download_files( $files[0]['id'] ); $file_id = (int) $log_meta['_edd_log_file_id'][0]; $file_id = $file_id !== false ? $file_id : 0; $file_name = isset( $files[ $file_id ]['name'] ) ? $files[ $file_id ]['name'] : null; $item = array( 'ID' => $log->ID, 'user_id' => $user_id, 'product_id' => $log->post_parent, 'product_name' => get_the_title( $log->post_parent ), 'customer_id' => $payment_customer_id, 'payment_id' => $payment_id, 'file' => $file_name, 'ip' => $ip, 'date' => $log->post_date, ); $item = apply_filters( 'edd_api_download_log_item', $item, $log, $log_meta ); $downloads['download_logs'][] = $item; } return apply_filters( 'edd_api_download_logs', $downloads, $this ); }