Ejemplo n.º 1
0
/**
 * Get the order info fields
 */
function wcdn_get_order_info($order)
{
    global $wcdn;
    $fields = array();
    $create_invoice_number = get_option(WooCommerce_Delivery_Notes::$plugin_prefix . 'create_invoice_number');
    if (wcdn_get_template_type() == 'invoice' && !empty($create_invoice_number)) {
        $fields['invoice_number'] = array('label' => __('Invoice Number', 'woocommerce-delivery-notes'), 'value' => wcdn_get_order_invoice_number($order->id));
    }
    $fields['order_number'] = array('label' => __('Order Number', 'woocommerce-delivery-notes'), 'value' => $order->get_order_number());
    $fields['order_date'] = array('label' => __('Order Date', 'woocommerce-delivery-notes'), 'value' => date_i18n(get_option('date_format'), strtotime($order->order_date)));
    $fields['payment_method'] = array('label' => __('Payment Method', 'woocommerce-delivery-notes'), 'value' => __($order->payment_method_title, 'woocommerce'));
    if ($order->billing_email) {
        $fields['billing_email'] = array('label' => __('Email', 'woocommerce-delivery-notes'), 'value' => $order->billing_email);
    }
    if ($order->billing_phone) {
        $fields['billing_phone'] = array('label' => __('Telephone', 'woocommerce-delivery-notes'), 'value' => $order->billing_phone);
    }
    return $fields;
}
        /**
         * Create the meta box content on the single order page
         */
        public function create_box_content()
        {
            global $post_id, $wcdn;
            ?>
			<div class="print-actions">
				<?php 
            foreach (WooCommerce_Delivery_Notes_Print::$template_registrations as $template_registration) {
                ?>
					<?php 
                if (get_option('wcdn_template_type_' . $template_registration['type']) == 'yes' && $template_registration['type'] !== 'order') {
                    ?>
					
						<a href="<?php 
                    echo wcdn_get_print_link($post_id, $template_registration['type']);
                    ?>
" class="button print-preview-button <?php 
                    echo $template_registration['type'];
                    ?>
" target="_blank" alt="<?php 
                    esc_attr_e(__($template_registration['labels']['print'], 'woocommerce-delivery-notes'));
                    ?>
"><?php 
                    _e($template_registration['labels']['print'], 'woocommerce-delivery-notes');
                    ?>
</a>
					
					<?php 
                }
                ?>
				<?php 
            }
            ?>
				<span class="print-preview-loading spinner"></span>
			</div>
			<div class="print-status"> <!-- added on 2015-12-08 by Fuyuko Gratton -->
				<input type="checkbox" name="printed" value="printed"> Invoice printed
			</div>
			<?php 
            $create_invoice_number = get_option('wcdn_create_invoice_number');
            $has_invoice_number = get_post_meta($post_id, '_wcdn_invoice_number', true);
            if (!empty($create_invoice_number) && $create_invoice_number == 'yes' && $has_invoice_number) {
                $invoice_number = wcdn_get_order_invoice_number($post_id);
                $invoice_date = wcdn_get_order_invoice_date($post_id);
                ?>
				
				<ul class="print-info">
					<li><strong><?php 
                _e('Invoice number: ', 'woocommerce-delivery-notes');
                ?>
</strong> <?php 
                echo $invoice_number;
                ?>
</li>
					<li><strong><?php 
                _e('Invoice date: ', 'woocommerce-delivery-notes');
                ?>
</strong> <?php 
                echo $invoice_date;
                ?>
</li>
				</ul>
				
			<?php 
            }
            ?>
			<?php 
        }
