/** * Displayes the source dropdown menu * * @since 1.2.6 * @return void */ public function source_filter() { $edd_logs = new EDD_Logging(); $log_query = array('log_type' => 'recommendation_sale', 'posts_per_page' => -1, 'fields' => array('post_parent')); $logs = $edd_logs->get_connected_logs($log_query); if ($logs) { foreach ($logs as $log) { $sources[$log->post_parent] = get_the_title($log->post_parent); } $dropdown_args = array('options' => $sources, 'name' => 'source', 'id' => 'source', 'selected' => !empty($_GET['source']) ? absint($_GET['source']) : false, 'show_option_all' => _x('All Sources', 'all dropdown items', 'edd-rp-txt'), 'show_option_none' => false); echo EDD()->html->select($dropdown_args); } }
/** * Export all downloads to CSV * * @access private * @since 1.2 * @return void */ function edd_export_all_downloads_history() { if (current_user_can('administrator')) { ignore_user_abort(true); if (!edd_is_func_disabled('set_time_limit') && !ini_get('safe_mode')) { set_time_limit(0); } $report_args = array('post_type' => 'download', 'post_status' => 'publish', 'posts_per_page' => -1, 'order' => 'post_date'); $downloads = get_posts($report_args); if (!empty($downloads)) { header("Content-type: text/csv"); $today = date_i18n("Y-m-d"); header("Content-Disposition: attachment; filename=user_downloads_history-{$today}.csv"); header("Pragma: no-cache"); header("Expires: 0"); echo '"' . __('Date', 'edd') . '",'; echo '"' . __('Downloaded by', 'edd') . '",'; echo '"' . __('IP Address', 'edd') . '",'; echo '"' . __('Product', 'edd') . '",'; echo '"' . __('File', 'edd') . '"'; echo "\r\n"; foreach ($downloads as $report) { $page = isset($_GET['paged']) ? intval($_GET['paged']) : 1; $download_log = new EDD_Logging(); $file_downloads = $download_log->get_connected_logs(array('post_parent' => $report->ID, 'posts_per_page' => -1, 'log_type' => 'file_download', 'monthnum' => date('n'), 'year' => date('Y'))); $files = edd_get_download_files($report->ID); if (is_array($file_downloads)) { foreach ($file_downloads as $log) { $user_info = get_post_meta($log->ID, '_edd_log_user_info', true); $file_id = (int) get_post_meta($log->ID, '_edd_log_file_id', true); $ip = get_post_meta($log->ID, '_edd_log_ip', true); $user_id = isset($user_info['id']) ? $user_info['id'] : 0; $user_data = get_userdata($user_id); if ($user_data) { $name = $user_data->display_name; } else { $name = $user_info['email']; } $file_id = (int) $file_id !== false ? $file_id : 0; $file_name = isset($files[$file_id]['name']) ? $files[$file_id]['name'] : null; echo '"' . $log->post_date . '",'; echo '"' . $name . '",'; echo '"' . $ip . '",'; echo '"' . html_entity_decode(get_the_title($report->ID)) . '",'; echo '"' . $file_name . '"'; echo "\r\n"; } // endforeach } } exit; } } else { wp_die(__('Export not allowed for non-administrators.', 'edd')); } }