public function store_commission_data($data, $query_mode, $api_object) { if ('store-commissions' != $query_mode) { return $data; } $user_id = $api_object->get_user(); if (!user_can($user_id, 'view_shop_reports')) { return $data; } $data = array('commissions' => array()); $paged = $api_object->get_paged(); $status = isset($_REQUEST['status']) ? sanitize_text_field($_REQUEST['status']) : 'unpaid'; $commission_args = array('post_type' => 'edd_commission', 'post_status' => 'publish', 'posts_per_page' => $api_object->per_page(), 'paged' => $paged); if ($status) { $commission_args['tax_query'] = array(array('taxonomy' => 'edd_commission_status', 'terms' => $status, 'field' => 'slug')); } $commissions = get_posts($commission_args); if ($commissions) { foreach ($commissions as $commission) { $commission_meta = get_post_meta($commission->ID, '_edd_commission_info', true); $commission_meta = get_post_meta($commission->ID, '_edd_commission_info', true); $renewal = (bool) get_post_meta($commission->ID, '_edd_commission_is_renewal', true); $data['commissions'][] = array('amount' => edd_sanitize_amount($commission_meta['amount']), 'rate' => $commission_meta['rate'], 'currency' => $commission_meta['currency'], 'item' => get_the_title($download_id), 'status' => eddc_get_commission_status($commission->ID), 'date' => $commission->post_date, 'renewal' => $renewal ? 1 : 0); } wp_reset_postdata(); } $data['total_unpaid'] = eddc_get_unpaid_totals(); return $data; }
function commissions_data() { $commissions_data = array(); $paged = $this->get_paged(); $user = $this->get_filtered_user(); $commission_args = array('post_type' => 'edd_commission', 'post_status' => 'publish', 'posts_per_page' => $this->per_page, 'paged' => $paged); $meta_query = $this->get_meta_query(); if (!empty($meta_query)) { $commission_args['meta_query'] = $meta_query; } $tax_query = $this->get_tax_query(); if (!empty($tax_query)) { $commission_args['tax_query'] = $tax_query; } $commissions = new WP_Query($commission_args); if ($commissions->have_posts()) { while ($commissions->have_posts()) { $commissions->the_post(); $commission_id = get_the_ID(); $commission_info = get_post_meta($commission_id, '_edd_commission_info', true); $download_id = get_post_meta($commission_id, '_download_id', true); $variation = ''; $has_variable_prices = edd_has_variable_prices($download_id); if ($has_variable_prices) { $variation = get_post_meta($commission_id, '_edd_commission_download_variation', true); } $commissions_data[] = array('ID' => $commission_id, 'title' => get_the_title($commission_id), 'amount' => $commission_info['amount'], 'rate' => $commission_info['rate'], 'user' => $commission_info['user_id'], 'download' => $download_id, 'variation' => $variation, 'status' => eddc_get_commission_status($commission_id)); } wp_reset_postdata(); } return $commissions_data; }
/** * Sets the status for a commission record * * @access public * @since 2.8 * @return void */ function eddc_set_commission_status($commission_id = 0, $new_status = 'unpaid') { $old_status = eddc_get_commission_status($commission_id); do_action('eddc_pre_set_commission_status', $commission_id, $new_status, $old_status); wp_set_object_terms($commission_id, $new_status, 'edd_commission_status', false); do_action('eddc_set_commission_status', $commission_id, $new_status, $old_status); }