Ejemplo n.º 3
0
        /**
         * Create the meta box content on the single order page
         */
        public function create_box_content()
        {
            global $post_id, $wcdn;
            ?>
			<div class="print-actions">
				<?php 
            foreach (WooCommerce_Delivery_Notes_Print::$templates as $template) {
                ?>
					<?php 
                $option = get_option(WooCommerce_Delivery_Notes::$plugin_prefix . 'template_type_' . $template['type']);
                if ($option) {
                    ?>
					
						<a href="<?php 
                    echo wcdn_get_print_link($post_id, $template['type']);
                    ?>
" class="button print-preview-button <?php 
                    echo $template['type'];
                    ?>
" target="_blank" alt="<?php 
                    esc_attr_e(__($template['labels']['print'], 'woocommerce-delivery-notes'));
                    ?>
"><?php 
                    _e($template['labels']['print'], 'woocommerce-delivery-notes');
                    ?>
</a>
					
					<?php 
                }
                ?>
				<?php 
            }
            ?>
				<span class="print-preview-loading spinner"></span>
			</div>
			<?php 
            $create_invoice_number = get_option(WooCommerce_Delivery_Notes::$plugin_prefix . 'create_invoice_number');
            $has_invoice_number = get_post_meta($post_id, '_' . WooCommerce_Delivery_Notes::$plugin_prefix . 'invoice_number', true);
            if (!empty($create_invoice_number) && $has_invoice_number) {
                $invoice_number = wcdn_get_order_invoice_number($post_id);
                $invoice_date = wcdn_get_order_invoice_date($post_id);
                ?>
				
				<ul class="print-info">
					<li><strong><?php 
                _e('Invoice number: ', 'woocommerce-delivery-notes');
                ?>
</strong> <?php 
                echo $invoice_number;
                ?>
</li>
					<li><strong><?php 
                _e('Invoice date: ', 'woocommerce-delivery-notes');
                ?>
</strong> <?php 
                echo $invoice_date;
                ?>
</li>
				</ul>
				
			<?php 
            }
            ?>
			<?php 
        }
