/** * Get current vendor orders * * @return array */ function wcmp_get_vendor_orders() { global $WCMp; $user_id = get_current_user_id(); $vendor = get_wcmp_vendor($user_id); $orders = array(); $vendor_orders_array = $vendor->get_orders(); if (!$vendor_orders_array) { $vendor_orders_array = array(); } $_orders = array_unique($vendor_orders_array); if (!empty($_orders)) { foreach ($_orders as $order_id) { $order = new WC_Order($order_id); $valid_items = $vendor->get_vendor_items_from_order($order->id, $vendor->term_id); $products = ''; foreach ($valid_items as $key => $item) { $item_meta = new WC_Order_Item_Meta($item['item_meta']); // $item_meta = $item_meta->display( false, true ); $item_meta = $item_meta->get_formatted(); $products .= '<strong>' . $item['qty'] . ' x ' . $item['name'] . '</strong><br />'; foreach ($item_meta as $key => $meta) { // Remove the sold by meta key for display if (strtolower($key) != 'sold by') { if ($meta['label'] == 'flat_shipping_per_item') { $products .= __('Flat Shipping Charges', $WCMp->text_domain) . ' : ' . $meta['value'] . '<br />'; } else { $products .= $meta['label'] . ' : ' . $meta['value'] . '<br />'; } } } } $shippers = (array) get_post_meta($order->id, 'dc_pv_shipped', true); $shipped = in_array($user_id, $shippers) ? 'Yes' : 'No'; if ($order->id && $vendor->term_id) { $commission_total = 0; $commissions = false; $args = array('post_type' => 'dc_commission', 'post_status' => array('publish', 'private'), 'posts_per_page' => -1, 'meta_query' => array(array('key' => '_commission_vendor', 'value' => absint($vendor->term_id), 'compare' => '='), array('key' => '_commission_order_id', 'value' => absint($order->id), 'compare' => '='))); $commissions = get_posts($args); if (!empty($commissions)) { foreach ($commissions as $commission) { $commission_total = $commission_total + (double) get_post_meta($commission->ID, '_commission_amount', true) + (double) get_post_meta($commission->ID, '_shipping', true) + (double) get_post_meta($commission->ID, '_tax', true); } } } $extra_checkout_fields_for_brazil_active_datas = ''; if (WC_Dependencies_Product_Vendor::woocommerce_extra_checkout_fields_for_brazil_active_check()) { $settings = get_option('wcbcf_settings'); if (0 != $settings['person_type']) { // Person type information. if (1 == $order->billing_persontype && 1 == $settings['person_type'] || 2 == $settings['person_type']) { $extra_checkout_fields_for_brazil_active_datas .= '<strong>' . __('CPF', $WCMp->text_domain) . ': </strong>' . esc_html($order->billing_cpf) . '<br />'; if (isset($settings['rg'])) { $extra_checkout_fields_for_brazil_active_datas .= '<strong>' . __('RG', $WCMp->text_domain) . ': </strong>' . esc_html($order->billing_rg) . '<br />'; } } if (2 == $order->billing_persontype && 1 == $settings['person_type'] || 3 == $settings['person_type']) { $extra_checkout_fields_for_brazil_active_datas .= '<strong>' . __('Company Name', $WCMp->text_domain) . ': </strong>' . esc_html($order->billing_company) . '<br />'; $extra_checkout_fields_for_brazil_active_datas .= '<strong>' . __('CNPJ', $WCMp->text_domain) . ': </strong>' . esc_html($order->billing_cnpj) . '<br />'; if (isset($settings['ie'])) { $extra_checkout_fields_for_brazil_active_datas .= '<strong>' . __('State Registration', $WCMp->text_domain) . ': </strong>' . esc_html($order->billing_ie) . '<br />'; } } } else { $extra_checkout_fields_for_brazil_active_datas .= '<strong>' . __('Company', $WCMp->text_domain) . ': </strong>' . esc_html($order->billing_company) . '<br />'; } if (isset($settings['birthdate_sex'])) { // Birthdate information. $extra_checkout_fields_for_brazil_active_datas .= '<strong>' . __('Birthdate', $WCMp->text_domain) . ': </strong>' . esc_html($order->billing_birthdate) . '<br />'; // Sex Information. $extra_checkout_fields_for_brazil_active_datas .= '<strong>' . __('Sex', $WCMp->text_domain) . ': </strong>' . esc_html($order->billing_sex) . '<br />'; } $extra_checkout_fields_for_brazil_active_datas .= '<strong>' . __('Phone', $WCMp->text_domain) . ': </strong>' . esc_html($order->billing_phone) . '<br />'; // Cell Phone Information. if (!empty($order->billing_cellphone)) { $extra_checkout_fields_for_brazil_active_datas .= '<strong>' . __('Cell Phone', $WCMp->text_domain) . ': </strong>' . esc_html($order->billing_cellphone) . '<br />'; } } $customer_user_name = get_post_meta($order->id, '_shipping_first_name', true) . ' ' . get_post_meta($order->id, '_shipping_last_name', true); $order_items = array(); $order_items['order_id'] = $order->id; $order_items['customer'] = $customer_user_name . '<br>' . apply_filters('wcmp_dashboard_google_maps_link', '<a target="_blank" href="' . esc_url('http://maps.google.com/maps?&q=' . urlencode(esc_html(preg_replace('#<br\\s*/?>#i', ', ', $order->get_formatted_shipping_address()))) . '&z=16') . '">' . esc_html(preg_replace('#<br\\s*/?>#i', ', ', $order->get_formatted_shipping_address())) . '</a><br />' . $extra_checkout_fields_for_brazil_active_datas); $order_items['products'] = $products; $order_items['total'] = woocommerce_price($commission_total); $order_items['date'] = date_i18n(wc_date_format(), strtotime($order->order_date)); $order_items['status'] = $shipped; $orders[] = (object) $order_items; } } return $orders; }