public function output_data($data, $query_mode, $api_object) { if ('commissions' != $query_mode) { return $data; } $user_id = $api_object->get_user(); $data['unpaid'] = array(); $data['paid'] = array(); $unpaid = eddc_get_unpaid_commissions(array('user_id' => $user_id, 'number' => 30, 'paged' => $api_object->get_paged())); if (!empty($unpaid)) { foreach ($unpaid as $commission) { $commission_meta = get_post_meta($commission->ID, '_edd_commission_info', true); $data['unpaid'][] = array('amount' => edd_sanitize_amount($commission_meta['amount']), 'rate' => $commission_meta['rate'], 'currency' => $commission_meta['currency'], 'item' => get_the_title(get_post_meta($commission->ID, '_download_id', true)), 'date' => $commission->post_date); } } $paid = eddc_get_paid_commissions(array('user_id' => $user_id, 'number' => 30, 'paged' => $api_object->get_paged())); if (!empty($paid)) { foreach ($paid as $commission) { $commission_meta = get_post_meta($commission->ID, '_edd_commission_info', true); $data['paid'][] = array('amount' => edd_sanitize_amount($commission_meta['amount']), 'rate' => $commission_meta['rate'], 'currency' => $commission_meta['currency'], 'item' => get_the_title(get_post_meta($commission->ID, '_download_id', true)), 'date' => $commission->post_date); } } $data['totals'] = array('unpaid' => eddc_get_unpaid_totals($user_id), 'paid' => eddc_get_paid_totals($user_id)); return $data; }
/** * Commissions Summary Dashboard Widget * * @access private * @since 1.6 */ function eddc_dashboard_commissions_widget() { global $user_ID; $unpaid_paged = isset($_GET['eddcup']) ? absint($_GET['eddcup']) : 1; $paid_paged = isset($_GET['eddcp']) ? absint($_GET['eddcp']) : 1; $unpaid_commissions = eddc_get_unpaid_commissions(array('user_id' => $user_ID, 'number' => 20, 'paged' => $unpaid_paged)); $paid_commissions = eddc_get_paid_commissions(array('user_id' => $user_ID, 'number' => 20, 'paged' => $paid_paged)); $total_unpaid = eddc_count_user_commissions($user_ID, 'unpaid'); $total_paid = eddc_count_user_commissions($user_ID, 'paid'); $unpaid_offset = 20 * ($unpaid_paged - 1); $unpaid_total_pages = ceil($total_unpaid / 20); $paid_offset = 20 * ($paid_paged - 1); $paid_total_pages = ceil($total_paid / 20); $stats = ''; if (!empty($unpaid_commissions) || !empty($paid_commissions)) { // only show tables if user has commission data ob_start(); ?> <div id="edd_user_commissions" class="edd_dashboard_widget"> <style>#edd_user_commissions_unpaid { margin-top: 30px; }#edd_user_commissions_unpaid_total,#edd_user_commissions_paid_total { padding-bottom: 20px; } .edd_user_commissions { width: 100%; margin: 0 0 20px; }.edd_user_commissions th, .edd_user_commissions td { text-align:left; padding: 4px 4px 4px 0; }</style> <!-- unpaid --> <div id="edd_user_commissions_unpaid" class="table"> <p class="edd_user_commissions_header sub"><?php _e('Unpaid Commissions', 'eddc'); ?> </p> <table id="edd_user_unpaid_commissions_table" class="edd_user_commissions"> <thead> <tr class="edd_user_commission_row"> <th class="edd_commission_item"><?php _e('Item', 'eddc'); ?> </th> <th class="edd_commission_amount"><?php _e('Amount', 'eddc'); ?> </th> <th class="edd_commission_rate"><?php _e('Rate', 'eddc'); ?> </th> <th class="edd_commission_date"><?php _e('Date', 'eddc'); ?> </th> </tr> </thead> <tbody> <?php $total = (double) 0; ?> <?php if (!empty($unpaid_commissions)) { ?> <?php foreach ($unpaid_commissions as $commission) { ?> <tr class="edd_user_commission_row"> <?php $item_name = get_the_title(get_post_meta($commission->ID, '_download_id', true)); $commission_info = get_post_meta($commission->ID, '_edd_commission_info', true); $amount = $commission_info['amount']; $rate = $commission_info['rate']; $total += $amount; ?> <td class="edd_commission_item"><?php echo esc_html($item_name); ?> </td> <td class="edd_commission_amount"><?php echo edd_currency_filter($amount); ?> </td> <td class="edd_commission_rate"><?php echo $rate . '%'; ?> </td> <td class="edd_commission_date"><?php echo date_i18n(get_option('date_format'), strtotime($commission->post_date)); ?> </td> </tr> <?php } ?> <?php } else { ?> <tr class="edd_user_commission_row edd_row_empty"> <td colspan="4"><?php _e('No unpaid commissions', 'eddc'); ?> </td> </tr> <?php } ?> </tbody> </table> <div id="edd_user_commissions_unpaid_total"><?php _e('Total unpaid:', 'eddc'); ?> <?php echo edd_currency_filter(eddc_get_unpaid_totals($user_ID)); ?> </div> <div id="edd_commissions_unpaid_pagination" class="navigation" style="padding: 0 0 15px;"> <?php $big = 999999; echo paginate_links(array('base' => admin_url() . '%_%#edd_user_commissions_unpaid', 'format' => '?eddcup=%#%', 'current' => max(1, $unpaid_paged), 'total' => $unpaid_total_pages)); ?> </div> </div><!--end #edd_user_commissions_unpaid--> <!-- paid --> <div id="edd_user_commissions_paid" class="table"> <p class="edd_user_commissions_header sub"><?php _e('Paid Commissions', 'eddc'); ?> </p> <table id="edd_user_paid_commissions_table" class="edd_user_commissions"> <thead> <tr class="edd_user_commission_row"> <th class="edd_commission_item"><?php _e('Item', 'eddc'); ?> </th> <th class="edd_commission_amount"><?php _e('Amount', 'eddc'); ?> </th> <th class="edd_commission_rate"><?php _e('Rate', 'eddc'); ?> </th> <th class="edd_commission_date"><?php _e('Date', 'eddc'); ?> </th> </tr> </thead> <tbody> <?php $total = (double) 0; ?> <?php if (!empty($paid_commissions)) { ?> <?php foreach ($paid_commissions as $commission) { ?> <tr class="edd_user_commission_row"> <?php $item_name = get_the_title(get_post_meta($commission->ID, '_download_id', true)); $commission_info = get_post_meta($commission->ID, '_edd_commission_info', true); $amount = $commission_info['amount']; $rate = $commission_info['rate']; $total += $amount; ?> <td class="edd_commission_item"><?php echo esc_html($item_name); ?> </td> <td class="edd_commission_amount"><?php echo edd_currency_filter($amount); ?> </td> <td class="edd_commission_rate"><?php echo $rate . '%'; ?> </td> <td class="edd_commission_date"><?php echo date_i18n(get_option('date_format'), strtotime($commission->post_date)); ?> </td> </tr> <?php } ?> <?php } else { ?> <tr class="edd_user_commission_row edd_row_empty"> <td colspan="4"><?php _e('No paid commissions', 'eddc'); ?> </td> </tr> <?php } ?> </tbody> </table> <div id="edd_user_commissions_paid_total"><?php _e('Total paid:', 'eddc'); ?> <?php echo edd_currency_filter(eddc_get_paid_totals($user_ID)); ?> </div> <div id="edd_commissions_paid_pagination" class="navigation" style="padding: 0 0 15px;"> <?php $big = 999999; echo paginate_links(array('base' => admin_url() . '%_%#edd_user_commissions_paid', 'format' => '?eddcup=%#%', 'current' => max(1, $paid_paged), 'total' => $paid_total_pages)); ?> </div> <div id"edd_commissions_export"> <p><strong><?php _e('Export Paid Commissions', 'eddc'); ?> </strong></p> <form method="post" action="<?php echo admin_url('index.php'); ?> "> <?php echo EDD()->html->month_dropdown(); ?> <?php echo EDD()->html->year_dropdown(); ?> <input type="hidden" name="edd_action" value="generate_commission_export"/> <input type="submit" class="button-secondary" value="<?php _e('Download CSV', 'eddc'); ?> "/> </form> </div> </div><!--end #edd_user_commissions_unpaid--> </div><!--end #edd_user_commissions--> <?php $stats = ob_get_clean(); } echo $stats; }
function eddc_user_commissions() { global $user_ID; if (!is_user_logged_in()) { return; } $unpaid_paged = isset($_GET['eddcup']) ? absint($_GET['eddcup']) : 1; $paid_paged = isset($_GET['eddcp']) ? absint($_GET['eddcp']) : 1; $unpaid_commissions = eddc_get_unpaid_commissions(array('user_id' => $user_ID, 'number' => 20, 'paged' => $unpaid_paged)); $paid_commissions = eddc_get_paid_commissions(array('user_id' => $user_ID, 'number' => 20, 'paged' => $paid_paged)); $total_unpaid = eddc_count_user_commissions($user_ID, 'unpaid'); $total_paid = eddc_count_user_commissions($user_ID, 'paid'); $unpaid_offset = 20 * ($unpaid_paged - 1); $unpaid_total_pages = ceil($total_unpaid / 20); $paid_offset = 20 * ($paid_paged - 1); $paid_total_pages = ceil($total_paid / 20); $stats = ''; if (eddc_user_has_commissions()) { // only show tables if user has commission data ob_start(); ?> <div id="edd_user_commissions"> <!-- unpaid --> <div id="edd_user_commissions_unpaid"> <h3 class="edd_user_commissions_header"><?php _e('Unpaid Commissions', 'eddc'); ?> </h3> <table id="edd_user_unpaid_commissions_table" class="edd_user_commissions"> <thead> <tr class="edd_user_commission_row"> <?php do_action('eddc_user_commissions_unpaid_head_row_begin'); ?> <th class="edd_commission_item"><?php _e('Item', 'eddc'); ?> </th> <th class="edd_commission_amount"><?php _e('Amount', 'eddc'); ?> </th> <th class="edd_commission_rate"><?php _e('Rate', 'eddc'); ?> </th> <th class="edd_commission_date"><?php _e('Date', 'eddc'); ?> </th> <?php do_action('eddc_user_commissions_unpaid_head_row_end'); ?> </tr> </thead> <tbody> <?php $total = (double) 0; ?> <?php if (!empty($unpaid_commissions)) { ?> <?php foreach ($unpaid_commissions as $commission) { ?> <tr class="edd_user_commission_row"> <?php do_action('eddc_user_commissions_unpaid_row_begin', $commission); $item_name = get_the_title(get_post_meta($commission->ID, '_download_id', true)); $commission_info = get_post_meta($commission->ID, '_edd_commission_info', true); $amount = $commission_info['amount']; $rate = $commission_info['rate']; ?> <td class="edd_commission_item"><?php echo esc_html($item_name); ?> </td> <td class="edd_commission_amount"><?php echo edd_currency_filter(edd_format_amount($amount)); ?> </td> <td class="edd_commission_rate"><?php echo $rate . '%'; ?> </td> <td class="edd_commission_date"><?php echo date_i18n(get_option('date_format'), strtotime($commission->post_date)); ?> </td> <?php do_action('eddc_user_commissions_unpaid_row_end', $commission); ?> </tr> <?php } ?> <?php } else { ?> <tr class="edd_user_commission_row edd_row_empty"> <td colspan="4"><?php _e('No unpaid commissions', 'eddc'); ?> </td> </tr> <?php } ?> </tbody> </table> <div id="edd_user_commissions_unpaid_total"><?php _e('Total unpaid:', 'eddc'); ?> <?php echo edd_currency_filter(edd_format_amount(eddc_get_unpaid_totals($user_ID))); ?> </div> <div id="edd_commissions_unpaid_pagination" class="navigation"> <?php $big = 999999; echo paginate_links(array('base' => remove_query_arg('eddcup', edd_get_current_page_url()) . '%_%#edd_user_commissions_unpaid', 'format' => '?eddcup=%#%', 'current' => max(1, $unpaid_paged), 'total' => $unpaid_total_pages)); ?> </div> </div><!--end #edd_user_commissions_unpaid--> <!-- paid --> <div id="edd_user_commissions_paid"> <h3 class="edd_user_commissions_header"><?php _e('Paid Commissions', 'eddc'); ?> </h3> <table id="edd_user_paid_commissions_table" class="edd_user_commissions"> <thead> <tr class="edd_user_commission_row"> <?php do_action('eddc_user_commissions_paid_head_row_begin'); ?> <th class="edd_commission_item"><?php _e('Item', 'eddc'); ?> </th> <th class="edd_commission_amount"><?php _e('Amount', 'eddc'); ?> </th> <th class="edd_commission_rate"><?php _e('Rate', 'eddc'); ?> </th> <th class="edd_commission_date"><?php _e('Date', 'eddc'); ?> </th> <?php do_action('eddc_user_commissions_paid_head_row_end'); ?> </tr> </thead> <tbody> <?php $total = (double) 0; ?> <?php if (!empty($paid_commissions)) { ?> <?php foreach ($paid_commissions as $commission) { ?> <tr class="edd_user_commission_row"> <?php do_action('eddc_user_commissions_paid_row_begin', $commission); $item_name = get_the_title(get_post_meta($commission->ID, '_download_id', true)); $commission_info = get_post_meta($commission->ID, '_edd_commission_info', true); $amount = $commission_info['amount']; $rate = $commission_info['rate']; ?> <td class="edd_commission_item"><?php echo esc_html($item_name); ?> </td> <td class="edd_commission_amount"><?php echo edd_currency_filter($amount); ?> </td> <td class="edd_commission_rate"><?php echo $rate . '%'; ?> </td> <td class="edd_commission_date"><?php echo date_i18n(get_option('date_format'), strtotime($commission->post_date)); ?> </td> <?php do_action('eddc_user_commissions_paid_row_end', $commission); ?> </tr> <?php } ?> <?php } else { ?> <tr class="edd_user_commission_row edd_row_empty"> <td colspan="4"><?php _e('No paid commissions', 'eddc'); ?> </td> </tr> <?php } ?> </tbody> </table> <div id="edd_user_commissions_paid_total"><?php _e('Total paid:', 'eddc'); ?> <?php echo edd_currency_filter(edd_format_amount(eddc_get_paid_totals($user_ID))); ?> </div> <div id="edd_commissions_paid_pagination" class="navigation"> <?php $big = 999999; echo paginate_links(array('base' => remove_query_arg('eddcp', edd_get_current_page_url()) . '%_%#edd_user_commissions_paid', 'format' => '?eddcp=%#%', 'current' => max(1, $paid_paged), 'total' => $paid_total_pages)); ?> </div> <div id="edd_commissions_export"> <p><strong><?php _e('Export Paid Commissions', 'eddc'); ?> </strong></p> <form method="post" action="<?php echo home_url(); ?> "> <?php echo EDD()->html->month_dropdown(); ?> <?php echo EDD()->html->year_dropdown(); ?> <input type="hidden" name="edd_action" value="generate_commission_export"/> <input type="submit" class="edd-submit button" value="<?php _e('Download CSV', 'eddc'); ?> "/> </form><br/> </div> </div><!--end #edd_user_commissions_paid--> </div><!--end #edd_user_commissions--> <?php $stats = apply_filters('edd_user_commissions_display', ob_get_clean()); } return $stats; }
/** * Given a user id, provide a detailed list of commissions * * @param integer $user_id Given a user id, get their commissions details * @return string HTML markup for the commissions details */ function eddc_user_commissions($user_id = 0) { $user_id = empty($user_id) ? get_current_user_id() : $user_id; // If still empty, exit if (empty($user_id)) { return; } $per_page = 20; $unpaid_paged = isset($_GET['eddcup']) ? absint($_GET['eddcup']) : 1; $paid_paged = isset($_GET['eddcp']) ? absint($_GET['eddcp']) : 1; $revoked_paged = isset($_GET['eddcrp']) ? absint($_GET['eddcrp']) : 1; $unpaid_commissions = eddc_get_unpaid_commissions(array('user_id' => $user_id, 'number' => $per_page, 'paged' => $unpaid_paged)); $paid_commissions = eddc_get_paid_commissions(array('user_id' => $user_id, 'number' => $per_page, 'paged' => $paid_paged)); $revoked_commissions = eddc_get_revoked_commissions(array('user_id' => $user_id, 'number' => $per_page, 'paged' => $paid_paged)); $total_unpaid = eddc_count_user_commissions($user_id, 'unpaid'); $total_paid = eddc_count_user_commissions($user_id, 'paid'); $total_revoked = eddc_count_user_commissions($user_id, 'revoked'); $unpaid_offset = $per_page * ($unpaid_paged - 1); $unpaid_total_pages = ceil($total_unpaid / $per_page); $paid_offset = $per_page * ($paid_paged - 1); $paid_total_pages = ceil($total_paid / $per_page); $revoked_offset = $per_page * ($revoked_paged - 1); $revoked_total_pages = ceil($total_revoked / $per_page); $page_prefix = false !== strpos(edd_get_current_page_url(), '?') ? '&' : '?'; $stats = ''; if (eddc_user_has_commissions($user_id)) { // only show tables if user has commission data ob_start(); ?> <div id="edd_user_commissions"> <!-- unpaid --> <div id="edd_user_commissions_unpaid"> <h3 class="edd_user_commissions_header"><?php _e('Unpaid Commissions', 'eddc'); ?> </h3> <table id="edd_user_unpaid_commissions_table" class="edd_user_commissions"> <thead> <tr class="edd_user_commission_row"> <?php do_action('eddc_user_commissions_unpaid_head_row_begin'); ?> <th class="edd_commission_item"><?php _e('Item', 'eddc'); ?> </th> <th class="edd_commission_amount"><?php _e('Amount', 'eddc'); ?> </th> <th class="edd_commission_rate"><?php _e('Rate', 'eddc'); ?> </th> <th class="edd_commission_date"><?php _e('Date', 'eddc'); ?> </th> <?php do_action('eddc_user_commissions_unpaid_head_row_end'); ?> </tr> </thead> <tbody> <?php $total = (double) 0; ?> <?php if (!empty($unpaid_commissions)) { ?> <?php foreach ($unpaid_commissions as $commission) { ?> <tr class="edd_user_commission_row"> <?php do_action('eddc_user_commissions_unpaid_row_begin', $commission); $item_name = get_the_title(get_post_meta($commission->ID, '_download_id', true)); $commission_info = get_post_meta($commission->ID, '_edd_commission_info', true); $amount = $commission_info['amount']; $rate = $commission_info['rate']; ?> <td class="edd_commission_item"><?php echo esc_html($item_name); ?> </td> <td class="edd_commission_amount"> <?php echo edd_currency_filter(edd_format_amount(edd_sanitize_amount($amount))); ?> <?php if (eddc_commission_is_renewal($commission->ID)) { ?> ↺ <?php } ?> </td> <td class="edd_commission_rate"><?php echo $rate . '%'; ?> </td> <td class="edd_commission_date"><?php echo date_i18n(get_option('date_format'), strtotime($commission->post_date)); ?> </td> <?php do_action('eddc_user_commissions_unpaid_row_end', $commission); ?> </tr> <?php } ?> <?php } else { ?> <tr class="edd_user_commission_row edd_row_empty"> <td colspan="4"><?php _e('No unpaid commissions', 'eddc'); ?> </td> </tr> <?php } ?> </tbody> </table> <div id="edd_user_commissions_unpaid_total"><?php _e('Total unpaid:', 'eddc'); ?> <?php echo edd_currency_filter(edd_format_amount(eddc_get_unpaid_totals($user_id))); ?> </div> <div id="edd_commissions_unpaid_pagination" class="navigation"> <?php $big = 999999; $search_for = array($big, '#038;'); $replace_with = array('%#%', '&'); echo paginate_links(array('base' => remove_query_arg('eddcup', str_replace($search_for, $replace_with, edd_get_current_page_url())) . '%_%', 'format' => $page_prefix . 'eddcup=%#%', 'current' => max(1, $unpaid_paged), 'total' => $unpaid_total_pages)); ?> </div> </div><!--end #edd_user_commissions_unpaid--> <!-- paid --> <div id="edd_user_commissions_paid"> <h3 class="edd_user_commissions_header"><?php _e('Paid Commissions', 'eddc'); ?> </h3> <table id="edd_user_paid_commissions_table" class="edd_user_commissions"> <thead> <tr class="edd_user_commission_row"> <?php do_action('eddc_user_commissions_paid_head_row_begin'); ?> <th class="edd_commission_item"><?php _e('Item', 'eddc'); ?> </th> <th class="edd_commission_amount"><?php _e('Amount', 'eddc'); ?> </th> <th class="edd_commission_rate"><?php _e('Rate', 'eddc'); ?> </th> <th class="edd_commission_date"><?php _e('Date', 'eddc'); ?> </th> <?php do_action('eddc_user_commissions_paid_head_row_end'); ?> </tr> </thead> <tbody> <?php $total = (double) 0; ?> <?php if (!empty($paid_commissions)) { ?> <?php foreach ($paid_commissions as $commission) { ?> <tr class="edd_user_commission_row"> <?php do_action('eddc_user_commissions_paid_row_begin', $commission); $item_name = get_the_title(get_post_meta($commission->ID, '_download_id', true)); $commission_info = get_post_meta($commission->ID, '_edd_commission_info', true); $amount = $commission_info['amount']; $rate = $commission_info['rate']; ?> <td class="edd_commission_item"><?php echo esc_html($item_name); ?> </td> <td class="edd_commission_amount"> <?php echo edd_currency_filter(edd_format_amount(edd_sanitize_amount($amount))); ?> <?php if (eddc_commission_is_renewal($commission->ID)) { ?> ↺ <?php } ?> </td> <td class="edd_commission_rate"><?php echo $rate . '%'; ?> </td> <td class="edd_commission_date"><?php echo date_i18n(get_option('date_format'), strtotime($commission->post_date)); ?> </td> <?php do_action('eddc_user_commissions_paid_row_end', $commission); ?> </tr> <?php } ?> <?php } else { ?> <tr class="edd_user_commission_row edd_row_empty"> <td colspan="4"><?php _e('No paid commissions', 'eddc'); ?> </td> </tr> <?php } ?> </tbody> </table> <div id="edd_user_commissions_paid_total"><?php _e('Total paid:', 'eddc'); ?> <?php echo edd_currency_filter(edd_format_amount(eddc_get_paid_totals($user_id))); ?> </div> <div id="edd_commissions_paid_pagination" class="navigation"> <?php $big = 999999; $search_for = array($big, '#038;'); $replace_with = array('%#%', '&'); echo paginate_links(array('base' => remove_query_arg('eddcp', str_replace($search_for, $replace_with, edd_get_current_page_url())) . '%_%', 'format' => $page_prefix . 'eddcp=%#%', 'current' => max(1, $paid_paged), 'total' => $paid_total_pages)); ?> </div> </div><!--end #edd_user_commissions_paid--> <!-- revoked --> <div id="edd_user_commissions_revoked"> <h3 class="edd_user_commissions_header"><?php _e('Revoked Commissions', 'eddc'); ?> </h3> <table id="edd_user_revoked_commissions_table" class="edd_user_commissions"> <thead> <tr class="edd_user_commission_row"> <?php do_action('eddc_user_commissions_revoked_head_row_begin'); ?> <th class="edd_commission_item"><?php _e('Item', 'eddc'); ?> </th> <th class="edd_commission_amount"><?php _e('Amount', 'eddc'); ?> </th> <th class="edd_commission_rate"><?php _e('Rate', 'eddc'); ?> </th> <th class="edd_commission_date"><?php _e('Date', 'eddc'); ?> </th> <?php do_action('eddc_user_commissions_revoked_head_row_end'); ?> </tr> </thead> <tbody> <?php $total = (double) 0; ?> <?php if (!empty($revoked_commissions)) { ?> <?php foreach ($revoked_commissions as $commission) { ?> <tr class="edd_user_commission_row"> <?php do_action('eddc_user_commissions_revoked_row_begin', $commission); $item_name = get_the_title(get_post_meta($commission->ID, '_download_id', true)); $commission_info = get_post_meta($commission->ID, '_edd_commission_info', true); $amount = $commission_info['amount']; $rate = $commission_info['rate']; ?> <td class="edd_commission_item"><?php echo esc_html($item_name); ?> </td> <td class="edd_commission_amount"> <?php echo edd_currency_filter(edd_format_amount(edd_sanitize_amount($amount))); ?> <?php if (eddc_commission_is_renewal($commission->ID)) { ?> ↺ <?php } ?> </td> <td class="edd_commission_rate"><?php echo $rate . '%'; ?> </td> <td class="edd_commission_date"><?php echo date_i18n(get_option('date_format'), strtotime($commission->post_date)); ?> </td> <?php do_action('eddc_user_commissions_revoked_row_end', $commission); ?> </tr> <?php } ?> <?php } else { ?> <tr class="edd_user_commission_row edd_row_empty"> <td colspan="4"><?php _e('No revoked commissions', 'eddc'); ?> </td> </tr> <?php } ?> </tbody> </table> <div id="edd_user_commissions_revoked_total"><?php _e('Total revoked:', 'eddc'); ?> <?php echo edd_currency_filter(edd_format_amount(eddc_get_revoked_totals($user_id))); ?> </div> <div id="edd_commissions_revoked_pagination" class="navigation"> <?php $big = 999999; $search_for = array($big, '#038;'); $replace_with = array('%#%', '&'); echo paginate_links(array('base' => remove_query_arg('eddcrp', str_replace($search_for, $replace_with, edd_get_current_page_url())) . '%_%', 'format' => $page_prefix . 'eddcrp=%#%', 'current' => max(1, $revoked_paged), 'total' => $revoked_total_pages)); ?> </div> </div><!--end #edd_user_commissions_revoked--> <?php if (!empty($total_paid)) { ?> <div id="edd_commissions_export"> <?php $args = array('user_id' => $user_id, 'number' => 1, 'orderby' => 'date', 'order' => 'ASC'); $first_commission = eddc_get_paid_commissions($args); $first_year = date('Y', strtotime($first_commission[0]->post_date)); $years_back = date('Y', current_time('timestamp')) - $first_year; $url = is_admin() ? admin_url('index.php') : home_url(); ?> <h3><?php _e('Export Paid Commissions', 'eddc'); ?> </h3> <form method="post" action="<?php echo $url; ?> "> <?php echo EDD()->html->month_dropdown(); ?> <?php echo EDD()->html->year_dropdown('year', 0, $years_back, 0); ?> <input type="hidden" name="user_id" value="<?php echo $user_id; ?> "/> <input type="hidden" name="edd_action" value="generate_commission_export"/> <input type="submit" class="edd-submit button" value="<?php _e('Download CSV', 'eddc'); ?> "/> </form> </div> <?php } ?> </div><!--end #edd_user_commissions--> <?php $stats = apply_filters('edd_user_commissions_display', ob_get_clean()); } return $stats; }
/** * Display the commissions area for the customer view * * @since 3.2 * @param object $customer The Customer being displayed * @return void */ function eddc_customer_commissions_view($customer) { ?> <div class="edd-item-notes-header"> <?php echo get_avatar($customer->email, 30); ?> <span><?php echo $customer->name; ?> </span> </div> <div id="edd-item-stats-wrapper" class="customer-section"> <ul> <li> <span class="dashicons dashicons-chart-area"></span> <?php echo edd_currency_filter(edd_format_amount(eddc_get_paid_totals($customer->user_id))); ?> <?php _e('Paid Commissions', 'eddc'); ?> <?php $paid_sales = eddc_count_user_commissions($customer->user_id, 'paid'); ?> <?php if (!empty($paid_sales)) { ?> <br /> <a title="<?php _e('View All Paid Commissions', 'edd'); ?> " href="<?php echo admin_url('edit.php?post_type=download&page=edd-commissions&view=paid&user='******'via %d sale', 'via %d sales', $paid_sales, 'eddc'), $paid_sales); ?> </a> <?php } ?> </li> <li> <span class="dashicons dashicons-chart-area"></span> <?php echo edd_currency_filter(edd_format_amount(eddc_get_unpaid_totals($customer->user_id))); ?> <?php _e('Unpaid Commissions', 'eddc'); ?> <?php $unpaid_sales = eddc_count_user_commissions($customer->user_id, 'unpaid'); ?> <?php if (!empty($unpaid_sales)) { ?> <br /> <a title="<?php _e('View All Unpaid Commissions', 'edd'); ?> " href="<?php echo admin_url('edit.php?post_type=download&page=edd-commissions&view=unpaid&user='******'via %d sale', 'via %d sales', $unpaid_sales, 'eddc'), $unpaid_sales); ?> </a> <?php } ?> </li> </ul> </div> <?php $downloads = eddc_get_download_ids_of_user($customer->user_id); ?> <?php if (false !== $downloads) { ?> <div id="edd-item-tables-wrapper" class="customer-section"> <h3><?php printf(__('Commissioned %s', 'eddc'), edd_get_label_plural()); ?> </h3> <table class="wp-list-table widefat striped downloads"> <thead> <tr> <th><?php echo edd_get_label_singular(); ?> </th> <th><?php _e('Rate', 'eddc'); ?> </th> <th width="120px"><?php _e('Actions', 'eddc'); ?> </th> </tr> </thead> <tbody> <?php if (!empty($downloads)) { ?> <?php foreach ($downloads as $download) { ?> <?php $download = new EDD_Download($download); ?> <?php $commission_type = eddc_get_commission_type($download->ID); ?> <?php $commission_rate = eddc_get_recipient_rate($download->ID, $customer->user_id); ?> <tr> <td><?php echo $download->post_title; ?> </td> <td> <?php if ($commission_type === 'percentage') { ?> <?php echo $commission_rate; ?> % <?php } else { ?> <?php echo edd_currency_filter(edd_format_amount($commission_rate)); ?> <?php } ?> </td> <td> <a title="<?php echo esc_attr(sprintf(__('View %s', 'edd'), $download->post_title)); ?> " href="<?php echo esc_url(admin_url('post.php?action=edit&post=' . $download->ID)); ?> "> <?php printf(__('View %s', 'eddc'), edd_get_label_singular()); ?> </a> </td> </tr> <?php } ?> <?php } else { ?> <tr><td colspan="2"><?php printf(__('No %s Found', 'eddc'), edd_get_label_plural()); ?> </td></tr> <?php } ?> </tbody> </table> </div> <?php } ?> <div id="edd-item-tables-wrapper" class="customer-section"> <h3><?php _e('Recent Unpaid Commissions', 'edd'); ?> </h3> <?php $args = array('user_id' => $customer->user_id, 'number' => 10); $commissions = eddc_get_unpaid_commissions($args); ?> <table class="wp-list-table widefat striped payments"> <thead> <tr> <th><?php _e('ID', 'edd'); ?> </th> <th><?php _e('Item', 'edd'); ?> </th> <th><?php _e('Amount', 'edd'); ?> </th> </tr> </thead> <tbody> <?php if (!empty($commissions)) { ?> <?php foreach ($commissions as $commission) { ?> <?php $commission_meta = get_post_meta($commission->ID, '_edd_commission_info', true); ?> <tr> <td><?php echo $commission->ID; ?> </td> <td><?php echo get_the_title(get_post_meta($commission->ID, '_download_id', true)); ?> </td> <td><?php echo edd_currency_filter(edd_sanitize_amount($commission_meta['amount'])); ?> </td> </tr> <?php } ?> <?php } else { ?> <tr><td colspan="5"><?php _e('No unpaid commissions', 'edd'); ?> </td></tr> <?php } ?> </tbody> </table> </div> <?php }