Ejemplo n.º 4
0
function woo_ce_order_extend( $order, $order_id ) {

	// WooCommerce Sequential Order Numbers - http://www.skyverge.com/blog/woocommerce-sequential-order-numbers/
	if( class_exists( 'WC_Seq_Order_Number' ) ) {
		// Override the Purchase ID if this Plugin exists and Post meta isn't empty
		$order_number = get_post_meta( $order_id, '_order_number', true );
		if( !empty( $order_id ) )
			$order->purchase_id = $order_number;
		unset( $order_number );
	}

	// Sequential Order Numbers Pro - http://www.woothemes.com/products/sequential-order-numbers-pro/
	if( class_exists( 'WC_Seq_Order_Number_Pro' ) ) {
		// Override the Purchase ID if this Plugin exists and Post meta isn't empty
		$order_number = get_post_meta( $order_id, '_order_number_formatted', true );
		if( !empty( $order_id ) )
			$order->purchase_id = $order_number;
		unset( $order_number );
	}

	// WooCommerce Jetpack - https://wordpress.org/plugins/woocommerce-jetpack/
	// WooCommerce Jetpack Plus - http://woojetpack.com/shop/wordpress-woocommerce-jetpack-plus/
	if( class_exists( 'WC_Jetpack' ) || class_exists( 'WC_Jetpack_Plus' ) ) {
		// Use WooCommerce Jetpack Plus's display_order_number() to handle formatting
		if( class_exists( 'WCJ_Order_Numbers' ) ) {
			$order_numbers = new WCJ_Order_Numbers();
			$order->purchase_id = $order_numbers->display_order_number( $order_id, $order );
			unset( $order_numbers );
		} else {
			// Fall-back to old school get_post_meta()
			$order_number = get_post_meta( $order->ID, '_wcj_order_number', true );
			// Override the Purchase ID if this Plugin exists and Post meta isn't empty
			if( !empty( $order_number ) && get_option( 'wcj_order_numbers_enabled', 'no' ) !== 'no' )
				$order->purchase_id = $order_number;
			unset( $order_number );
		}
	}

	// WooCommerce Checkout Manager - http://wordpress.org/plugins/woocommerce-checkout-manager/
	// WooCommerce Checkout Manager Pro - http://www.trottyzone.com/product/woocommerce-checkout-manager-pro
	if( function_exists( 'wccs_install' ) || function_exists( 'wccs_install_pro' ) ) {
		$options = get_option( 'wccs_settings' );
		if( isset( $options['buttons'] ) ) {
			$buttons = $options['buttons'];
			if( !empty( $buttons ) ) {
				foreach( $buttons as $button ) {
					if( $button['type'] == 'heading' )
						continue;
					$order->{$button['label']} = get_post_meta( $order_id, $button['cow'], true );
				}
				unset( $buttons, $button );
			}
		}
		unset( $options );
	}

	// Poor Guys Swiss Knife - http://wordpress.org/plugins/woocommerce-poor-guys-swiss-knife/
	if( function_exists( 'wcpgsk_init' ) ) {
		$options = get_option( 'wcpgsk_settings' );
		$billing_fields = ( isset( $options['woofields']['billing'] ) ? $options['woofields']['billing'] : array() );
		$shipping_fields = ( isset( $options['woofields']['shipping'] ) ? $options['woofields']['shipping'] : array() );

		// Custom billing fields
		if( !empty( $billing_fields ) ) {
			foreach( $billing_fields as $key => $billing_field )
				$order->$key = get_post_meta( $order_id, '_' . $key, true );
			unset( $billing_fields, $billing_field );
		}

		// Custom shipping fields
		if( !empty( $shipping_fields ) ) {
			foreach( $shipping_fields as $key => $shipping_field )
				$order->$key = get_post_meta( $order_id, '_' . $key, true );
			unset( $shipping_fields, $shipping_field );
		}

		unset( $options );
	}

	// Checkout Field Editor - http://woothemes.com/woocommerce/
	if( function_exists( 'woocommerce_init_checkout_field_editor' ) ) {
		$billing_fields = get_option( 'wc_fields_billing', array() );
		$shipping_fields = get_option( 'wc_fields_shipping', array() );
		$custom_fields = get_option( 'wc_fields_additional', array() );

		// Custom billing fields
		if( !empty( $billing_fields ) ) {
			foreach( $billing_fields as $key => $billing_field ) {
				// Only add non-default Checkout fields to export columns list
				if( $billing_field['custom'] == 1 ) {
					$billing_field['value'] = get_post_meta( $order_id, $key, true );
					if( $billing_field['value'] != '' ) {
						if( $billing_field['type'] == 'checkbox' )
							$order->{sprintf( 'wc_billing_%s', $key )} = $billing_field['value'] == '1' ? __( 'Yes', 'woo_ce' ) : __( 'No', 'woo_ce' );
						else
							$order->{sprintf( 'wc_billing_%s', $key )} = $billing_field['value'];
					}
				}
			}
		}
		unset( $billing_fields, $billing_field );

		// Custom shipping fields
		if( !empty( $shipping_fields ) ) {
			foreach( $shipping_fields as $key => $shipping_field ) {
				// Only add non-default Checkout fields to export columns list
				if( $shipping_field['custom'] == 1 ) {
					$shipping_field['value'] = get_post_meta( $order_id, $key, true );
					if( $shipping_field['value'] != '' ) {
						if( $shipping_field['type'] == 'checkbox' )
							$order->{sprintf( 'wc_shipping_%s', $key )} = $shipping_field['value'] == '1' ? __( 'Yes', 'woo_ce' ) : __( 'No', 'woo_ce' );
						else
							$order->{sprintf( 'wc_shipping_%s', $key )} = $shipping_field['value'];
					}
				}
			}
		}
		unset( $shipping_fields, $shipping_field );

		// Custom fields
		if( !empty( $custom_fields ) ) {
			foreach( $custom_fields as $key => $custom_field ) {
				// Only add non-default Checkout fields to export columns list
				if( $custom_field['custom'] == 1 ) {
					$custom_field['value'] = get_post_meta( $order_id, $key, true );
					if( $custom_field['value'] != '' ) {
						if( $custom_field['type'] == 'checkbox' )
							$order->{sprintf( 'wc_custom_%s', $key )} = $custom_field['value'] == '1' ? __( 'Yes', 'woo_ce' ) : __( 'No', 'woo_ce' );
						else
							$order->{sprintf( 'wc_custom_%s', $key )} = $custom_field['value'];
					}
				}
			}
		}
		unset( $custom_fields, $custom_field );
	}

	// Checkout Field Manager - http://61extensions.com
	if( function_exists( 'sod_woocommerce_checkout_manager_settings' ) ) {
		// Custom billing fields
		$billing_fields = get_option( 'woocommerce_checkout_billing_fields', array() );
		$shipping_fields = get_option( 'woocommerce_checkout_shipping_fields', array() );
		$custom_fields = get_option( 'woocommerce_checkout_additional_fields', array() );

		// Custom billing fields
		if( !empty( $billing_fields ) ) {
			foreach( $billing_fields as $key => $billing_field ) {
				// Only add non-default Checkout fields to export columns list
				if( strtolower( $billing_field['default_field'] ) != 'on' ) {
					$billing_field['value'] = get_post_meta( $order_id, '_' . $billing_field['name'], true );
					if( $billing_field['value'] != '' ) {
						// Override for the checkbox field type
						if( $billing_field['type'] == 'checkbox' )
							$order->{sprintf( 'sod_billing_%s', $billing_field['name'] )} = strtolower( $billing_field['value'] == 'on' ) ? __( 'Yes', 'woo_ce' ) : __( 'No', 'woo_ce' );
						else
							$order->{sprintf( 'sod_billing_%s', $billing_field['name'] )} = $billing_field['value'];
					}
				}
			}
		}
		unset( $billing_fields, $billing_field );

		// Custom shipping fields
		if( !empty( $shipping_fields ) ) {
			foreach( $shipping_fields as $key => $shipping_field ) {
				// Only add non-default Checkout fields to export columns list
				if( strtolower( $shipping_field['default_field'] ) != 'on' ) {
					$shipping_field['value'] = get_post_meta( $order_id, '_' . $shipping_field['name'], true );
					if( $shipping_field['value'] != '' ) {
						// Override for the checkbox field type
						if( $shipping_field['type'] == 'checkbox' )
							$order->{sprintf( 'sod_shipping_%s', $shipping_field['name'] )} = strtolower( $shipping_field['value'] == 'on' ) ? __( 'Yes', 'woo_ce' ) : __( 'No', 'woo_ce' );
						else
							$order->{sprintf( 'sod_shipping_%s', $shipping_field['name'] )} = $shipping_field['value'];
					}
				}
			}
		}
		unset( $shipping_fields, $shipping_field );

		// Custom fields
		if( !empty( $custom_fields ) ) {
			foreach( $custom_fields as $key => $custom_field ) {
				// Only add non-default Checkout fields to export columns list
				if( strtolower( $custom_field['default_field'] ) != 'on' ) {
					$custom_field['value'] = get_post_meta( $order_id, '_' . $custom_field['name'], true );
					if( $custom_field['value'] != '' ) {
						// Override for the checkbox field type
						if( $custom_field['type'] == 'checkbox' )
							$order->{sprintf( 'sod_additional_%s', $custom_field['name'] )} = strtolower( $custom_field['value'] == 'on' ) ? __( 'Yes', 'woo_ce' ) : __( 'No', 'woo_ce' );
						else
							$order->{sprintf( 'sod_additional_%s', $custom_field['name'] )} = $custom_field['value'];
					}
				}
			}
		}
		unset( $custom_fields, $custom_field );
	}

	// WooCommerce Print Invoice & Delivery Note - https://wordpress.org/plugins/woocommerce-delivery-notes/
	if( class_exists( 'WooCommerce_Delivery_Notes' ) ) {
		if( function_exists( 'wcdn_get_order_invoice_number' ) )
			$order->invoice_number = wcdn_get_order_invoice_number( $order_id );
		if( function_exists( 'wcdn_get_order_invoice_date' ) )
			$order->invoice_date = wcdn_get_order_invoice_date( $order_id );
	}

	// WooCommerce PDF Invoices & Packing Slips - http://www.wpovernight.com
	if( class_exists( 'WooCommerce_PDF_Invoices' ) ) {
		// Check if the PDF Invoice has been generated
		$invoice_exists = get_post_meta( $order_id, '_wcpdf_invoice_exists', true );
		if( !empty( $invoice_exists ) ) {
			// Check if the Invoice Number formatting Class is available
			if( class_exists( 'WooCommerce_PDF_Invoices_Export' ) ) {
				$wcpdf = new WooCommerce_PDF_Invoices_Export();
				$order->pdf_invoice_number = $wcpdf->get_invoice_number( $order_id );
				unset( $wcpdf );
			} else {
				$order->pdf_invoice_number = get_post_meta( $order_id, '_wcpdf_invoice_number', true );
			}
			$invoice_date = get_post_meta( $order_id, '_wcpdf_invoice_date', true );
			$order->pdf_invoice_date = date_i18n( get_option( 'date_format' ), strtotime( $invoice_date ) );
		}
		unset( $invoice_exists, $invoice_date );
	}

	// WooCommerce Hear About Us - https://wordpress.org/plugins/woocommerce-hear-about-us/
	if( class_exists( 'WooCommerce_HearAboutUs' ) ) {
		$source = get_post_meta( $order_id, 'source', true );
		if( $source == '' )
			$source = __( 'N/A', 'woo_ce' );
		$order->hear_about_us = $source;
		unset( $source );
	}

	// Cost of Goods - http://www.skyverge.com/product/woocommerce-cost-of-goods-tracking/
	if( class_exists( 'WC_COG' ) )
		$order->cost_of_goods = woo_ce_format_price( get_post_meta( $order_id, '_wc_cog_order_total_cost', true ), $order->order_currency );

	// WooCommerce Ship to Multiple Addresses - http://woothemes.com/woocommerce
	if( class_exists( 'WC_Ship_Multiple' ) ) {
		$shipping_packages = get_post_meta( $order_id, '_wcms_packages', true );
		if( !empty( $shipping_packages ) ) {
			$order->wcms_number_packages = count( $shipping_packages );
		}
		unset( $shipping_packages );
	}

	// WooCommerce EU VAT Number - http://woothemes.com/woocommerce
	if( function_exists( '__wc_eu_vat_number_init' ) ) {
		$vat_id = get_post_meta( $order_id, '_vat_number', true );
		$order->eu_vat = $vat_id;
		$order->eu_vat_b2b = ( !empty( $vat_id ) ? __( 'Yes', 'woo_ce' ) : __( 'No', 'woo_ce' ) );
		if( !empty( $vat_id ) ) {
			if( get_post_meta( $order_id, '_vat_number_is_validated', true ) !== 'true' ) {
				$order->eu_vat_validated = __( 'Not possible', 'woo_ce' );
			} else {
				$order->eu_vat_validated = ( get_post_meta( $order_id, '_vat_number_is_valid', true ) === 'true' ? __( 'Yes', 'woo_ce' ) : __( 'No', 'woo_ce' ) );
			}
		}
		unset( $vat_id );
	}

	return $order;

}
        /**
         * Create the meta box content on the single order page
         */
        public function create_box_content()
        {
            global $post_id;
            ?>
			<div class="print-actions">
				<a href="<?php 
            echo wcdn_get_print_link($post_id, 'invoice');
            ?>
" class="button print-preview-button invoice" target="_blank" alt="<?php 
            esc_attr_e('Print Invoice', 'woocommerce-delivery-notes');
            ?>
"><?php 
            _e('Print Invoice', 'woocommerce-delivery-notes');
            ?>
</a>
				<a href="<?php 
            echo wcdn_get_print_link($post_id, 'delivery-note');
            ?>
" class="button print-preview-button delivery-note" target="_blank" alt="<?php 
            esc_attr_e('Print Delivery Note', 'woocommerce-delivery-notes');
            ?>
"><?php 
            _e('Print Delivery Note', 'woocommerce-delivery-notes');
            ?>
</a>
				<!-- <a href="<?php 
            echo wcdn_get_print_link($post_id, 'receipt');
            ?>
" class="button print-preview-button receipt" target="_blank" alt="<?php 
            esc_attr_e('Print Receipt', 'woocommerce-delivery-notes');
            ?>
"><?php 
            _e('Print Receipt', 'woocommerce-delivery-notes');
            ?>
</a> -->
				<span class="print-preview-loading spinner"></span>
			</div>
			<?php 
            $create_invoice_number = get_option(WooCommerce_Delivery_Notes::$plugin_prefix . 'create_invoice_number');
            $has_invoice_number = get_post_meta($post_id, '_' . WooCommerce_Delivery_Notes::$plugin_prefix . 'invoice_number', true);
            if (!empty($create_invoice_number) && $has_invoice_number) {
                $invoice_number = wcdn_get_order_invoice_number($post_id);
                $invoice_date = wcdn_get_order_invoice_date($post_id);
                ?>
				<ul class="print-info">
					<li><strong><?php 
                _e('Invoice number: ', 'woocommerce-delivery-notes');
                ?>
</strong> <?php 
                echo $invoice_number;
                ?>
</li>
					<li><strong><?php 
                _e('Invoice date: ', 'woocommerce-delivery-notes');
                ?>
</strong> <?php 
                echo $invoice_date;
                ?>
</li>
				</ul>
			<?php 
            }
            ?>
			<?php 
        }