function submit_submission_form($id = 0, $values = array(), $args = array()) { if (is_admin() && (!isset($_REQUEST['_wpnonce']) || !wp_verify_nonce($_REQUEST['_wpnonce'], 'fes-form-submission-form'))) { return; } global $edd_options; check_ajax_referer('fes-form-submission-form'); @header('Content-Type: application/json; charset=' . get_option('blog_charset')); $form_id = isset($_POST['form_id']) ? intval($_POST['form_id']) : 0; $db_form_id = EDD_FES()->helper->get_option('fes-submission-form', false); if ($form_id != $db_form_id) { $response = array('success' => false, 'redirect_to' => get_permalink($_POST['page_id']), 'message' => __('Access Denied: ' . $form_id . ' != ' . $db_form_id, 'edd_fes'), 'is_post' => true); echo json_encode($response); exit; } if (!$id && isset($_REQUEST['post_id']) && absint($_REQUEST['post_id'])) { $id = absint($_REQUEST['post_id']); } $user_id = get_current_user_id(); $is_vendor = EDD_FES()->vendors->vendor_is_vendor($user_id); $is_admin = EDD_FES()->vendors->vendor_is_admin($user_id); // if they are not a vendor, admin, or in the backend if (!$is_admin && !is_admin() && !$is_vendor) { $response = array('success' => false, 'redirect_to' => get_permalink($_POST['page_id']), 'message' => __('Access Denied', 'edd_fes'), 'is_post' => true); echo json_encode($response); exit; } if ($id) { $post = get_post($id); $post_author = $post->post_author; // if they are not admin, in the admin, or the author of the post if (!$is_admin && !is_admin() && $id !== 0 && $post_author !== $user_id) { $response = array('success' => false, 'redirect_to' => get_permalink($_POST['page_id']), 'message' => __('Access Denied', 'edd_fes'), 'is_post' => true); echo json_encode($response); exit; } } $form_vars = $this->get_input_fields($form_id); $form_settings = get_post_meta($form_id, 'fes-form_settings', true); list($post_vars, $taxonomy_vars, $meta_vars) = $form_vars; // don't check captcha on post edit if (!$id) { // check recaptcha if ($this->search_array($post_vars, 'input_type', 'recaptcha')) { $this->validate_re_captcha(); } } $error = apply_filters('fes_submit_post_validate', '', $form_id); if (!empty($error)) { $this->signal_error($error); } $pending = false; $new = true; $post_id = $id; if (!empty($post->post_status) && 'publish' != $post->post_status) { $status = $post->post_status; } else { $status = 'publish'; } // already existing product if ($id && is_object(get_post($id))) { $new = false; $post_id = $id; if (!EDD_FES()->helper->get_option('fes-auto-approve-edits', false)) { $pending = true; $status = 'pending'; } } else { if (!EDD_FES()->helper->get_option('fes-auto-approve-submissions', false)) { $pending = true; $status = 'pending'; } } $post_author = get_current_user_id(); $postarr = array('post_type' => 'download', 'post_status' => $status, 'post_author' => $post_author, 'post_title' => isset($_POST['post_title']) ? sanitize_text_field(trim($_POST['post_title'])) : '', 'post_content' => isset($_POST['post_content']) ? wp_kses($_POST['post_content'], fes_allowed_html_tags()) : '', 'post_excerpt' => isset($_POST['post_excerpt']) ? wp_kses($_POST['post_excerpt'], fes_allowed_html_tags()) : ''); if (isset($_POST['category'])) { $category = $_POST['category']; $postarr['post_category'] = is_array($category) ? $category : array($category); } if (isset($_POST['tags'])) { $postarr['tags_input'] = explode(',', $_POST['tags']); } $postarr = apply_filters('fes_add_post_args', $postarr, $form_id, $form_settings, $form_vars); if ($new) { $post_id = wp_insert_post($postarr); } else { $postarr['ID'] = $post_id; wp_update_post($postarr); } if ($post_id) { self::update_post_meta($meta_vars, $post_id); // set the post form_id for later usage update_post_meta($post_id, '_fes-form_id', $form_id); // find our if any images in post content and associate them if (!empty($postarr['post_content'])) { $dom = new DOMDocument(); $dom->loadHTML($postarr['post_content']); $images = $dom->getElementsByTagName('img'); if ($images->length) { foreach ($images as $img) { $url = $img->getAttribute('src'); $url = str_replace(array('"', "'", "\\"), '', $url); $attachment_id = fes_get_attachment_id_from_url($url, $post_author); if ($attachment_id) { fes_associate_attachment($attachment_id, $post_id); } } } } foreach ($taxonomy_vars as $taxonomy) { if (isset($_POST[$taxonomy['name']])) { if (is_object_in_taxonomy('download', $taxonomy['name'])) { $tax = $_POST[$taxonomy['name']]; // if it's not an array, make it one if (!is_array($tax)) { $tax = array($tax); } if ($taxonomy['type'] == 'text') { $hierarchical = array_map('trim', array_map('strip_tags', explode(',', $_POST[$taxonomy['name']]))); wp_set_object_terms($post_id, $hierarchical, $taxonomy['name']); } else { if (is_taxonomy_hierarchical($taxonomy['name'])) { wp_set_post_terms($post_id, $_POST[$taxonomy['name']], $taxonomy['name']); } else { if ($tax) { $non_hierarchical = array(); foreach ($tax as $value) { $term = get_term_by('id', $value, $taxonomy['name']); if ($term && !is_wp_error($term)) { $non_hierarchical[] = $term->name; } } wp_set_post_terms($post_id, $non_hierarchical, $taxonomy['name']); } } // hierarchical } // is text } // is object tax } // isset tax } $options = isset($_POST['option']) ? $_POST['option'] : ''; $files = isset($_POST['files']) ? $_POST['files'] : ''; $prices = array(); $edd_files = array(); if (isset($options) && $options != '') { foreach ($options as $key => $option) { $prices[] = array('name' => isset($option['description']) ? sanitize_text_field($option['description']) : '', 'amount' => isset($option['price']) ? $option['price'] : ''); } if (!empty($files)) { foreach ($files as $key => $url) { $edd_files[$key] = array('name' => basename($url), 'file' => $url, 'condition' => $key); } } } elseif (!empty($files)) { // For when there are no prices or option names allowed, https://github.com/chriscct7/edd-fes/issues/417 foreach ($files as $key => $url) { $edd_files[$key] = array('name' => basename($url), 'file' => $url, 'condition' => $key); } } do_action('fes_submission_form_save_custom_fields', $post_id); if (count($prices) === 1 || count($prices) === 0) { if (!isset($prices[0]['amount'])) { $prices[0]['amount'] = ""; } update_post_meta($post_id, '_variable_pricing', 0); update_post_meta($post_id, 'edd_price', $prices[0]['amount']); update_post_meta($post_id, 'edd_variable_prices', $prices); // Save variable prices anyway so that price options are saved } else { update_post_meta($post_id, '_variable_pricing', 1); update_post_meta($post_id, 'edd_variable_prices', $prices); if (EDD_FES()->helper->get_option('fes-allow-multiple-purchase-mode', false)) { update_post_meta($post_id, '_edd_price_options_mode', '1'); } } if (!empty($files)) { $edd_files = apply_filters('fes_pre_files_save', $edd_files, $post_id); update_post_meta($post_id, 'edd_download_files', $edd_files); } if (EDD_FES()->integrations->is_commissions_active() && $new === true) { $commission = array('amount' => eddc_get_recipient_rate(0, $post_author), 'user_id' => $post_author, 'type' => 'percentage'); update_post_meta($post_id, '_edd_commission_settings', $commission); update_post_meta($post_id, '_edd_commisions_enabled', '1'); } do_action('fes_submit_submission_form_bottom', $post_id); $redirect_to = get_permalink(EDD_FES()->helper->get_option('fes-vendor-dashboard-page', false)); if (EDD_FES()->vendors->vendor_can_edit_product($post_id)) { $redirect_to = add_query_arg(array('task' => 'edit-product'), $redirect_to); $redirect_to = add_query_arg(array('post_id' => $post_id), $redirect_to); } else { $redirect_to = add_query_arg(array('task' => 'dashboard'), $redirect_to); } // Unset edd session EDD()->session->set('edd_fes_post_id', ''); if ($new) { if ($pending) { // email admin $to = apply_filters('fes_submission_form_pending_to_admin', edd_get_admin_notice_emails(), $post_id); $from_name = isset($edd_options['from_name']) ? $edd_options['from_name'] : get_bloginfo('name'); $from_email = isset($edd_options['from_email']) ? $edd_options['from_email'] : get_option('admin_email'); $subject = apply_filters('fes_submission_form_to_admin_subject', __('New Submission Received', 'edd_fes')); $message = EDD_FES()->helper->get_option('fes-admin-new-submission-email', ''); $type = "post"; $id = $post_id; $args = array('permissions' => 'fes-admin-new-submission-email-toggle'); EDD_FES()->emails->send_email($to, $from_name, $from_email, $subject, $message, $type, $id, $args); // email user $user = new WP_User($user_id); $to = $user->user_email; $from_name = isset($edd_options['from_name']) ? $edd_options['from_name'] : get_bloginfo('name'); $from_email = isset($edd_options['from_email']) ? $edd_options['from_email'] : get_option('admin_email'); $subject = apply_filters('fes_submission_new_form_to_vendor_subject', __('Submission Received', 'edd_fes')); $message = EDD_FES()->helper->get_option('fes-vendor-new-submission-email', ''); $type = "post"; $id = $post_id; $args = array('permissions' => 'fes-vendor-new-submission-email-toggle'); EDD_FES()->emails->send_email($to, $from_name, $from_email, $subject, $message, $type, $id, $args); do_action('fes_submission_form_new_pending', $post_id); } else { do_action('fes_submission_form_new_published', $post_id); } } else { // submission heading to pending if ($pending) { // email admin $to = apply_filters('fes_submission_form_published_to_admin', edd_get_admin_notice_emails(), $post_id); $from_name = isset($edd_options['from_name']) ? $edd_options['from_name'] : get_bloginfo('name'); $from_email = isset($edd_options['from_email']) ? $edd_options['from_email'] : get_option('admin_email'); $subject = apply_filters('fes_submission_form_edit_to_admin_subject', __('New Submission Edit Received', 'edd_fes')); $message = EDD_FES()->helper->get_option('fes-admin-new-submission-edit-email', ''); $type = "post"; $id = $post_id; $args = array('permissions' => 'fes-admin-new-submission-edit-email-toggle'); EDD_FES()->emails->send_email($to, $from_name, $from_email, $subject, $message, $type, $id, $args); do_action('fes_submission_form_edit_pending', $post_id); } else { do_action('fes_submission_form_edit_published', $post_id); } } $response = array('success' => true, 'redirect_to' => $redirect_to, 'message' => __('Success!', 'edd_fes'), 'is_post' => true); $response = apply_filters('fes_add_post_redirect', $response, $post_id, $form_id); echo json_encode($response); exit; } else { $this->signal_error(__('Something went wrong! Error 1049: Post ID not set. Possibly Database lock in place.', 'edd_fes')); } }
/** * Setup PayPal receivers when a purchase is made * * @since 2.7 * @param $receivers string The default receivers and their percentages as defined in the Payment Gateway settings * @param $payment_id int The payment ID of the purchase * @return receivers $string The modified receivers string */ function eddc_paypal_adaptive_autopay($receivers, $payment_id) { if (!edd_get_option('edd_commissions_autopay_pa')) { return $receivers; } $cart = edd_get_payment_meta_cart_details($payment_id); if ('subtotal' == edd_get_option('edd_commissions_calc_base', 'subtotal')) { $total = edd_get_payment_subtotal($payment_id); } else { $total = edd_get_payment_amount($payment_id); } $final = array(); foreach ($cart as $item) { $recipients = eddc_get_recipients($item['id']); if ('subtotal' == edd_get_option('edd_commissions_calc_base', 'subtotal')) { $price = $item['subtotal']; } else { $price = $item['price']; } foreach ($recipients as $recipient) { $type = eddc_get_commission_type($item['id']); $rate = eddc_get_recipient_rate($item['id'], $recipient); $args = array('price' => $price, 'rate' => $rate, 'type' => $type, 'download_id' => $item['id'], 'recipient' => $recipient, 'payment_id' => $payment_id); $amount = eddc_calc_commission_amount($args); $percentage = round(100 / $total * $amount, 2); $user = get_userdata($recipient); $custom_paypal = get_user_meta($recipient, 'eddc_user_paypal', true); $email = is_email($custom_paypal) ? $custom_paypal : $user->user_email; if ($percentage !== 0) { if (isset($final[$email])) { $final[$email] = $percentage + $final[$email]; } else { $final[$email] = $percentage; } } } } $return = ''; $counter = 0; $taken = 0; // Add up the total commissions foreach ($final as $person => $val) { $taken = $taken + $val; } // Calculate the final percentage the store owners should receive $remaining = 100 - $taken; $owners = $receivers; $owners = explode("\n", $owners); foreach ($owners as $key => $val) { $val = explode('|', $val); $email = $val[0]; $percentage = $val[1]; $remainder = $percentage / 100 * $remaining; if (isset($final[$email])) { $final[$email] = $final[$email] + $remainder; } else { $final[$email] = $remainder; } } // Rebuild the final PayPal receivers string foreach ($final as $person => $val) { if ($counter === 0) { $return = $person . "|" . $val; } else { $return = $return . "\n" . $person . "|" . $val; } $counter++; } //echo '<pre>'; print_r( $return ); echo '</pre>'; exit; return $return; }
/** * Record Commissions * * @access private * @since 1.0 * @return void */ function eddc_record_commission($payment_id, $new_status, $old_status) { // Check if the payment was already set to complete if ($old_status == 'publish' || $old_status == 'complete') { return; } // Make sure that payments are only completed once // Make sure the commission is only recorded when new status is complete if ($new_status != 'publish' && $new_status != 'complete') { return; } if (edd_get_payment_gateway($payment_id) == 'manual_purchases' && !isset($_POST['commission'])) { return; } // do not record commission on manual payments unless specified if (edd_get_payment_meta($payment_id, '_edd_completed_date')) { return; } $payment_data = edd_get_payment_meta($payment_id); $user_info = maybe_unserialize($payment_data['user_info']); $cart_details = edd_get_payment_meta_cart_details($payment_id); $calc_base = edd_get_option('edd_commissions_calc_base', 'subtotal'); $shipping = edd_get_option('edd_commissions_shipping', 'ignored'); // loop through each purchased download and award commissions, if needed foreach ($cart_details as $download) { $download_id = absint($download['id']); $commissions_enabled = get_post_meta($download_id, '_edd_commisions_enabled', true); if ('subtotal' == $calc_base) { $price = $download['subtotal']; } else { if ('total_pre_tax' == $calc_base) { $price = $download['price'] - $download['tax']; } else { $price = $download['price']; } } if (!empty($download['fees'])) { foreach ($download['fees'] as $fee_id => $fee) { if (false !== strpos($fee_id, 'shipping')) { // If we're adjusting the commission for shipping, we need to remove it from the calculation and then add it after the commission amount has been determined if ('ignored' !== $shipping) { continue; } } $price += $fee['amount']; } } // if we need to award a commission, and the price is greater than zero if ($commissions_enabled && floatval($price) > '0') { // set a flag so downloads with commissions awarded are easy to query update_post_meta($download_id, '_edd_has_commission', true); $commission_settings = get_post_meta($download_id, '_edd_commission_settings', true); if ($commission_settings) { $type = eddc_get_commission_type($download_id); // but if we have price variations, then we need to get the name of the variation $has_variable_prices = edd_has_variable_prices($download_id); if ($has_variable_prices) { $price_id = edd_get_cart_item_price_id($download); $variation = edd_get_price_option_name($download_id, $price_id); } $recipients = eddc_get_recipients($download_id); // Record a commission for each user foreach ($recipients as $recipient) { $rate = eddc_get_recipient_rate($download_id, $recipient); // percentage amount of download price $args = array('price' => $price, 'rate' => $rate, 'type' => $type, 'download_id' => $download_id, 'recipient' => $recipient, 'payment_id' => $payment_id); $commission_amount = eddc_calc_commission_amount($args); // calculate the commission amount to award $currency = $payment_data['currency']; // If shipping is included or not included, we need to adjust the amount if (!empty($download['fees']) && 'ignored' !== $shipping) { foreach ($download['fees'] as $fee_id => $fee) { if (false !== strpos($fee_id, 'shipping')) { // If we're adjusting the commission for shipping, we need to remove it from the calculation and then add it after the commission amount has been determined if ('include_shipping' == $shipping) { $commission_amount += $fee['amount']; } } } } $commission = array('post_type' => 'edd_commission', 'post_title' => $user_info['email'] . ' - ' . get_the_title($download_id), 'post_status' => 'publish'); $commission_id = wp_insert_post(apply_filters('edd_commission_post_data', $commission)); $commission_info = apply_filters('edd_commission_info', array('user_id' => $recipient, 'rate' => $rate, 'amount' => $commission_amount, 'currency' => $currency), $commission_id, $payment_id, $download_id); eddc_set_commission_status($commission_id, 'unpaid'); update_post_meta($commission_id, '_edd_commission_info', $commission_info); update_post_meta($commission_id, '_download_id', $download_id); update_post_meta($commission_id, '_user_id', $recipient); update_post_meta($commission_id, '_edd_commission_payment_id', $payment_id); // If we are dealing with a variation, then save variation info if ($has_variable_prices && isset($variation)) { update_post_meta($commission_id, '_edd_commission_download_variation', $variation); } // If it's a renewal, save that detail if (!empty($download['item_number']['options']['is_renewal'])) { update_post_meta($commission_id, '_edd_commission_is_renewal', true); } do_action('eddc_insert_commission', $recipient, $commission_amount, $rate, $download_id, $commission_id, $payment_id); } } } } }
function set_collaborators_regular_unfinished_commission($args) { $post_id = (int) $args['post_id']; $new_post_id = (int) $args['new_post_id']; $commission = array(); $old_commission = get_post_meta($post_id, '_edd_commission_settings', true); if (isset($old_commission['user_id'])) { $Main_Item_Id = get_parent_item($new_post_id); $users = explode(',', $old_commission['user_id']); $users[] = get_current_user_id(); $Get_Commission_Rate = (int) eddc_get_recipient_rate(0, get_post_field('post_author', $Main_Item_Id)); $Commission_Amounts = array(); foreach ($users as $Item) { $Get_Commission_Amount = $Get_Commission_Rate / sizeof($users); $Commission_Amounts[] = (int) $Get_Commission_Amount; $Commission_Collaborators[] = $Item; } $commission = array('amount' => implode(',', $Commission_Amounts), 'user_id' => implode(',', $Commission_Collaborators), 'type' => 'percentage', 'from' => 'unfinished'); } update_post_meta($new_post_id, '_edd_product_status', $args['_edd_product_status']); update_post_meta($new_post_id, '_edd_commission_settings', $commission); }
/** * Record Commissions * * @access private * @since 1.0 * @return void */ function eddc_record_commission($payment_id, $new_status, $old_status) { // Check if the payment was already set to complete if ($old_status == 'publish' || $old_status == 'complete') { return; } // Make sure that payments are only completed once // Make sure the commission is only recorded when new status is complete if ($new_status != 'publish' && $new_status != 'complete') { return; } if (edd_get_payment_gateway($payment_id) == 'manual_purchases' && !isset($_POST['commission'])) { return; } // do not record commission on manual payments unless specified $payment_data = edd_get_payment_meta($payment_id); $user_info = maybe_unserialize($payment_data['user_info']); $cart_details = maybe_unserialize($payment_data['cart_details']); // loop through each purchased download and award commissions, if needed foreach ($cart_details as $download) { $download_id = absint($download['id']); $commissions_enabled = get_post_meta($download_id, '_edd_commisions_enabled', true); if ('subtotal' == edd_get_option('edd_commissions_calc_base', 'subtotal')) { $price = $download['subtotal']; } else { $price = $download['price']; } // if we need to award a commission, and the price is greater than zero if ($commissions_enabled && floatval($price) > '0') { // set a flag so downloads with commissions awarded are easy to query update_post_meta($download_id, '_edd_has_commission', true); $commission_settings = get_post_meta($download_id, '_edd_commission_settings', true); if ($commission_settings) { $type = eddc_get_commission_type($download_id); // but if we have price variations, then we need to get the name of the variation if (edd_has_variable_prices($download_id)) { $price_id = edd_get_cart_item_price_id($download); $variation = edd_get_price_option_name($download_id, $price_id); } $recipients = eddc_get_recipients($download_id); // Record a commission for each user foreach ($recipients as $recipient) { $rate = eddc_get_recipient_rate($download_id, $recipient); // percentage amount of download price $commission_amount = eddc_calc_commission_amount($price, $rate, $type); // calculate the commission amount to award $currency = $payment_data['currency']; $commission = array('post_type' => 'edd_commission', 'post_title' => $user_info['email'] . ' - ' . get_the_title($download_id), 'post_status' => 'publish'); $commission_id = wp_insert_post(apply_filters('edd_commission_post_data', $commission)); $commission_info = apply_filters('edd_commission_info', array('user_id' => $recipient, 'rate' => $rate, 'amount' => $commission_amount, 'currency' => $currency), $commission_id); update_post_meta($commission_id, '_edd_commission_info', $commission_info); update_post_meta($commission_id, '_commission_status', 'unpaid'); update_post_meta($commission_id, '_download_id', $download_id); update_post_meta($commission_id, '_user_id', $recipient); update_post_meta($commission_id, '_edd_commission_payment_id', $payment_id); //if we are dealing with a variation, then save variation info if (isset($variation)) { update_post_meta($commission_id, '_edd_commission_download_variation', $variation); } do_action('eddc_insert_commission', $recipient, $commission_amount, $rate, $download_id, $commission_id, $payment_id); } } } } }
/** * 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 }