Version Description
- 2018-04-25 =
- Prompting to save changes if user modifies settings
- Product fields and order item fields were separated in popup "Setup fields"
- Allow to filter by raw shipping methods (not assigned to shipping zones)
- Record time of last export for the order (option "mark exported orders" must be ON)
- Added order fields "Line number", "Order Subtotal - Cart Discount"
- Added product field "Full names for categories"
- Added operators "Is set", "Not is set" for custom fields
- Added option "Enable debug output" to section "Misc Settings"
- Added option "Cleanup phone" to section "Misc Settings"
- Tags {from_date} and {to_date} can be used in filename
- Fixed bug in UI if order item meta has many values
Download this release
Release Info
Developer | algol.plus |
Plugin | Advanced Order Export For WooCommerce |
Version | 1.5.4 |
Comparing to | |
See all releases |
Code changes from version 1.5.3 to 1.5.4
- assets/css/export.css +14 -0
- assets/js/export.js +120 -29
- classes/admin/class-wc-order-export-ajax.php +20 -7
- classes/admin/class-wc-order-export-manage.php +38 -8
- classes/class-wc-order-export-admin.php +71 -14
- classes/core/class-wc-order-export-data-extractor-ui.php +38 -2
- classes/core/class-wc-order-export-data-extractor.php +271 -121
- classes/core/class-wc-order-export-engine.php +45 -5
- classes/formats/abstract-class-woe-formatter.php +40 -0
- classes/formats/class-woe-formatter-json.php +5 -2
- classes/formats/class-woe-formatter-xls.php +1 -1
- i18n/languages/woo-order-export-lite.pot +321 -524
- readme.txt +14 -1
- view/modal-controls.php +5 -3
- view/settings-form.php +29 -496
- woo-order-export-lite.php +25 -22
assets/css/export.css
CHANGED
@@ -16,6 +16,20 @@
|
|
16 |
width: 80%;
|
17 |
}
|
18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
|
20 |
.fields_control_style {
|
21 |
padding: 10px;
|
16 |
width: 80%;
|
17 |
}
|
18 |
|
19 |
+
.tablenav.top {
|
20 |
+
margin-bottom: 10px;
|
21 |
+
}
|
22 |
+
|
23 |
+
.tablenav.top select {
|
24 |
+
margin: 0 6px 0 0;
|
25 |
+
width: 100%;
|
26 |
+
height: 32px;
|
27 |
+
}
|
28 |
+
|
29 |
+
.tablenav.top #doaction {
|
30 |
+
margin: 0 6px 0 0;
|
31 |
+
height: 32px;
|
32 |
+
}
|
33 |
|
34 |
.fields_control_style {
|
35 |
padding: 10px;
|
assets/js/export.js
CHANGED
@@ -1,8 +1,41 @@
|
|
1 |
var select2WODropdownOpts = {
|
2 |
containerCssClass : 'without-dropdown',
|
3 |
dropdownCssClass: 'without-dropdown',
|
4 |
-
}
|
5 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
7 |
function bind_events() {
|
8 |
|
@@ -22,12 +55,12 @@ function bind_events() {
|
|
22 |
jQuery( '#select_custom_fields--select2 select' ).select2('destroy');
|
23 |
jQuery( '#select_custom_fields, #select_custom_fields--select2' ).remove();
|
24 |
if ( response ) {
|
25 |
-
var options = '';
|
26 |
jQuery.each( response, function( index, value ) {
|
27 |
options += '<option>' + value + '</option>';
|
28 |
} );
|
29 |
var $select = jQuery( '<div id="select_custom_fields--select2" style="margin-top: 0px;margin-right: 6px; vertical-align: top;'
|
30 |
-
+ 'display: ' + (('LIKE' === val_op) ? 'none' : 'inline-block') + ';">'
|
31 |
+ '<select id="select_custom_fields">' + options + '</select></div>' );
|
32 |
$select.insertBefore( jQuery( '#add_custom_fields' ) )
|
33 |
$select.find('select').select2({ tags: true });
|
@@ -43,7 +76,7 @@ function bind_events() {
|
|
43 |
var val2 = jQuery( '#custom_fields' ).val();
|
44 |
var val_op = jQuery( '#custom_fields_compare' ).val();
|
45 |
if ( val != null && val2 != null && val.length && val2.length ) {
|
46 |
-
|
47 |
|
48 |
var f = true;
|
49 |
jQuery( '#custom_fields_check' ).next().find( 'ul li' ).each( function() {
|
@@ -53,8 +86,13 @@ function bind_events() {
|
|
53 |
} );
|
54 |
|
55 |
if ( f ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
|
57 |
-
jQuery( '#custom_fields_check' ).append( '<option selected="selected" value="' + val + '">' + val + '</option>' );
|
58 |
jQuery( '#custom_fields_check' ).select2();
|
59 |
|
60 |
jQuery( '#custom_fields_check option' ).each( function() {
|
@@ -75,6 +113,11 @@ function bind_events() {
|
|
75 |
jQuery( "#select_custom_fields--select2" ).hide();
|
76 |
jQuery( "#text_custom_fields" ).css('display', 'inline' ).attr( 'disabled', false );
|
77 |
}
|
|
|
|
|
|
|
|
|
|
|
78 |
else {
|
79 |
jQuery( "#select_custom_fields" ).css( 'display', 'inline-block' ).attr( 'disabled', false );
|
80 |
jQuery( '#select_custom_fields--select2' ).css('display', 'inline' );
|
@@ -462,30 +505,55 @@ function bind_events() {
|
|
462 |
});
|
463 |
|
464 |
jQuery('input[name=custom_meta_products_mode]').change(function() {
|
|
|
|
|
465 |
if ( !jQuery( this ).is( ':checked' ) ) {
|
466 |
var options = '<option></option>';
|
467 |
jQuery.each( window.order_products_custom_meta_fields, function( index, value ) {
|
468 |
-
|
469 |
} );
|
470 |
jQuery( '#select_custom_meta_products' ).html( options );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
471 |
}
|
472 |
else {
|
473 |
jQuery('#modal-manage-products').html(jQuery('#TB_ajaxContent').html());
|
474 |
-
var data = jQuery( '#export_job_settings' ).serialize()
|
475 |
-
|
|
|
476 |
|
477 |
-
jQuery.post( ajaxurl,
|
478 |
if ( response ) {
|
479 |
var options = '<option></option>';
|
480 |
jQuery.each( response, function( index, value ) {
|
481 |
options += '<option value="' + escapeStr(value) + '">' + value + '</option>';
|
482 |
} );
|
483 |
jQuery( '#select_custom_meta_products' ).html( options );
|
|
|
484 |
}
|
485 |
}, 'json' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
486 |
jQuery('#modal-manage-products').html('');
|
487 |
}
|
488 |
});
|
|
|
489 |
|
490 |
jQuery('input[name=custom_meta_coupons_mode]').change(function() {
|
491 |
if (jQuery(this).val() == 'all') {
|
@@ -652,10 +720,16 @@ function bind_events() {
|
|
652 |
}
|
653 |
return false;
|
654 |
} )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
655 |
}
|
656 |
|
657 |
function add_bind_for_custom_fields( prefix, output_format, $to ) {
|
658 |
-
jQuery( '#button_custom_meta_' + prefix + '' ).off();
|
659 |
jQuery( '#button_custom_field_' + prefix + '' ).off();
|
660 |
jQuery( '#button_custom_field_' + prefix + '' ).click( function() {
|
661 |
var colname = jQuery( '#colname_custom_field_' + prefix + '' ).val();
|
@@ -666,7 +740,7 @@ function add_bind_for_custom_fields( prefix, output_format, $to ) {
|
|
666 |
jQuery( '#colname_custom_field_' + prefix + '' ).focus();
|
667 |
return false
|
668 |
}
|
669 |
-
if ( !value )
|
670 |
{
|
671 |
alert( export_messages.empty_value );
|
672 |
jQuery( '#value_custom_field_' + prefix + '' ).focus();
|
@@ -678,24 +752,41 @@ function add_bind_for_custom_fields( prefix, output_format, $to ) {
|
|
678 |
return false;
|
679 |
} );
|
680 |
|
681 |
-
|
682 |
-
|
683 |
-
|
684 |
-
|
685 |
-
|
686 |
-
|
687 |
-
|
|
|
|
|
|
|
|
|
|
|
688 |
}
|
689 |
-
|
690 |
-
|
691 |
-
|
692 |
-
|
693 |
-
|
694 |
-
|
695 |
-
|
696 |
-
|
697 |
-
|
698 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
699 |
}
|
700 |
|
701 |
function reset_field_contorls() {
|
1 |
var select2WODropdownOpts = {
|
2 |
containerCssClass : 'without-dropdown',
|
3 |
dropdownCssClass: 'without-dropdown',
|
4 |
+
};
|
5 |
+
|
6 |
+
String.prototype.hashCode = function() {
|
7 |
+
var hash = 0, i, chr;
|
8 |
+
if (this.length === 0) return hash;
|
9 |
+
for (i = 0; i < this.length; i++) {
|
10 |
+
chr = this.charCodeAt(i);
|
11 |
+
hash = ((hash << 5) - hash) + chr;
|
12 |
+
hash |= 0; // Convert to 32bit integer
|
13 |
+
}
|
14 |
+
return hash;
|
15 |
+
};
|
16 |
+
var formSubmitting = false;
|
17 |
+
|
18 |
+
var setFormSubmitting = function() { formSubmitting = true; };
|
19 |
+
|
20 |
+
window.onload = function () {
|
21 |
+
var form = jQuery( '#export_job_settings' );
|
22 |
+
var on_load_form_data = form.serialize();
|
23 |
+
|
24 |
+
var isDirty = function ( on_load_form_data ) {
|
25 |
+
return on_load_form_data.hashCode() !== form.serialize().hashCode()
|
26 |
+
};
|
27 |
+
|
28 |
+
window.addEventListener( "beforeunload", function ( e ) {
|
29 |
+
if ( isDirty( on_load_form_data ) && ! formSubmitting ) {
|
30 |
+
(
|
31 |
+
e || window.event
|
32 |
+
).returnValue = false; //Gecko + IE
|
33 |
+
return false; //Gecko + Webkit, Safari, Chrome etc.
|
34 |
+
} else {
|
35 |
+
return undefined;
|
36 |
+
}
|
37 |
+
} );
|
38 |
+
};
|
39 |
|
40 |
function bind_events() {
|
41 |
|
55 |
jQuery( '#select_custom_fields--select2 select' ).select2('destroy');
|
56 |
jQuery( '#select_custom_fields, #select_custom_fields--select2' ).remove();
|
57 |
if ( response ) {
|
58 |
+
var options = '<option>' + export_messages.empty + '</option>';
|
59 |
jQuery.each( response, function( index, value ) {
|
60 |
options += '<option>' + value + '</option>';
|
61 |
} );
|
62 |
var $select = jQuery( '<div id="select_custom_fields--select2" style="margin-top: 0px;margin-right: 6px; vertical-align: top;'
|
63 |
+
+ 'display: ' + (('LIKE' === val_op || 'NOT SET' === val_op|| 'IS SET' === val_op) ? 'none' : 'inline-block') + ';">'
|
64 |
+ '<select id="select_custom_fields">' + options + '</select></div>' );
|
65 |
$select.insertBefore( jQuery( '#add_custom_fields' ) )
|
66 |
$select.find('select').select2({ tags: true });
|
76 |
var val2 = jQuery( '#custom_fields' ).val();
|
77 |
var val_op = jQuery( '#custom_fields_compare' ).val();
|
78 |
if ( val != null && val2 != null && val.length && val2.length ) {
|
79 |
+
var result = val2 + ' ' + val_op + ' ' + val;
|
80 |
|
81 |
var f = true;
|
82 |
jQuery( '#custom_fields_check' ).next().find( 'ul li' ).each( function() {
|
86 |
} );
|
87 |
|
88 |
if ( f ) {
|
89 |
+
if ( export_messages.empty === val ) {
|
90 |
+
result = val2 + ' ' + val_op + ' empty';
|
91 |
+
jQuery( '#custom_fields_check' ).append( '<option selected="selected" value="' + result + '">' + result + '</option>' );
|
92 |
+
} else {
|
93 |
+
jQuery( '#custom_fields_check' ).append( '<option selected="selected" value="' + result + '">' + result + '</option>' );
|
94 |
+
}
|
95 |
|
|
|
96 |
jQuery( '#custom_fields_check' ).select2();
|
97 |
|
98 |
jQuery( '#custom_fields_check option' ).each( function() {
|
113 |
jQuery( "#select_custom_fields--select2" ).hide();
|
114 |
jQuery( "#text_custom_fields" ).css('display', 'inline' ).attr( 'disabled', false );
|
115 |
}
|
116 |
+
else if ( 'NOT SET' === val_op || 'IS SET' === val_op ) {
|
117 |
+
jQuery( "#select_custom_fields" ).css( 'display', 'none' ).attr( 'disabled', 'disabled' ) . val(' ');
|
118 |
+
jQuery( "#select_custom_fields--select2" ).hide();
|
119 |
+
jQuery( "#text_custom_fields" ).css('display', 'none' ).attr( 'disabled', false ). val(' ');
|
120 |
+
}
|
121 |
else {
|
122 |
jQuery( "#select_custom_fields" ).css( 'display', 'inline-block' ).attr( 'disabled', false );
|
123 |
jQuery( '#select_custom_fields--select2' ).css('display', 'inline' );
|
505 |
});
|
506 |
|
507 |
jQuery('input[name=custom_meta_products_mode]').change(function() {
|
508 |
+
jQuery( '#select_custom_meta_products' ).prop( "disabled", true );
|
509 |
+
jQuery( '#select_custom_meta_order_items' ).prop( "disabled", true );
|
510 |
if ( !jQuery( this ).is( ':checked' ) ) {
|
511 |
var options = '<option></option>';
|
512 |
jQuery.each( window.order_products_custom_meta_fields, function( index, value ) {
|
513 |
+
options += '<option value="' + escapeStr(value) + '">' + value + '</option>';
|
514 |
} );
|
515 |
jQuery( '#select_custom_meta_products' ).html( options );
|
516 |
+
jQuery( '#select_custom_meta_products' ).prop( "disabled", false );
|
517 |
+
|
518 |
+
options = '<option></option>';
|
519 |
+
jQuery.each( window.order_order_item_custom_meta_fields, function( index, value ) {
|
520 |
+
options += '<option value="' + escapeStr(value) + '">' + value + '</option>';
|
521 |
+
} );
|
522 |
+
jQuery( '#select_custom_meta_order_items' ).html( options );
|
523 |
+
jQuery( '#select_custom_meta_order_items' ).prop( "disabled", false );
|
524 |
}
|
525 |
else {
|
526 |
jQuery('#modal-manage-products').html(jQuery('#TB_ajaxContent').html());
|
527 |
+
var data = jQuery( '#export_job_settings' ).serialize(),
|
528 |
+
data_products = data + "&action=order_exporter&method=get_used_custom_products_meta&mode=" + mode + "&id=" + job_id,
|
529 |
+
data_order_items = data + "&action=order_exporter&method=get_used_custom_order_items_meta&mode=" + mode + "&id=" + job_id;
|
530 |
|
531 |
+
jQuery.post( ajaxurl, data_products, function( response ) {
|
532 |
if ( response ) {
|
533 |
var options = '<option></option>';
|
534 |
jQuery.each( response, function( index, value ) {
|
535 |
options += '<option value="' + escapeStr(value) + '">' + value + '</option>';
|
536 |
} );
|
537 |
jQuery( '#select_custom_meta_products' ).html( options );
|
538 |
+
jQuery( '#select_custom_meta_products' ).prop( "disabled", false );
|
539 |
}
|
540 |
}, 'json' );
|
541 |
+
|
542 |
+
jQuery.post( ajaxurl, data_order_items, function( response ) {
|
543 |
+
if ( response ) {
|
544 |
+
var options = '<option></option>';
|
545 |
+
jQuery.each( response, function( index, value ) {
|
546 |
+
options += '<option value="' + escapeStr(value) + '">' + value + '</option>';
|
547 |
+
} );
|
548 |
+
jQuery( '#select_custom_meta_order_items' ).html( options );
|
549 |
+
jQuery( '#select_custom_meta_order_items' ).prop( "disabled", false );
|
550 |
+
}
|
551 |
+
}, 'json' );
|
552 |
+
|
553 |
jQuery('#modal-manage-products').html('');
|
554 |
}
|
555 |
});
|
556 |
+
jQuery('input[name=custom_meta_products_mode]').trigger('change');
|
557 |
|
558 |
jQuery('input[name=custom_meta_coupons_mode]').change(function() {
|
559 |
if (jQuery(this).val() == 'all') {
|
720 |
}
|
721 |
return false;
|
722 |
} )
|
723 |
+
|
724 |
+
jQuery( '#summary_report_by_products_checkbox' ).on('change', function() {
|
725 |
+
jQuery('#manage_fields').parent().toggle(jQuery('#summary_report_by_products_checkbox').val());
|
726 |
+
} );
|
727 |
+
if( jQuery('#summary_report_by_products_checkbox').prop('checked') ) {
|
728 |
+
jQuery('#manage_fields').parent().hide();
|
729 |
+
}
|
730 |
}
|
731 |
|
732 |
function add_bind_for_custom_fields( prefix, output_format, $to ) {
|
|
|
733 |
jQuery( '#button_custom_field_' + prefix + '' ).off();
|
734 |
jQuery( '#button_custom_field_' + prefix + '' ).click( function() {
|
735 |
var colname = jQuery( '#colname_custom_field_' + prefix + '' ).val();
|
740 |
jQuery( '#colname_custom_field_' + prefix + '' ).focus();
|
741 |
return false
|
742 |
}
|
743 |
+
if ( !value && 'products' !== prefix )
|
744 |
{
|
745 |
alert( export_messages.empty_value );
|
746 |
jQuery( '#value_custom_field_' + prefix + '' ).focus();
|
752 |
return false;
|
753 |
} );
|
754 |
|
755 |
+
jQuery( '#button_custom_meta_' + prefix + '' ).off();
|
756 |
+
jQuery( '#button_custom_meta_' + prefix + '' ).click( function() {
|
757 |
+
var prefix_items = 'order_items',
|
758 |
+
original_prefix = prefix,
|
759 |
+
prefix_items_select = jQuery( '#select_custom_meta_' + prefix_items + '' ),
|
760 |
+
prefix_product_select = jQuery( '#select_custom_meta_' + prefix + '' );
|
761 |
+
|
762 |
+
var type = ( prefix_items_select.val() || prefix_product_select.val() ) ? 'meta' : 'taxonomies';
|
763 |
+
if ( 'meta' === type ) {
|
764 |
+
original_prefix = prefix_product_select.val() ? prefix : prefix_items;
|
765 |
+
} else {
|
766 |
+
original_prefix = prefix;
|
767 |
}
|
768 |
+
type = type + '_' + original_prefix;
|
769 |
+
var label = jQuery( '#select_custom_' + type + '' ).val();
|
770 |
+
var colname = jQuery( '#colname_custom_meta_' + prefix + '' ).val();
|
771 |
+
if ( !label )
|
772 |
+
{
|
773 |
+
alert( export_messages.empty_meta_key_and_taxonomy );
|
774 |
+
return false
|
775 |
+
}
|
776 |
+
if ( colname == undefined || colname == '' ) {
|
777 |
+
colname = label;
|
778 |
+
}
|
779 |
+
if ( !colname )
|
780 |
+
{
|
781 |
+
alert( export_messages.empty_column_name );
|
782 |
+
return false
|
783 |
+
}
|
784 |
+
add_custom_meta( $to, prefix, output_format, label, colname );
|
785 |
+
jQuery( '#select_custom_' + type + '' ).val( "" );
|
786 |
+
jQuery( '#colname_custom_meta_' + prefix + '' ).val( "" );
|
787 |
+
return false;
|
788 |
+
} );
|
789 |
+
|
790 |
}
|
791 |
|
792 |
function reset_field_contorls() {
|
classes/admin/class-wc-order-export-ajax.php
CHANGED
@@ -76,7 +76,16 @@ class WC_Order_Export_Ajax {
|
|
76 |
public function get_used_custom_products_meta() {
|
77 |
$settings = WC_Order_Export_Manage::make_new_settings( $_POST );
|
78 |
$sql = WC_Order_Export_Data_Extractor::sql_get_order_ids( $settings );
|
79 |
-
$ret = WC_Order_Export_Data_Extractor_UI::
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
echo json_encode( $ret );
|
81 |
}
|
82 |
|
@@ -213,12 +222,16 @@ class WC_Order_Export_Ajax {
|
|
213 |
if( !$filename ) {
|
214 |
die( __( 'Can\'t create temporary file', 'woo-order-export-lite' ) ) ;
|
215 |
}
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
|
|
|
|
|
|
|
|
222 |
$file_id = current_time( 'timestamp' );
|
223 |
set_transient( $this->tempfile_prefix . $file_id, $filename, 60 );
|
224 |
$this->stop_prevent_object_cache();
|
76 |
public function get_used_custom_products_meta() {
|
77 |
$settings = WC_Order_Export_Manage::make_new_settings( $_POST );
|
78 |
$sql = WC_Order_Export_Data_Extractor::sql_get_order_ids( $settings );
|
79 |
+
$ret = WC_Order_Export_Data_Extractor_UI::get_product_custom_meta_fields_for_orders( $sql );
|
80 |
+
sort($ret);
|
81 |
+
echo json_encode( $ret );
|
82 |
+
}
|
83 |
+
|
84 |
+
public function get_used_custom_order_items_meta() {
|
85 |
+
$settings = WC_Order_Export_Manage::make_new_settings( $_POST );
|
86 |
+
$sql = WC_Order_Export_Data_Extractor::sql_get_order_ids( $settings );
|
87 |
+
$ret = WC_Order_Export_Data_Extractor_UI::get_order_item_custom_meta_fields_for_orders( $sql );
|
88 |
+
sort($ret);
|
89 |
echo json_encode( $ret );
|
90 |
}
|
91 |
|
222 |
if( !$filename ) {
|
223 |
die( __( 'Can\'t create temporary file', 'woo-order-export-lite' ) ) ;
|
224 |
}
|
225 |
+
|
226 |
+
//no free space or other file system errors?
|
227 |
+
try {
|
228 |
+
file_put_contents( $filename, '' );
|
229 |
+
do_action( 'woe_start_export_job', $_POST['id'], $settings );
|
230 |
+
$total = WC_Order_Export_Engine::build_file( $settings, 'start_estimate', 'file', 0, 0, $filename );
|
231 |
+
} catch (Exception $e) {
|
232 |
+
die( $e->getMessage() );
|
233 |
+
}
|
234 |
+
// file created
|
235 |
$file_id = current_time( 'timestamp' );
|
236 |
set_transient( $this->tempfile_prefix . $file_id, $filename, 60 );
|
237 |
$this->stop_prevent_object_cache();
|
classes/admin/class-wc-order-export-manage.php
CHANGED
@@ -166,7 +166,9 @@ class WC_Order_Export_Manage {
|
|
166 |
static function apply_defaults( $mode, $settings ) {
|
167 |
$defaults = array(
|
168 |
'mode' => $mode,
|
|
|
169 |
'skip_empty_file' => true,
|
|
|
170 |
'from_status' => array(),
|
171 |
'to_status' => array(),
|
172 |
'change_order_status_to' => '',
|
@@ -225,12 +227,14 @@ class WC_Order_Export_Manage {
|
|
225 |
'time_format' => 'H:i',
|
226 |
'sort_direction' => 'DESC',
|
227 |
'sort' => 'order_id',
|
228 |
-
'format_number_fields'
|
229 |
'export_all_comments' => 0,
|
230 |
'export_refund_notes' => 0,
|
231 |
'strip_tags_product_fields' => 0,
|
|
|
|
|
232 |
'format_json_start_tag' => '[',
|
233 |
-
'format_json_end_tag' => '
|
234 |
'custom_php' => 0,
|
235 |
'custom_php_code' => '',
|
236 |
'mark_exported_orders' => 0,
|
@@ -243,6 +247,10 @@ class WC_Order_Export_Manage {
|
|
243 |
$settings['format'] = 'XLS';
|
244 |
}
|
245 |
|
|
|
|
|
|
|
|
|
246 |
if ( ! isset( $settings['order_fields'] ) ) {
|
247 |
$settings['order_fields'] = array();
|
248 |
}
|
@@ -285,7 +293,7 @@ class WC_Order_Export_Manage {
|
|
285 |
$all_jobs = $options;// just replace
|
286 |
} elseif ( $mode == self::EXPORT_SCHEDULE ) {
|
287 |
if ( $id ) {
|
288 |
-
$options['schedule']['last_run'] = $all_jobs[ $id ]['schedule']['last_run'];
|
289 |
$options['schedule']['next_run'] = WC_Order_Export_Cron::next_event_timestamp_for_schedule( $options['schedule'], $id );
|
290 |
$all_jobs[ $id ] = $options;
|
291 |
} else {
|
@@ -382,23 +390,45 @@ class WC_Order_Export_Manage {
|
|
382 |
if( isset( $data[ self::EXPORT_NOW ] ) ) { // import ALL
|
383 |
foreach ( $allowed_options as $key ) {
|
384 |
if ( isset( $data[ $key ] ) ) {
|
385 |
-
$setting_name = self::get_settings_name_for_mode(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
386 |
update_option( $setting_name, $data[ $key ] );
|
387 |
}
|
388 |
}
|
389 |
}
|
390 |
elseif( isset( $data["mode"] ) AND in_array( $data["mode"], $allowed_options ) ) { // OR import single ?
|
391 |
-
$setting_name = self::get_settings_name_for_mode(
|
392 |
if( $setting_name == self::settings_name_now ) {
|
393 |
-
update_option( $setting_name, $data ); // rewrite
|
394 |
} else { // append!
|
395 |
$items = get_option( $setting_name, array() );
|
|
|
396 |
if( empty($items) )
|
397 |
-
$items[ 1 ] = $data;
|
398 |
else
|
399 |
-
$items[] = $data;
|
|
|
400 |
update_option( $setting_name, $items );
|
401 |
}
|
402 |
}// if modes
|
403 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
404 |
}
|
166 |
static function apply_defaults( $mode, $settings ) {
|
167 |
$defaults = array(
|
168 |
'mode' => $mode,
|
169 |
+
'title' => '',
|
170 |
'skip_empty_file' => true,
|
171 |
+
'log_results' => false,
|
172 |
'from_status' => array(),
|
173 |
'to_status' => array(),
|
174 |
'change_order_status_to' => '',
|
227 |
'time_format' => 'H:i',
|
228 |
'sort_direction' => 'DESC',
|
229 |
'sort' => 'order_id',
|
230 |
+
'format_number_fields' => 0,
|
231 |
'export_all_comments' => 0,
|
232 |
'export_refund_notes' => 0,
|
233 |
'strip_tags_product_fields' => 0,
|
234 |
+
'cleanup_phone' => 0,
|
235 |
+
'enable_debug' => 0,
|
236 |
'format_json_start_tag' => '[',
|
237 |
+
'format_json_end_tag' => ']',
|
238 |
'custom_php' => 0,
|
239 |
'custom_php_code' => '',
|
240 |
'mark_exported_orders' => 0,
|
247 |
$settings['format'] = 'XLS';
|
248 |
}
|
249 |
|
250 |
+
if ( ! isset( $settings['export_rule_field'] ) AND $mode == WC_Order_Export_Manage::EXPORT_SCHEDULE ) {
|
251 |
+
$settings['export_rule_field'] = 'modified';
|
252 |
+
}
|
253 |
+
|
254 |
if ( ! isset( $settings['order_fields'] ) ) {
|
255 |
$settings['order_fields'] = array();
|
256 |
}
|
293 |
$all_jobs = $options;// just replace
|
294 |
} elseif ( $mode == self::EXPORT_SCHEDULE ) {
|
295 |
if ( $id ) {
|
296 |
+
$options['schedule']['last_run'] = isset($all_jobs[ $id ]) ? $all_jobs[ $id ]['schedule']['last_run'] : current_time("timestamp",0);
|
297 |
$options['schedule']['next_run'] = WC_Order_Export_Cron::next_event_timestamp_for_schedule( $options['schedule'], $id );
|
298 |
$all_jobs[ $id ] = $options;
|
299 |
} else {
|
390 |
if( isset( $data[ self::EXPORT_NOW ] ) ) { // import ALL
|
391 |
foreach ( $allowed_options as $key ) {
|
392 |
if ( isset( $data[ $key ] ) ) {
|
393 |
+
$setting_name = self::get_settings_name_for_mode( $key );
|
394 |
+
|
395 |
+
if ( isset( $data[ $key ]['mode'] ) ) {
|
396 |
+
$data[ $key ] = self::edit_import_data( $data[ $key ] );
|
397 |
+
} else {
|
398 |
+
foreach ( $data[ $key ] as $index => $import_single_data ) {
|
399 |
+
$data[$key][$index] = self::edit_import_data( $import_single_data );
|
400 |
+
}
|
401 |
+
}
|
402 |
+
|
403 |
update_option( $setting_name, $data[ $key ] );
|
404 |
}
|
405 |
}
|
406 |
}
|
407 |
elseif( isset( $data["mode"] ) AND in_array( $data["mode"], $allowed_options ) ) { // OR import single ?
|
408 |
+
$setting_name = self::get_settings_name_for_mode( $data["mode"] );
|
409 |
if( $setting_name == self::settings_name_now ) {
|
410 |
+
update_option( $setting_name, self::edit_import_data( $data ) ); // rewrite
|
411 |
} else { // append!
|
412 |
$items = get_option( $setting_name, array() );
|
413 |
+
|
414 |
if( empty($items) )
|
415 |
+
$items[ 1 ] = self::edit_import_data( $data );
|
416 |
else
|
417 |
+
$items[] = self::edit_import_data( $data );
|
418 |
+
|
419 |
update_option( $setting_name, $items );
|
420 |
}
|
421 |
}// if modes
|
422 |
}
|
423 |
+
|
424 |
+
private static function edit_import_data( $data ) {
|
425 |
+
|
426 |
+
$mode = $data['mode'];
|
427 |
+
if ( $mode != self::EXPORT_SCHEDULE ) {
|
428 |
+
unset( $data['export_rule'] );
|
429 |
+
unset( $data['schedule'] );
|
430 |
+
}
|
431 |
+
|
432 |
+
return $data;
|
433 |
+
}
|
434 |
}
|
classes/class-wc-order-export-admin.php
CHANGED
@@ -155,6 +155,7 @@ class WC_Order_Export_Admin {
|
|
155 |
'ajax_orders_per_step' => '30',
|
156 |
'limit_button_test' => '1',
|
157 |
'cron_key' => '1234',
|
|
|
158 |
),
|
159 |
get_option( self::settings_name_common, array() )
|
160 |
);
|
@@ -165,9 +166,14 @@ class WC_Order_Export_Admin {
|
|
165 |
'cron_tasks_active' => FILTER_VALIDATE_BOOLEAN,
|
166 |
'ajax_orders_per_step' => FILTER_VALIDATE_INT,
|
167 |
'limit_button_test' => FILTER_SANITIZE_STRING,
|
168 |
-
'cron_key' => FILTER_SANITIZE_STRING
|
|
|
169 |
) );
|
170 |
update_option( self::settings_name_common, $settings );
|
|
|
|
|
|
|
|
|
171 |
}
|
172 |
|
173 |
|
@@ -280,6 +286,25 @@ class WC_Order_Export_Admin {
|
|
280 |
$url = remove_query_arg( array( 'wc_oe', 'action_id', 'status' ) );
|
281 |
wp_redirect( $url );
|
282 |
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
283 |
}
|
284 |
$this->render( 'tab/order-actions', array( 'ajaxurl' => $ajaxurl, 'WC_Order_Export' => $this, 'tab' => 'order_actions' ) );
|
285 |
}
|
@@ -341,6 +366,25 @@ class WC_Order_Export_Admin {
|
|
341 |
$url = remove_query_arg( array( 'wc_oe', 'schedule_id', 'status' ) );
|
342 |
wp_redirect( $url );
|
343 |
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
344 |
}
|
345 |
$this->render( 'tab/schedules', array( 'ajaxurl' => $ajaxurl, 'WC_Order_Export' => $this ) );
|
346 |
}
|
@@ -411,17 +455,23 @@ class WC_Order_Export_Admin {
|
|
411 |
unset( $all_items[ $profile_id ] );
|
412 |
WC_Order_Export_Manage::save_export_settings_collection( $mode, $all_items );
|
413 |
break;
|
414 |
-
case '
|
415 |
-
if( !isset( $_REQUEST['
|
416 |
break;
|
417 |
-
$
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
423 |
WC_Order_Export_Manage::save_export_settings_collection( $mode, $all_items );
|
424 |
-
$url = remove_query_arg( array( 'wc_oe', '
|
425 |
wp_redirect( $url );
|
426 |
break;
|
427 |
}
|
@@ -450,16 +500,20 @@ class WC_Order_Export_Admin {
|
|
450 |
wp_enqueue_script( 'export', $this->url_plugin . 'assets/js/export.js', array(), WOE_VERSION );
|
451 |
wp_enqueue_script( 'serializejson', $this->url_plugin . 'assets/js/jquery.serializejson.js', array('jquery'), WOE_VERSION );
|
452 |
wp_enqueue_style( 'export', $this->url_plugin . 'assets/css/export.css', array(), WOE_VERSION );
|
453 |
-
|
|
|
|
|
454 |
// Localize the script with new data
|
455 |
$translation_array = array(
|
456 |
'empty_column_name' => __( 'empty column name', 'woo-order-export-lite' ),
|
457 |
'empty_meta_key' => __( 'empty meta key', 'woo-order-export-lite' ),
|
|
|
458 |
'empty_value' => __( 'empty value', 'woo-order-export-lite' ),
|
459 |
'empty_title' => __( 'title is empty', 'woo-order-export-lite' ),
|
460 |
'wrong_date_range' => __( 'Date From is greater than Date To', 'woo-order-export-lite' ),
|
461 |
'no_fields' => __( 'Please, set up fields to export', 'woo-order-export-lite' ),
|
462 |
'no_results' => __( 'Nothing to export. Please, adjust your filters', 'woo-order-export-lite' ),
|
|
|
463 |
);
|
464 |
wp_localize_script( 'export', 'export_messages', $translation_array );
|
465 |
}
|
@@ -489,7 +543,9 @@ class WC_Order_Export_Admin {
|
|
489 |
|
490 |
public function script_loader_src($src, $handle) {
|
491 |
// don't load ANY select2.js / select2.min.js and OUTDATED select2.full.js
|
492 |
-
if (!preg_match('/\/select2\.full\.js\?ver=[1-3]/', $src) && !preg_match('/\/select2\.min\.js/', $src) && !preg_match('/\/select2\.js/', $src)
|
|
|
|
|
493 |
return $src;
|
494 |
}
|
495 |
}
|
@@ -571,11 +627,12 @@ class WC_Order_Export_Admin {
|
|
571 |
if ( isset( $_REQUEST['method'] ) ) {
|
572 |
$method = $_REQUEST['method'];
|
573 |
if ( method_exists( 'WC_Order_Export_Ajax', $method ) ) {
|
574 |
-
$_POST =
|
575 |
// parse json to arrays?
|
576 |
if ( !empty($_POST['json']) ) {
|
577 |
$json = json_decode( $_POST['json'], true );
|
578 |
if( is_array($json) ) {
|
|
|
579 |
$_POST = $_POST + $json;
|
580 |
unset( $_POST['json'] );
|
581 |
}
|
@@ -616,7 +673,7 @@ class WC_Order_Export_Admin {
|
|
616 |
|
617 |
$all_items = WC_Order_Export_Manage::get_export_settings_collection( WC_Order_Export_Manage::EXPORT_PROFILE );
|
618 |
foreach ( $all_items as $job_id => $job ) {
|
619 |
-
if ( isset( $job['use_as_bulk'] ) )
|
620 |
$actions['woe_export_selected_orders_profile_' . $job_id] = sprintf( __( "Export as profile '%s'", 'woo-order-export-lite' ), $job['title'] );
|
621 |
}
|
622 |
|
155 |
'ajax_orders_per_step' => '30',
|
156 |
'limit_button_test' => '1',
|
157 |
'cron_key' => '1234',
|
158 |
+
'ipn_url' => '',
|
159 |
),
|
160 |
get_option( self::settings_name_common, array() )
|
161 |
);
|
166 |
'cron_tasks_active' => FILTER_VALIDATE_BOOLEAN,
|
167 |
'ajax_orders_per_step' => FILTER_VALIDATE_INT,
|
168 |
'limit_button_test' => FILTER_SANITIZE_STRING,
|
169 |
+
'cron_key' => FILTER_SANITIZE_STRING,
|
170 |
+
'ipn_url' => FILTER_SANITIZE_STRING,
|
171 |
) );
|
172 |
update_option( self::settings_name_common, $settings );
|
173 |
+
|
174 |
+
if ( isset( $settings['ipn_url'] ) ) {
|
175 |
+
update_option( WOE_IPN_URL_OPTION_KEY, $settings['ipn_url'] );
|
176 |
+
}
|
177 |
}
|
178 |
|
179 |
|
286 |
$url = remove_query_arg( array( 'wc_oe', 'action_id', 'status' ) );
|
287 |
wp_redirect( $url );
|
288 |
break;
|
289 |
+
case 'change_statuses':
|
290 |
+
if( !isset( $_REQUEST['chosen_order_actions'] ) AND !isset( $_REQUEST['doaction'] ) AND -1 == $_REQUEST['doaction'] )
|
291 |
+
break;
|
292 |
+
$chosen_order_actions = explode(',' , $_REQUEST['chosen_order_actions'] );
|
293 |
+
$doaction = $_REQUEST['doaction'];
|
294 |
+
|
295 |
+
foreach ( $chosen_order_actions as $order_action_id ) {
|
296 |
+
if ( 'activate' == $doaction ) {
|
297 |
+
$all_items[ $order_action_id ]['active'] = 1;
|
298 |
+
} elseif ( 'deactivate' == $doaction ) {
|
299 |
+
$all_items[ $order_action_id ]['active'] = 0;
|
300 |
+
} elseif ( 'delete' == $doaction ) {
|
301 |
+
unset( $all_items[ $order_action_id ] );
|
302 |
+
}
|
303 |
+
}
|
304 |
+
WC_Order_Export_Manage::save_export_settings_collection( $mode, $all_items );
|
305 |
+
$url = remove_query_arg( array( 'wc_oe', 'chosen_order_actions', 'doaction' ) );
|
306 |
+
wp_redirect( $url );
|
307 |
+
break;
|
308 |
}
|
309 |
$this->render( 'tab/order-actions', array( 'ajaxurl' => $ajaxurl, 'WC_Order_Export' => $this, 'tab' => 'order_actions' ) );
|
310 |
}
|
366 |
$url = remove_query_arg( array( 'wc_oe', 'schedule_id', 'status' ) );
|
367 |
wp_redirect( $url );
|
368 |
break;
|
369 |
+
case 'change_status_schedules':
|
370 |
+
if( !isset( $_REQUEST['chosen_schedules'] ) AND !isset( $_REQUEST['doaction'] ) AND -1 == $_REQUEST['doaction'] )
|
371 |
+
break;
|
372 |
+
$chosen_schedules = explode(',' , $_REQUEST['chosen_schedules'] );
|
373 |
+
$doaction = $_REQUEST['doaction'];
|
374 |
+
|
375 |
+
foreach ( $chosen_schedules as $schedule_id ) {
|
376 |
+
if ( 'activate' == $doaction ) {
|
377 |
+
$all_jobs[ $schedule_id ]['active'] = 1;
|
378 |
+
} elseif ( 'deactivate' == $doaction ) {
|
379 |
+
$all_jobs[ $schedule_id ]['active'] = 0;
|
380 |
+
} elseif ( 'delete' == $doaction ) {
|
381 |
+
unset( $all_jobs[ $schedule_id ] );
|
382 |
+
}
|
383 |
+
}
|
384 |
+
WC_Order_Export_Manage::save_export_settings_collection( $mode, $all_jobs );
|
385 |
+
$url = remove_query_arg( array( 'wc_oe', 'chosen_schedules', 'doaction' ) );
|
386 |
+
wp_redirect( $url );
|
387 |
+
break;
|
388 |
}
|
389 |
$this->render( 'tab/schedules', array( 'ajaxurl' => $ajaxurl, 'WC_Order_Export' => $this ) );
|
390 |
}
|
455 |
unset( $all_items[ $profile_id ] );
|
456 |
WC_Order_Export_Manage::save_export_settings_collection( $mode, $all_items );
|
457 |
break;
|
458 |
+
case 'change_profile_statuses':
|
459 |
+
if( !isset( $_REQUEST['chosen_profiles'] ) AND !isset( $_REQUEST['doaction'] ) AND -1 == $_REQUEST['doaction'] )
|
460 |
break;
|
461 |
+
$chosen_profiles = explode(',' , $_REQUEST['chosen_profiles'] );
|
462 |
+
$doaction = $_REQUEST['doaction'];
|
463 |
+
|
464 |
+
foreach ( $chosen_profiles as $profile_id ) {
|
465 |
+
if ( 'activate' == $doaction ) {
|
466 |
+
$all_items[ $profile_id ][ 'use_as_bulk' ] = 'on';
|
467 |
+
} elseif ( 'deactivate' == $doaction ) {
|
468 |
+
unset( $all_items[ $profile_id ][ 'use_as_bulk' ] );
|
469 |
+
} elseif ( 'delete' == $doaction ) {
|
470 |
+
unset( $all_items[ $profile_id ] );
|
471 |
+
}
|
472 |
+
}
|
473 |
WC_Order_Export_Manage::save_export_settings_collection( $mode, $all_items );
|
474 |
+
$url = remove_query_arg( array( 'wc_oe', 'chosen_profiles', 'doaction' ) );
|
475 |
wp_redirect( $url );
|
476 |
break;
|
477 |
}
|
500 |
wp_enqueue_script( 'export', $this->url_plugin . 'assets/js/export.js', array(), WOE_VERSION );
|
501 |
wp_enqueue_script( 'serializejson', $this->url_plugin . 'assets/js/jquery.serializejson.js', array('jquery'), WOE_VERSION );
|
502 |
wp_enqueue_style( 'export', $this->url_plugin . 'assets/css/export.css', array(), WOE_VERSION );
|
503 |
+
wp_enqueue_style( 'woocommerce_admin_styles', WC()->plugin_url() . '/assets/css/admin.css', array() );
|
504 |
+
|
505 |
+
|
506 |
// Localize the script with new data
|
507 |
$translation_array = array(
|
508 |
'empty_column_name' => __( 'empty column name', 'woo-order-export-lite' ),
|
509 |
'empty_meta_key' => __( 'empty meta key', 'woo-order-export-lite' ),
|
510 |
+
'empty_meta_key_and_taxonomy' => __( 'select product field or item field or taxonomy', 'woo-order-export-lite' ),
|
511 |
'empty_value' => __( 'empty value', 'woo-order-export-lite' ),
|
512 |
'empty_title' => __( 'title is empty', 'woo-order-export-lite' ),
|
513 |
'wrong_date_range' => __( 'Date From is greater than Date To', 'woo-order-export-lite' ),
|
514 |
'no_fields' => __( 'Please, set up fields to export', 'woo-order-export-lite' ),
|
515 |
'no_results' => __( 'Nothing to export. Please, adjust your filters', 'woo-order-export-lite' ),
|
516 |
+
'empty' => __( 'empty', 'woo-order-export-lite' ),
|
517 |
);
|
518 |
wp_localize_script( 'export', 'export_messages', $translation_array );
|
519 |
}
|
543 |
|
544 |
public function script_loader_src($src, $handle) {
|
545 |
// don't load ANY select2.js / select2.min.js and OUTDATED select2.full.js
|
546 |
+
if (!preg_match('/\/select2\.full\.js\?ver=[1-3]/', $src) && !preg_match('/\/select2\.min\.js/', $src) && !preg_match('/\/select2\.js/', $src)
|
547 |
+
&& !preg_match('#jquery\.serialize-object\.#', $src) /*this script breaks our json!*/
|
548 |
+
) {
|
549 |
return $src;
|
550 |
}
|
551 |
}
|
627 |
if ( isset( $_REQUEST['method'] ) ) {
|
628 |
$method = $_REQUEST['method'];
|
629 |
if ( method_exists( 'WC_Order_Export_Ajax', $method ) ) {
|
630 |
+
$_POST = stripslashes_deep($_POST);
|
631 |
// parse json to arrays?
|
632 |
if ( !empty($_POST['json']) ) {
|
633 |
$json = json_decode( $_POST['json'], true );
|
634 |
if( is_array($json) ) {
|
635 |
+
// add $_POST['settings'],$_POST['orders'],$_POST['products'],$_POST['coupons']
|
636 |
$_POST = $_POST + $json;
|
637 |
unset( $_POST['json'] );
|
638 |
}
|
673 |
|
674 |
$all_items = WC_Order_Export_Manage::get_export_settings_collection( WC_Order_Export_Manage::EXPORT_PROFILE );
|
675 |
foreach ( $all_items as $job_id => $job ) {
|
676 |
+
if ( isset( $job['use_as_bulk'] ) )
|
677 |
$actions['woe_export_selected_orders_profile_' . $job_id] = sprintf( __( "Export as profile '%s'", 'woo-order-export-lite' ), $job['title'] );
|
678 |
}
|
679 |
|
classes/core/class-wc-order-export-data-extractor-ui.php
CHANGED
@@ -66,11 +66,44 @@ class WC_Order_Export_Data_Extractor_UI extends WC_Order_Export_Data_Extractor {
|
|
66 |
(SELECT DISTINCT ID FROM {$wpdb->posts} WHERE post_type IN ('product','product_variation') AND ID IN ($sql_products))" );
|
67 |
|
68 |
$fields = array_unique( array_merge( $wp_fields, $wc_fields ) );
|
69 |
-
sort( $fields );
|
70 |
|
71 |
return apply_filters( 'get_all_product_custom_meta_fields_for_orders', $fields );
|
72 |
}
|
73 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
public static function get_all_product_custom_meta_fields() {
|
75 |
global $wpdb;
|
76 |
|
@@ -199,7 +232,7 @@ class WC_Order_Export_Data_Extractor_UI extends WC_Order_Export_Data_Extractor {
|
|
199 |
public static function get_products_itemmeta_values( $key ) {
|
200 |
global $wpdb;
|
201 |
$meta_key_ent = esc_html($key);
|
202 |
-
$metas = $wpdb->get_col( $wpdb->prepare("SELECT DISTINCT meta_value FROM {$wpdb->prefix}woocommerce_order_itemmeta where meta_key = '%s' OR meta_key='%s'", $key, $meta_key_ent ));
|
203 |
sort( $metas );
|
204 |
return $metas;
|
205 |
}
|
@@ -271,6 +304,7 @@ class WC_Order_Export_Data_Extractor_UI extends WC_Order_Export_Data_Extractor {
|
|
271 |
'product_shipping_class' => array( 'label' => __( 'Product Shipping Class', 'woo-order-export-lite' ), 'checked' => 0 ),
|
272 |
'post_content'=> array( 'label' => __( 'Description', 'woo-order-export-lite' ), 'checked' => 0 ),
|
273 |
'post_excerpt'=> array( 'label' => __( 'Short Description', 'woo-order-export-lite' ), 'checked' => 0 ),
|
|
|
274 |
);
|
275 |
|
276 |
foreach ( $map as $key => $value ) {
|
@@ -322,6 +356,7 @@ class WC_Order_Export_Data_Extractor_UI extends WC_Order_Export_Data_Extractor {
|
|
322 |
|
323 |
public static function get_order_fields_common() {
|
324 |
return array(
|
|
|
325 |
'order_id' => array( 'label' => __( 'Order ID', 'woo-order-export-lite' ), 'checked' => 0 ),
|
326 |
'order_number' => array( 'label' => __( 'Order Number', 'woo-order-export-lite' ), 'checked' => 1 ),
|
327 |
'order_status' => array( 'label' => __( 'Order Status', 'woo-order-export-lite' ), 'checked' => 1 ),
|
@@ -410,6 +445,7 @@ class WC_Order_Export_Data_Extractor_UI extends WC_Order_Export_Data_Extractor {
|
|
410 |
'cart_discount' => array( 'label' => __( 'Cart Discount Amount', 'woo-order-export-lite' ), 'checked' => 1, 'format'=>'money' ),
|
411 |
'cart_discount_tax' => array( 'label' => __( 'Cart Discount Amount Tax', 'woo-order-export-lite' ), 'checked' => 0, 'format'=>'money' ),
|
412 |
'order_subtotal' => array( 'label' => __( 'Order Subtotal Amount', 'woo-order-export-lite' ), 'checked' => 1, 'format'=>'money' ),
|
|
|
413 |
'order_subtotal_refunded'=> array( 'label' => __( 'Order Subtotal Amount Refunded', 'woo-order-export-lite' ), 'checked' => 0, 'format'=>'money' ),
|
414 |
'order_subtotal_minus_refund'=> array( 'label' => __( 'Order Subtotal Amount (- Refund)', 'woo-order-export-lite' ), 'checked' => 0, 'format'=>'money' ),
|
415 |
'order_tax' => array( 'label' => __( 'Order Tax Amount', 'woo-order-export-lite' ), 'checked' => 0, 'format'=>'money' ),
|
66 |
(SELECT DISTINCT ID FROM {$wpdb->posts} WHERE post_type IN ('product','product_variation') AND ID IN ($sql_products))" );
|
67 |
|
68 |
$fields = array_unique( array_merge( $wp_fields, $wc_fields ) );
|
69 |
+
$fields = sort( $fields );
|
70 |
|
71 |
return apply_filters( 'get_all_product_custom_meta_fields_for_orders', $fields );
|
72 |
}
|
73 |
|
74 |
+
public static function get_order_item_custom_meta_fields_for_orders( $sql_order_ids ) {
|
75 |
+
global $wpdb;
|
76 |
+
|
77 |
+
$wc_fields = $wpdb->get_col( "SELECT DISTINCT meta_key FROM {$wpdb->prefix}woocommerce_order_itemmeta WHERE order_item_id IN
|
78 |
+
(SELECT DISTINCT order_item_id FROM {$wpdb->prefix}woocommerce_order_items WHERE order_item_type = 'line_item' AND order_id IN ($sql_order_ids))" );
|
79 |
+
// WC internal table add attributes
|
80 |
+
$wc_attr_fields = $wpdb->get_results( "SELECT DISTINCT attribute_name FROM {$wpdb->prefix}woocommerce_attribute_taxonomies" );
|
81 |
+
foreach ( $wc_attr_fields as $f ) {
|
82 |
+
$wc_fields[] = 'pa_' . $f->attribute_name;
|
83 |
+
}
|
84 |
+
|
85 |
+
$wc_fields = array_unique($wc_fields);
|
86 |
+
sort($wc_fields);
|
87 |
+
|
88 |
+
|
89 |
+
|
90 |
+
return apply_filters( 'get_order_item_custom_meta_fields_for_orders', $wc_fields );
|
91 |
+
}
|
92 |
+
|
93 |
+
public static function get_product_custom_meta_fields_for_orders( $sql_order_ids ) {
|
94 |
+
global $wpdb;
|
95 |
+
|
96 |
+
$sql_products = "SELECT DISTINCT meta_value FROM {$wpdb->prefix}woocommerce_order_itemmeta WHERE meta_key ='_product_id' AND order_item_id IN
|
97 |
+
(SELECT DISTINCT order_item_id FROM {$wpdb->prefix}woocommerce_order_items WHERE order_item_type = 'line_item' AND order_id IN ($sql_order_ids))";
|
98 |
+
|
99 |
+
$wp_fields = $wpdb->get_col( "SELECT DISTINCT meta_key FROM {$wpdb->postmeta} WHERE post_id IN
|
100 |
+
(SELECT DISTINCT ID FROM {$wpdb->posts} WHERE post_type IN ('product','product_variation') AND ID IN ($sql_products))" );
|
101 |
+
|
102 |
+
sort($wp_fields);
|
103 |
+
|
104 |
+
return apply_filters( 'get_product_custom_meta_fields_for_orders', $wp_fields );
|
105 |
+
}
|
106 |
+
|
107 |
public static function get_all_product_custom_meta_fields() {
|
108 |
global $wpdb;
|
109 |
|
232 |
public static function get_products_itemmeta_values( $key ) {
|
233 |
global $wpdb;
|
234 |
$meta_key_ent = esc_html($key);
|
235 |
+
$metas = $wpdb->get_col( $wpdb->prepare("SELECT DISTINCT meta_value FROM {$wpdb->prefix}woocommerce_order_itemmeta where meta_key = '%s' OR meta_key='%s' LIMIT 100", $key, $meta_key_ent ));
|
236 |
sort( $metas );
|
237 |
return $metas;
|
238 |
}
|
304 |
'product_shipping_class' => array( 'label' => __( 'Product Shipping Class', 'woo-order-export-lite' ), 'checked' => 0 ),
|
305 |
'post_content'=> array( 'label' => __( 'Description', 'woo-order-export-lite' ), 'checked' => 0 ),
|
306 |
'post_excerpt'=> array( 'label' => __( 'Short Description', 'woo-order-export-lite' ), 'checked' => 0 ),
|
307 |
+
'full_category_names' => array( 'label' => __( 'Full names for categories', 'woo-order-export-lite' ), 'checked' => 0 )
|
308 |
);
|
309 |
|
310 |
foreach ( $map as $key => $value ) {
|
356 |
|
357 |
public static function get_order_fields_common() {
|
358 |
return array(
|
359 |
+
'line_number' => array( 'label' => __( 'Line number', 'woo-order-export-lite' ), 'checked' => 0 ),
|
360 |
'order_id' => array( 'label' => __( 'Order ID', 'woo-order-export-lite' ), 'checked' => 0 ),
|
361 |
'order_number' => array( 'label' => __( 'Order Number', 'woo-order-export-lite' ), 'checked' => 1 ),
|
362 |
'order_status' => array( 'label' => __( 'Order Status', 'woo-order-export-lite' ), 'checked' => 1 ),
|
445 |
'cart_discount' => array( 'label' => __( 'Cart Discount Amount', 'woo-order-export-lite' ), 'checked' => 1, 'format'=>'money' ),
|
446 |
'cart_discount_tax' => array( 'label' => __( 'Cart Discount Amount Tax', 'woo-order-export-lite' ), 'checked' => 0, 'format'=>'money' ),
|
447 |
'order_subtotal' => array( 'label' => __( 'Order Subtotal Amount', 'woo-order-export-lite' ), 'checked' => 1, 'format'=>'money' ),
|
448 |
+
'order_subtotal_minus_discount' => array( 'label' => 'Order Subtotal - Cart Discount', 'colname' => 'Order Subtotal - Cart Discount', 'checked' => 0 ),
|
449 |
'order_subtotal_refunded'=> array( 'label' => __( 'Order Subtotal Amount Refunded', 'woo-order-export-lite' ), 'checked' => 0, 'format'=>'money' ),
|
450 |
'order_subtotal_minus_refund'=> array( 'label' => __( 'Order Subtotal Amount (- Refund)', 'woo-order-export-lite' ), 'checked' => 0, 'format'=>'money' ),
|
451 |
'order_tax' => array( 'label' => __( 'Order Tax Amount', 'woo-order-export-lite' ), 'checked' => 0, 'format'=>'money' ),
|
classes/core/class-wc-order-export-data-extractor.php
CHANGED
@@ -13,6 +13,10 @@ class WC_Order_Export_Data_Extractor {
|
|
13 |
static $current_order;
|
14 |
static $date_format;
|
15 |
static $object_type = 'shop_order';
|
|
|
|
|
|
|
|
|
16 |
const HUGE_SHOP_ORDERS = 1000;// more than 1000 orders
|
17 |
const HUGE_SHOP_PRODUCTS = 1000;// more than 1000 products
|
18 |
|
@@ -151,21 +155,33 @@ class WC_Order_Export_Data_Extractor {
|
|
151 |
'=' => 'IN',
|
152 |
'<>' => 'NOT IN',
|
153 |
'LIKE' => 'LIKE',
|
|
|
|
|
154 |
);
|
|
|
|
|
155 |
foreach ( $pairs as $pair ) {
|
156 |
$pair = trim( $pair );
|
157 |
$op = '';
|
|
|
158 |
foreach($delimiters as $delim=>$op_seek) {
|
159 |
$t = explode( $delim, $pair );
|
160 |
-
|
|
|
161 |
$op = $op_seek;
|
162 |
break;
|
163 |
}
|
164 |
}
|
165 |
if( !$op )
|
166 |
continue;
|
|
|
|
|
167 |
|
168 |
list( $filter_type, $filter_value ) = array_map("trim", $t);
|
|
|
|
|
|
|
|
|
169 |
|
170 |
if ( $mode == 'lower_filter_label' ) {
|
171 |
$filter_type = strtolower( $filter_type );
|
@@ -349,7 +365,6 @@ class WC_Order_Export_Data_Extractor {
|
|
349 |
$left_join_product_meta = join( " ", $left_join_product_meta );
|
350 |
}
|
351 |
}
|
352 |
-
|
353 |
//done
|
354 |
$product_where = join(" AND ", $product_where);
|
355 |
$sql = "SELECT DISTINCT ID FROM {$wpdb->posts} AS products $left_join_product_meta WHERE products.post_type in ('product','product_variation') AND products.post_status<>'trash' AND $product_where ";
|
@@ -362,7 +377,9 @@ class WC_Order_Export_Data_Extractor {
|
|
362 |
$sql = "SELECT DISTINCT ID FROM {$wpdb->posts} AS products WHERE products.post_type in ('product','product_variation') AND products.post_status<>'trash' AND post_parent IN ($values)";
|
363 |
$settings['products'] = $wpdb->get_col($sql);
|
364 |
}
|
365 |
-
|
|
|
|
|
366 |
return apply_filters('woe_sql_adjust_products', $settings['products'] , $settings);
|
367 |
}
|
368 |
|
@@ -375,19 +392,21 @@ class WC_Order_Export_Data_Extractor {
|
|
375 |
if ( $settings['product_taxonomies'] ) {
|
376 |
$attrs = self::get_product_taxonomies();
|
377 |
$names2fields = array_flip( $attrs );
|
378 |
-
$filters = self::
|
379 |
//print_r($filters );die();
|
380 |
-
foreach ( $filters as $
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
|
|
|
|
389 |
}
|
390 |
-
}
|
391 |
}
|
392 |
|
393 |
$product_category_where = $taxonomy_where;
|
@@ -527,13 +546,30 @@ class WC_Order_Export_Data_Extractor {
|
|
527 |
}
|
528 |
// shipping methods
|
529 |
if ( ! empty( $settings['shipping_methods'] ) ) {
|
530 |
-
$
|
531 |
-
foreach($settings['shipping_methods'] as $value)
|
532 |
-
|
533 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
534 |
$order_items_where .= " AND orders.ID IN (SELECT order_shippings.order_id FROM {$wpdb->prefix}woocommerce_order_items as order_shippings
|
535 |
LEFT JOIN {$wpdb->prefix}woocommerce_order_itemmeta AS shipping_itemmeta ON shipping_itemmeta.order_item_id = order_shippings.order_item_id
|
536 |
-
WHERE order_shippings.order_item_type='shipping' AND
|
537 |
}
|
538 |
|
539 |
// pre top
|
@@ -554,16 +590,20 @@ class WC_Order_Export_Data_Extractor {
|
|
554 |
foreach ( $filters as $operator => $fields) {
|
555 |
foreach ( $fields as $field => $values ) {
|
556 |
if ( $values ) {
|
557 |
-
$left_join_order_meta[] = "LEFT JOIN {$wpdb->postmeta} AS ordermeta_cf_{$pos} ON ordermeta_cf_{$pos}.post_id = orders.ID";
|
558 |
if( $operator == 'IN' OR $operator == 'NOT IN' ) {
|
559 |
$values = self::sql_subset( $values );
|
560 |
-
$order_meta_where [] = " (
|
|
|
|
|
|
|
|
|
561 |
} elseif( $operator =='LIKE' ) {
|
562 |
$pairs = array();
|
563 |
foreach($values as $v)
|
564 |
$pairs[] = " ordermeta_cf_{$pos}.meta_value LIKE '$v' ";
|
565 |
$pairs = join("OR", $pairs);
|
566 |
-
$order_meta_where[] = " (
|
567 |
}
|
568 |
$pos++;
|
569 |
}//if values
|
@@ -652,13 +692,16 @@ class WC_Order_Export_Data_Extractor {
|
|
652 |
$sql = "SELECT " . apply_filters( "woe_sql_get_order_ids_fields", "ID AS order_id" ) . " FROM {$wpdb->posts} AS orders
|
653 |
{$left_join_order_meta}
|
654 |
WHERE orders.post_type in ( $order_types) AND $order_sql $order_meta_where $order_items_where";
|
|
|
|
|
|
|
655 |
//die($sql);
|
656 |
return $sql;
|
657 |
}
|
658 |
|
659 |
private static function add_date_filter(&$where, &$where_meta, $date_field, $value) {
|
660 |
if( $date_field == 'date_paid' OR $date_field == 'date_completed') // 3.0+ uses timestamp
|
661 |
-
$where_meta[] = "(order_$date_field.meta_value>0 AND
|
662 |
elseif( $date_field == 'paid_date' OR $date_field == 'completed_date') // previous versions use mysql datetime
|
663 |
$where_meta[] = "(order_$date_field.meta_value<>'' AND order_$date_field.meta_value " . $value.")";
|
664 |
else
|
@@ -672,28 +715,25 @@ class WC_Order_Export_Data_Extractor {
|
|
672 |
$settings[ 'export_rule_field' ] = 'modified';
|
673 |
|
674 |
$date_field = $settings[ 'export_rule_field' ];
|
|
|
675 |
//rename this field for 2.6 and less
|
676 |
if( !method_exists( 'WC_Order', "get_date_completed") ) {
|
677 |
-
|
|
|
678 |
$date_field = 'paid_date';
|
679 |
-
elseif( $date_field == 'date_completed')
|
680 |
$date_field = 'completed_date';
|
681 |
}
|
682 |
$where_meta = array();
|
683 |
|
|
|
684 |
|
685 |
-
|
686 |
-
|
687 |
-
if ( $from_date ) {
|
688 |
-
self::add_date_filter($where, $where_meta, $date_field, ">='$from_date 00:00:00'" );
|
689 |
-
}
|
690 |
-
}
|
691 |
-
if ( $settings['to_date'] ) {
|
692 |
-
$to_date = date( 'Y-m-d', strtotime( $settings['to_date'] ) );
|
693 |
-
if ( $to_date ) {
|
694 |
-
self::add_date_filter($where, $where_meta, $date_field, "<='$to_date 23:59:59'" );
|
695 |
-
}
|
696 |
}
|
|
|
|
|
|
|
697 |
if ( $settings['statuses'] ) {
|
698 |
$values = self::sql_subset( $settings['statuses'] );
|
699 |
if ( $values ) {
|
@@ -701,99 +741,159 @@ class WC_Order_Export_Data_Extractor {
|
|
701 |
}
|
702 |
}
|
703 |
|
704 |
-
//
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
705 |
$_time = current_time( "timestamp", 0 );
|
706 |
|
707 |
-
|
708 |
-
if( ! isset($settings[ 'export_rule' ])/* OR $settings['from_date'] OR $settings['to_date']*/ )
|
709 |
-
$settings[ 'export_rule' ] = '';
|
710 |
|
711 |
-
switch ( $
|
|
|
|
|
|
|
|
|
712 |
case "last_run":
|
713 |
-
|
714 |
-
|
|
|
715 |
}
|
716 |
break;
|
717 |
case "today":
|
718 |
-
$_date
|
719 |
-
|
720 |
-
|
|
|
721 |
break;
|
722 |
case "this_week":
|
723 |
-
$day
|
724 |
-
$_date
|
725 |
-
$week_start
|
726 |
-
$week_end
|
727 |
-
|
728 |
-
|
|
|
729 |
break;
|
730 |
case "this_month":
|
731 |
$month_start = date( 'Y-m-01', $_time );
|
732 |
-
$month_end
|
733 |
-
|
734 |
-
|
|
|
735 |
break;
|
736 |
case "last_day":
|
737 |
-
$_date
|
738 |
-
$last_day
|
739 |
-
$_date
|
740 |
-
|
741 |
-
|
|
|
742 |
break;
|
743 |
case "last_week":
|
744 |
-
$day
|
745 |
-
$_date
|
746 |
-
$last_week
|
747 |
-
$week_start
|
748 |
-
$week_end
|
749 |
-
|
750 |
-
|
|
|
751 |
break;
|
752 |
case "last_month":
|
753 |
-
$_date
|
754 |
-
$last_month
|
755 |
$month_start = date( 'Y-m-01', $last_month );
|
756 |
-
$month_end
|
757 |
-
|
758 |
-
|
|
|
759 |
break;
|
760 |
case "last_quarter":
|
761 |
-
$_date
|
762 |
-
$last_month = strtotime($_date." -3 month");
|
763 |
-
$quarter_start = date( 'Y-'.
|
764 |
-
$quarter_end
|
765 |
-
|
766 |
-
|
|
|
767 |
break;
|
768 |
case "this_year":
|
769 |
-
$year_start
|
770 |
-
|
|
|
771 |
break;
|
772 |
case "custom":
|
773 |
-
|
774 |
-
|
775 |
-
$
|
776 |
-
|
777 |
-
|
|
|
|
|
|
|
778 |
}
|
779 |
break;
|
780 |
default:
|
781 |
break;
|
782 |
}
|
783 |
-
//end export rule
|
784 |
|
785 |
-
|
786 |
-
|
787 |
-
|
788 |
-
|
|
|
|
|
|
|
789 |
}
|
790 |
-
|
791 |
-
// skip child orders?
|
792 |
-
if( $settings['skip_suborders'] AND !$settings['export_refunds'])
|
793 |
-
$where[] = "orders.post_parent=0";
|
794 |
|
795 |
-
|
796 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
797 |
}
|
798 |
|
799 |
public static function get_quarter_month( $time ) {
|
@@ -815,8 +915,21 @@ class WC_Order_Export_Data_Extractor {
|
|
815 |
self::$decimal_separator = wc_get_price_decimal_separator();
|
816 |
self::$thousands_separator = apply_filters( 'woe_thousands_separator', '' );
|
817 |
self::$decimals = wc_get_price_decimals();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
818 |
}
|
819 |
|
|
|
820 |
public static function get_max_order_items( $type, $ids ) {
|
821 |
global $wpdb;
|
822 |
|
@@ -877,7 +990,6 @@ class WC_Order_Export_Data_Extractor {
|
|
877 |
} else {
|
878 |
$row[ $field ] = '';
|
879 |
}
|
880 |
-
|
881 |
if ( isset( $filters_active[ $field ] ) ) {
|
882 |
$row[ $field ] = apply_filters( "woe_get_order_coupon_value_{$field}", $row[ $field ], $order, $item );
|
883 |
$row[ $field ] = apply_filters( "woe_get_order_coupon_{$format}_value_{$field}", $row[ $field ], $order, $item );
|
@@ -976,14 +1088,6 @@ class WC_Order_Export_Data_Extractor {
|
|
976 |
$row[ $field ] = ""; // unknown class
|
977 |
} elseif ( $field == 'line_total_plus_tax' ) {
|
978 |
$row[ $field ] = $item_meta["_line_total"][0] + $item_meta["_line_tax"][0];
|
979 |
-
} elseif ( isset( $item_meta[ $field ] ) ) { //meta from order
|
980 |
-
$row[ $field ] = $item_meta[ $field ][0];
|
981 |
-
} elseif ( isset( $item_meta[ "_" . $field ] ) ) {// or hidden field
|
982 |
-
$row[ $field ] = $item_meta[ "_" . $field ][0];
|
983 |
-
} elseif ( isset( $item['item_meta'][ $field ] ) ) { // meta from item line
|
984 |
-
$row[ $field ] = $item['item_meta'][ $field ][0];
|
985 |
-
} elseif ( isset( $item['item_meta'][ "_" . $field ] ) ) { // or hidden field
|
986 |
-
$row[ $field ] = $item['item_meta'][ "_" . $field ][0];
|
987 |
} elseif ( $field == 'name' ) {
|
988 |
$row['name'] = $item["name"];
|
989 |
} elseif ( $field == 'product_variation' ) {
|
@@ -1055,7 +1159,9 @@ class WC_Order_Export_Data_Extractor {
|
|
1055 |
}
|
1056 |
$row[ $field ] = ($subtotal_amount>0) ? round( 100*$subtotal_tax/$subtotal_amount, 2) : 0;
|
1057 |
} elseif ( $field == 'product_url' ) {
|
1058 |
-
$row[ $field ] =
|
|
|
|
|
1059 |
} elseif ( $field == 'download_url' ) {
|
1060 |
$row[ $field ] = '';
|
1061 |
if ( $product AND $product->is_downloadable() ) {
|
@@ -1068,9 +1174,20 @@ class WC_Order_Export_Data_Extractor {
|
|
1068 |
$row[ $field ] = implode( "\n", $links );
|
1069 |
}
|
1070 |
} elseif ( $field == 'image_url' ) {
|
1071 |
-
$row[ $field ] =
|
|
|
|
|
|
|
1072 |
} elseif ( isset( $static_vals[ $field ] ) ) {
|
1073 |
$row[ $field ] = $static_vals[ $field ];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1074 |
} else {
|
1075 |
$row[ $field ] = '';
|
1076 |
if( !empty( $item['variation_id'] ) )
|
@@ -1102,6 +1219,29 @@ class WC_Order_Export_Data_Extractor {
|
|
1102 |
return apply_filters( "woe_fetch_order_products", $products, $order, $labels, $format, $static_vals );
|
1103 |
}
|
1104 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1105 |
public static function get_order_item_taxes_refund($order, $item_id) {
|
1106 |
$tax_refund = 0;
|
1107 |
$order_taxes = $order->get_taxes();
|
@@ -1218,6 +1358,8 @@ class WC_Order_Export_Data_Extractor {
|
|
1218 |
$row['order_number'] = $parent_order ? $parent_order->get_order_number() : $order->get_order_number(); // use parent order number
|
1219 |
} elseif ( $field == 'order_subtotal' ) {
|
1220 |
$row['order_subtotal'] = wc_format_decimal( $order->get_subtotal(), 2);
|
|
|
|
|
1221 |
} elseif ( $field == 'order_subtotal_refunded' ) {
|
1222 |
$row['order_subtotal_refunded'] = wc_format_decimal( self::get_order_subtotal_refunded($order), 2);
|
1223 |
} elseif ( $field == 'order_subtotal_minus_refund' ) {
|
@@ -1389,7 +1531,7 @@ class WC_Order_Export_Data_Extractor {
|
|
1389 |
}
|
1390 |
|
1391 |
// Must fill child cells?
|
1392 |
-
if (
|
1393 |
foreach ( $extra_rows as $idx=> $extra_row ) {
|
1394 |
foreach ( $row as $key=> $val ) {
|
1395 |
if ( in_array( $key, $order_fields) )
|
@@ -1416,7 +1558,7 @@ class WC_Order_Export_Data_Extractor {
|
|
1416 |
return apply_filters("woe_fetch_order_data",$extra_rows);
|
1417 |
}
|
1418 |
|
1419 |
-
|
1420 |
if ( $type != 'shipping' && $type != 'billing') {
|
1421 |
return null;
|
1422 |
}
|
@@ -1573,21 +1715,21 @@ class WC_Order_Export_Data_Extractor {
|
|
1573 |
* @return array
|
1574 |
*/
|
1575 |
public static function get_shipping_methods() {
|
1576 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1577 |
if( !class_exists("WC_Shipping_Zone") )
|
1578 |
-
return
|
1579 |
|
1580 |
if( !method_exists("WC_Shipping_Zone", "get_shipping_methods") )
|
1581 |
-
return
|
1582 |
-
|
1583 |
-
$shipping_methods = array();
|
1584 |
-
|
1585 |
-
$zone = new WC_Shipping_Zone( 0 );
|
1586 |
-
$methods = $zone->get_shipping_methods();
|
1587 |
-
/** @var WC_Shipping_Method $method */
|
1588 |
-
foreach ( $methods as $method ) {
|
1589 |
-
$shipping_methods[ $method->get_rate_id() ] = __('[Rest of the World]', 'woo-order-export-lite' ) .' '. $method->get_title();
|
1590 |
-
}
|
1591 |
|
1592 |
foreach ( WC_Shipping_Zones::get_zones() as $zone ) {
|
1593 |
$methods = $zone['shipping_methods'];
|
@@ -1596,6 +1738,14 @@ class WC_Order_Export_Data_Extractor {
|
|
1596 |
$shipping_methods[ $method->get_rate_id() ] = '[' . $zone['zone_name'] . '] ' . $method->get_title();
|
1597 |
}
|
1598 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1599 |
return $shipping_methods;
|
1600 |
}
|
1601 |
|
13 |
static $current_order;
|
14 |
static $date_format;
|
15 |
static $object_type = 'shop_order';
|
16 |
+
static $export_subcategories_separator;
|
17 |
+
static $export_line_categories_separator;
|
18 |
+
static $track_sql_queries = false;
|
19 |
+
static $sql_queries;
|
20 |
const HUGE_SHOP_ORDERS = 1000;// more than 1000 orders
|
21 |
const HUGE_SHOP_PRODUCTS = 1000;// more than 1000 products
|
22 |
|
155 |
'=' => 'IN',
|
156 |
'<>' => 'NOT IN',
|
157 |
'LIKE' => 'LIKE',
|
158 |
+
'NOT SET' => 'NOT SET',
|
159 |
+
'IS SET' => 'IS SET',
|
160 |
);
|
161 |
+
$single_ops = array('NOT SET', 'IS SET');
|
162 |
+
|
163 |
foreach ( $pairs as $pair ) {
|
164 |
$pair = trim( $pair );
|
165 |
$op = '';
|
166 |
+
$single_op = false;
|
167 |
foreach($delimiters as $delim=>$op_seek) {
|
168 |
$t = explode( $delim, $pair );
|
169 |
+
$single_op = in_array($delim,$single_ops);
|
170 |
+
if( count($t) == 2 ) {
|
171 |
$op = $op_seek;
|
172 |
break;
|
173 |
}
|
174 |
}
|
175 |
if( !$op )
|
176 |
continue;
|
177 |
+
if( $single_op )
|
178 |
+
$t[1] = '';
|
179 |
|
180 |
list( $filter_type, $filter_value ) = array_map("trim", $t);
|
181 |
+
$empty = __( 'empty', 'woo-order-export-lite' );
|
182 |
+
if ( $empty == $filter_value ) {
|
183 |
+
$filter_value = '';
|
184 |
+
}
|
185 |
|
186 |
if ( $mode == 'lower_filter_label' ) {
|
187 |
$filter_type = strtolower( $filter_type );
|
365 |
$left_join_product_meta = join( " ", $left_join_product_meta );
|
366 |
}
|
367 |
}
|
|
|
368 |
//done
|
369 |
$product_where = join(" AND ", $product_where);
|
370 |
$sql = "SELECT DISTINCT ID FROM {$wpdb->posts} AS products $left_join_product_meta WHERE products.post_type in ('product','product_variation') AND products.post_status<>'trash' AND $product_where ";
|
377 |
$sql = "SELECT DISTINCT ID FROM {$wpdb->posts} AS products WHERE products.post_type in ('product','product_variation') AND products.post_status<>'trash' AND post_parent IN ($values)";
|
378 |
$settings['products'] = $wpdb->get_col($sql);
|
379 |
}
|
380 |
+
if( !empty($sql) AND self::$track_sql_queries )
|
381 |
+
self::$sql_queries[] = $sql;
|
382 |
+
|
383 |
return apply_filters('woe_sql_adjust_products', $settings['products'] , $settings);
|
384 |
}
|
385 |
|
392 |
if ( $settings['product_taxonomies'] ) {
|
393 |
$attrs = self::get_product_taxonomies();
|
394 |
$names2fields = array_flip( $attrs );
|
395 |
+
$filters = self::parse_complex_pairs( $settings['product_taxonomies'], $attrs );
|
396 |
//print_r($filters );die();
|
397 |
+
foreach ( $filters as $operator => $fields) {
|
398 |
+
foreach ( $fields as $label => $values ) {
|
399 |
+
$field = $names2fields[ $label ];
|
400 |
+
$values = self::sql_subset( $values );
|
401 |
+
if ( $values ) {
|
402 |
+
$taxonomy_where_object_id = $taxonomy_where ? "AND object_id IN ($taxonomy_where)" : "";
|
403 |
+
$taxonomy_where = "(SELECT object_id FROM {$wpdb->term_relationships} AS `{$field}_rel`
|
404 |
+
INNER JOIN {$wpdb->term_taxonomy} AS `{$field}_cat` ON `{$field}_cat`.term_taxonomy_id = `{$field}_rel`.term_taxonomy_id
|
405 |
+
WHERE `{$field}_cat`.term_id IN (SELECT term_id FROM {$wpdb->terms} WHERE name $operator ($values) ) $taxonomy_where_object_id
|
406 |
+
)";
|
407 |
+
}
|
408 |
}
|
409 |
+
}
|
410 |
}
|
411 |
|
412 |
$product_category_where = $taxonomy_where;
|
546 |
}
|
547 |
// shipping methods
|
548 |
if ( ! empty( $settings['shipping_methods'] ) ) {
|
549 |
+
$zone_values = $itemname_values = array();
|
550 |
+
foreach($settings['shipping_methods'] as $value) {
|
551 |
+
if( preg_match('#^order_item_name:(.+)#',$value, $m) )
|
552 |
+
$itemname_values[] = "'" . esc_sql($m[1]) . "'";
|
553 |
+
else
|
554 |
+
$zone_values[] = "(shipping_itemmeta.meta_value LIKE '$value%') ";
|
555 |
+
}
|
556 |
+
|
557 |
+
// where by type!
|
558 |
+
$ship_where = array();
|
559 |
+
if( $zone_values ) {
|
560 |
+
$zone_values = join( " OR ", $zone_values);
|
561 |
+
$ship_where[] = " (shipping_itemmeta.meta_key='method_id' AND ( $zone_values ) ) ";
|
562 |
+
}
|
563 |
+
if( $itemname_values ) {
|
564 |
+
$itemname_values = join(",", $itemname_values );
|
565 |
+
$ship_where[] = " (order_shippings.order_item_name IN ( $itemname_values ) ) ";
|
566 |
+
}
|
567 |
+
$ship_where = join( ' OR ', $ship_where);
|
568 |
+
|
569 |
+
//done
|
570 |
$order_items_where .= " AND orders.ID IN (SELECT order_shippings.order_id FROM {$wpdb->prefix}woocommerce_order_items as order_shippings
|
571 |
LEFT JOIN {$wpdb->prefix}woocommerce_order_itemmeta AS shipping_itemmeta ON shipping_itemmeta.order_item_id = order_shippings.order_item_id
|
572 |
+
WHERE order_shippings.order_item_type='shipping' AND $ship_where )";
|
573 |
}
|
574 |
|
575 |
// pre top
|
590 |
foreach ( $filters as $operator => $fields) {
|
591 |
foreach ( $fields as $field => $values ) {
|
592 |
if ( $values ) {
|
593 |
+
$left_join_order_meta[] = "LEFT JOIN {$wpdb->postmeta} AS ordermeta_cf_{$pos} ON ordermeta_cf_{$pos}.post_id = orders.ID AND ordermeta_cf_{$pos}.meta_key='$field'";
|
594 |
if( $operator == 'IN' OR $operator == 'NOT IN' ) {
|
595 |
$values = self::sql_subset( $values );
|
596 |
+
$order_meta_where [] = " ( ordermeta_cf_{$pos}.meta_value $operator ($values) ) ";
|
597 |
+
} elseif( $operator == 'NOT SET' ) {
|
598 |
+
$order_meta_where [] = " ( ordermeta_cf_{$pos}.meta_value IS NULL ) ";
|
599 |
+
} elseif( $operator == 'IS SET' ) {
|
600 |
+
$order_meta_where [] = " ( ordermeta_cf_{$pos}.meta_value IS NOT NULL ) ";
|
601 |
} elseif( $operator =='LIKE' ) {
|
602 |
$pairs = array();
|
603 |
foreach($values as $v)
|
604 |
$pairs[] = " ordermeta_cf_{$pos}.meta_value LIKE '$v' ";
|
605 |
$pairs = join("OR", $pairs);
|
606 |
+
$order_meta_where[] = " ( $pairs ) ";
|
607 |
}
|
608 |
$pos++;
|
609 |
}//if values
|
692 |
$sql = "SELECT " . apply_filters( "woe_sql_get_order_ids_fields", "ID AS order_id" ) . " FROM {$wpdb->posts} AS orders
|
693 |
{$left_join_order_meta}
|
694 |
WHERE orders.post_type in ( $order_types) AND $order_sql $order_meta_where $order_items_where";
|
695 |
+
|
696 |
+
if( self::$track_sql_queries )
|
697 |
+
self::$sql_queries[] = $sql;
|
698 |
//die($sql);
|
699 |
return $sql;
|
700 |
}
|
701 |
|
702 |
private static function add_date_filter(&$where, &$where_meta, $date_field, $value) {
|
703 |
if( $date_field == 'date_paid' OR $date_field == 'date_completed') // 3.0+ uses timestamp
|
704 |
+
$where_meta[] = "(order_$date_field.meta_value>0 AND order_$date_field.meta_value $value )";
|
705 |
elseif( $date_field == 'paid_date' OR $date_field == 'completed_date') // previous versions use mysql datetime
|
706 |
$where_meta[] = "(order_$date_field.meta_value<>'' AND order_$date_field.meta_value " . $value.")";
|
707 |
else
|
715 |
$settings[ 'export_rule_field' ] = 'modified';
|
716 |
|
717 |
$date_field = $settings[ 'export_rule_field' ];
|
718 |
+
$use_timestamps = ( $date_field == 'date_paid' OR $date_field == 'date_completed' );
|
719 |
//rename this field for 2.6 and less
|
720 |
if( !method_exists( 'WC_Order', "get_date_completed") ) {
|
721 |
+
$use_timestamps = false;
|
722 |
+
if( $date_field == 'date_paid' )
|
723 |
$date_field = 'paid_date';
|
724 |
+
elseif( $date_field == 'date_completed' )
|
725 |
$date_field = 'completed_date';
|
726 |
}
|
727 |
$where_meta = array();
|
728 |
|
729 |
+
// export and date rule
|
730 |
|
731 |
+
foreach (self::get_date_range( $settings, true, $use_timestamps ) as $date ) {
|
732 |
+
self::add_date_filter( $where, $where_meta, $date_field, $date );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
733 |
}
|
734 |
+
|
735 |
+
// end export and date rule
|
736 |
+
|
737 |
if ( $settings['statuses'] ) {
|
738 |
$values = self::sql_subset( $settings['statuses'] );
|
739 |
if ( $values ) {
|
741 |
}
|
742 |
}
|
743 |
|
744 |
+
//for date_paid or date_completed
|
745 |
+
if( $where_meta ) {
|
746 |
+
$where_meta = join( " AND ", $where_meta );
|
747 |
+
$where[] = "orders.id IN ( SELECT post_id FROM {$wpdb->postmeta} AS order_$date_field WHERE order_$date_field.meta_key ='_$date_field' AND $where_meta)";
|
748 |
+
}
|
749 |
+
|
750 |
+
// skip child orders?
|
751 |
+
if( $settings['skip_suborders'] AND !$settings['export_refunds'])
|
752 |
+
$where[] = "orders.post_parent=0";
|
753 |
+
|
754 |
+
// Skip drafts and deleted
|
755 |
+
$where[] = "orders.post_status NOT in ('auto-draft','trash')";
|
756 |
+
}
|
757 |
+
|
758 |
+
public static function get_date_range( $settings, $is_for_sql, $use_timestamps=false ) {
|
759 |
+
$result = array();
|
760 |
+
|
761 |
+
// fixed date range
|
762 |
+
if ( !empty( $settings['from_date'] ) OR !empty( $settings['to_date'] ) ) {
|
763 |
+
if ( $settings['from_date'] ) {
|
764 |
+
$from_date = date( 'Y-m-d', strtotime( $settings['from_date'] ) ) . " 00:00:00";
|
765 |
+
if ( $is_for_sql ) {
|
766 |
+
if( $use_timestamps )
|
767 |
+
$from_date = mysql2date( 'U', $from_date );
|
768 |
+
$from_date = sprintf( ">='%s'", $from_date );
|
769 |
+
}
|
770 |
+
$result['from_date'] = $from_date;
|
771 |
+
}
|
772 |
+
|
773 |
+
if ( $settings['to_date'] ) {
|
774 |
+
$to_date = date( 'Y-m-d', strtotime( $settings['to_date'] ) ) . " 23:59:59";
|
775 |
+
if ( $is_for_sql ) {
|
776 |
+
if( $use_timestamps )
|
777 |
+
$to_date = mysql2date( 'U', $to_date );
|
778 |
+
$to_date = sprintf( "<='%s'", $to_date );
|
779 |
+
}
|
780 |
+
$result['to_date'] = $to_date;
|
781 |
+
}
|
782 |
+
return $result;
|
783 |
+
}
|
784 |
+
|
785 |
$_time = current_time( "timestamp", 0 );
|
786 |
|
787 |
+
$export_rule = isset( $settings['export_rule'] ) ? $settings['export_rule'] : '';
|
|
|
|
|
788 |
|
789 |
+
switch ( $export_rule ) {
|
790 |
+
case "none":
|
791 |
+
unset( $from_date );
|
792 |
+
unset( $to_date );
|
793 |
+
break;
|
794 |
case "last_run":
|
795 |
+
$last_run = isset( $settings['schedule']['last_run'] ) ? $settings['schedule']['last_run'] : '';
|
796 |
+
if ( isset( $last_run ) AND $last_run ) {
|
797 |
+
$from_date = date( 'Y-m-d H:i:s', $last_run );
|
798 |
}
|
799 |
break;
|
800 |
case "today":
|
801 |
+
$_date = date( 'Y-m-d', $_time );
|
802 |
+
|
803 |
+
$from_date = sprintf( '%s %s', $_date, '00:00:00' );
|
804 |
+
$to_date = sprintf( '%s %s', $_date, '23:59:59' );
|
805 |
break;
|
806 |
case "this_week":
|
807 |
+
$day = ( date( 'w', $_time ) + 6 ) % 7;// 0 - Sun , must be Mon = 0
|
808 |
+
$_date = date( 'Y-m-d', $_time );
|
809 |
+
$week_start = date( 'Y-m-d', strtotime( $_date . ' -' . $day . ' days' ) );
|
810 |
+
$week_end = date( 'Y-m-d', strtotime( $_date . ' +' . ( 6 - $day ) . ' days' ) );
|
811 |
+
|
812 |
+
$from_date = sprintf( '%s %s', $week_start, '00:00:00' );
|
813 |
+
$to_date = sprintf( '%s %s', $week_end, '23:59:59' );
|
814 |
break;
|
815 |
case "this_month":
|
816 |
$month_start = date( 'Y-m-01', $_time );
|
817 |
+
$month_end = date( 'Y-m-t', $_time );
|
818 |
+
|
819 |
+
$from_date = sprintf( '%s %s', $month_start, '00:00:00' );
|
820 |
+
$to_date = sprintf( '%s %s', $month_end, '23:59:59' );
|
821 |
break;
|
822 |
case "last_day":
|
823 |
+
$_date = date( 'Y-m-d', $_time );
|
824 |
+
$last_day = strtotime( $_date . " -1 day" );
|
825 |
+
$_date = date( 'Y-m-d', $last_day );
|
826 |
+
|
827 |
+
$from_date = sprintf( '%s %s', $_date, '00:00:00' );
|
828 |
+
$to_date = sprintf( '%s %s', $_date, '23:59:59' );
|
829 |
break;
|
830 |
case "last_week":
|
831 |
+
$day = ( date( 'w', $_time ) + 6 ) % 7;// 0 - Sun , must be Mon = 0
|
832 |
+
$_date = date( 'Y-m-d', $_time );
|
833 |
+
$last_week = strtotime( $_date . " -1 week" );
|
834 |
+
$week_start = date( 'Y-m-d', strtotime( date( 'Y-m-d', $last_week ) . ' -' . $day . ' days' ) );
|
835 |
+
$week_end = date( 'Y-m-d', strtotime( date( 'Y-m-d', $last_week ) . ' +' . ( 6 - $day ) . ' days' ) );
|
836 |
+
|
837 |
+
$from_date = sprintf( '%s %s', $week_start, '00:00:00' );
|
838 |
+
$to_date = sprintf( '%s %s', $week_end, '23:59:59' );
|
839 |
break;
|
840 |
case "last_month":
|
841 |
+
$_date = date( 'Y-m-d', $_time );
|
842 |
+
$last_month = strtotime( $_date . " -1 month" );
|
843 |
$month_start = date( 'Y-m-01', $last_month );
|
844 |
+
$month_end = date( 'Y-m-t', $last_month );
|
845 |
+
|
846 |
+
$from_date = sprintf( '%s %s', $month_start, '00:00:00' );
|
847 |
+
$to_date = sprintf( '%s %s', $month_end, '23:59:59' );
|
848 |
break;
|
849 |
case "last_quarter":
|
850 |
+
$_date = date( 'Y-m-d', $_time );
|
851 |
+
$last_month = strtotime( $_date . " -3 month" );
|
852 |
+
$quarter_start = date( 'Y-' . self::get_quarter_month( $last_month ) . '-01', $last_month );
|
853 |
+
$quarter_end = date( 'Y-' . ( self::get_quarter_month( $last_month ) + 2 ) . '-31', $last_month );
|
854 |
+
|
855 |
+
$from_date = sprintf( '%s %s', $quarter_start, '00:00:00' );
|
856 |
+
$to_date = sprintf( '%s %s', $quarter_end, '23:59:59' );
|
857 |
break;
|
858 |
case "this_year":
|
859 |
+
$year_start = date( 'Y-01-01', $_time );
|
860 |
+
|
861 |
+
$from_date = sprintf( '%s %s', $year_start, '00:00:00' );
|
862 |
break;
|
863 |
case "custom":
|
864 |
+
$export_rule_custom = isset( $settings['export_rule_custom'] ) ? $settings['export_rule_custom'] : '';
|
865 |
+
if ( isset( $export_rule_custom ) AND $export_rule_custom ) {
|
866 |
+
$day_start = date( 'Y-m-d',
|
867 |
+
strtotime( date( 'Y-m-d', $_time ) . ' -' . intval( $export_rule_custom ) . ' days' ) );
|
868 |
+
$day_end = date( 'Y-m-d', $_time );
|
869 |
+
|
870 |
+
$from_date = sprintf( '%s %s', $day_start, '00:00:00' );
|
871 |
+
$to_date = sprintf( '%s %s', $day_end, '23:59:59' );
|
872 |
}
|
873 |
break;
|
874 |
default:
|
875 |
break;
|
876 |
}
|
|
|
877 |
|
878 |
+
if ( isset( $from_date ) AND $from_date ) {
|
879 |
+
if ( $is_for_sql ) {
|
880 |
+
if( $use_timestamps )
|
881 |
+
$from_date = mysql2date( 'U', $from_date );
|
882 |
+
$from_date = sprintf( ">='%s'", $from_date );
|
883 |
+
}
|
884 |
+
$result['from_date'] = $from_date;
|
885 |
}
|
|
|
|
|
|
|
|
|
886 |
|
887 |
+
if ( isset( $to_date ) AND $to_date ) {
|
888 |
+
if ( $is_for_sql ) {
|
889 |
+
if( $use_timestamps )
|
890 |
+
$to_date = mysql2date( 'U', $to_date );
|
891 |
+
$to_date = sprintf( "<='%s'", $to_date );
|
892 |
+
}
|
893 |
+
$result['to_date'] = $to_date;
|
894 |
+
}
|
895 |
+
|
896 |
+
return $result;
|
897 |
}
|
898 |
|
899 |
public static function get_quarter_month( $time ) {
|
915 |
self::$decimal_separator = wc_get_price_decimal_separator();
|
916 |
self::$thousands_separator = apply_filters( 'woe_thousands_separator', '' );
|
917 |
self::$decimals = wc_get_price_decimals();
|
918 |
+
self::$export_subcategories_separator = apply_filters( 'woe_export_subcategories_separator', ">" );
|
919 |
+
self::$export_line_categories_separator = apply_filters( 'woe_export_line_categories_separator', ",\n" );
|
920 |
+
}
|
921 |
+
|
922 |
+
//for debug
|
923 |
+
public static function start_track_queries() {
|
924 |
+
self::$track_sql_queries = true;
|
925 |
+
self::$sql_queries = array();
|
926 |
+
}
|
927 |
+
|
928 |
+
public static function get_sql_queries() {
|
929 |
+
return self::$sql_queries;
|
930 |
}
|
931 |
|
932 |
+
//for csv/excel
|
933 |
public static function get_max_order_items( $type, $ids ) {
|
934 |
global $wpdb;
|
935 |
|
990 |
} else {
|
991 |
$row[ $field ] = '';
|
992 |
}
|
|
|
993 |
if ( isset( $filters_active[ $field ] ) ) {
|
994 |
$row[ $field ] = apply_filters( "woe_get_order_coupon_value_{$field}", $row[ $field ], $order, $item );
|
995 |
$row[ $field ] = apply_filters( "woe_get_order_coupon_{$format}_value_{$field}", $row[ $field ], $order, $item );
|
1088 |
$row[ $field ] = ""; // unknown class
|
1089 |
} elseif ( $field == 'line_total_plus_tax' ) {
|
1090 |
$row[ $field ] = $item_meta["_line_total"][0] + $item_meta["_line_tax"][0];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1091 |
} elseif ( $field == 'name' ) {
|
1092 |
$row['name'] = $item["name"];
|
1093 |
} elseif ( $field == 'product_variation' ) {
|
1159 |
}
|
1160 |
$row[ $field ] = ($subtotal_amount>0) ? round( 100*$subtotal_tax/$subtotal_amount, 2) : 0;
|
1161 |
} elseif ( $field == 'product_url' ) {
|
1162 |
+
$row[ $field ] = get_permalink( $product_id );
|
1163 |
+
} elseif ( $field == 'sku' ) {
|
1164 |
+
$row[ $field ] = method_exists($product,'get_'.$field) ? $product->{'get_'.$field}() : get_post_meta( $product_id, '_' . $field, true );
|
1165 |
} elseif ( $field == 'download_url' ) {
|
1166 |
$row[ $field ] = '';
|
1167 |
if ( $product AND $product->is_downloadable() ) {
|
1174 |
$row[ $field ] = implode( "\n", $links );
|
1175 |
}
|
1176 |
} elseif ( $field == 'image_url' ) {
|
1177 |
+
$row[ $field ] = ( is_object( $product ) AND $product->get_image_id() ) ? current( wp_get_attachment_image_src( $product->get_image_id(),
|
1178 |
+
'full' ) ) : ''; // make full url
|
1179 |
+
} elseif ( $field == 'full_category_names' ) {
|
1180 |
+
$row[ $field ] = self::get_product_category_full( $product );
|
1181 |
} elseif ( isset( $static_vals[ $field ] ) ) {
|
1182 |
$row[ $field ] = $static_vals[ $field ];
|
1183 |
+
} elseif ( isset( $item_meta[ $field ] ) ) { //meta from order
|
1184 |
+
$row[ $field ] = $item_meta[ $field ][0];
|
1185 |
+
} elseif ( isset( $item_meta[ "_" . $field ] ) ) {// or hidden field
|
1186 |
+
$row[ $field ] = $item_meta[ "_" . $field ][0];
|
1187 |
+
} elseif ( isset( $item['item_meta'][ $field ] ) ) { // meta from item line
|
1188 |
+
$row[ $field ] = $item['item_meta'][ $field ][0];
|
1189 |
+
} elseif ( isset( $item['item_meta'][ "_" . $field ] ) ) { // or hidden field
|
1190 |
+
$row[ $field ] = $item['item_meta'][ "_" . $field ][0];
|
1191 |
} else {
|
1192 |
$row[ $field ] = '';
|
1193 |
if( !empty( $item['variation_id'] ) )
|
1219 |
return apply_filters( "woe_fetch_order_products", $products, $order, $labels, $format, $static_vals );
|
1220 |
}
|
1221 |
|
1222 |
+
public static function get_product_category_full( $product ) {
|
1223 |
+
$full_names = array();
|
1224 |
+
if ( ! $product ) {
|
1225 |
+
return '';
|
1226 |
+
}
|
1227 |
+
$prod_terms = get_the_terms( $product->get_id(), 'product_cat' );
|
1228 |
+
if ( ! $prod_terms ) {
|
1229 |
+
return '';
|
1230 |
+
}
|
1231 |
+
|
1232 |
+
foreach ( $prod_terms as $prod_term ) {
|
1233 |
+
$parts = array( $prod_term->name );
|
1234 |
+
$product_parent_categories_all_hierachy = get_ancestors( $prod_term->term_id, 'product_cat' );
|
1235 |
+
foreach ( $product_parent_categories_all_hierachy as $id ) {
|
1236 |
+
$parent = get_term( $id );
|
1237 |
+
$parts[] = $parent->name;
|
1238 |
+
}
|
1239 |
+
$full_names[] = join( self::$export_subcategories_separator, array_reverse( $parts ) );
|
1240 |
+
}
|
1241 |
+
|
1242 |
+
return join( self::$export_line_categories_separator, $full_names );
|
1243 |
+
}
|
1244 |
+
|
1245 |
public static function get_order_item_taxes_refund($order, $item_id) {
|
1246 |
$tax_refund = 0;
|
1247 |
$order_taxes = $order->get_taxes();
|
1358 |
$row['order_number'] = $parent_order ? $parent_order->get_order_number() : $order->get_order_number(); // use parent order number
|
1359 |
} elseif ( $field == 'order_subtotal' ) {
|
1360 |
$row['order_subtotal'] = wc_format_decimal( $order->get_subtotal(), 2);
|
1361 |
+
} elseif ( $field == 'order_subtotal_minus_discount' ) {
|
1362 |
+
$row[ $field ] = $order->get_subtotal() - $order->get_total_discount();
|
1363 |
} elseif ( $field == 'order_subtotal_refunded' ) {
|
1364 |
$row['order_subtotal_refunded'] = wc_format_decimal( self::get_order_subtotal_refunded($order), 2);
|
1365 |
} elseif ( $field == 'order_subtotal_minus_refund' ) {
|
1531 |
}
|
1532 |
|
1533 |
// Must fill child cells?
|
1534 |
+
if ( empty($options['item_rows_start_from_new_line']) AND !empty($options['populate_other_columns_product_rows']) AND $extra_rows ) {
|
1535 |
foreach ( $extra_rows as $idx=> $extra_row ) {
|
1536 |
foreach ( $row as $key=> $val ) {
|
1537 |
if ( in_array( $key, $order_fields) )
|
1558 |
return apply_filters("woe_fetch_order_data",$extra_rows);
|
1559 |
}
|
1560 |
|
1561 |
+
public static function get_city_state_postcode_field_value( $order, $type ) {
|
1562 |
if ( $type != 'shipping' && $type != 'billing') {
|
1563 |
return null;
|
1564 |
}
|
1715 |
* @return array
|
1716 |
*/
|
1717 |
public static function get_shipping_methods() {
|
1718 |
+
global $wpdb;
|
1719 |
+
|
1720 |
+
$shipping_methods = array();
|
1721 |
+
|
1722 |
+
// get raw names
|
1723 |
+
$raw_methods = $wpdb->get_col( "SELECT DISTINCT order_item_name FROM {$wpdb->prefix}woocommerce_order_items WHERE order_item_type='shipping' ORDER BY order_item_name" );
|
1724 |
+
foreach($raw_methods as $method)
|
1725 |
+
$shipping_methods[ 'order_item_name:' . $method ] = $method;
|
1726 |
+
|
1727 |
+
// try get methods for zones
|
1728 |
if( !class_exists("WC_Shipping_Zone") )
|
1729 |
+
return $shipping_methods;
|
1730 |
|
1731 |
if( !method_exists("WC_Shipping_Zone", "get_shipping_methods") )
|
1732 |
+
return $shipping_methods;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1733 |
|
1734 |
foreach ( WC_Shipping_Zones::get_zones() as $zone ) {
|
1735 |
$methods = $zone['shipping_methods'];
|
1738 |
$shipping_methods[ $method->get_rate_id() ] = '[' . $zone['zone_name'] . '] ' . $method->get_title();
|
1739 |
}
|
1740 |
}
|
1741 |
+
|
1742 |
+
$zone = new WC_Shipping_Zone( 0 );
|
1743 |
+
$methods = $zone->get_shipping_methods();
|
1744 |
+
/** @var WC_Shipping_Method $method */
|
1745 |
+
foreach ( $methods as $method ) {
|
1746 |
+
$shipping_methods[ $method->get_rate_id() ] = __('[Rest of the World]', 'woo-order-export-lite' ) .' '. $method->get_title();
|
1747 |
+
}
|
1748 |
+
|
1749 |
return $shipping_methods;
|
1750 |
}
|
1751 |
|
classes/core/class-wc-order-export-engine.php
CHANGED
@@ -14,7 +14,7 @@ class WC_Order_Export_Engine {
|
|
14 |
//
|
15 |
public static function export( $settings, $filepath ) {
|
16 |
if( empty($settings['destination']['type']) ) {
|
17 |
-
return __( "No
|
18 |
}
|
19 |
|
20 |
if( !is_array( $settings[ 'destination' ][ 'type' ] ) ) {
|
@@ -51,6 +51,9 @@ class WC_Order_Export_Engine {
|
|
51 |
$mask = implode( '.', $mask_parts );
|
52 |
}
|
53 |
$time = apply_filters( 'woe_make_filename_current_time', current_time( 'timestamp' ) );
|
|
|
|
|
|
|
54 |
$subst = apply_filters( 'woe_make_filename_replacements', array(
|
55 |
'%d' => date( 'd',$time ),
|
56 |
'%m' => date( 'm',$time ),
|
@@ -61,6 +64,8 @@ class WC_Order_Export_Engine {
|
|
61 |
'%order_id' => self::$order_id,
|
62 |
'%orderid' => self::$order_id,
|
63 |
'%id' => self::$order_id,
|
|
|
|
|
64 |
) );
|
65 |
|
66 |
return apply_filters( 'woe_make_filename', strtr( $mask, $subst ) );
|
@@ -268,6 +273,25 @@ class WC_Order_Export_Engine {
|
|
268 |
$options['export_all_comments'] = $settings['export_all_comments'];
|
269 |
$options['export_refund_notes'] = $settings['export_refund_notes'];
|
270 |
$options['format_number_fields'] = $settings['format_number_fields'];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
271 |
$options['strip_tags_product_fields'] = !empty($settings['strip_tags_product_fields']);
|
272 |
|
273 |
return $options;
|
@@ -315,7 +339,7 @@ class WC_Order_Export_Engine {
|
|
315 |
|
316 |
private static function try_mark_order( $order_id, $settings ) {
|
317 |
if ( $settings[ 'mark_exported_orders' ] ) {
|
318 |
-
update_post_meta( $order_id, 'woe_order_exported',
|
319 |
}
|
320 |
}
|
321 |
|
@@ -342,7 +366,6 @@ class WC_Order_Export_Engine {
|
|
342 |
$filename = ( ! empty( $filename ) ? $filename : self::tempnam( sys_get_temp_dir(), $settings['format'] ) );
|
343 |
}
|
344 |
|
345 |
-
|
346 |
if ( $make_mode !== 'estimate' )
|
347 |
$formater = self::init_formater( $make_mode, $settings, $filename, $labels, $static_vals );
|
348 |
$format = strtolower( $settings['format'] );
|
@@ -353,6 +376,10 @@ class WC_Order_Export_Engine {
|
|
353 |
return $filename;
|
354 |
}
|
355 |
|
|
|
|
|
|
|
|
|
356 |
//get IDs
|
357 |
$sql = WC_Order_Export_Data_Extractor::sql_get_order_ids( $settings );
|
358 |
if ( $make_mode == 'estimate' ) { //if estimate return total count
|
@@ -400,7 +427,7 @@ class WC_Order_Export_Engine {
|
|
400 |
$rows = WC_Order_Export_Data_Extractor::fetch_order_data( $order_id, $labels, $format, $filters_active,
|
401 |
$csv_max, $export, $get_coupon_meta, $static_vals, self::$extractor_options );
|
402 |
foreach ( $rows as $row ) {
|
403 |
-
$row=apply_filters( "woe_fetch_order_row", $row, $order_id);
|
404 |
if ($row) {
|
405 |
$formater->output( $row );
|
406 |
do_action( "woe_order_row_exported", $row, $order_id);
|
@@ -419,9 +446,20 @@ class WC_Order_Export_Engine {
|
|
419 |
$formater->finish_partial();
|
420 |
elseif ( $make_mode == 'preview') {
|
421 |
self::maybe_output_summary_report( $formater );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
422 |
$formater->finish();
|
423 |
}
|
424 |
|
|
|
425 |
return $filename;
|
426 |
}
|
427 |
|
@@ -494,6 +532,7 @@ class WC_Order_Export_Engine {
|
|
494 |
self::maybe_output_summary_report( $formater );
|
495 |
$formater->finish();
|
496 |
|
|
|
497 |
return $filename;
|
498 |
}
|
499 |
|
@@ -573,7 +612,8 @@ class WC_Order_Export_Engine {
|
|
573 |
}
|
574 |
self::$order_id = '';
|
575 |
}
|
576 |
-
|
|
|
577 |
return $result; //return last result
|
578 |
}
|
579 |
|
14 |
//
|
15 |
public static function export( $settings, $filepath ) {
|
16 |
if( empty($settings['destination']['type']) ) {
|
17 |
+
return __( "No destination selected", 'woo-order-export-lite' );
|
18 |
}
|
19 |
|
20 |
if( !is_array( $settings[ 'destination' ][ 'type' ] ) ) {
|
51 |
$mask = implode( '.', $mask_parts );
|
52 |
}
|
53 |
$time = apply_filters( 'woe_make_filename_current_time', current_time( 'timestamp' ) );
|
54 |
+
|
55 |
+
$date = WC_Order_Export_Data_Extractor::get_date_range( self::$current_job_settings, false );
|
56 |
+
|
57 |
$subst = apply_filters( 'woe_make_filename_replacements', array(
|
58 |
'%d' => date( 'd',$time ),
|
59 |
'%m' => date( 'm',$time ),
|
64 |
'%order_id' => self::$order_id,
|
65 |
'%orderid' => self::$order_id,
|
66 |
'%id' => self::$order_id,
|
67 |
+
'{from_date}' => isset( $date['from_date'] ) ? date( "Y-m-d", strtotime( $date['from_date'] ) ) : '',
|
68 |
+
'{to_date}' => isset( $date['to_date'] ) ? date( "Y-m-d", strtotime( $date['to_date'] ) ) : '',
|
69 |
) );
|
70 |
|
71 |
return apply_filters( 'woe_make_filename', strtr( $mask, $subst ) );
|
273 |
$options['export_all_comments'] = $settings['export_all_comments'];
|
274 |
$options['export_refund_notes'] = $settings['export_refund_notes'];
|
275 |
$options['format_number_fields'] = $settings['format_number_fields'];
|
276 |
+
|
277 |
+
if ( $settings['enable_debug'] AND ! ini_get( 'display_errors' ) ) {
|
278 |
+
ini_set( 'display_errors', 1 );
|
279 |
+
$old_error_reporting = error_reporting( E_ALL );
|
280 |
+
add_action( 'woe_export_finished', function () use ( $old_error_reporting ) {
|
281 |
+
ini_set( 'display_errors', 0 );
|
282 |
+
error_reporting( $old_error_reporting );
|
283 |
+
} );
|
284 |
+
}
|
285 |
+
|
286 |
+
if ( $settings['cleanup_phone'] ) {
|
287 |
+
foreach ( array( "billing_phone", "USER_billing_phone" ) as $field ) {
|
288 |
+
add_filter( 'woe_get_order_value_' . $field, function ( $value, $order, $fieldname ) {
|
289 |
+
$value = preg_replace( "#[^\d]+#", "", $value );
|
290 |
+
return $value;
|
291 |
+
}, 10, 3 );
|
292 |
+
}
|
293 |
+
}
|
294 |
+
|
295 |
$options['strip_tags_product_fields'] = !empty($settings['strip_tags_product_fields']);
|
296 |
|
297 |
return $options;
|
339 |
|
340 |
private static function try_mark_order( $order_id, $settings ) {
|
341 |
if ( $settings[ 'mark_exported_orders' ] ) {
|
342 |
+
update_post_meta( $order_id, 'woe_order_exported', current_time('timestamp') );
|
343 |
}
|
344 |
}
|
345 |
|
366 |
$filename = ( ! empty( $filename ) ? $filename : self::tempnam( sys_get_temp_dir(), $settings['format'] ) );
|
367 |
}
|
368 |
|
|
|
369 |
if ( $make_mode !== 'estimate' )
|
370 |
$formater = self::init_formater( $make_mode, $settings, $filename, $labels, $static_vals );
|
371 |
$format = strtolower( $settings['format'] );
|
376 |
return $filename;
|
377 |
}
|
378 |
|
379 |
+
//debug sql!
|
380 |
+
if ( $make_mode == 'preview' AND $settings['enable_debug'] )
|
381 |
+
WC_Order_Export_Data_Extractor::start_track_queries( );
|
382 |
+
|
383 |
//get IDs
|
384 |
$sql = WC_Order_Export_Data_Extractor::sql_get_order_ids( $settings );
|
385 |
if ( $make_mode == 'estimate' ) { //if estimate return total count
|
427 |
$rows = WC_Order_Export_Data_Extractor::fetch_order_data( $order_id, $labels, $format, $filters_active,
|
428 |
$csv_max, $export, $get_coupon_meta, $static_vals, self::$extractor_options );
|
429 |
foreach ( $rows as $row ) {
|
430 |
+
$row = apply_filters( "woe_fetch_order_row", $row, $order_id);
|
431 |
if ($row) {
|
432 |
$formater->output( $row );
|
433 |
do_action( "woe_order_row_exported", $row, $order_id);
|
446 |
$formater->finish_partial();
|
447 |
elseif ( $make_mode == 'preview') {
|
448 |
self::maybe_output_summary_report( $formater );
|
449 |
+
if( $settings['enable_debug'] ) {
|
450 |
+
echo "<b>" . __( 'Main SQL queries are listed below', 'woo-order-export-lite' ) . "</b>";
|
451 |
+
echo '<textarea rows=5 style="width:100%">';
|
452 |
+
$s = array();
|
453 |
+
foreach(WC_Order_Export_Data_Extractor::get_sql_queries() as $sql) {
|
454 |
+
$s[] = preg_replace("#\s+#"," ",$sql);
|
455 |
+
}
|
456 |
+
echo join("\n\n", $s);
|
457 |
+
echo '</textarea>';
|
458 |
+
}
|
459 |
$formater->finish();
|
460 |
}
|
461 |
|
462 |
+
// no action woe_export_finished here!
|
463 |
return $filename;
|
464 |
}
|
465 |
|
532 |
self::maybe_output_summary_report( $formater );
|
533 |
$formater->finish();
|
534 |
|
535 |
+
do_action( 'woe_export_finished');
|
536 |
return $filename;
|
537 |
}
|
538 |
|
612 |
}
|
613 |
self::$order_id = '';
|
614 |
}
|
615 |
+
|
616 |
+
do_action( 'woe_export_finished');
|
617 |
return $result; //return last result
|
618 |
}
|
619 |
|
classes/formats/abstract-class-woe-formatter.php
CHANGED
@@ -13,6 +13,7 @@ abstract class WOE_Formatter {
|
|
13 |
var $field_formats;
|
14 |
var $date_format;
|
15 |
var $auto_format_dates = true;
|
|
|
16 |
|
17 |
public function __construct( $mode, $filename, $settings, $format, $labels, $field_formats, $date_format ) {
|
18 |
$this->has_output_filter = has_filter( "woe_{$format}_output_filter" );
|
@@ -32,6 +33,16 @@ abstract class WOE_Formatter {
|
|
32 |
$this->string_format_fields = apply_filters( "woe_{$format}_string_format_fields", $field_formats['string'] );
|
33 |
$this->date_format_fields = apply_filters( "woe_{$format}_date_format_fields", $field_formats['date'] );
|
34 |
$this->date_format = apply_filters( "woe_{$format}_date_format", $date_format );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
}
|
36 |
|
37 |
public function start( $data = '' ) {
|
@@ -43,11 +54,16 @@ abstract class WOE_Formatter {
|
|
43 |
$this->handle = apply_filters( "woe_formatter_set_handler_for_" . $this->format . "_row", $this->handle );
|
44 |
if( $this->auto_format_dates )
|
45 |
$rec = $this->format_dates( $rec );
|
|
|
|
|
|
|
|
|
46 |
return $rec;
|
47 |
}
|
48 |
|
49 |
public function finish() {
|
50 |
fclose( $this->handle );
|
|
|
51 |
do_action("woe_formatter_finish", $this);
|
52 |
do_action("woe_formatter_" .$this->format. "_finished", $this);
|
53 |
}
|
@@ -81,4 +97,28 @@ abstract class WOE_Formatter {
|
|
81 |
}
|
82 |
return $rec;
|
83 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
84 |
}
|
13 |
var $field_formats;
|
14 |
var $date_format;
|
15 |
var $auto_format_dates = true;
|
16 |
+
var $counter_value;
|
17 |
|
18 |
public function __construct( $mode, $filename, $settings, $format, $labels, $field_formats, $date_format ) {
|
19 |
$this->has_output_filter = has_filter( "woe_{$format}_output_filter" );
|
33 |
$this->string_format_fields = apply_filters( "woe_{$format}_string_format_fields", $field_formats['string'] );
|
34 |
$this->date_format_fields = apply_filters( "woe_{$format}_date_format_fields", $field_formats['date'] );
|
35 |
$this->date_format = apply_filters( "woe_{$format}_date_format", $date_format );
|
36 |
+
|
37 |
+
$this->counter_value = $this->get_counter();
|
38 |
+
if ( !$this->counter_value ) {
|
39 |
+
$this->counter_value = 1;
|
40 |
+
$this->set_counter( $this->counter_value );
|
41 |
+
}
|
42 |
+
}
|
43 |
+
|
44 |
+
function __destruct() {
|
45 |
+
$this->set_counter( $this->counter_value );
|
46 |
}
|
47 |
|
48 |
public function start( $data = '' ) {
|
54 |
$this->handle = apply_filters( "woe_formatter_set_handler_for_" . $this->format . "_row", $this->handle );
|
55 |
if( $this->auto_format_dates )
|
56 |
$rec = $this->format_dates( $rec );
|
57 |
+
if ( isset( $rec['line_number'] ) ) {
|
58 |
+
$rec['line_number'] = $this->counter_value;
|
59 |
+
$this->counter_value++;
|
60 |
+
}
|
61 |
return $rec;
|
62 |
}
|
63 |
|
64 |
public function finish() {
|
65 |
fclose( $this->handle );
|
66 |
+
$this->delete_counter();
|
67 |
do_action("woe_formatter_finish", $this);
|
68 |
do_action("woe_formatter_" .$this->format. "_finished", $this);
|
69 |
}
|
97 |
}
|
98 |
return $rec;
|
99 |
}
|
100 |
+
|
101 |
+
|
102 |
+
protected function generate_key() {
|
103 |
+
return $this->mode . '+' . $this->filename;
|
104 |
+
}
|
105 |
+
|
106 |
+
protected function delete_counter() {
|
107 |
+
delete_transient( $this->generate_key() );
|
108 |
+
}
|
109 |
+
|
110 |
+
protected function set_counter( $count_value ) {
|
111 |
+
$this->counter_value = $count_value;
|
112 |
+
if ( $this->mode != 'preview' ) {
|
113 |
+
set_transient( $this->generate_key(), $count_value );
|
114 |
+
}
|
115 |
+
}
|
116 |
+
|
117 |
+
protected function get_counter() {
|
118 |
+
if ( $this->mode == 'preview' ) {
|
119 |
+
return false;
|
120 |
+
} else {
|
121 |
+
return get_transient( $this->generate_key() );
|
122 |
+
}
|
123 |
+
}
|
124 |
}
|
classes/formats/class-woe-formatter-json.php
CHANGED
@@ -19,7 +19,8 @@ class WOE_Formatter_Json extends WOE_Formatter {
|
|
19 |
if ( $this->prev_added ) {
|
20 |
fwrite( $this->handle, "," );
|
21 |
}
|
22 |
-
|
|
|
23 |
|
24 |
//rename fields in array
|
25 |
$rec_out = array();
|
@@ -67,8 +68,10 @@ class WOE_Formatter_Json extends WOE_Formatter {
|
|
67 |
}
|
68 |
|
69 |
public function finish( $data = '' ) {
|
70 |
-
|
|
|
71 |
|
|
|
72 |
fwrite( $this->handle, apply_filters( "woe_json_end_text", $end_text) );
|
73 |
parent::finish();
|
74 |
}
|
19 |
if ( $this->prev_added ) {
|
20 |
fwrite( $this->handle, "," );
|
21 |
}
|
22 |
+
if ( $this->mode == 'preview' )
|
23 |
+
fwrite( $this->handle, "\n" );
|
24 |
|
25 |
//rename fields in array
|
26 |
$rec_out = array();
|
68 |
}
|
69 |
|
70 |
public function finish( $data = '' ) {
|
71 |
+
if ( $this->mode == 'preview' )
|
72 |
+
fwrite( $this->handle, "\n" );
|
73 |
|
74 |
+
$end_text = $this->convert_literals( $this->settings[ 'end_tag' ] );
|
75 |
fwrite( $this->handle, apply_filters( "woe_json_end_text", $end_text) );
|
76 |
parent::finish();
|
77 |
}
|
classes/formats/class-woe-formatter-xls.php
CHANGED
@@ -101,7 +101,7 @@ class WOE_Formatter_Xls extends WOE_Formatter {
|
|
101 |
foreach ( $rec as $field => $text ) {
|
102 |
if( $this->string_format_force OR in_array($field, $this->string_format_fields) ) {
|
103 |
$this->objPHPExcel->getActiveSheet()->setCellValueExplicitByColumnAndRow( $pos, $this->last_row, $text );
|
104 |
-
}elseif( in_array($field, $this->date_format_fields) ) {// DATE!
|
105 |
if( $text ) {
|
106 |
if( empty($this->settings['global_job_settings']['time_format']) ) { // must remove time!
|
107 |
$text = date( "Y-m-d", strtotime( $text ) );
|
101 |
foreach ( $rec as $field => $text ) {
|
102 |
if( $this->string_format_force OR in_array($field, $this->string_format_fields) ) {
|
103 |
$this->objPHPExcel->getActiveSheet()->setCellValueExplicitByColumnAndRow( $pos, $this->last_row, $text );
|
104 |
+
} elseif( in_array($field, $this->date_format_fields) ) {// DATE!
|
105 |
if( $text ) {
|
106 |
if( empty($this->settings['global_job_settings']['time_format']) ) { // must remove time!
|
107 |
$text = date( "Y-m-d", strtotime( $text ) );
|
i18n/languages/woo-order-export-lite.pot
CHANGED
@@ -3,688 +3,458 @@ msgid ""
|
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: PACKAGE VERSION\n"
|
5 |
"Report-Msgid-Bugs-To: \n"
|
6 |
-
"POT-Creation-Date: 2018-
|
7 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
8 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
9 |
"Language-Team: \n"
|
10 |
"Language: \n"
|
11 |
-
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION
|
12 |
"MIME-Version: 1.0\n"
|
13 |
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
"Content-Transfer-Encoding: 8bit\n"
|
15 |
-
"X-Generator: Loco
|
16 |
|
17 |
-
#: woo-order-export-lite.php:
|
18 |
msgid ""
|
19 |
"Please, <a href=\"plugins.php\">deactivate</a> Free version of Advanced "
|
20 |
-
"Order Export For WooCommerce
|
21 |
msgstr ""
|
22 |
|
23 |
-
#: view/settings-form.php:
|
24 |
-
#: view/settings-form.php:84
|
25 |
-
msgid "Title"
|
26 |
-
msgstr ""
|
27 |
-
|
28 |
-
#: view/settings-form.php:56 view/settings-form.php:64
|
29 |
-
msgid "Empty means \"any status\""
|
30 |
-
msgstr ""
|
31 |
-
|
32 |
-
#: view/settings-form.php:56
|
33 |
-
msgid "From status"
|
34 |
-
msgstr ""
|
35 |
-
|
36 |
-
#: view/settings-form.php:64
|
37 |
-
msgid "To status"
|
38 |
-
msgstr ""
|
39 |
-
|
40 |
-
#: view/settings-form.php:75 view/settings-form.php:192
|
41 |
-
msgid "Log results"
|
42 |
-
msgstr ""
|
43 |
-
|
44 |
-
#: view/settings-form.php:75 view/settings-form.php:192
|
45 |
-
msgid "View logs"
|
46 |
-
msgstr ""
|
47 |
-
|
48 |
-
#: view/settings-form.php:91
|
49 |
-
msgid "Don't send empty file"
|
50 |
-
msgstr ""
|
51 |
-
|
52 |
-
#: view/settings-form.php:97
|
53 |
-
msgid "Schedule"
|
54 |
-
msgstr ""
|
55 |
-
|
56 |
-
#: view/settings-form.php:109
|
57 |
-
msgid "Run at"
|
58 |
-
msgstr ""
|
59 |
-
|
60 |
-
#: view/settings-form.php:134
|
61 |
-
msgid "Choose"
|
62 |
-
msgstr ""
|
63 |
-
|
64 |
-
#: view/settings-form.php:135
|
65 |
-
msgid "Custom"
|
66 |
-
msgstr ""
|
67 |
-
|
68 |
-
#: view/settings-form.php:144
|
69 |
-
msgid "On the 1st day of the month"
|
70 |
-
msgstr ""
|
71 |
-
|
72 |
-
#: view/settings-form.php:145
|
73 |
-
msgid "On the 1st day of the quarter"
|
74 |
-
msgstr ""
|
75 |
-
|
76 |
-
#: view/settings-form.php:148
|
77 |
-
msgid "interval (min)"
|
78 |
-
msgstr ""
|
79 |
-
|
80 |
-
#: view/settings-form.php:185
|
81 |
-
msgid "Add"
|
82 |
-
msgstr ""
|
83 |
-
|
84 |
-
#: view/settings-form.php:200
|
85 |
-
msgid "Export date range"
|
86 |
-
msgstr ""
|
87 |
-
|
88 |
-
#: view/settings-form.php:204
|
89 |
-
msgid "Since last run of this job"
|
90 |
-
msgstr ""
|
91 |
-
|
92 |
-
#: view/settings-form.php:209
|
93 |
-
msgid "Today"
|
94 |
-
msgstr ""
|
95 |
-
|
96 |
-
#: view/settings-form.php:214
|
97 |
-
msgid "Yesterday"
|
98 |
-
msgstr ""
|
99 |
-
|
100 |
-
#: view/settings-form.php:219
|
101 |
-
msgid "Current week"
|
102 |
-
msgstr ""
|
103 |
-
|
104 |
-
#: view/settings-form.php:224
|
105 |
-
msgid "Current month"
|
106 |
-
msgstr ""
|
107 |
-
|
108 |
-
#: view/settings-form.php:229
|
109 |
-
msgid "Last week"
|
110 |
-
msgstr ""
|
111 |
-
|
112 |
-
#: view/settings-form.php:234
|
113 |
-
msgid "Last month"
|
114 |
-
msgstr ""
|
115 |
-
|
116 |
-
#: view/settings-form.php:239
|
117 |
-
msgid "Last quarter"
|
118 |
-
msgstr ""
|
119 |
-
|
120 |
-
#: view/settings-form.php:244
|
121 |
-
msgid "This year"
|
122 |
-
msgstr ""
|
123 |
-
|
124 |
-
#: view/settings-form.php:253
|
125 |
-
#, php-format
|
126 |
-
msgid "Last %s days"
|
127 |
-
msgstr ""
|
128 |
-
|
129 |
-
#: view/settings-form.php:264
|
130 |
msgid "Filter orders by"
|
131 |
msgstr ""
|
132 |
|
133 |
-
#: view/settings-form.php:
|
134 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
135 |
msgid "Order Date"
|
136 |
msgstr ""
|
137 |
|
138 |
-
#: view/settings-form.php:
|
139 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
140 |
msgid "Modification Date"
|
141 |
msgstr ""
|
142 |
|
143 |
-
#: view/settings-form.php:
|
144 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
145 |
msgid "Paid Date"
|
146 |
msgstr ""
|
147 |
|
148 |
-
#: view/settings-form.php:
|
149 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
150 |
msgid "Completed Date"
|
151 |
msgstr ""
|
152 |
|
153 |
-
#: view/settings-form.php:
|
154 |
msgid "This date range should not be saved in the scheduled task"
|
155 |
msgstr ""
|
156 |
|
157 |
-
#: view/settings-form.php:
|
158 |
msgid "Date range"
|
159 |
msgstr ""
|
160 |
|
161 |
-
#: view/settings-form.php:
|
162 |
msgid "to"
|
163 |
msgstr ""
|
164 |
|
165 |
-
#: view/settings-form.php:
|
166 |
msgid "Express export"
|
167 |
msgstr ""
|
168 |
|
169 |
-
#: view/settings-form.php:
|
170 |
msgid "Summary Report By Products"
|
171 |
msgstr ""
|
172 |
|
173 |
-
#: view/settings-form.php:
|
174 |
msgid "Set up fields"
|
175 |
msgstr ""
|
176 |
|
177 |
-
#: view/settings-form.php:
|
178 |
msgid "Export filename"
|
179 |
msgstr ""
|
180 |
|
181 |
-
#: view/settings-form.php:
|
182 |
msgid "Format"
|
183 |
msgstr ""
|
184 |
|
185 |
-
#: view/settings-form.php:
|
186 |
msgid "XLS options"
|
187 |
msgstr ""
|
188 |
|
189 |
-
#: view/settings-form.php:
|
190 |
msgid "Export as .xls (Binary File Format)"
|
191 |
msgstr ""
|
192 |
|
193 |
-
#: view/settings-form.php:
|
194 |
msgid "Use sheet name"
|
195 |
msgstr ""
|
196 |
|
197 |
-
#: view/settings-form.php:
|
198 |
-
#: view/settings-form.php:
|
199 |
msgid "Output column titles as first line"
|
200 |
msgstr ""
|
201 |
|
202 |
-
#: view/settings-form.php:
|
203 |
msgid "Auto column width"
|
204 |
msgstr ""
|
205 |
|
206 |
-
#: view/settings-form.php:
|
207 |
-
#: view/settings-form.php:
|
208 |
msgid "Populate other columns if products exported as rows"
|
209 |
msgstr ""
|
210 |
|
211 |
-
#: view/settings-form.php:
|
212 |
msgid "Right-to-Left direction"
|
213 |
msgstr ""
|
214 |
|
215 |
-
#: view/settings-form.php:
|
216 |
msgid "CSV options"
|
217 |
msgstr ""
|
218 |
|
219 |
-
#: view/settings-form.php:
|
220 |
msgid "Output UTF-8 BOM"
|
221 |
msgstr ""
|
222 |
|
223 |
-
#: view/settings-form.php:
|
224 |
msgid "Convert line breaks to literals"
|
225 |
msgstr ""
|
226 |
|
227 |
-
#: view/settings-form.php:
|
228 |
msgid "Item rows start from new line"
|
229 |
msgstr ""
|
230 |
|
231 |
-
#: view/settings-form.php:
|
232 |
msgid "Enclosure"
|
233 |
msgstr ""
|
234 |
|
235 |
-
#: view/settings-form.php:
|
236 |
msgid "Field Delimiter"
|
237 |
msgstr ""
|
238 |
|
239 |
-
#: view/settings-form.php:
|
240 |
msgid "Line Break"
|
241 |
msgstr ""
|
242 |
|
243 |
-
#: view/settings-form.php:
|
244 |
msgid "Character encoding"
|
245 |
msgstr ""
|
246 |
|
247 |
-
#: view/settings-form.php:
|
248 |
msgid "XML options"
|
249 |
msgstr ""
|
250 |
|
251 |
-
#: view/settings-form.php:
|
252 |
msgid "Prepend XML"
|
253 |
msgstr ""
|
254 |
|
255 |
-
#: view/settings-form.php:
|
256 |
msgid "Root tag"
|
257 |
msgstr ""
|
258 |
|
259 |
-
#: view/settings-form.php:
|
260 |
msgid "Order tag"
|
261 |
msgstr ""
|
262 |
|
263 |
-
#: view/settings-form.php:
|
264 |
msgid "Product tag"
|
265 |
msgstr ""
|
266 |
|
267 |
-
#: view/settings-form.php:
|
268 |
msgid "Coupon tag"
|
269 |
msgstr ""
|
270 |
|
271 |
-
#: view/settings-form.php:
|
272 |
msgid "Append XML"
|
273 |
msgstr ""
|
274 |
|
275 |
-
#: view/settings-form.php:
|
276 |
msgid "Self closing tags"
|
277 |
msgstr ""
|
278 |
|
279 |
-
#: view/settings-form.php:
|
280 |
msgid "JSON options"
|
281 |
msgstr ""
|
282 |
|
283 |
-
#: view/settings-form.php:
|
284 |
msgid "Start tag"
|
285 |
msgstr ""
|
286 |
|
287 |
-
#: view/settings-form.php:
|
288 |
msgid "End tag"
|
289 |
msgstr ""
|
290 |
|
291 |
-
#: view/settings-form.php:
|
292 |
msgid "TSV options"
|
293 |
msgstr ""
|
294 |
|
295 |
-
#: view/settings-form.php:
|
296 |
msgid "Date"
|
297 |
msgstr ""
|
298 |
|
299 |
-
#: view/settings-form.php:
|
300 |
msgid "-"
|
301 |
msgstr ""
|
302 |
|
303 |
-
#: view/settings-form.php:
|
304 |
msgid "custom"
|
305 |
msgstr ""
|
306 |
|
307 |
-
#: view/settings-form.php:
|
308 |
msgid "Time"
|
309 |
msgstr ""
|
310 |
|
311 |
-
#: view/settings-form.php:
|
312 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
313 |
msgid "Order ID"
|
314 |
msgstr ""
|
315 |
|
316 |
-
#: view/settings-form.php:
|
317 |
msgid "Descending"
|
318 |
msgstr ""
|
319 |
|
320 |
-
#: view/settings-form.php:
|
321 |
msgid "Ascending"
|
322 |
msgstr ""
|
323 |
|
324 |
-
#: view/settings-form.php:
|
325 |
#, php-format
|
326 |
msgid "Sort orders by %s in %s order"
|
327 |
msgstr ""
|
328 |
|
329 |
-
#: view/settings-form.php:
|
330 |
msgid "Change order status to"
|
331 |
msgstr ""
|
332 |
|
333 |
-
#: view/settings-form.php:
|
334 |
msgid "- don't modify -"
|
335 |
msgstr ""
|
336 |
|
337 |
-
#: view/settings-form.php:
|
338 |
msgid "Misc settings"
|
339 |
msgstr ""
|
340 |
|
341 |
-
#: view/settings-form.php:
|
342 |
msgid "Format numbers (use WC decimal separator)"
|
343 |
msgstr ""
|
344 |
|
345 |
-
#: view/settings-form.php:
|
346 |
msgid "Export all order notes"
|
347 |
msgstr ""
|
348 |
|
349 |
-
#: view/settings-form.php:
|
350 |
msgid "Export refund notes as Customer Note"
|
351 |
msgstr ""
|
352 |
|
353 |
-
#: view/settings-form.php:
|
354 |
msgid "Strip tags from Product Description/Variation"
|
355 |
msgstr ""
|
356 |
|
357 |
-
#: view/settings-form.php:
|
358 |
-
msgid "
|
359 |
-
msgstr ""
|
360 |
-
|
361 |
-
#: view/settings-form.php:498
|
362 |
-
msgid "Use only unnamed functions!"
|
363 |
-
msgstr ""
|
364 |
-
|
365 |
-
#: view/settings-form.php:507
|
366 |
-
msgid "Destination"
|
367 |
-
msgstr ""
|
368 |
-
|
369 |
-
#: view/settings-form.php:515
|
370 |
-
msgid "Email"
|
371 |
-
msgstr ""
|
372 |
-
|
373 |
-
#: view/settings-form.php:521
|
374 |
-
msgid "FTP"
|
375 |
-
msgstr ""
|
376 |
-
|
377 |
-
#: view/settings-form.php:527
|
378 |
-
msgid "SFTP"
|
379 |
-
msgstr ""
|
380 |
-
|
381 |
-
#: view/settings-form.php:533
|
382 |
-
msgid "HTTP POST"
|
383 |
-
msgstr ""
|
384 |
-
|
385 |
-
#: view/settings-form.php:539
|
386 |
-
msgid "Directory"
|
387 |
-
msgstr ""
|
388 |
-
|
389 |
-
#: view/settings-form.php:544
|
390 |
-
msgid "Email settings"
|
391 |
-
msgstr ""
|
392 |
-
|
393 |
-
#: view/settings-form.php:547
|
394 |
-
msgid "From email"
|
395 |
-
msgstr ""
|
396 |
-
|
397 |
-
#: view/settings-form.php:554
|
398 |
-
msgid "From name"
|
399 |
-
msgstr ""
|
400 |
-
|
401 |
-
#: view/settings-form.php:561
|
402 |
-
msgid "Recipient(s)"
|
403 |
-
msgstr ""
|
404 |
-
|
405 |
-
#: view/settings-form.php:568
|
406 |
-
msgid "CC Recipient(s)"
|
407 |
-
msgstr ""
|
408 |
-
|
409 |
-
#: view/settings-form.php:575
|
410 |
-
msgid "Email subject"
|
411 |
-
msgstr ""
|
412 |
-
|
413 |
-
#: view/settings-form.php:583 view/settings-form.php:592
|
414 |
-
msgid "Email body"
|
415 |
-
msgstr ""
|
416 |
-
|
417 |
-
#: view/settings-form.php:584
|
418 |
-
msgid "Edit email body"
|
419 |
-
msgstr ""
|
420 |
-
|
421 |
-
#: view/settings-form.php:585
|
422 |
-
msgid "Append file contents to email body"
|
423 |
-
msgstr ""
|
424 |
-
|
425 |
-
#: view/settings-form.php:601 view/settings-form.php:656
|
426 |
-
#: view/settings-form.php:699 view/settings-form.php:718
|
427 |
-
#: view/settings-form.php:737
|
428 |
-
msgid "Test"
|
429 |
-
msgstr ""
|
430 |
-
|
431 |
-
#: view/settings-form.php:601 view/settings-form.php:656
|
432 |
-
#: view/settings-form.php:718 view/settings-form.php:737
|
433 |
-
msgid "It sends only last order!"
|
434 |
-
msgstr ""
|
435 |
-
|
436 |
-
#: view/settings-form.php:608
|
437 |
-
msgid "FTP settings"
|
438 |
-
msgstr ""
|
439 |
-
|
440 |
-
#: view/settings-form.php:611 view/settings-form.php:666
|
441 |
-
msgid "Server name"
|
442 |
-
msgstr ""
|
443 |
-
|
444 |
-
#: view/settings-form.php:616 view/settings-form.php:671
|
445 |
-
msgid "Port"
|
446 |
-
msgstr ""
|
447 |
-
|
448 |
-
#: view/settings-form.php:624 view/settings-form.php:679
|
449 |
-
msgid "Username"
|
450 |
-
msgstr ""
|
451 |
-
|
452 |
-
#: view/settings-form.php:629 view/settings-form.php:684
|
453 |
-
msgid "Password"
|
454 |
-
msgstr ""
|
455 |
-
|
456 |
-
#: view/settings-form.php:636 view/settings-form.php:691
|
457 |
-
msgid "Initial path"
|
458 |
-
msgstr ""
|
459 |
-
|
460 |
-
#: view/settings-form.php:644
|
461 |
-
msgid "Passive mode"
|
462 |
msgstr ""
|
463 |
|
464 |
-
#: view/settings-form.php:
|
465 |
-
msgid "
|
466 |
-
msgstr ""
|
467 |
-
|
468 |
-
#: view/settings-form.php:663
|
469 |
-
msgid "SFTP settings"
|
470 |
-
msgstr ""
|
471 |
-
|
472 |
-
#: view/settings-form.php:706
|
473 |
-
msgid "HTTP POST settings"
|
474 |
-
msgstr ""
|
475 |
-
|
476 |
-
#: view/settings-form.php:710
|
477 |
-
msgid "URL"
|
478 |
-
msgstr ""
|
479 |
-
|
480 |
-
#: view/settings-form.php:725
|
481 |
-
msgid "Directory settings"
|
482 |
-
msgstr ""
|
483 |
-
|
484 |
-
#: view/settings-form.php:729
|
485 |
-
msgid "Path"
|
486 |
msgstr ""
|
487 |
|
488 |
-
#: view/settings-form.php:
|
489 |
-
msgid "
|
490 |
msgstr ""
|
491 |
|
492 |
-
#: view/settings-form.php:
|
493 |
-
msgid "
|
494 |
msgstr ""
|
495 |
|
496 |
-
#: view/settings-form.php:
|
497 |
msgid "Filter by order"
|
498 |
msgstr ""
|
499 |
|
500 |
-
#: view/settings-form.php:
|
501 |
msgid "Don't export child orders"
|
502 |
msgstr ""
|
503 |
|
504 |
-
#: view/settings-form.php:
|
505 |
msgid "Export refunds"
|
506 |
msgstr ""
|
507 |
|
508 |
-
#: view/settings-form.php:
|
509 |
msgid "Mark exported orders"
|
510 |
msgstr ""
|
511 |
|
512 |
-
#: view/settings-form.php:
|
513 |
msgid "Export unmarked orders only"
|
514 |
msgstr ""
|
515 |
|
516 |
-
#: view/settings-form.php:
|
517 |
msgid "Order statuses"
|
518 |
msgstr ""
|
519 |
|
520 |
-
#: view/settings-form.php:
|
521 |
msgid "Custom fields"
|
522 |
msgstr ""
|
523 |
|
524 |
-
#: view/settings-form.php:
|
525 |
msgid ""
|
526 |
"The filters won't work correctly.<br>Another plugin(or theme) has loaded "
|
527 |
"outdated Select2.js"
|
528 |
msgstr ""
|
529 |
|
530 |
-
#: view/settings-form.php:
|
531 |
msgid "Filter by product"
|
532 |
msgstr ""
|
533 |
|
534 |
-
#: view/settings-form.php:
|
535 |
msgid "Export all products from a order"
|
536 |
msgstr ""
|
537 |
|
538 |
-
#: view/settings-form.php:
|
539 |
msgid "Skip fully refunded items"
|
540 |
msgstr ""
|
541 |
|
542 |
-
#: view/settings-form.php:
|
543 |
msgid "Product categories"
|
544 |
msgstr ""
|
545 |
|
546 |
-
#: view/settings-form.php:
|
547 |
msgid "Vendor/creator"
|
548 |
msgstr ""
|
549 |
|
550 |
-
#: view/settings-form.php:
|
551 |
msgid "Product"
|
552 |
msgstr ""
|
553 |
|
554 |
-
#: view/settings-form.php:
|
555 |
msgid "Product taxonomies"
|
556 |
msgstr ""
|
557 |
|
558 |
-
#: view/settings-form.php:
|
559 |
msgid "Product custom fields"
|
560 |
msgstr ""
|
561 |
|
562 |
-
#: view/settings-form.php:
|
563 |
msgid "Variable product attributes"
|
564 |
msgstr ""
|
565 |
|
566 |
-
#: view/settings-form.php:
|
567 |
msgid "Item meta data"
|
568 |
msgstr ""
|
569 |
|
570 |
-
#: view/settings-form.php:
|
571 |
msgid "Filter by customers"
|
572 |
msgstr ""
|
573 |
|
574 |
-
#: view/settings-form.php:
|
575 |
msgid "User roles"
|
576 |
msgstr ""
|
577 |
|
578 |
-
#: view/settings-form.php:
|
579 |
msgid "Usernames"
|
580 |
msgstr ""
|
581 |
|
582 |
-
#: view/settings-form.php:
|
583 |
msgid "Filter by coupons"
|
584 |
msgstr ""
|
585 |
|
586 |
-
#: view/settings-form.php:
|
587 |
msgid "Any coupon used"
|
588 |
msgstr ""
|
589 |
|
590 |
-
#: view/settings-form.php:
|
591 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
592 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
593 |
msgid "Coupons"
|
594 |
msgstr ""
|
595 |
|
596 |
-
#: view/settings-form.php:
|
597 |
msgid "Filter by billing"
|
598 |
msgstr ""
|
599 |
|
600 |
-
#: view/settings-form.php:
|
601 |
msgid "Billing locations"
|
602 |
msgstr ""
|
603 |
|
604 |
-
#: view/settings-form.php:
|
605 |
msgid "Payment methods"
|
606 |
msgstr ""
|
607 |
|
608 |
-
#: view/settings-form.php:
|
609 |
msgid "Filter by shipping"
|
610 |
msgstr ""
|
611 |
|
612 |
-
#: view/settings-form.php:
|
613 |
msgid "Shipping locations"
|
614 |
msgstr ""
|
615 |
|
616 |
-
#: view/settings-form.php:
|
617 |
msgid "Shipping methods"
|
618 |
msgstr ""
|
619 |
|
620 |
-
#: view/settings-form.php:
|
621 |
msgid "Set up fields to export"
|
622 |
msgstr ""
|
623 |
|
624 |
-
#: view/settings-form.php:
|
625 |
-
#: view/modal-controls.php:34
|
626 |
msgid "Meta key"
|
627 |
msgstr ""
|
628 |
|
629 |
-
#: view/settings-form.php:
|
630 |
-
#: view/modal-controls.php:
|
631 |
-
#: view/modal-controls.php:
|
632 |
msgid "Column name"
|
633 |
msgstr ""
|
634 |
|
635 |
-
#: view/settings-form.php:
|
636 |
msgid "or type meta key here"
|
637 |
msgstr ""
|
638 |
|
639 |
-
#: view/settings-form.php:
|
640 |
-
#: view/modal-controls.php:
|
641 |
msgid "Hide unused fields"
|
642 |
msgstr ""
|
643 |
|
644 |
-
#: view/settings-form.php:
|
645 |
msgid "Confirm"
|
646 |
msgstr ""
|
647 |
|
648 |
-
#: view/settings-form.php:
|
649 |
msgid "Cancel"
|
650 |
msgstr ""
|
651 |
|
652 |
-
#: view/settings-form.php:
|
653 |
-
#: view/modal-controls.php:
|
654 |
msgid "Value"
|
655 |
msgstr ""
|
656 |
|
657 |
-
#: view/settings-form.php:
|
658 |
msgid "Use sections"
|
659 |
msgstr ""
|
660 |
|
661 |
-
#: view/settings-form.php:
|
662 |
msgid "Actions"
|
663 |
msgstr ""
|
664 |
|
665 |
-
#: view/settings-form.php:
|
666 |
-
#: view/modal-controls.php:
|
667 |
msgid "Add field"
|
668 |
msgstr ""
|
669 |
|
670 |
-
#: view/settings-form.php:
|
671 |
-
#: view/modal-controls.php:
|
672 |
msgid "Add static field"
|
673 |
msgstr ""
|
674 |
|
675 |
-
#: view/settings-form.php:
|
676 |
msgid "Show unused fields"
|
677 |
msgstr ""
|
678 |
|
679 |
-
#: view/settings-form.php:
|
680 |
msgid "Select all"
|
681 |
msgstr ""
|
682 |
|
683 |
-
#: view/settings-form.php:
|
684 |
msgid "Drag rows to reorder exported fields"
|
685 |
msgstr ""
|
686 |
|
687 |
-
#: view/settings-form.php:
|
688 |
#, php-format
|
689 |
msgid ""
|
690 |
"If you see this message after page load, user interface won't work correctly!"
|
@@ -692,52 +462,52 @@ msgid ""
|
|
692 |
"it). Probably, it's a conflict with another plugin or active theme."
|
693 |
msgstr ""
|
694 |
|
695 |
-
#: view/settings-form.php:
|
696 |
msgid "Preview"
|
697 |
msgstr ""
|
698 |
|
699 |
-
#: view/settings-form.php:
|
700 |
msgid "Might be different from actual export!"
|
701 |
msgstr ""
|
702 |
|
703 |
-
#: view/settings-form.php:
|
704 |
msgid "Save settings"
|
705 |
msgstr ""
|
706 |
|
707 |
-
#: view/settings-form.php:
|
708 |
msgid "Export"
|
709 |
msgstr ""
|
710 |
|
711 |
-
#: view/settings-form.php:
|
712 |
msgid "Export [w/o progressbar]"
|
713 |
msgstr ""
|
714 |
|
715 |
-
#: view/settings-form.php:
|
716 |
msgid "It might not work for huge datasets!"
|
717 |
msgstr ""
|
718 |
|
719 |
-
#: view/settings-form.php:
|
720 |
msgid "Save as a profile"
|
721 |
msgstr ""
|
722 |
|
723 |
-
#: view/settings-form.php:
|
724 |
#, php-format
|
725 |
msgid "Export total: %s orders"
|
726 |
msgstr ""
|
727 |
|
728 |
-
#: view/settings-form.php:
|
729 |
msgid "Preview size"
|
730 |
msgstr ""
|
731 |
|
732 |
-
#: view/settings-form.php:
|
733 |
msgid "Press 'Esc' to cancel the export"
|
734 |
msgstr ""
|
735 |
|
736 |
-
#: view/settings-form.php:
|
737 |
msgid "Click here to download"
|
738 |
msgstr ""
|
739 |
|
740 |
-
#: view/settings-form.php:
|
741 |
#, php-format
|
742 |
msgid "Add %s as %s columns %s as rows"
|
743 |
msgstr ""
|
@@ -770,15 +540,23 @@ msgstr ""
|
|
770 |
msgid "Help"
|
771 |
msgstr ""
|
772 |
|
|
|
|
|
|
|
|
|
773 |
#: view/modal-controls.php:9
|
|
|
|
|
|
|
|
|
774 |
msgid "OR"
|
775 |
msgstr ""
|
776 |
|
777 |
-
#: view/modal-controls.php:
|
778 |
msgid "Taxonomy"
|
779 |
msgstr ""
|
780 |
|
781 |
-
#: view/modal-controls.php:
|
782 |
msgid "All meta"
|
783 |
msgstr ""
|
784 |
|
@@ -804,78 +582,86 @@ msgstr ""
|
|
804 |
msgid "Support"
|
805 |
msgstr ""
|
806 |
|
807 |
-
#: classes/class-wc-order-export-admin.php:
|
808 |
-
#: classes/class-wc-order-export-admin.php:
|
809 |
-
#: classes/class-wc-order-export-admin.php:
|
810 |
-
#: classes/class-wc-order-export-admin.php:187
|
811 |
msgid "Export Orders"
|
812 |
msgstr ""
|
813 |
|
814 |
-
#: classes/class-wc-order-export-admin.php:
|
815 |
msgid "Copied from \"Export now\""
|
816 |
msgstr ""
|
817 |
|
818 |
-
#: classes/class-wc-order-export-admin.php:
|
819 |
msgid "empty column name"
|
820 |
msgstr ""
|
821 |
|
822 |
-
#: classes/class-wc-order-export-admin.php:
|
823 |
msgid "empty meta key"
|
824 |
msgstr ""
|
825 |
|
826 |
-
#: classes/class-wc-order-export-admin.php:
|
|
|
|
|
|
|
|
|
827 |
msgid "empty value"
|
828 |
msgstr ""
|
829 |
|
830 |
-
#: classes/class-wc-order-export-admin.php:
|
831 |
msgid "title is empty"
|
832 |
msgstr ""
|
833 |
|
834 |
-
#: classes/class-wc-order-export-admin.php:
|
835 |
msgid "Date From is greater than Date To"
|
836 |
msgstr ""
|
837 |
|
838 |
-
#: classes/class-wc-order-export-admin.php:
|
839 |
msgid "Please, set up fields to export"
|
840 |
msgstr ""
|
841 |
|
842 |
-
#: classes/class-wc-order-export-admin.php:
|
843 |
-
#: classes/admin/class-wc-order-export-ajax.php:
|
844 |
-
#: classes/core/class-wc-order-export-engine.php:
|
845 |
msgid "Nothing to export. Please, adjust your filters"
|
846 |
msgstr ""
|
847 |
|
848 |
-
#: classes/class-wc-order-export-admin.php:
|
|
|
|
|
|
|
|
|
|
|
849 |
#, php-format
|
850 |
msgid "Status change job #%s for order #%s. Result: %s"
|
851 |
msgstr ""
|
852 |
|
853 |
-
#: classes/class-wc-order-export-admin.php:
|
854 |
#, php-format
|
855 |
msgid "Export as %s"
|
856 |
msgstr ""
|
857 |
|
858 |
-
#: classes/class-wc-order-export-admin.php:
|
859 |
msgid "Mark exported"
|
860 |
msgstr ""
|
861 |
|
862 |
-
#: classes/class-wc-order-export-admin.php:
|
863 |
msgid "Unmark exported"
|
864 |
msgstr ""
|
865 |
|
866 |
-
#: classes/class-wc-order-export-admin.php:
|
867 |
#, php-format
|
868 |
msgid "Export as profile '%s'"
|
869 |
msgstr ""
|
870 |
|
871 |
-
#: classes/class-wc-order-export-admin.php:
|
872 |
#, php-format
|
873 |
msgid "%s order marked."
|
874 |
msgid_plural "%s orders marked."
|
875 |
msgstr[0] ""
|
876 |
msgstr[1] ""
|
877 |
|
878 |
-
#: classes/class-wc-order-export-admin.php:
|
879 |
#, php-format
|
880 |
msgid "%s order unmarked."
|
881 |
msgid_plural "%s orders unmarked."
|
@@ -982,12 +768,12 @@ msgstr ""
|
|
982 |
msgid "<td colspan=10><b>No results</b></td>"
|
983 |
msgstr ""
|
984 |
|
985 |
-
#: classes/formats/abstract-class-woe-formatter.php:
|
986 |
msgid "can not open for output"
|
987 |
msgstr ""
|
988 |
|
989 |
#: classes/formats/class-woe-formatter-xls.php:72
|
990 |
-
#: classes/admin/class-wc-order-export-manage.php:
|
991 |
msgid "Orders"
|
992 |
msgstr ""
|
993 |
|
@@ -1023,509 +809,521 @@ msgstr ""
|
|
1023 |
msgid "Wrong key for cron url!"
|
1024 |
msgstr ""
|
1025 |
|
1026 |
-
#: classes/admin/class-wc-order-export-ajax.php:
|
1027 |
msgid "Can't create temporary file"
|
1028 |
msgstr ""
|
1029 |
|
1030 |
-
#: classes/admin/class-wc-order-export-ajax.php:
|
1031 |
msgid "Can't find exported file"
|
1032 |
msgstr ""
|
1033 |
|
1034 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1035 |
msgid "Item ID"
|
1036 |
msgstr ""
|
1037 |
|
1038 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1039 |
msgid "Item #"
|
1040 |
msgstr ""
|
1041 |
|
1042 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1043 |
msgid "SKU"
|
1044 |
msgstr ""
|
1045 |
|
1046 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1047 |
msgid "Name"
|
1048 |
msgstr ""
|
1049 |
|
1050 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1051 |
msgid "Product Variation"
|
1052 |
msgstr ""
|
1053 |
|
1054 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1055 |
msgid "Item Seller"
|
1056 |
msgstr ""
|
1057 |
|
1058 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1059 |
msgid "Quantity"
|
1060 |
msgstr ""
|
1061 |
|
1062 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1063 |
msgid "Quantity (- Refund)"
|
1064 |
msgstr ""
|
1065 |
|
1066 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1067 |
msgid "Item Cost"
|
1068 |
msgstr ""
|
1069 |
|
1070 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1071 |
msgid "Product Current Price"
|
1072 |
msgstr ""
|
1073 |
|
1074 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1075 |
msgid "Order Line (w/o tax)"
|
1076 |
msgstr ""
|
1077 |
|
1078 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1079 |
msgid "Order Line Tax"
|
1080 |
msgstr ""
|
1081 |
|
1082 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1083 |
msgid "Order Line Tax Refunded"
|
1084 |
msgstr ""
|
1085 |
|
1086 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1087 |
msgid "Order Line Tax (- Refund)"
|
1088 |
msgstr ""
|
1089 |
|
1090 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1091 |
msgid "Order Line Subtotal"
|
1092 |
msgstr ""
|
1093 |
|
1094 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1095 |
msgid "Order Line Total"
|
1096 |
msgstr ""
|
1097 |
|
1098 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1099 |
msgid "Order Line Total (include tax)"
|
1100 |
msgstr ""
|
1101 |
|
1102 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1103 |
msgid "Order Line Total Refunded"
|
1104 |
msgstr ""
|
1105 |
|
1106 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1107 |
msgid "Order Line Total (- Refund)"
|
1108 |
msgstr ""
|
1109 |
|
1110 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1111 |
msgid "Item Discount Amount"
|
1112 |
msgstr ""
|
1113 |
|
1114 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1115 |
msgid "Item Tax Rate"
|
1116 |
msgstr ""
|
1117 |
|
1118 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1119 |
msgid "Type"
|
1120 |
msgstr ""
|
1121 |
|
1122 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1123 |
msgid "Category"
|
1124 |
msgstr ""
|
1125 |
|
1126 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1127 |
msgid "Tags"
|
1128 |
msgstr ""
|
1129 |
|
1130 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1131 |
msgid "Width"
|
1132 |
msgstr ""
|
1133 |
|
1134 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1135 |
msgid "Length"
|
1136 |
msgstr ""
|
1137 |
|
1138 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1139 |
msgid "Height"
|
1140 |
msgstr ""
|
1141 |
|
1142 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1143 |
msgid "Weight"
|
1144 |
msgstr ""
|
1145 |
|
1146 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1147 |
msgid "Product URL"
|
1148 |
msgstr ""
|
1149 |
|
1150 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1151 |
msgid "Download URL"
|
1152 |
msgstr ""
|
1153 |
|
1154 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1155 |
msgid "Image URL"
|
1156 |
msgstr ""
|
1157 |
|
1158 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1159 |
msgid "Product Shipping Class"
|
1160 |
msgstr ""
|
1161 |
|
1162 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1163 |
msgid "Description"
|
1164 |
msgstr ""
|
1165 |
|
1166 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1167 |
msgid "Short Description"
|
1168 |
msgstr ""
|
1169 |
|
1170 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
|
|
|
|
|
|
|
|
1171 |
msgid "Coupon Code"
|
1172 |
msgstr ""
|
1173 |
|
1174 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1175 |
msgid "Discount Amount"
|
1176 |
msgstr ""
|
1177 |
|
1178 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1179 |
msgid "Discount Amount Tax"
|
1180 |
msgstr ""
|
1181 |
|
1182 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1183 |
msgid "Discount Amount + Tax"
|
1184 |
msgstr ""
|
1185 |
|
1186 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1187 |
msgid "Coupon Description"
|
1188 |
msgstr ""
|
1189 |
|
1190 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1191 |
msgid "Coupon Type"
|
1192 |
msgstr ""
|
1193 |
|
1194 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1195 |
msgid "Coupon Amount"
|
1196 |
msgstr ""
|
1197 |
|
1198 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
|
|
|
|
|
|
|
|
1199 |
msgid "Order Number"
|
1200 |
msgstr ""
|
1201 |
|
1202 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1203 |
msgid "Order Status"
|
1204 |
msgstr ""
|
1205 |
|
1206 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1207 |
msgid "Transaction ID"
|
1208 |
msgstr ""
|
1209 |
|
1210 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1211 |
msgid "Date of first refund"
|
1212 |
msgstr ""
|
1213 |
|
1214 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1215 |
msgid "Customer Note"
|
1216 |
msgstr ""
|
1217 |
|
1218 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1219 |
msgid "Order Notes"
|
1220 |
msgstr ""
|
1221 |
|
1222 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1223 |
msgid "Customer IP address"
|
1224 |
msgstr ""
|
1225 |
|
1226 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1227 |
msgid "Customer User ID"
|
1228 |
msgstr ""
|
1229 |
|
1230 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1231 |
msgid "Customer Username"
|
1232 |
msgstr ""
|
1233 |
|
1234 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1235 |
msgid "Customer User Email"
|
1236 |
msgstr ""
|
1237 |
|
1238 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1239 |
msgid "Customer Role"
|
1240 |
msgstr ""
|
1241 |
|
1242 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1243 |
msgid "First Name (Billing)"
|
1244 |
msgstr ""
|
1245 |
|
1246 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1247 |
msgid "Last Name (Billing)"
|
1248 |
msgstr ""
|
1249 |
|
1250 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1251 |
msgid "Full Name (Billing)"
|
1252 |
msgstr ""
|
1253 |
|
1254 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1255 |
msgid "Company (Billing)"
|
1256 |
msgstr ""
|
1257 |
|
1258 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1259 |
msgid "Address 1&2 (Billing)"
|
1260 |
msgstr ""
|
1261 |
|
1262 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1263 |
msgid "Address 1 (Billing)"
|
1264 |
msgstr ""
|
1265 |
|
1266 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1267 |
msgid "Address 2 (Billing)"
|
1268 |
msgstr ""
|
1269 |
|
1270 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1271 |
msgid "City (Billing)"
|
1272 |
msgstr ""
|
1273 |
|
1274 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1275 |
msgid "State Code (Billing)"
|
1276 |
msgstr ""
|
1277 |
|
1278 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1279 |
msgid "City, State, Zip (Billing)"
|
1280 |
msgstr ""
|
1281 |
|
1282 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1283 |
msgid "State Name (Billing)"
|
1284 |
msgstr ""
|
1285 |
|
1286 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1287 |
msgid "Postcode (Billing)"
|
1288 |
msgstr ""
|
1289 |
|
1290 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1291 |
msgid "Country Code (Billing)"
|
1292 |
msgstr ""
|
1293 |
|
1294 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1295 |
msgid "Country Name (Billing)"
|
1296 |
msgstr ""
|
1297 |
|
1298 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1299 |
msgid "Email (Billing)"
|
1300 |
msgstr ""
|
1301 |
|
1302 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1303 |
msgid "Phone (Billing)"
|
1304 |
msgstr ""
|
1305 |
|
1306 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1307 |
msgid "First Name (Shipping)"
|
1308 |
msgstr ""
|
1309 |
|
1310 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1311 |
msgid "Last Name (Shipping)"
|
1312 |
msgstr ""
|
1313 |
|
1314 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1315 |
msgid "Full Name (Shipping)"
|
1316 |
msgstr ""
|
1317 |
|
1318 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1319 |
msgid "Company (Shipping)"
|
1320 |
msgstr ""
|
1321 |
|
1322 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1323 |
msgid "Address 1&2 (Shipping)"
|
1324 |
msgstr ""
|
1325 |
|
1326 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1327 |
msgid "Address 1 (Shipping)"
|
1328 |
msgstr ""
|
1329 |
|
1330 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1331 |
msgid "Address 2 (Shipping)"
|
1332 |
msgstr ""
|
1333 |
|
1334 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1335 |
msgid "City (Shipping)"
|
1336 |
msgstr ""
|
1337 |
|
1338 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1339 |
msgid "State Code (Shipping)"
|
1340 |
msgstr ""
|
1341 |
|
1342 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1343 |
msgid "City, State, Zip (Shipping)"
|
1344 |
msgstr ""
|
1345 |
|
1346 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1347 |
msgid "State Name (Shipping)"
|
1348 |
msgstr ""
|
1349 |
|
1350 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1351 |
msgid "Postcode (Shipping)"
|
1352 |
msgstr ""
|
1353 |
|
1354 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1355 |
msgid "Country Code (Shipping)"
|
1356 |
msgstr ""
|
1357 |
|
1358 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1359 |
msgid "Country Name (Shipping)"
|
1360 |
msgstr ""
|
1361 |
|
1362 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1363 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1364 |
msgid "Products"
|
1365 |
msgstr ""
|
1366 |
|
1367 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1368 |
msgid "Shipping Method Title"
|
1369 |
msgstr ""
|
1370 |
|
1371 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1372 |
msgid "Shipping Method"
|
1373 |
msgstr ""
|
1374 |
|
1375 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1376 |
msgid "Payment Method Title"
|
1377 |
msgstr ""
|
1378 |
|
1379 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1380 |
msgid "Payment Method"
|
1381 |
msgstr ""
|
1382 |
|
1383 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1384 |
msgid "Coupons Used"
|
1385 |
msgstr ""
|
1386 |
|
1387 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1388 |
msgid "Cart Discount Amount"
|
1389 |
msgstr ""
|
1390 |
|
1391 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1392 |
msgid "Cart Discount Amount Tax"
|
1393 |
msgstr ""
|
1394 |
|
1395 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1396 |
msgid "Order Subtotal Amount"
|
1397 |
msgstr ""
|
1398 |
|
1399 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1400 |
msgid "Order Subtotal Amount Refunded"
|
1401 |
msgstr ""
|
1402 |
|
1403 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1404 |
msgid "Order Subtotal Amount (- Refund)"
|
1405 |
msgstr ""
|
1406 |
|
1407 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1408 |
msgid "Order Tax Amount"
|
1409 |
msgstr ""
|
1410 |
|
1411 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1412 |
msgid "Order Shipping Amount"
|
1413 |
msgstr ""
|
1414 |
|
1415 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1416 |
msgid "Order Shipping Amount Refunded"
|
1417 |
msgstr ""
|
1418 |
|
1419 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1420 |
msgid "Order Shipping Amount (- Refund)"
|
1421 |
msgstr ""
|
1422 |
|
1423 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1424 |
msgid "Order Shipping Tax Amount"
|
1425 |
msgstr ""
|
1426 |
|
1427 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1428 |
msgid "Order Shipping Tax Refunded"
|
1429 |
msgstr ""
|
1430 |
|
1431 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1432 |
msgid "Order Shipping Tax Amount (- Refund)"
|
1433 |
msgstr ""
|
1434 |
|
1435 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1436 |
msgid "Order Refund Amount"
|
1437 |
msgstr ""
|
1438 |
|
1439 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1440 |
msgid "Order Total Amount (- Refund)"
|
1441 |
msgstr ""
|
1442 |
|
1443 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1444 |
msgid "Order Total Amount"
|
1445 |
msgstr ""
|
1446 |
|
1447 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1448 |
msgid "Order Total Amount without Tax"
|
1449 |
msgstr ""
|
1450 |
|
1451 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1452 |
msgid "Order Total Tax Amount"
|
1453 |
msgstr ""
|
1454 |
|
1455 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1456 |
msgid "Order Total Tax Amount Refunded"
|
1457 |
msgstr ""
|
1458 |
|
1459 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1460 |
msgid "Order Total Tax Amount (- Refund)"
|
1461 |
msgstr ""
|
1462 |
|
1463 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1464 |
msgid "Currency"
|
1465 |
msgstr ""
|
1466 |
|
1467 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1468 |
msgid "Total weight"
|
1469 |
msgstr ""
|
1470 |
|
1471 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1472 |
msgid "Total items"
|
1473 |
msgstr ""
|
1474 |
|
1475 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1476 |
msgid "Total products"
|
1477 |
msgstr ""
|
1478 |
|
1479 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1480 |
msgid "Common"
|
1481 |
msgstr ""
|
1482 |
|
1483 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1484 |
msgid "User"
|
1485 |
msgstr ""
|
1486 |
|
1487 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1488 |
msgid "Billing"
|
1489 |
msgstr ""
|
1490 |
|
1491 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1492 |
msgid "Shipping"
|
1493 |
msgstr ""
|
1494 |
|
1495 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1496 |
msgid "Cart"
|
1497 |
msgstr ""
|
1498 |
|
1499 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1500 |
msgid "Others"
|
1501 |
msgstr ""
|
1502 |
|
1503 |
-
#: classes/core/class-wc-order-export-data-extractor.php:
|
1504 |
msgid "[Rest of the World]"
|
1505 |
msgstr ""
|
1506 |
|
1507 |
#: classes/core/class-wc-order-export-engine.php:17
|
1508 |
-
msgid "No
|
1509 |
msgstr ""
|
1510 |
|
1511 |
#: classes/core/class-wc-order-export-engine.php:27
|
1512 |
msgid "Wrong format"
|
1513 |
msgstr ""
|
1514 |
|
1515 |
-
#: classes/core/class-wc-order-export-engine.php:
|
1516 |
msgid "Don't Panic"
|
1517 |
msgstr ""
|
1518 |
|
1519 |
-
#: classes/core/class-wc-order-export-engine.php:
|
1520 |
#, php-format
|
1521 |
msgid "The code you are trying to save produced a fatal error on line %d:"
|
1522 |
msgstr ""
|
1523 |
|
1524 |
-
#: classes/core/class-wc-order-export-engine.php:
|
|
|
|
|
|
|
|
|
1525 |
msgid "Total Quantity"
|
1526 |
msgstr ""
|
1527 |
|
1528 |
-
#: classes/core/class-wc-order-export-engine.php:
|
1529 |
msgid "Total Amount"
|
1530 |
msgstr ""
|
1531 |
|
@@ -1534,8 +1332,7 @@ msgid "Advanced Order Export For WooCommerce"
|
|
1534 |
msgstr ""
|
1535 |
|
1536 |
#. Description of the plugin
|
1537 |
-
msgid ""
|
1538 |
-
"Export orders from WooCommerce with ease ( Excel/CSV/XML/Json supported )"
|
1539 |
msgstr ""
|
1540 |
|
1541 |
#. Author of the plugin
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: PACKAGE VERSION\n"
|
5 |
"Report-Msgid-Bugs-To: \n"
|
6 |
+
"POT-Creation-Date: 2018-04-25 12:28+0000\n"
|
7 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
8 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
9 |
"Language-Team: \n"
|
10 |
"Language: \n"
|
11 |
+
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
|
12 |
"MIME-Version: 1.0\n"
|
13 |
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
"Content-Transfer-Encoding: 8bit\n"
|
15 |
+
"X-Generator: Loco https://localise.biz/"
|
16 |
|
17 |
+
#: woo-order-export-lite.php:59
|
18 |
msgid ""
|
19 |
"Please, <a href=\"plugins.php\">deactivate</a> Free version of Advanced "
|
20 |
+
"Order Export For WooCommerce!"
|
21 |
msgstr ""
|
22 |
|
23 |
+
#: view/settings-form.php:52
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
msgid "Filter orders by"
|
25 |
msgstr ""
|
26 |
|
27 |
+
#: view/settings-form.php:56 view/settings-form.php:225
|
28 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:363
|
29 |
msgid "Order Date"
|
30 |
msgstr ""
|
31 |
|
32 |
+
#: view/settings-form.php:61 view/settings-form.php:226
|
33 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:364
|
34 |
msgid "Modification Date"
|
35 |
msgstr ""
|
36 |
|
37 |
+
#: view/settings-form.php:66
|
38 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:367
|
39 |
msgid "Paid Date"
|
40 |
msgstr ""
|
41 |
|
42 |
+
#: view/settings-form.php:71
|
43 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:366
|
44 |
msgid "Completed Date"
|
45 |
msgstr ""
|
46 |
|
47 |
+
#: view/settings-form.php:75
|
48 |
msgid "This date range should not be saved in the scheduled task"
|
49 |
msgstr ""
|
50 |
|
51 |
+
#: view/settings-form.php:77
|
52 |
msgid "Date range"
|
53 |
msgstr ""
|
54 |
|
55 |
+
#: view/settings-form.php:79
|
56 |
msgid "to"
|
57 |
msgstr ""
|
58 |
|
59 |
+
#: view/settings-form.php:83
|
60 |
msgid "Express export"
|
61 |
msgstr ""
|
62 |
|
63 |
+
#: view/settings-form.php:84
|
64 |
msgid "Summary Report By Products"
|
65 |
msgstr ""
|
66 |
|
67 |
+
#: view/settings-form.php:85
|
68 |
msgid "Set up fields"
|
69 |
msgstr ""
|
70 |
|
71 |
+
#: view/settings-form.php:93
|
72 |
msgid "Export filename"
|
73 |
msgstr ""
|
74 |
|
75 |
+
#: view/settings-form.php:103
|
76 |
msgid "Format"
|
77 |
msgstr ""
|
78 |
|
79 |
+
#: view/settings-form.php:114
|
80 |
msgid "XLS options"
|
81 |
msgstr ""
|
82 |
|
83 |
+
#: view/settings-form.php:120
|
84 |
msgid "Export as .xls (Binary File Format)"
|
85 |
msgstr ""
|
86 |
|
87 |
+
#: view/settings-form.php:121
|
88 |
msgid "Use sheet name"
|
89 |
msgstr ""
|
90 |
|
91 |
+
#: view/settings-form.php:122 view/settings-form.php:134
|
92 |
+
#: view/settings-form.php:164
|
93 |
msgid "Output column titles as first line"
|
94 |
msgstr ""
|
95 |
|
96 |
+
#: view/settings-form.php:123
|
97 |
msgid "Auto column width"
|
98 |
msgstr ""
|
99 |
|
100 |
+
#: view/settings-form.php:124 view/settings-form.php:135
|
101 |
+
#: view/settings-form.php:165
|
102 |
msgid "Populate other columns if products exported as rows"
|
103 |
msgstr ""
|
104 |
|
105 |
+
#: view/settings-form.php:125
|
106 |
msgid "Right-to-Left direction"
|
107 |
msgstr ""
|
108 |
|
109 |
+
#: view/settings-form.php:127
|
110 |
msgid "CSV options"
|
111 |
msgstr ""
|
112 |
|
113 |
+
#: view/settings-form.php:133 view/settings-form.php:163
|
114 |
msgid "Output UTF-8 BOM"
|
115 |
msgstr ""
|
116 |
|
117 |
+
#: view/settings-form.php:136
|
118 |
msgid "Convert line breaks to literals"
|
119 |
msgstr ""
|
120 |
|
121 |
+
#: view/settings-form.php:137
|
122 |
msgid "Item rows start from new line"
|
123 |
msgstr ""
|
124 |
|
125 |
+
#: view/settings-form.php:138
|
126 |
msgid "Enclosure"
|
127 |
msgstr ""
|
128 |
|
129 |
+
#: view/settings-form.php:139
|
130 |
msgid "Field Delimiter"
|
131 |
msgstr ""
|
132 |
|
133 |
+
#: view/settings-form.php:140 view/settings-form.php:166
|
134 |
msgid "Line Break"
|
135 |
msgstr ""
|
136 |
|
137 |
+
#: view/settings-form.php:142 view/settings-form.php:168
|
138 |
msgid "Character encoding"
|
139 |
msgstr ""
|
140 |
|
141 |
+
#: view/settings-form.php:145
|
142 |
msgid "XML options"
|
143 |
msgstr ""
|
144 |
|
145 |
+
#: view/settings-form.php:147
|
146 |
msgid "Prepend XML"
|
147 |
msgstr ""
|
148 |
|
149 |
+
#: view/settings-form.php:148
|
150 |
msgid "Root tag"
|
151 |
msgstr ""
|
152 |
|
153 |
+
#: view/settings-form.php:149
|
154 |
msgid "Order tag"
|
155 |
msgstr ""
|
156 |
|
157 |
+
#: view/settings-form.php:150
|
158 |
msgid "Product tag"
|
159 |
msgstr ""
|
160 |
|
161 |
+
#: view/settings-form.php:151
|
162 |
msgid "Coupon tag"
|
163 |
msgstr ""
|
164 |
|
165 |
+
#: view/settings-form.php:152
|
166 |
msgid "Append XML"
|
167 |
msgstr ""
|
168 |
|
169 |
+
#: view/settings-form.php:153
|
170 |
msgid "Self closing tags"
|
171 |
msgstr ""
|
172 |
|
173 |
+
#: view/settings-form.php:155
|
174 |
msgid "JSON options"
|
175 |
msgstr ""
|
176 |
|
177 |
+
#: view/settings-form.php:156
|
178 |
msgid "Start tag"
|
179 |
msgstr ""
|
180 |
|
181 |
+
#: view/settings-form.php:157
|
182 |
msgid "End tag"
|
183 |
msgstr ""
|
184 |
|
185 |
+
#: view/settings-form.php:159
|
186 |
msgid "TSV options"
|
187 |
msgstr ""
|
188 |
|
189 |
+
#: view/settings-form.php:175
|
190 |
msgid "Date"
|
191 |
msgstr ""
|
192 |
|
193 |
+
#: view/settings-form.php:188 view/settings-form.php:210
|
194 |
msgid "-"
|
195 |
msgstr ""
|
196 |
|
197 |
+
#: view/settings-form.php:190 view/settings-form.php:212
|
198 |
msgid "custom"
|
199 |
msgstr ""
|
200 |
|
201 |
+
#: view/settings-form.php:198
|
202 |
msgid "Time"
|
203 |
msgstr ""
|
204 |
|
205 |
+
#: view/settings-form.php:224
|
206 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:360
|
207 |
msgid "Order ID"
|
208 |
msgstr ""
|
209 |
|
210 |
+
#: view/settings-form.php:241
|
211 |
msgid "Descending"
|
212 |
msgstr ""
|
213 |
|
214 |
+
#: view/settings-form.php:242
|
215 |
msgid "Ascending"
|
216 |
msgstr ""
|
217 |
|
218 |
+
#: view/settings-form.php:247
|
219 |
#, php-format
|
220 |
msgid "Sort orders by %s in %s order"
|
221 |
msgstr ""
|
222 |
|
223 |
+
#: view/settings-form.php:252
|
224 |
msgid "Change order status to"
|
225 |
msgstr ""
|
226 |
|
227 |
+
#: view/settings-form.php:254
|
228 |
msgid "- don't modify -"
|
229 |
msgstr ""
|
230 |
|
231 |
+
#: view/settings-form.php:264
|
232 |
msgid "Misc settings"
|
233 |
msgstr ""
|
234 |
|
235 |
+
#: view/settings-form.php:269
|
236 |
msgid "Format numbers (use WC decimal separator)"
|
237 |
msgstr ""
|
238 |
|
239 |
+
#: view/settings-form.php:273
|
240 |
msgid "Export all order notes"
|
241 |
msgstr ""
|
242 |
|
243 |
+
#: view/settings-form.php:277
|
244 |
msgid "Export refund notes as Customer Note"
|
245 |
msgstr ""
|
246 |
|
247 |
+
#: view/settings-form.php:281
|
248 |
msgid "Strip tags from Product Description/Variation"
|
249 |
msgstr ""
|
250 |
|
251 |
+
#: view/settings-form.php:285
|
252 |
+
msgid "Cleanup phone (export only digits)"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
253 |
msgstr ""
|
254 |
|
255 |
+
#: view/settings-form.php:289
|
256 |
+
msgid "Enable debug output"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
257 |
msgstr ""
|
258 |
|
259 |
+
#: view/settings-form.php:293
|
260 |
+
msgid "Custom PHP code to modify output"
|
261 |
msgstr ""
|
262 |
|
263 |
+
#: view/settings-form.php:294
|
264 |
+
msgid "Use only unnamed functions!"
|
265 |
msgstr ""
|
266 |
|
267 |
+
#: view/settings-form.php:307
|
268 |
msgid "Filter by order"
|
269 |
msgstr ""
|
270 |
|
271 |
+
#: view/settings-form.php:310
|
272 |
msgid "Don't export child orders"
|
273 |
msgstr ""
|
274 |
|
275 |
+
#: view/settings-form.php:311
|
276 |
msgid "Export refunds"
|
277 |
msgstr ""
|
278 |
|
279 |
+
#: view/settings-form.php:312
|
280 |
msgid "Mark exported orders"
|
281 |
msgstr ""
|
282 |
|
283 |
+
#: view/settings-form.php:313
|
284 |
msgid "Export unmarked orders only"
|
285 |
msgstr ""
|
286 |
|
287 |
+
#: view/settings-form.php:314
|
288 |
msgid "Order statuses"
|
289 |
msgstr ""
|
290 |
|
291 |
+
#: view/settings-form.php:321
|
292 |
msgid "Custom fields"
|
293 |
msgstr ""
|
294 |
|
295 |
+
#: view/settings-form.php:356
|
296 |
msgid ""
|
297 |
"The filters won't work correctly.<br>Another plugin(or theme) has loaded "
|
298 |
"outdated Select2.js"
|
299 |
msgstr ""
|
300 |
|
301 |
+
#: view/settings-form.php:357
|
302 |
msgid "Filter by product"
|
303 |
msgstr ""
|
304 |
|
305 |
+
#: view/settings-form.php:360
|
306 |
msgid "Export all products from a order"
|
307 |
msgstr ""
|
308 |
|
309 |
+
#: view/settings-form.php:361
|
310 |
msgid "Skip fully refunded items"
|
311 |
msgstr ""
|
312 |
|
313 |
+
#: view/settings-form.php:362
|
314 |
msgid "Product categories"
|
315 |
msgstr ""
|
316 |
|
317 |
+
#: view/settings-form.php:372
|
318 |
msgid "Vendor/creator"
|
319 |
msgstr ""
|
320 |
|
321 |
+
#: view/settings-form.php:385
|
322 |
msgid "Product"
|
323 |
msgstr ""
|
324 |
|
325 |
+
#: view/settings-form.php:397
|
326 |
msgid "Product taxonomies"
|
327 |
msgstr ""
|
328 |
|
329 |
+
#: view/settings-form.php:423
|
330 |
msgid "Product custom fields"
|
331 |
msgstr ""
|
332 |
|
333 |
+
#: view/settings-form.php:450
|
334 |
msgid "Variable product attributes"
|
335 |
msgstr ""
|
336 |
|
337 |
+
#: view/settings-form.php:477
|
338 |
msgid "Item meta data"
|
339 |
msgstr ""
|
340 |
|
341 |
+
#: view/settings-form.php:510
|
342 |
msgid "Filter by customers"
|
343 |
msgstr ""
|
344 |
|
345 |
+
#: view/settings-form.php:513
|
346 |
msgid "User roles"
|
347 |
msgstr ""
|
348 |
|
349 |
+
#: view/settings-form.php:522
|
350 |
msgid "Usernames"
|
351 |
msgstr ""
|
352 |
|
353 |
+
#: view/settings-form.php:538
|
354 |
msgid "Filter by coupons"
|
355 |
msgstr ""
|
356 |
|
357 |
+
#: view/settings-form.php:543
|
358 |
msgid "Any coupon used"
|
359 |
msgstr ""
|
360 |
|
361 |
+
#: view/settings-form.php:545
|
362 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:434
|
363 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:496
|
364 |
msgid "Coupons"
|
365 |
msgstr ""
|
366 |
|
367 |
+
#: view/settings-form.php:560
|
368 |
msgid "Filter by billing"
|
369 |
msgstr ""
|
370 |
|
371 |
+
#: view/settings-form.php:563
|
372 |
msgid "Billing locations"
|
373 |
msgstr ""
|
374 |
|
375 |
+
#: view/settings-form.php:587
|
376 |
msgid "Payment methods"
|
377 |
msgstr ""
|
378 |
|
379 |
+
#: view/settings-form.php:599
|
380 |
msgid "Filter by shipping"
|
381 |
msgstr ""
|
382 |
|
383 |
+
#: view/settings-form.php:602
|
384 |
msgid "Shipping locations"
|
385 |
msgstr ""
|
386 |
|
387 |
+
#: view/settings-form.php:626
|
388 |
msgid "Shipping methods"
|
389 |
msgstr ""
|
390 |
|
391 |
+
#: view/settings-form.php:640 view/settings-form.php:1003
|
392 |
msgid "Set up fields to export"
|
393 |
msgstr ""
|
394 |
|
395 |
+
#: view/settings-form.php:646 view/modal-controls.php:36
|
|
|
396 |
msgid "Meta key"
|
397 |
msgstr ""
|
398 |
|
399 |
+
#: view/settings-form.php:654 view/settings-form.php:666
|
400 |
+
#: view/modal-controls.php:20 view/modal-controls.php:26
|
401 |
+
#: view/modal-controls.php:43 view/modal-controls.php:49
|
402 |
msgid "Column name"
|
403 |
msgstr ""
|
404 |
|
405 |
+
#: view/settings-form.php:657
|
406 |
msgid "or type meta key here"
|
407 |
msgstr ""
|
408 |
|
409 |
+
#: view/settings-form.php:658 view/settings-form.php:686
|
410 |
+
#: view/modal-controls.php:4 view/modal-controls.php:39
|
411 |
msgid "Hide unused fields"
|
412 |
msgstr ""
|
413 |
|
414 |
+
#: view/settings-form.php:661 view/settings-form.php:669
|
415 |
msgid "Confirm"
|
416 |
msgstr ""
|
417 |
|
418 |
+
#: view/settings-form.php:662 view/settings-form.php:670
|
419 |
msgid "Cancel"
|
420 |
msgstr ""
|
421 |
|
422 |
+
#: view/settings-form.php:667 view/modal-controls.php:27
|
423 |
+
#: view/modal-controls.php:50
|
424 |
msgid "Value"
|
425 |
msgstr ""
|
426 |
|
427 |
+
#: view/settings-form.php:673
|
428 |
msgid "Use sections"
|
429 |
msgstr ""
|
430 |
|
431 |
+
#: view/settings-form.php:680
|
432 |
msgid "Actions"
|
433 |
msgstr ""
|
434 |
|
435 |
+
#: view/settings-form.php:681 view/modal-controls.php:22
|
436 |
+
#: view/modal-controls.php:45
|
437 |
msgid "Add field"
|
438 |
msgstr ""
|
439 |
|
440 |
+
#: view/settings-form.php:683 view/modal-controls.php:29
|
441 |
+
#: view/modal-controls.php:52
|
442 |
msgid "Add static field"
|
443 |
msgstr ""
|
444 |
|
445 |
+
#: view/settings-form.php:687
|
446 |
msgid "Show unused fields"
|
447 |
msgstr ""
|
448 |
|
449 |
+
#: view/settings-form.php:695
|
450 |
msgid "Select all"
|
451 |
msgstr ""
|
452 |
|
453 |
+
#: view/settings-form.php:698
|
454 |
msgid "Drag rows to reorder exported fields"
|
455 |
msgstr ""
|
456 |
|
457 |
+
#: view/settings-form.php:709
|
458 |
#, php-format
|
459 |
msgid ""
|
460 |
"If you see this message after page load, user interface won't work correctly!"
|
462 |
"it). Probably, it's a conflict with another plugin or active theme."
|
463 |
msgstr ""
|
464 |
|
465 |
+
#: view/settings-form.php:711
|
466 |
msgid "Preview"
|
467 |
msgstr ""
|
468 |
|
469 |
+
#: view/settings-form.php:711
|
470 |
msgid "Might be different from actual export!"
|
471 |
msgstr ""
|
472 |
|
473 |
+
#: view/settings-form.php:712
|
474 |
msgid "Save settings"
|
475 |
msgstr ""
|
476 |
|
477 |
+
#: view/settings-form.php:714
|
478 |
msgid "Export"
|
479 |
msgstr ""
|
480 |
|
481 |
+
#: view/settings-form.php:717
|
482 |
msgid "Export [w/o progressbar]"
|
483 |
msgstr ""
|
484 |
|
485 |
+
#: view/settings-form.php:717
|
486 |
msgid "It might not work for huge datasets!"
|
487 |
msgstr ""
|
488 |
|
489 |
+
#: view/settings-form.php:720
|
490 |
msgid "Save as a profile"
|
491 |
msgstr ""
|
492 |
|
493 |
+
#: view/settings-form.php:723
|
494 |
#, php-format
|
495 |
msgid "Export total: %s orders"
|
496 |
msgstr ""
|
497 |
|
498 |
+
#: view/settings-form.php:724
|
499 |
msgid "Preview size"
|
500 |
msgstr ""
|
501 |
|
502 |
+
#: view/settings-form.php:732
|
503 |
msgid "Press 'Esc' to cancel the export"
|
504 |
msgstr ""
|
505 |
|
506 |
+
#: view/settings-form.php:733
|
507 |
msgid "Click here to download"
|
508 |
msgstr ""
|
509 |
|
510 |
+
#: view/settings-form.php:954
|
511 |
#, php-format
|
512 |
msgid "Add %s as %s columns %s as rows"
|
513 |
msgstr ""
|
540 |
msgid "Help"
|
541 |
msgstr ""
|
542 |
|
543 |
+
#: view/modal-controls.php:6
|
544 |
+
msgid "Product fields"
|
545 |
+
msgstr ""
|
546 |
+
|
547 |
#: view/modal-controls.php:9
|
548 |
+
msgid "Order item fields"
|
549 |
+
msgstr ""
|
550 |
+
|
551 |
+
#: view/modal-controls.php:11
|
552 |
msgid "OR"
|
553 |
msgstr ""
|
554 |
|
555 |
+
#: view/modal-controls.php:12
|
556 |
msgid "Taxonomy"
|
557 |
msgstr ""
|
558 |
|
559 |
+
#: view/modal-controls.php:38
|
560 |
msgid "All meta"
|
561 |
msgstr ""
|
562 |
|
582 |
msgid "Support"
|
583 |
msgstr ""
|
584 |
|
585 |
+
#: classes/class-wc-order-export-admin.php:191
|
586 |
+
#: classes/class-wc-order-export-admin.php:193
|
587 |
+
#: classes/class-wc-order-export-admin.php:193
|
|
|
588 |
msgid "Export Orders"
|
589 |
msgstr ""
|
590 |
|
591 |
+
#: classes/class-wc-order-export-admin.php:483
|
592 |
msgid "Copied from \"Export now\""
|
593 |
msgstr ""
|
594 |
|
595 |
+
#: classes/class-wc-order-export-admin.php:508
|
596 |
msgid "empty column name"
|
597 |
msgstr ""
|
598 |
|
599 |
+
#: classes/class-wc-order-export-admin.php:509
|
600 |
msgid "empty meta key"
|
601 |
msgstr ""
|
602 |
|
603 |
+
#: classes/class-wc-order-export-admin.php:510
|
604 |
+
msgid "select product field or item field or taxonomy"
|
605 |
+
msgstr ""
|
606 |
+
|
607 |
+
#: classes/class-wc-order-export-admin.php:511
|
608 |
msgid "empty value"
|
609 |
msgstr ""
|
610 |
|
611 |
+
#: classes/class-wc-order-export-admin.php:512
|
612 |
msgid "title is empty"
|
613 |
msgstr ""
|
614 |
|
615 |
+
#: classes/class-wc-order-export-admin.php:513
|
616 |
msgid "Date From is greater than Date To"
|
617 |
msgstr ""
|
618 |
|
619 |
+
#: classes/class-wc-order-export-admin.php:514
|
620 |
msgid "Please, set up fields to export"
|
621 |
msgstr ""
|
622 |
|
623 |
+
#: classes/class-wc-order-export-admin.php:515
|
624 |
+
#: classes/admin/class-wc-order-export-ajax.php:326
|
625 |
+
#: classes/core/class-wc-order-export-engine.php:634
|
626 |
msgid "Nothing to export. Please, adjust your filters"
|
627 |
msgstr ""
|
628 |
|
629 |
+
#: classes/class-wc-order-export-admin.php:516
|
630 |
+
#: classes/core/class-wc-order-export-data-extractor.php:181
|
631 |
+
msgid "empty"
|
632 |
+
msgstr ""
|
633 |
+
|
634 |
+
#: classes/class-wc-order-export-admin.php:608
|
635 |
#, php-format
|
636 |
msgid "Status change job #%s for order #%s. Result: %s"
|
637 |
msgstr ""
|
638 |
|
639 |
+
#: classes/class-wc-order-export-admin.php:668
|
640 |
#, php-format
|
641 |
msgid "Export as %s"
|
642 |
msgstr ""
|
643 |
|
644 |
+
#: classes/class-wc-order-export-admin.php:671
|
645 |
msgid "Mark exported"
|
646 |
msgstr ""
|
647 |
|
648 |
+
#: classes/class-wc-order-export-admin.php:672
|
649 |
msgid "Unmark exported"
|
650 |
msgstr ""
|
651 |
|
652 |
+
#: classes/class-wc-order-export-admin.php:677
|
653 |
#, php-format
|
654 |
msgid "Export as profile '%s'"
|
655 |
msgstr ""
|
656 |
|
657 |
+
#: classes/class-wc-order-export-admin.php:743
|
658 |
#, php-format
|
659 |
msgid "%s order marked."
|
660 |
msgid_plural "%s orders marked."
|
661 |
msgstr[0] ""
|
662 |
msgstr[1] ""
|
663 |
|
664 |
+
#: classes/class-wc-order-export-admin.php:752
|
665 |
#, php-format
|
666 |
msgid "%s order unmarked."
|
667 |
msgid_plural "%s orders unmarked."
|
768 |
msgid "<td colspan=10><b>No results</b></td>"
|
769 |
msgstr ""
|
770 |
|
771 |
+
#: classes/formats/abstract-class-woe-formatter.php:26
|
772 |
msgid "can not open for output"
|
773 |
msgstr ""
|
774 |
|
775 |
#: classes/formats/class-woe-formatter-xls.php:72
|
776 |
+
#: classes/admin/class-wc-order-export-manage.php:196
|
777 |
msgid "Orders"
|
778 |
msgstr ""
|
779 |
|
809 |
msgid "Wrong key for cron url!"
|
810 |
msgstr ""
|
811 |
|
812 |
+
#: classes/admin/class-wc-order-export-ajax.php:223
|
813 |
msgid "Can't create temporary file"
|
814 |
msgstr ""
|
815 |
|
816 |
+
#: classes/admin/class-wc-order-export-ajax.php:245
|
817 |
msgid "Can't find exported file"
|
818 |
msgstr ""
|
819 |
|
820 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:273
|
821 |
msgid "Item ID"
|
822 |
msgstr ""
|
823 |
|
824 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:274
|
825 |
msgid "Item #"
|
826 |
msgstr ""
|
827 |
|
828 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:275
|
829 |
msgid "SKU"
|
830 |
msgstr ""
|
831 |
|
832 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:276
|
833 |
msgid "Name"
|
834 |
msgstr ""
|
835 |
|
836 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:277
|
837 |
msgid "Product Variation"
|
838 |
msgstr ""
|
839 |
|
840 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:278
|
841 |
msgid "Item Seller"
|
842 |
msgstr ""
|
843 |
|
844 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:279
|
845 |
msgid "Quantity"
|
846 |
msgstr ""
|
847 |
|
848 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:280
|
849 |
msgid "Quantity (- Refund)"
|
850 |
msgstr ""
|
851 |
|
852 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:281
|
853 |
msgid "Item Cost"
|
854 |
msgstr ""
|
855 |
|
856 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:282
|
857 |
msgid "Product Current Price"
|
858 |
msgstr ""
|
859 |
|
860 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:283
|
861 |
msgid "Order Line (w/o tax)"
|
862 |
msgstr ""
|
863 |
|
864 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:284
|
865 |
msgid "Order Line Tax"
|
866 |
msgstr ""
|
867 |
|
868 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:285
|
869 |
msgid "Order Line Tax Refunded"
|
870 |
msgstr ""
|
871 |
|
872 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:286
|
873 |
msgid "Order Line Tax (- Refund)"
|
874 |
msgstr ""
|
875 |
|
876 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:287
|
877 |
msgid "Order Line Subtotal"
|
878 |
msgstr ""
|
879 |
|
880 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:288
|
881 |
msgid "Order Line Total"
|
882 |
msgstr ""
|
883 |
|
884 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:289
|
885 |
msgid "Order Line Total (include tax)"
|
886 |
msgstr ""
|
887 |
|
888 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:290
|
889 |
msgid "Order Line Total Refunded"
|
890 |
msgstr ""
|
891 |
|
892 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:291
|
893 |
msgid "Order Line Total (- Refund)"
|
894 |
msgstr ""
|
895 |
|
896 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:292
|
897 |
msgid "Item Discount Amount"
|
898 |
msgstr ""
|
899 |
|
900 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:293
|
901 |
msgid "Item Tax Rate"
|
902 |
msgstr ""
|
903 |
|
904 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:294
|
905 |
msgid "Type"
|
906 |
msgstr ""
|
907 |
|
908 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:295
|
909 |
msgid "Category"
|
910 |
msgstr ""
|
911 |
|
912 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:296
|
913 |
msgid "Tags"
|
914 |
msgstr ""
|
915 |
|
916 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:297
|
917 |
msgid "Width"
|
918 |
msgstr ""
|
919 |
|
920 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:298
|
921 |
msgid "Length"
|
922 |
msgstr ""
|
923 |
|
924 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:299
|
925 |
msgid "Height"
|
926 |
msgstr ""
|
927 |
|
928 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:300
|
929 |
msgid "Weight"
|
930 |
msgstr ""
|
931 |
|
932 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:301
|
933 |
msgid "Product URL"
|
934 |
msgstr ""
|
935 |
|
936 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:302
|
937 |
msgid "Download URL"
|
938 |
msgstr ""
|
939 |
|
940 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:303
|
941 |
msgid "Image URL"
|
942 |
msgstr ""
|
943 |
|
944 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:304
|
945 |
msgid "Product Shipping Class"
|
946 |
msgstr ""
|
947 |
|
948 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:305
|
949 |
msgid "Description"
|
950 |
msgstr ""
|
951 |
|
952 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:306
|
953 |
msgid "Short Description"
|
954 |
msgstr ""
|
955 |
|
956 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:307
|
957 |
+
msgid "Full names for categories"
|
958 |
+
msgstr ""
|
959 |
+
|
960 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:320
|
961 |
msgid "Coupon Code"
|
962 |
msgstr ""
|
963 |
|
964 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:321
|
965 |
msgid "Discount Amount"
|
966 |
msgstr ""
|
967 |
|
968 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:322
|
969 |
msgid "Discount Amount Tax"
|
970 |
msgstr ""
|
971 |
|
972 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:323
|
973 |
msgid "Discount Amount + Tax"
|
974 |
msgstr ""
|
975 |
|
976 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:324
|
977 |
msgid "Coupon Description"
|
978 |
msgstr ""
|
979 |
|
980 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:325
|
981 |
msgid "Coupon Type"
|
982 |
msgstr ""
|
983 |
|
984 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:326
|
985 |
msgid "Coupon Amount"
|
986 |
msgstr ""
|
987 |
|
988 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:359
|
989 |
+
msgid "Line number"
|
990 |
+
msgstr ""
|
991 |
+
|
992 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:361
|
993 |
msgid "Order Number"
|
994 |
msgstr ""
|
995 |
|
996 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:362
|
997 |
msgid "Order Status"
|
998 |
msgstr ""
|
999 |
|
1000 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:365
|
1001 |
msgid "Transaction ID"
|
1002 |
msgstr ""
|
1003 |
|
1004 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:368
|
1005 |
msgid "Date of first refund"
|
1006 |
msgstr ""
|
1007 |
|
1008 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:369
|
1009 |
msgid "Customer Note"
|
1010 |
msgstr ""
|
1011 |
|
1012 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:370
|
1013 |
msgid "Order Notes"
|
1014 |
msgstr ""
|
1015 |
|
1016 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:376
|
1017 |
msgid "Customer IP address"
|
1018 |
msgstr ""
|
1019 |
|
1020 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:377
|
1021 |
msgid "Customer User ID"
|
1022 |
msgstr ""
|
1023 |
|
1024 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:378
|
1025 |
msgid "Customer Username"
|
1026 |
msgstr ""
|
1027 |
|
1028 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:379
|
1029 |
msgid "Customer User Email"
|
1030 |
msgstr ""
|
1031 |
|
1032 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:380
|
1033 |
msgid "Customer Role"
|
1034 |
msgstr ""
|
1035 |
|
1036 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:386
|
1037 |
msgid "First Name (Billing)"
|
1038 |
msgstr ""
|
1039 |
|
1040 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:387
|
1041 |
msgid "Last Name (Billing)"
|
1042 |
msgstr ""
|
1043 |
|
1044 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:388
|
1045 |
msgid "Full Name (Billing)"
|
1046 |
msgstr ""
|
1047 |
|
1048 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:389
|
1049 |
msgid "Company (Billing)"
|
1050 |
msgstr ""
|
1051 |
|
1052 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:390
|
1053 |
msgid "Address 1&2 (Billing)"
|
1054 |
msgstr ""
|
1055 |
|
1056 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:391
|
1057 |
msgid "Address 1 (Billing)"
|
1058 |
msgstr ""
|
1059 |
|
1060 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:392
|
1061 |
msgid "Address 2 (Billing)"
|
1062 |
msgstr ""
|
1063 |
|
1064 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:393
|
1065 |
msgid "City (Billing)"
|
1066 |
msgstr ""
|
1067 |
|
1068 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:394
|
1069 |
msgid "State Code (Billing)"
|
1070 |
msgstr ""
|
1071 |
|
1072 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:395
|
1073 |
msgid "City, State, Zip (Billing)"
|
1074 |
msgstr ""
|
1075 |
|
1076 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:396
|
1077 |
msgid "State Name (Billing)"
|
1078 |
msgstr ""
|
1079 |
|
1080 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:397
|
1081 |
msgid "Postcode (Billing)"
|
1082 |
msgstr ""
|
1083 |
|
1084 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:398
|
1085 |
msgid "Country Code (Billing)"
|
1086 |
msgstr ""
|
1087 |
|
1088 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:399
|
1089 |
msgid "Country Name (Billing)"
|
1090 |
msgstr ""
|
1091 |
|
1092 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:400
|
1093 |
msgid "Email (Billing)"
|
1094 |
msgstr ""
|
1095 |
|
1096 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:401
|
1097 |
msgid "Phone (Billing)"
|
1098 |
msgstr ""
|
1099 |
|
1100 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:407
|
1101 |
msgid "First Name (Shipping)"
|
1102 |
msgstr ""
|
1103 |
|
1104 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:408
|
1105 |
msgid "Last Name (Shipping)"
|
1106 |
msgstr ""
|
1107 |
|
1108 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:409
|
1109 |
msgid "Full Name (Shipping)"
|
1110 |
msgstr ""
|
1111 |
|
1112 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:410
|
1113 |
msgid "Company (Shipping)"
|
1114 |
msgstr ""
|
1115 |
|
1116 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:411
|
1117 |
msgid "Address 1&2 (Shipping)"
|
1118 |
msgstr ""
|
1119 |
|
1120 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:412
|
1121 |
msgid "Address 1 (Shipping)"
|
1122 |
msgstr ""
|
1123 |
|
1124 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:413
|
1125 |
msgid "Address 2 (Shipping)"
|
1126 |
msgstr ""
|
1127 |
|
1128 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:414
|
1129 |
msgid "City (Shipping)"
|
1130 |
msgstr ""
|
1131 |
|
1132 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:415
|
1133 |
msgid "State Code (Shipping)"
|
1134 |
msgstr ""
|
1135 |
|
1136 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:416
|
1137 |
msgid "City, State, Zip (Shipping)"
|
1138 |
msgstr ""
|
1139 |
|
1140 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:417
|
1141 |
msgid "State Name (Shipping)"
|
1142 |
msgstr ""
|
1143 |
|
1144 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:418
|
1145 |
msgid "Postcode (Shipping)"
|
1146 |
msgstr ""
|
1147 |
|
1148 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:419
|
1149 |
msgid "Country Code (Shipping)"
|
1150 |
msgstr ""
|
1151 |
|
1152 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:420
|
1153 |
msgid "Country Name (Shipping)"
|
1154 |
msgstr ""
|
1155 |
|
1156 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:427
|
1157 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:495
|
1158 |
msgid "Products"
|
1159 |
msgstr ""
|
1160 |
|
1161 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:440
|
1162 |
msgid "Shipping Method Title"
|
1163 |
msgstr ""
|
1164 |
|
1165 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:441
|
1166 |
msgid "Shipping Method"
|
1167 |
msgstr ""
|
1168 |
|
1169 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:442
|
1170 |
msgid "Payment Method Title"
|
1171 |
msgstr ""
|
1172 |
|
1173 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:443
|
1174 |
msgid "Payment Method"
|
1175 |
msgstr ""
|
1176 |
|
1177 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:444
|
1178 |
msgid "Coupons Used"
|
1179 |
msgstr ""
|
1180 |
|
1181 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:445
|
1182 |
msgid "Cart Discount Amount"
|
1183 |
msgstr ""
|
1184 |
|
1185 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:446
|
1186 |
msgid "Cart Discount Amount Tax"
|
1187 |
msgstr ""
|
1188 |
|
1189 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:447
|
1190 |
msgid "Order Subtotal Amount"
|
1191 |
msgstr ""
|
1192 |
|
1193 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:449
|
1194 |
msgid "Order Subtotal Amount Refunded"
|
1195 |
msgstr ""
|
1196 |
|
1197 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:450
|
1198 |
msgid "Order Subtotal Amount (- Refund)"
|
1199 |
msgstr ""
|
1200 |
|
1201 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:451
|
1202 |
msgid "Order Tax Amount"
|
1203 |
msgstr ""
|
1204 |
|
1205 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:452
|
1206 |
msgid "Order Shipping Amount"
|
1207 |
msgstr ""
|
1208 |
|
1209 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:453
|
1210 |
msgid "Order Shipping Amount Refunded"
|
1211 |
msgstr ""
|
1212 |
|
1213 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:454
|
1214 |
msgid "Order Shipping Amount (- Refund)"
|
1215 |
msgstr ""
|
1216 |
|
1217 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:455
|
1218 |
msgid "Order Shipping Tax Amount"
|
1219 |
msgstr ""
|
1220 |
|
1221 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:456
|
1222 |
msgid "Order Shipping Tax Refunded"
|
1223 |
msgstr ""
|
1224 |
|
1225 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:457
|
1226 |
msgid "Order Shipping Tax Amount (- Refund)"
|
1227 |
msgstr ""
|
1228 |
|
1229 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:458
|
1230 |
msgid "Order Refund Amount"
|
1231 |
msgstr ""
|
1232 |
|
1233 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:459
|
1234 |
msgid "Order Total Amount (- Refund)"
|
1235 |
msgstr ""
|
1236 |
|
1237 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:460
|
1238 |
msgid "Order Total Amount"
|
1239 |
msgstr ""
|
1240 |
|
1241 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:461
|
1242 |
msgid "Order Total Amount without Tax"
|
1243 |
msgstr ""
|
1244 |
|
1245 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:462
|
1246 |
msgid "Order Total Tax Amount"
|
1247 |
msgstr ""
|
1248 |
|
1249 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:463
|
1250 |
msgid "Order Total Tax Amount Refunded"
|
1251 |
msgstr ""
|
1252 |
|
1253 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:464
|
1254 |
msgid "Order Total Tax Amount (- Refund)"
|
1255 |
msgstr ""
|
1256 |
|
1257 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:465
|
1258 |
msgid "Currency"
|
1259 |
msgstr ""
|
1260 |
|
1261 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:471
|
1262 |
msgid "Total weight"
|
1263 |
msgstr ""
|
1264 |
|
1265 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:472
|
1266 |
msgid "Total items"
|
1267 |
msgstr ""
|
1268 |
|
1269 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:473
|
1270 |
msgid "Total products"
|
1271 |
msgstr ""
|
1272 |
|
1273 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:491
|
1274 |
msgid "Common"
|
1275 |
msgstr ""
|
1276 |
|
1277 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:492
|
1278 |
msgid "User"
|
1279 |
msgstr ""
|
1280 |
|
1281 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:493
|
1282 |
msgid "Billing"
|
1283 |
msgstr ""
|
1284 |
|
1285 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:494
|
1286 |
msgid "Shipping"
|
1287 |
msgstr ""
|
1288 |
|
1289 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:497
|
1290 |
msgid "Cart"
|
1291 |
msgstr ""
|
1292 |
|
1293 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:498
|
1294 |
msgid "Others"
|
1295 |
msgstr ""
|
1296 |
|
1297 |
+
#: classes/core/class-wc-order-export-data-extractor.php:1746
|
1298 |
msgid "[Rest of the World]"
|
1299 |
msgstr ""
|
1300 |
|
1301 |
#: classes/core/class-wc-order-export-engine.php:17
|
1302 |
+
msgid "No destination selected"
|
1303 |
msgstr ""
|
1304 |
|
1305 |
#: classes/core/class-wc-order-export-engine.php:27
|
1306 |
msgid "Wrong format"
|
1307 |
msgstr ""
|
1308 |
|
1309 |
+
#: classes/core/class-wc-order-export-engine.php:326
|
1310 |
msgid "Don't Panic"
|
1311 |
msgstr ""
|
1312 |
|
1313 |
+
#: classes/core/class-wc-order-export-engine.php:327
|
1314 |
#, php-format
|
1315 |
msgid "The code you are trying to save produced a fatal error on line %d:"
|
1316 |
msgstr ""
|
1317 |
|
1318 |
+
#: classes/core/class-wc-order-export-engine.php:450
|
1319 |
+
msgid "Main SQL queries are listed below"
|
1320 |
+
msgstr ""
|
1321 |
+
|
1322 |
+
#: classes/core/class-wc-order-export-engine.php:663
|
1323 |
msgid "Total Quantity"
|
1324 |
msgstr ""
|
1325 |
|
1326 |
+
#: classes/core/class-wc-order-export-engine.php:663
|
1327 |
msgid "Total Amount"
|
1328 |
msgstr ""
|
1329 |
|
1332 |
msgstr ""
|
1333 |
|
1334 |
#. Description of the plugin
|
1335 |
+
msgid "Export orders from WooCommerce with ease (Excel/CSV/XML/JSON supported)"
|
|
|
1336 |
msgstr ""
|
1337 |
|
1338 |
#. Author of the plugin
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Tags: woocommerce,export,order,xls,csv,xml,woo export lite,export orders,orders
|
|
5 |
Requires PHP: 5.3.0
|
6 |
Requires at least: 4.7
|
7 |
Tested up to: 4.9
|
8 |
-
Stable tag: 1.5.
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
@@ -103,6 +103,19 @@ Yes, you can email a request to aprokaev@gmail.com. We intensively develop this
|
|
103 |
|
104 |
== Changelog ==
|
105 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
106 |
= 1.5.3 - 2018-02-12 =
|
107 |
* The plugin is compatible with WooCommerce 3.3.1
|
108 |
* Supports complex structures (arrays,objects) in the fields, export it as JSON string
|
5 |
Requires PHP: 5.3.0
|
6 |
Requires at least: 4.7
|
7 |
Tested up to: 4.9
|
8 |
+
Stable tag: 1.5.4
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
103 |
|
104 |
== Changelog ==
|
105 |
|
106 |
+
= 1.5.4 - 2018-04-25 =
|
107 |
+
* Prompting to save changes if user modifies settings
|
108 |
+
* Product fields and order item fields were separated in popup "Setup fields"
|
109 |
+
* Allow to filter by raw shipping methods (not assigned to shipping zones)
|
110 |
+
* Record time of last export for the order (option "mark exported orders" must be ON)
|
111 |
+
* Added order fields "Line number", "Order Subtotal - Cart Discount"
|
112 |
+
* Added product field "Full names for categories"
|
113 |
+
* Added operators "Is set", "Not is set" for custom fields
|
114 |
+
* Added option "Enable debug output" to section "Misc Settings"
|
115 |
+
* Added option "Cleanup phone" to section "Misc Settings"
|
116 |
+
* Tags {from_date} and {to_date} can be used in filename
|
117 |
+
* Fixed bug in UI if order item meta has many values
|
118 |
+
|
119 |
= 1.5.3 - 2018-02-12 =
|
120 |
* The plugin is compatible with WooCommerce 3.3.1
|
121 |
* Supports complex structures (arrays,objects) in the fields, export it as JSON string
|
view/modal-controls.php
CHANGED
@@ -1,11 +1,13 @@
|
|
1 |
<div id='fields_control_products' class='fields_control_style' style="display: none;">
|
2 |
<div class='div_meta' >
|
3 |
-
<label><?php _e('Meta key', 'woo-order-export-lite')?>:</label>
|
4 |
<div id="custom_meta_products_mode">
|
5 |
<label><input id="custom_meta_products_mode_used" type="checkbox" name="custom_meta_products_mode" value="used"> <?php _e('Hide unused fields', 'woo-order-export-lite') ?></label>
|
6 |
</div>
|
7 |
-
<
|
8 |
-
|
|
|
|
|
|
|
9 |
<div style="width: 80%; text-align: center;"><?php _e('OR', 'woo-order-export-lite') ?></div>
|
10 |
<label><?php _e('Taxonomy', 'woo-order-export-lite')?>:</label><select id='select_custom_taxonomies_products'>
|
11 |
<option></option>
|
1 |
<div id='fields_control_products' class='fields_control_style' style="display: none;">
|
2 |
<div class='div_meta' >
|
|
|
3 |
<div id="custom_meta_products_mode">
|
4 |
<label><input id="custom_meta_products_mode_used" type="checkbox" name="custom_meta_products_mode" value="used"> <?php _e('Hide unused fields', 'woo-order-export-lite') ?></label>
|
5 |
</div>
|
6 |
+
<label for="select_custom_meta_products"><?php _e('Product fields', 'woo-order-export-lite')?>:</label>
|
7 |
+
<select id='select_custom_meta_products'></select>
|
8 |
+
|
9 |
+
<label for="select_custom_meta_order_items"><?php _e('Order item fields', 'woo-order-export-lite')?>:</label>
|
10 |
+
<select id='select_custom_meta_order_items'></select>
|
11 |
<div style="width: 80%; text-align: center;"><?php _e('OR', 'woo-order-export-lite') ?></div>
|
12 |
<label><?php _e('Taxonomy', 'woo-order-export-lite')?>:</label><select id='select_custom_taxonomies_products'>
|
13 |
<option></option>
|
view/settings-form.php
CHANGED
@@ -18,7 +18,8 @@ $readonly_php = WC_Order_Export_Admin::user_can_add_custom_php() ? '' : 'readonl
|
|
18 |
var order_products_fields = <?php echo json_encode( $settings[ 'order_product_fields' ] ) ?>;
|
19 |
var order_coupons_fields = <?php echo json_encode( $settings[ 'order_coupon_fields' ] ) ?>;
|
20 |
var order_custom_meta_fields = <?php echo json_encode( $order_custom_meta_fields ) ?>;
|
21 |
-
var order_products_custom_meta_fields = <?php echo json_encode( WC_Order_Export_Data_Extractor_UI::
|
|
|
22 |
var order_coupons_custom_meta_fields = <?php echo json_encode( WC_Order_Export_Data_Extractor_UI::get_all_coupon_custom_meta_fields() ) ?>;
|
23 |
var flat_formats = ['XLS', 'CSV', 'TSV'];
|
24 |
var object_formats = ['XML', 'JSON'];
|
@@ -35,228 +36,15 @@ $readonly_php = WC_Order_Export_Admin::user_can_add_custom_php() ? '' : 'readonl
|
|
35 |
<?php endif; ?>
|
36 |
|
37 |
<div id="my-left" style="float: left; width: 49%; max-width: 500px;">
|
38 |
-
<?php
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
<div class="my-block">
|
48 |
-
<div style="display: inline;">
|
49 |
-
<span class="wc-oe-header"><?php _e( 'Title', 'woo-order-export-lite' ) ?></span>
|
50 |
-
<input type=text style="width: 90%;" id="settings_title" name="settings[title]" value='<?php echo ( isset( $settings[ 'title' ] ) ? $settings[ 'title' ] : '' ) ?>'>
|
51 |
-
</div>
|
52 |
-
</div>
|
53 |
-
<br>
|
54 |
-
<div class="my-block">
|
55 |
-
<div>
|
56 |
-
<span class="wc-oe-header" title="<?php _e( 'Empty means "any status"', 'woo-order-export-lite' ) ?>"><?php _e( 'From status', 'woo-order-export-lite' )?></span>
|
57 |
-
<select id="from_status" name="settings[from_status][]" multiple="multiple" style="width: 100%; max-width: 25%;">
|
58 |
-
<?php foreach ( wc_get_order_statuses() as $i => $status ) { ?>
|
59 |
-
<option value="<?php echo $i ?>" <?php if ( in_array( $i, $settings[ 'from_status' ] ) ) echo 'selected'; ?>><?php echo $status ?></option>
|
60 |
-
<?php } ?>
|
61 |
-
</select>
|
62 |
-
</div>
|
63 |
-
<div>
|
64 |
-
<span class="wc-oe-header" title="<?php _e( 'Empty means "any status"', 'woo-order-export-lite' ) ?>"><?php _e( 'To status', 'woo-order-export-lite' ) ?></span>
|
65 |
-
<select id="to_status" name="settings[to_status][]" multiple="multiple" style="width: 100%; max-width: 25%;">
|
66 |
-
<?php foreach ( wc_get_order_statuses() as $i => $status ) { ?>
|
67 |
-
<option value="<?php echo $i ?>" <?php if ( in_array( $i, $settings[ 'to_status' ] ) ) echo 'selected'; ?>><?php echo $status ?></option>
|
68 |
-
<?php } ?>
|
69 |
-
</select>
|
70 |
-
</div>
|
71 |
-
<?php if( function_exists( "wc_get_logger" ) ) : ?>
|
72 |
-
<div>
|
73 |
-
<label>
|
74 |
-
<input type="checkbox" name="settings[log_results]" <?php echo isset( $settings[ 'log_results' ] ) ? 'checked' : '' ?>>
|
75 |
-
<?php _e( 'Log results', 'woo-order-export-lite' ) ?> <a href="admin.php?page=wc-status&tab=logs&source=woocommerce-order-export" target=_blank><?php _e( 'View logs', 'woo-order-export-lite' ) ?></a>
|
76 |
-
</label>
|
77 |
-
</div>
|
78 |
-
<?php endif; ?>
|
79 |
-
</div>
|
80 |
-
<hr>
|
81 |
-
<?php elseif ( $mode === WC_Order_Export_Manage::EXPORT_SCHEDULE ): ?>
|
82 |
-
<div class="my-block">
|
83 |
-
<div style="display: inline;">
|
84 |
-
<span class="wc-oe-header"><?php _e( 'Title', 'woo-order-export-lite' ) ?></span>
|
85 |
-
<input type=text style="width: 90%;" id="settings_title" name="settings[title]" value='<?php echo ( isset( $settings[ 'title' ] ) ? $settings[ 'title' ] : '' ) ?>'>
|
86 |
-
</div>
|
87 |
-
<div>
|
88 |
-
<label>
|
89 |
-
<input type="hidden" name="settings[skip_empty_file]" value="" />
|
90 |
-
<input type="checkbox" name="settings[skip_empty_file]" <?php echo !empty( $settings[ 'skip_empty_file' ] ) ? 'checked' : '' ?>>
|
91 |
-
<?php _e( "Don't send empty file", 'woo-order-export-lite' ) ?>
|
92 |
-
</label>
|
93 |
-
</div>
|
94 |
-
</div>
|
95 |
-
<br>
|
96 |
-
<div id="my-shedule-days" class="my-block">
|
97 |
-
<div class="wc-oe-header"><?php _e( 'Schedule', 'woo-order-export-lite' ) ?></div>
|
98 |
-
<div id="d-schedule-1">
|
99 |
-
<input type="radio" name="settings[schedule][type]" value="schedule-1" id="schedule-1" class="wc-oe-schedule-type" <?php echo ((isset( $settings[ 'schedule' ] ) and $settings[ 'schedule' ][ 'type' ] == 'schedule-1') or ! isset( $settings[ 'schedule' ] )) ? 'checked' : '' ?>>
|
100 |
-
<div class="weekday">
|
101 |
-
<?php foreach( WC_Order_Export_Manage::get_days() as $kday=>$day ) : ?>
|
102 |
-
<label>
|
103 |
-
<?php echo $day; ?>
|
104 |
-
<input type="checkbox" name="settings[schedule][weekday][<?php echo $kday; ?>]" <?php echo isset( $settings[ 'schedule' ][ 'weekday' ][ $kday ] ) ? 'checked' : '' ?>>
|
105 |
-
</label>
|
106 |
-
<?php endforeach; ?>
|
107 |
-
</div>
|
108 |
-
<div class="">
|
109 |
-
<label style="margin-left: 10px;"><?php _e( 'Run at', 'woo-order-export-lite' ) ?>:
|
110 |
-
<select name="settings[schedule][run_at]" style="width: 80px">
|
111 |
-
<?php
|
112 |
-
for ( $i = 0; $i <= 23; $i++ ) :
|
113 |
-
$h = ($i < 10) ? '0'.$i : $i;
|
114 |
-
|
115 |
-
for($m =0; $m<60;$m+=5) :
|
116 |
-
$time = "$h:" . ( $m<10 ? "0".$m : $m );
|
117 |
-
?>
|
118 |
-
<option <?php echo (isset( $settings[ 'schedule' ][ 'run_at' ] ) and $time == $settings[ 'schedule' ][ 'run_at' ]) ? 'selected' : '' ?>>
|
119 |
-
<?php
|
120 |
-
echo $time;
|
121 |
-
?>
|
122 |
-
</option>
|
123 |
-
<?php endfor; ?>
|
124 |
-
<?php endfor; ?>
|
125 |
-
</select>
|
126 |
-
</label>
|
127 |
-
</div>
|
128 |
-
</div>
|
129 |
-
<div class="clearfix"></div>
|
130 |
-
|
131 |
-
<div id="d-schedule-2" class="padding-bottom-10">
|
132 |
-
<input type="radio" name="settings[schedule][type]" value="schedule-2" id="schedule-2" class="wc-oe-schedule-type" <?php echo (isset( $settings[ 'schedule' ] ) and $settings[ 'schedule' ][ 'type' ] == 'schedule-2') ? 'checked' : '' ?>>
|
133 |
-
<select class="wc_oe-select-interval" name="settings[schedule][interval]">
|
134 |
-
<option value="-1"><?php _e( 'Choose', 'woo-order-export-lite' ) ?></option>
|
135 |
-
<option value="custom" <?php echo (isset( $settings[ 'schedule' ][ 'interval' ] ) AND $settings[ 'schedule' ][ 'interval' ] == 'custom') ? 'selected' : '' ?>><?php _e( 'Custom', 'woo-order-export-lite' ) ?></option>
|
136 |
-
<?php
|
137 |
-
$schedules = wp_get_schedules();
|
138 |
-
foreach ( $schedules as $name => $schedule ) :
|
139 |
-
?>
|
140 |
-
<option value="<?php echo $name ?>" <?php echo (isset( $settings[ 'schedule' ][ 'interval' ] ) AND $settings[ 'schedule' ][ 'interval' ] == $name ) ? 'selected' : '' ?>>
|
141 |
-
<?php echo $schedule[ 'display' ] ?>
|
142 |
-
</option>
|
143 |
-
<?php endforeach; ?>
|
144 |
-
<option value="first_day_month" <?php echo (isset( $settings[ 'schedule' ][ 'interval' ] ) AND $settings[ 'schedule' ][ 'interval' ] == 'first_day_month') ? 'selected' : '' ?>><?php _e( 'On the 1st day of the month', 'woo-order-export-lite' ) ?></option>
|
145 |
-
<option value="first_day_quarter" <?php echo (isset( $settings[ 'schedule' ][ 'interval' ] ) AND $settings[ 'schedule' ][ 'interval' ] == 'first_day_quarter') ? 'selected' : '' ?>><?php _e( 'On the 1st day of the quarter', 'woo-order-export-lite' ) ?></option>
|
146 |
-
</select>
|
147 |
-
<label id="custom_interval">
|
148 |
-
<?php _e( 'interval (min)', 'woo-order-export-lite' ) ?>:
|
149 |
-
<input name="settings[schedule][custom_interval]" value="<?php echo isset( $settings[ 'schedule' ][ 'custom_interval' ] ) ? $settings[ 'schedule' ][ 'custom_interval' ] : '' ?>" >
|
150 |
-
</label>
|
151 |
-
</div>
|
152 |
-
<div id="d-schedule-3" class="padding-bottom-10">
|
153 |
-
<input type="radio" name="settings[schedule][type]" value="schedule-3" id="schedule-3" class="wc-oe-schedule-type" <?php echo (isset( $settings[ 'schedule' ] ) and $settings[ 'schedule' ][ 'type' ] == 'schedule-3') ? 'checked' : '' ?>>
|
154 |
-
<input type="hidden" name="settings[schedule][times]" value="<?php echo isset( $settings[ 'schedule' ][ 'times' ] ) ? $settings[ 'schedule' ][ 'times' ] : '' ?>">
|
155 |
-
<div class="block">
|
156 |
-
<div class="input-times"></div>
|
157 |
-
|
158 |
-
<select style="width:80px" class="wc_oe-select-weekday">
|
159 |
-
<?php
|
160 |
-
foreach ( WC_Order_Export_Manage::get_days() as $kday=>$day ) :
|
161 |
-
?>
|
162 |
-
<option value="<?php echo $kday ?>">
|
163 |
-
<?php echo $day ?>
|
164 |
-
</option>
|
165 |
-
<?php endforeach; ?>
|
166 |
-
</select>
|
167 |
-
|
168 |
-
<select style="width: 80px" class="wc_oe-select-time">
|
169 |
-
<?php
|
170 |
-
for ( $i = 0; $i <= 23; $i++ ) :
|
171 |
-
$h = ($i < 10) ? '0'.$i : $i;
|
172 |
-
|
173 |
-
for($m =0; $m<60;$m+=5) :
|
174 |
-
$time = "$h:" . ( $m<10 ? "0".$m : $m );
|
175 |
-
?>
|
176 |
-
<option <?php echo (isset( $settings[ 'schedule' ][ 'run_at' ] ) and $time == $settings[ 'schedule' ][ 'run_at' ]) ? 'selected' : '' ?>>
|
177 |
-
<?php
|
178 |
-
echo $time;
|
179 |
-
?>
|
180 |
-
</option>
|
181 |
-
<?php endfor; ?>
|
182 |
-
<?php endfor; ?>
|
183 |
-
</select>
|
184 |
-
|
185 |
-
<input type="button" style="margin:3px" class="button-secondary btn-add" value="<?php _e( 'Add', 'woo-order-export-lite' ) ?>">
|
186 |
-
</div>
|
187 |
-
</div>
|
188 |
-
<?php if( function_exists( "wc_get_logger" ) ) : ?>
|
189 |
-
<div id="d-schedule-4" class="padding-bottom-10">
|
190 |
-
<label>
|
191 |
-
<input type="checkbox" name="settings[log_results]" <?php echo isset( $settings[ 'log_results' ] ) ? 'checked' : '' ?>>
|
192 |
-
<?php _e( 'Log results', 'woo-order-export-lite' ) ?> <a href="admin.php?page=wc-status&tab=logs&source=woocommerce-order-export" target=_blank><?php _e( 'View logs', 'woo-order-export-lite' ) ?></a>
|
193 |
-
</label>
|
194 |
-
</div>
|
195 |
-
<?php endif; ?>
|
196 |
-
</div>
|
197 |
-
<br>
|
198 |
-
<div id="my-export-options" class="my-block">
|
199 |
-
<div class="wc-oe-header">
|
200 |
-
<?php _e( 'Export date range', 'woo-order-export-lite' ) ?>:
|
201 |
-
</div>
|
202 |
-
<label>
|
203 |
-
<input type="radio" name="settings[export_rule]" class="width-100" <?php echo (!isset( $settings[ 'export_rule' ] ) || ($settings[ 'export_rule' ] == 'last_run')) ? 'checked' : '' ?> value="last_run" >
|
204 |
-
<?php _e( 'Since last run of this job', 'woo-order-export-lite' ) ?>
|
205 |
-
</label>
|
206 |
-
<br>
|
207 |
-
<label>
|
208 |
-
<input type="radio" name="settings[export_rule]" class="width-100" <?php echo (isset( $settings[ 'export_rule' ] ) && ($settings[ 'export_rule' ] == 'today')) ? 'checked' : '' ?> value="today" >
|
209 |
-
<?php _e( 'Today', 'woo-order-export-lite' ) ?>
|
210 |
-
</label>
|
211 |
-
<br>
|
212 |
-
<label>
|
213 |
-
<input type="radio" name="settings[export_rule]" class="width-100" <?php echo (isset( $settings[ 'export_rule' ] ) && ($settings[ 'export_rule' ] == 'last_day')) ? 'checked' : '' ?> value="last_day" >
|
214 |
-
<?php _e( 'Yesterday', 'woo-order-export-lite' ) ?>
|
215 |
-
</label>
|
216 |
-
<br>
|
217 |
-
<label>
|
218 |
-
<input type="radio" name="settings[export_rule]" class="width-100" <?php echo (isset( $settings[ 'export_rule' ] ) && ($settings[ 'export_rule' ] == 'this_week')) ? 'checked' : '' ?> value="this_week" >
|
219 |
-
<?php _e( 'Current week', 'woo-order-export-lite' ) ?>
|
220 |
-
</label>
|
221 |
-
<br>
|
222 |
-
<label>
|
223 |
-
<input type="radio" name="settings[export_rule]" class="width-100" <?php echo (isset( $settings[ 'export_rule' ] ) && ($settings[ 'export_rule' ] == 'this_month')) ? 'checked' : '' ?> value="this_month" >
|
224 |
-
<?php _e( 'Current month', 'woo-order-export-lite' ) ?>
|
225 |
-
</label>
|
226 |
-
<br>
|
227 |
-
<label>
|
228 |
-
<input type="radio" name="settings[export_rule]" class="width-100" <?php echo (isset( $settings[ 'export_rule' ] ) && ($settings[ 'export_rule' ] == 'last_week')) ? 'checked' : '' ?> value="last_week" >
|
229 |
-
<?php _e( 'Last week', 'woo-order-export-lite' ) ?>
|
230 |
-
</label>
|
231 |
-
<br>
|
232 |
-
<label>
|
233 |
-
<input type="radio" name="settings[export_rule]" class="width-100" <?php echo (isset( $settings[ 'export_rule' ] ) && ($settings[ 'export_rule' ] == 'last_month')) ? 'checked' : '' ?> value="last_month" >
|
234 |
-
<?php _e( 'Last month', 'woo-order-export-lite' ) ?>
|
235 |
-
</label>
|
236 |
-
<br>
|
237 |
-
<label>
|
238 |
-
<input type="radio" name="settings[export_rule]" class="width-100" <?php echo (isset( $settings[ 'export_rule' ] ) && ($settings[ 'export_rule' ] == 'last_quarter')) ? 'checked' : '' ?> value="last_quarter" >
|
239 |
-
<?php _e( 'Last quarter', 'woo-order-export-lite' ) ?>
|
240 |
-
</label>
|
241 |
-
<br>
|
242 |
-
<label>
|
243 |
-
<input type="radio" name="settings[export_rule]" class="width-100" <?php echo (isset( $settings[ 'export_rule' ] ) && ($settings[ 'export_rule' ] == 'this_year')) ? 'checked' : '' ?> value="this_year" >
|
244 |
-
<?php _e( 'This year', 'woo-order-export-lite' ) ?>
|
245 |
-
</label>
|
246 |
-
<br>
|
247 |
-
<label>
|
248 |
-
<input type="radio" name="settings[export_rule]" class="width-100" <?php echo (isset( $settings[ 'export_rule' ] ) && ($settings[ 'export_rule' ] == 'custom')) ? 'checked' : '' ?> value="custom" >
|
249 |
-
<?php
|
250 |
-
$input_days = isset( $settings[ 'export_rule_custom' ] ) ? $settings[ 'export_rule_custom' ] : 3;
|
251 |
-
$input_days = '<input class="width-15" name="settings[export_rule_custom]" value="' . $input_days . '">';
|
252 |
-
?>
|
253 |
-
<?php echo sprintf( __( 'Last %s days', 'woo-order-export-lite' ), $input_days ) ?>
|
254 |
-
</label>
|
255 |
-
</div>
|
256 |
-
<br>
|
257 |
-
<?php elseif ( $mode === WC_Order_Export_Manage::EXPORT_NOW ): ?>
|
258 |
-
<input type="hidden" name="settings[title]" value=''>
|
259 |
-
<?php endif; ?>
|
260 |
|
261 |
<?php if ( $show[ 'date_filter' ] ) : ?>
|
262 |
<div id="my-export-date-field" class="my-block">
|
@@ -491,6 +279,14 @@ $readonly_php = WC_Order_Export_Admin::user_can_add_custom_php() ? '' : 'readonl
|
|
491 |
<div>
|
492 |
<input type="hidden" name="settings[strip_tags_product_fields]" value="0"/>
|
493 |
<label><input type="checkbox" name="settings[strip_tags_product_fields]" value="1" <?php checked($settings['strip_tags_product_fields']) ?>/><?php _e( 'Strip tags from Product Description/Variation', 'woo-order-export-lite' ) ?></label>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
494 |
</div>
|
495 |
<div>
|
496 |
<input type="hidden" name="settings[custom_php]" value="0"/>
|
@@ -502,263 +298,10 @@ $readonly_php = WC_Order_Export_Admin::user_can_add_custom_php() ? '' : 'readonl
|
|
502 |
</div>
|
503 |
|
504 |
<div id="my-right" style="float: left; width: 48%; margin: 0px 10px; max-width: 500px;">
|
505 |
-
<?php
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
if( isset( $settings[ 'destination' ][ 'type' ] ) && !is_array( $settings[ 'destination' ][ 'type' ] ) ) {
|
510 |
-
$settings[ 'destination' ][ 'type' ] = array( $settings[ 'destination' ][ 'type' ] );
|
511 |
-
}
|
512 |
-
?>
|
513 |
-
<div class="button-secondary output_destination"><input type="checkbox" name="settings[destination][type][]" value="email"
|
514 |
-
<?php if ( isset( $settings[ 'destination' ][ 'type' ] ) AND in_array( 'email', $settings[ 'destination' ][ 'type' ] ) ) echo 'checked'; ?>
|
515 |
-
> <?php _e( 'Email', 'woo-order-export-lite' ) ?>
|
516 |
-
<span class="ui-icon ui-icon-triangle-1-s my-icon-triangle"></span>
|
517 |
-
</div>
|
518 |
-
|
519 |
-
<div class="button-secondary output_destination"><input type="checkbox" name="settings[destination][type][]" value="ftp"
|
520 |
-
<?php if ( isset( $settings[ 'destination' ][ 'type' ] ) AND in_array( 'ftp', $settings[ 'destination' ][ 'type' ] ) ) echo 'checked'; ?>
|
521 |
-
> <?php _e( 'FTP', 'woo-order-export-lite' ) ?>
|
522 |
-
<span class="ui-icon ui-icon-triangle-1-s my-icon-triangle"></span>
|
523 |
-
</div>
|
524 |
-
|
525 |
-
<div class="button-secondary output_destination"><input type="checkbox" name="settings[destination][type][]" value="sftp"
|
526 |
-
<?php if ( isset( $settings[ 'destination' ][ 'type' ] ) AND in_array( 'sftp', $settings[ 'destination' ][ 'type' ] ) ) echo 'checked'; ?>
|
527 |
-
> <?php _e( 'SFTP', 'woo-order-export-lite' ) ?>
|
528 |
-
<span class="ui-icon ui-icon-triangle-1-s my-icon-triangle"></span>
|
529 |
-
</div>
|
530 |
-
|
531 |
-
<div class="button-secondary output_destination"><input type="checkbox" name="settings[destination][type][]" value="http"
|
532 |
-
<?php if ( isset( $settings[ 'destination' ][ 'type' ] ) AND in_array( 'http', $settings[ 'destination' ][ 'type' ] ) ) echo 'checked'; ?>
|
533 |
-
> <?php _e( 'HTTP POST', 'woo-order-export-lite' ) ?>
|
534 |
-
<span class="ui-icon ui-icon-triangle-1-s my-icon-triangle"></span>
|
535 |
-
</div>
|
536 |
-
|
537 |
-
<div class="button-secondary output_destination"><input type="checkbox" name="settings[destination][type][]" value="folder"
|
538 |
-
<?php if ( isset( $settings[ 'destination' ][ 'type' ] ) AND in_array( 'folder', $settings[ 'destination' ][ 'type' ] ) ) echo 'checked'; ?>
|
539 |
-
> <?php _e( 'Directory', 'woo-order-export-lite' ) ?>
|
540 |
-
<span class="ui-icon ui-icon-triangle-1-s my-icon-triangle"></span>
|
541 |
-
</div>
|
542 |
-
|
543 |
-
<div class="padding-bottom-10 set-destination my-block" id="email" style="display: none;" >
|
544 |
-
<div class="wc-oe-header"><?php _e( 'Email settings', 'woo-order-export-lite' ) ?></div>
|
545 |
-
<div class="wc_oe-row">
|
546 |
-
<div class="col-100pr">
|
547 |
-
<label><div><?php _e( 'From email', 'woo-order-export-lite' ) ?></div>
|
548 |
-
<input type="text" name="settings[destination][email_from]" class="width-100" value="<?php echo $WC_Order_Export->get_value( $settings, "[destination][email_from]" ); ?>">
|
549 |
-
</label>
|
550 |
-
</div>
|
551 |
-
</div>
|
552 |
-
<div class="wc_oe-row">
|
553 |
-
<div class="col-100pr">
|
554 |
-
<label><div><?php _e( 'From name', 'woo-order-export-lite' ) ?></div>
|
555 |
-
<input type="text" name="settings[destination][email_from_name]" class="width-100" value="<?php echo $WC_Order_Export->get_value( $settings, "[destination][email_from_name]" ); ?>">
|
556 |
-
</label>
|
557 |
-
</div>
|
558 |
-
</div>
|
559 |
-
<div class="wc_oe-row">
|
560 |
-
<div class="col-100pr">
|
561 |
-
<label><div><?php _e( 'Recipient(s)', 'woo-order-export-lite' ) ?></div>
|
562 |
-
<textarea name="settings[destination][email_recipients]" class="width-100"><?php echo $WC_Order_Export->get_value( $settings, "[destination][email_recipients]" ); ?></textarea>
|
563 |
-
</label>
|
564 |
-
</div>
|
565 |
-
</div>
|
566 |
-
<div class="wc_oe-row">
|
567 |
-
<div class="col-100pr">
|
568 |
-
<label><div><?php _e( 'CC Recipient(s)', 'woo-order-export-lite' ) ?></div>
|
569 |
-
<textarea name="settings[destination][email_recipients_cc]" class="width-100"><?php echo $WC_Order_Export->get_value( $settings, "[destination][email_recipients_cc]" ); ?></textarea>
|
570 |
-
</label>
|
571 |
-
</div>
|
572 |
-
</div>
|
573 |
-
<div class="wc_oe-row">
|
574 |
-
<div class="col-100pr">
|
575 |
-
<label><div><?php _e( 'Email subject', 'woo-order-export-lite' ) ?></div>
|
576 |
-
<input type="text" name="settings[destination][email_subject]" class="width-100" value="<?php echo $WC_Order_Export->get_value( $settings, "[destination][email_subject]" ); ?>">
|
577 |
-
</label>
|
578 |
-
</div>
|
579 |
-
</div>
|
580 |
-
|
581 |
-
<div class="wc_oe-row">
|
582 |
-
<div class="col-100pr">
|
583 |
-
<label><div><?php _e( 'Email body', 'woo-order-export-lite' ) ?></div>
|
584 |
-
<a href="#TB_inline?width=400&height=400&inlineId=modal-email-body" class="thickbox"><?php _e( 'Edit email body', 'woo-order-export-lite' ) ?></a>
|
585 |
-
<div class=""><input name="settings[destination][email_body_append_file_contents]" type="checkbox" <?php echo $WC_Order_Export->get_value( $settings, "[destination][email_body_append_file_contents]" ) ? 'checked' : ''; ?>><?php _e( 'Append file contents to email body', 'woo-order-export-lite' ) ?></div>
|
586 |
-
</label>
|
587 |
-
</div>
|
588 |
-
</div>
|
589 |
-
|
590 |
-
|
591 |
-
<div id="modal-email-body" >
|
592 |
-
<label><div><?php _e( 'Email body', 'woo-order-export-lite' ) ?></div>
|
593 |
-
<textarea name="settings[destination][email_body]" class="email_body_textarea" ><?php echo $WC_Order_Export->get_value( $settings, "[destination][email_body]" ); ?></textarea>
|
594 |
-
</label>
|
595 |
-
</div>
|
596 |
-
|
597 |
-
|
598 |
-
<div class="wc_oe-row">
|
599 |
-
<div class="col-100pr">
|
600 |
-
<label>
|
601 |
-
<div class="wrap"><input name="" class="wc_oe_test my-test-button add-new-h2" data-test="email" type="button" value="<?php _e( 'Test', 'woo-order-export-lite' ) ?>" title="<?php _e( 'It sends only last order!', 'woo-order-export-lite' ) ?>"></div>
|
602 |
-
</label>
|
603 |
-
</div>
|
604 |
-
</div>
|
605 |
-
</div>
|
606 |
-
|
607 |
-
<div class="padding-bottom set-destination my-block" id="ftp" style="display: none;">
|
608 |
-
<div class="wc-oe-header"><?php _e( 'FTP settings', 'woo-order-export-lite' ) ?></div>
|
609 |
-
<div class="wc_oe-row">
|
610 |
-
<div class="col-50pr">
|
611 |
-
<label><div><?php _e( 'Server name', 'woo-order-export-lite' ) ?></div>
|
612 |
-
<input type="text" name="settings[destination][ftp_server]" value="<?php echo $WC_Order_Export->get_value( $settings, "[destination][ftp_server]" ); ?>">
|
613 |
-
</label>
|
614 |
-
</div>
|
615 |
-
<div class="col-50pr">
|
616 |
-
<label><div><?php _e( 'Port', 'woo-order-export-lite' ) ?></div>
|
617 |
-
<input type="text" name="settings[destination][ftp_port]" value="<?php echo $WC_Order_Export->get_value( $settings, "[destination][ftp_port]" ); ?>">
|
618 |
-
</label>
|
619 |
-
</div>
|
620 |
-
</div>
|
621 |
-
<div class="wc_oe-row">
|
622 |
-
|
623 |
-
<div class="col-50pr">
|
624 |
-
<label><div><?php _e( 'Username', 'woo-order-export-lite' ) ?></div>
|
625 |
-
<input type="text" name="settings[destination][ftp_user]" value="<?php echo $WC_Order_Export->get_value( $settings, "[destination][ftp_user]" ); ?>">
|
626 |
-
</label>
|
627 |
-
</div>
|
628 |
-
<div class="col-50pr">
|
629 |
-
<label><div><?php _e( 'Password', 'woo-order-export-lite' ) ?></div>
|
630 |
-
<input type="text" name="settings[destination][ftp_pass]" value="<?php echo $WC_Order_Export->get_value( $settings, "[destination][ftp_pass]" ); ?>">
|
631 |
-
</label>
|
632 |
-
</div>
|
633 |
-
</div>
|
634 |
-
<div class="wc_oe-row">
|
635 |
-
<div class="col-100pr">
|
636 |
-
<label><div><?php _e( 'Initial path', 'woo-order-export-lite' ) ?></div>
|
637 |
-
<input type="text" class="width-100" name="settings[destination][ftp_path]" value="<?php echo $WC_Order_Export->get_value( $settings, "[destination][ftp_path]" ); ?>">
|
638 |
-
</label>
|
639 |
-
</div>
|
640 |
-
</div>
|
641 |
-
<div class="wc_oe-row">
|
642 |
-
<div class="col-100pr">
|
643 |
-
<label>
|
644 |
-
<div class=""><input name="settings[destination][ftp_passive_mode]" type="checkbox" <?php echo $WC_Order_Export->get_value( $settings, "[destination][ftp_passive_mode]" ) ? 'checked' : ''; ?>><?php _e( 'Passive mode', 'woo-order-export-lite' ) ?></div>
|
645 |
-
</label>
|
646 |
-
</div>
|
647 |
-
<div class="col-100pr">
|
648 |
-
<label>
|
649 |
-
<div class=""><input name="settings[destination][ftp_append_existing]" type="checkbox" <?php echo $WC_Order_Export->get_value( $settings, "[destination][ftp_append_existing]" ) ? 'checked' : ''; ?>><?php _e( 'Append to existing file (need custom code!)', 'woo-order-export-lite' ) ?></div>
|
650 |
-
</label>
|
651 |
-
</div>
|
652 |
-
</div>
|
653 |
-
<div class="wc_oe-row">
|
654 |
-
<div class="col-100pr">
|
655 |
-
<label>
|
656 |
-
<div class="wrap"><input name="" class="wc_oe_test my-test-button add-new-h2" data-test="ftp" type="button" value="<?php _e( 'Test', 'woo-order-export-lite' ) ?>" title="<?php _e( 'It sends only last order!', 'woo-order-export-lite' ) ?>"></div>
|
657 |
-
</label>
|
658 |
-
</div>
|
659 |
-
</div>
|
660 |
-
</div>
|
661 |
-
|
662 |
-
<div class="padding-bottom set-destination my-block" id="sftp" style="display: none;">
|
663 |
-
<div class="wc-oe-header"><?php _e( 'SFTP settings', 'woo-order-export-lite' ) ?></div>
|
664 |
-
<div class="wc_oe-row">
|
665 |
-
<div class="col-50pr">
|
666 |
-
<label><div><?php _e( 'Server name', 'woo-order-export-lite' ) ?></div>
|
667 |
-
<input type="text" name="settings[destination][sftp_server]" value="<?php echo $WC_Order_Export->get_value( $settings, "[destination][sftp_server]" ); ?>">
|
668 |
-
</label>
|
669 |
-
</div>
|
670 |
-
<div class="col-50pr">
|
671 |
-
<label><div><?php _e( 'Port', 'woo-order-export-lite' ) ?></div>
|
672 |
-
<input type="text" name="settings[destination][sftp_port]" value="<?php echo $WC_Order_Export->get_value( $settings, "[destination][sftp_port]" ); ?>">
|
673 |
-
</label>
|
674 |
-
</div>
|
675 |
-
</div>
|
676 |
-
<div class="wc_oe-row">
|
677 |
-
|
678 |
-
<div class="col-50pr">
|
679 |
-
<label><div><?php _e( 'Username', 'woo-order-export-lite' ) ?></div>
|
680 |
-
<input type="text" name="settings[destination][sftp_user]" value="<?php echo $WC_Order_Export->get_value( $settings, "[destination][sftp_user]" ); ?>">
|
681 |
-
</label>
|
682 |
-
</div>
|
683 |
-
<div class="col-50pr">
|
684 |
-
<label><div><?php _e( 'Password', 'woo-order-export-lite' ) ?></div>
|
685 |
-
<input type="text" name="settings[destination][sftp_pass]" value="<?php echo $WC_Order_Export->get_value( $settings, "[destination][sftp_pass]" ); ?>">
|
686 |
-
</label>
|
687 |
-
</div>
|
688 |
-
</div>
|
689 |
-
<div class="wc_oe-row">
|
690 |
-
<div class="col-100pr">
|
691 |
-
<label><div><?php _e( 'Initial path', 'woo-order-export-lite' ) ?></div>
|
692 |
-
<input type="text" class="width-100" name="settings[destination][sftp_path]" value="<?php echo $WC_Order_Export->get_value( $settings, "[destination][sftp_path]" ); ?>">
|
693 |
-
</label>
|
694 |
-
</div>
|
695 |
-
</div>
|
696 |
-
<div class="wc_oe-row">
|
697 |
-
<div class="col-100pr">
|
698 |
-
<label>
|
699 |
-
<div class="wrap"><input name="" class="wc_oe_test my-test-button add-new-h2" data-test="sftp" type="button" value="<?php _e( 'Test', 'woo-order-export-lite' ) ?>"></div>
|
700 |
-
</label>
|
701 |
-
</div>
|
702 |
-
</div>
|
703 |
-
</div>
|
704 |
-
|
705 |
-
<div class="padding-bottom-10 set-destination my-block" id="http" style="display: none;" >
|
706 |
-
<div class="wc-oe-header"><?php _e( 'HTTP POST settings', 'woo-order-export-lite' ) ?></div>
|
707 |
-
<div class="wc_oe-row">
|
708 |
-
<div class="col-100pr">
|
709 |
-
<label>
|
710 |
-
<div><?php _e( 'URL', 'woo-order-export-lite' ) ?></div>
|
711 |
-
<input type="text" name="settings[destination][http_post_url]" class="width-100" value="<?php echo $WC_Order_Export->get_value( $settings, "[destination][http_post_url]" ); ?>">
|
712 |
-
</label>
|
713 |
-
</div>
|
714 |
-
</div>
|
715 |
-
<div class="wc_oe-row">
|
716 |
-
<div class="col-100pr">
|
717 |
-
<label>
|
718 |
-
<div class="wrap"><input name="" class="wc_oe_test my-test-button add-new-h2" data-test="http" type="button" value="<?php _e( 'Test', 'woo-order-export-lite' ) ?>" title="<?php _e( 'It sends only last order!', 'woo-order-export-lite' ) ?>"></div>
|
719 |
-
</label>
|
720 |
-
</div>
|
721 |
-
</div>
|
722 |
-
</div>
|
723 |
-
|
724 |
-
<div class="padding-bottom-10 set-destination my-block" id="folder" style="display: none;" >
|
725 |
-
<div class="wc-oe-header"><?php _e( 'Directory settings', 'woo-order-export-lite' ) ?></div>
|
726 |
-
<div class="wc_oe-row">
|
727 |
-
<div class="col-100pr">
|
728 |
-
<label>
|
729 |
-
<div><?php _e( 'Path', 'woo-order-export-lite' ) ?></div>
|
730 |
-
<input type="text" name="settings[destination][path]" class="width-100" value="<?php echo $WC_Order_Export->get_value( $settings, "[destination][path]" ) ? $WC_Order_Export->get_value( $settings, "[destination][path]" ) : ABSPATH; ?>">
|
731 |
-
</label>
|
732 |
-
</div>
|
733 |
-
</div>
|
734 |
-
<div class="wc_oe-row">
|
735 |
-
<div class="col-100pr">
|
736 |
-
<label>
|
737 |
-
<div class="wrap"><input name="" class="wc_oe_test my-test-button add-new-h2" data-test="folder" type="button" value="<?php _e( 'Test', 'woo-order-export-lite' ) ?>" title="<?php _e( 'It sends only last order!', 'woo-order-export-lite' ) ?>"></div>
|
738 |
-
</label>
|
739 |
-
</div>
|
740 |
-
</div>
|
741 |
-
</div>
|
742 |
-
|
743 |
-
<div id='test_reply_div'>
|
744 |
-
<b><?php _e( 'Test Results', 'woo-order-export-lite' ) ?></b><br>
|
745 |
-
<textarea rows=5 id='test_reply' style="overflow: auto; width:100%" wrap='off'></textarea>
|
746 |
-
</div>
|
747 |
-
|
748 |
-
<div class="clear"></div>
|
749 |
-
<br/>
|
750 |
-
<div id="extend_desstination">
|
751 |
-
<?php if ( $mode !== WC_Order_Export_Manage::EXPORT_ORDER_ACTION ): ?>
|
752 |
-
<div>
|
753 |
-
<label>
|
754 |
-
<input name="settings[destination][separate_files]" type="checkbox" value="1" <?php echo $WC_Order_Export->get_value( $settings, "[destination][separate_files]" ) ? 'checked' : ''; ?>><?php _e( 'Make separate file for each order', 'woo-order-export-lite' ) ?>
|
755 |
-
</label>
|
756 |
-
</div>
|
757 |
-
<?php endif; ?>
|
758 |
-
</div>
|
759 |
-
</div>
|
760 |
-
<br>
|
761 |
-
<?php endif; ?>
|
762 |
|
763 |
<div class="my-block">
|
764 |
<span class="my-hide-next "><?php _e( 'Filter by order', 'woo-order-export-lite' ) ?>
|
@@ -787,6 +330,8 @@ $readonly_php = WC_Order_Export_Admin::user_can_add_custom_php() ? '' : 'readonl
|
|
787 |
<option>=</option>
|
788 |
<option><></option>
|
789 |
<option>LIKE</option>
|
|
|
|
|
790 |
</select>
|
791 |
|
792 |
<input type="text" id="text_custom_fields" disabled class="like-input" style="display: none;">
|
@@ -859,6 +404,7 @@ $readonly_php = WC_Order_Export_Admin::user_can_add_custom_php() ? '' : 'readonl
|
|
859 |
|
860 |
<select id="taxonomies_compare" class="select_compare">
|
861 |
<option>=</option>
|
|
|
862 |
</select>
|
863 |
|
864 |
<input type="text" id="text_taxonomies" disabled style="display: none;">
|
@@ -1146,7 +692,7 @@ $readonly_php = WC_Order_Export_Admin::user_can_add_custom_php() ? '' : 'readonl
|
|
1146 |
<br>
|
1147 |
<div class="mapping_col_2">
|
1148 |
<label style="margin-left: 3px;">
|
1149 |
-
<input type="checkbox" name="orders_all"
|
1150 |
</div>
|
1151 |
<label class="mapping_col_3" style="color: red; font-size: medium;">
|
1152 |
<?php _e( 'Drag rows to reorder exported fields', 'woo-order-export-lite' ) ?>
|
@@ -1637,21 +1183,7 @@ function makeJson( obj ) {
|
|
1637 |
jQuery( "#order_fields" ).sortable({ scroll: true, scrollSensitivity: 100, scrollSpeed: 100 });/*.disableSelection()*/;
|
1638 |
|
1639 |
|
1640 |
-
|
1641 |
-
jQuery('#custom_meta_products_mode_all').attr('checked', 'checked');
|
1642 |
-
jQuery('#custom_meta_products_mode_all').change();
|
1643 |
-
jQuery('#link_modal_manage_products').click();
|
1644 |
-
return false;
|
1645 |
-
});
|
1646 |
-
|
1647 |
-
jQuery('#btn_modal_manage_coupons').click(function(){
|
1648 |
-
jQuery('#custom_meta_coupons_mode_all').attr('checked', 'checked');
|
1649 |
-
jQuery('#custom_meta_coupons_mode_all').change();
|
1650 |
-
jQuery('#link_modal_manage_coupons').click();
|
1651 |
-
return false;
|
1652 |
-
});*/
|
1653 |
-
|
1654 |
-
modal_buttons();
|
1655 |
|
1656 |
jQuery( '.date' ).datepicker( {
|
1657 |
dateFormat: 'yy-mm-dd'
|
@@ -2032,6 +1564,7 @@ function makeJson( obj ) {
|
|
2032 |
if (!validateExport()) {
|
2033 |
return false;
|
2034 |
}
|
|
|
2035 |
|
2036 |
var data = 'json=' + makeJsonVar( $( '#export_job_settings' ) )
|
2037 |
data = data + "&action=order_exporter&method=save_settings&mode=" + mode + "&id=" + job_id;
|
18 |
var order_products_fields = <?php echo json_encode( $settings[ 'order_product_fields' ] ) ?>;
|
19 |
var order_coupons_fields = <?php echo json_encode( $settings[ 'order_coupon_fields' ] ) ?>;
|
20 |
var order_custom_meta_fields = <?php echo json_encode( $order_custom_meta_fields ) ?>;
|
21 |
+
var order_products_custom_meta_fields = <?php echo json_encode( WC_Order_Export_Data_Extractor_UI::get_product_custom_fields() ) ?>;
|
22 |
+
var order_order_item_custom_meta_fields = <?php echo json_encode( WC_Order_Export_Data_Extractor_UI::get_product_itemmeta() ) ?>;
|
23 |
var order_coupons_custom_meta_fields = <?php echo json_encode( WC_Order_Export_Data_Extractor_UI::get_all_coupon_custom_meta_fields() ) ?>;
|
24 |
var flat_formats = ['XLS', 'CSV', 'TSV'];
|
25 |
var object_formats = ['XML', 'JSON'];
|
36 |
<?php endif; ?>
|
37 |
|
38 |
<div id="my-left" style="float: left; width: 49%; max-width: 500px;">
|
39 |
+
<?php
|
40 |
+
if ( $mode === WC_Order_Export_Manage::EXPORT_PROFILE ):
|
41 |
+
include 'pro-version/top-profile.php';
|
42 |
+
elseif ( $mode === WC_Order_Export_Manage::EXPORT_ORDER_ACTION ):
|
43 |
+
include 'pro-version/top-order-actions.php';
|
44 |
+
elseif ( $mode === WC_Order_Export_Manage::EXPORT_SCHEDULE ):
|
45 |
+
include 'pro-version/top-scheduled-jobs.php';
|
46 |
+
endif;
|
47 |
+
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
|
49 |
<?php if ( $show[ 'date_filter' ] ) : ?>
|
50 |
<div id="my-export-date-field" class="my-block">
|
279 |
<div>
|
280 |
<input type="hidden" name="settings[strip_tags_product_fields]" value="0"/>
|
281 |
<label><input type="checkbox" name="settings[strip_tags_product_fields]" value="1" <?php checked($settings['strip_tags_product_fields']) ?>/><?php _e( 'Strip tags from Product Description/Variation', 'woo-order-export-lite' ) ?></label>
|
282 |
+
</div>
|
283 |
+
<div>
|
284 |
+
<input type="hidden" name="settings[cleanup_phone]" value="0"/>
|
285 |
+
<label><input type="checkbox" name="settings[cleanup_phone]" value="1" <?php checked($settings['cleanup_phone']) ?>/><?php _e( 'Cleanup phone (export only digits)', 'woo-order-export-lite' ) ?></label>
|
286 |
+
</div>
|
287 |
+
<div>
|
288 |
+
<input type="hidden" name="settings[enable_debug]" value="0"/>
|
289 |
+
<label><input type="checkbox" name="settings[enable_debug]" value="1" <?php checked($settings['enable_debug']) ?>/><?php _e( 'Enable debug output', 'woo-order-export-lite' ) ?></label>
|
290 |
</div>
|
291 |
<div>
|
292 |
<input type="hidden" name="settings[custom_php]" value="0"/>
|
298 |
</div>
|
299 |
|
300 |
<div id="my-right" style="float: left; width: 48%; margin: 0px 10px; max-width: 500px;">
|
301 |
+
<?php
|
302 |
+
if ( in_array( $mode, array( WC_Order_Export_Manage::EXPORT_SCHEDULE, WC_Order_Export_Manage::EXPORT_ORDER_ACTION ) ) ):
|
303 |
+
include "pro-version/destinations.php";
|
304 |
+
endif; ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
305 |
|
306 |
<div class="my-block">
|
307 |
<span class="my-hide-next "><?php _e( 'Filter by order', 'woo-order-export-lite' ) ?>
|
330 |
<option>=</option>
|
331 |
<option><></option>
|
332 |
<option>LIKE</option>
|
333 |
+
<option>NOT SET</option>
|
334 |
+
<option>IS SET</option>
|
335 |
</select>
|
336 |
|
337 |
<input type="text" id="text_custom_fields" disabled class="like-input" style="display: none;">
|
404 |
|
405 |
<select id="taxonomies_compare" class="select_compare">
|
406 |
<option>=</option>
|
407 |
+
<option><></option>
|
408 |
</select>
|
409 |
|
410 |
<input type="text" id="text_taxonomies" disabled style="display: none;">
|
692 |
<br>
|
693 |
<div class="mapping_col_2">
|
694 |
<label style="margin-left: 3px;">
|
695 |
+
<input type="checkbox" name="orders_all"> <?php _e( 'Select all', 'woo-order-export-lite' ) ?></label>
|
696 |
</div>
|
697 |
<label class="mapping_col_3" style="color: red; font-size: medium;">
|
698 |
<?php _e( 'Drag rows to reorder exported fields', 'woo-order-export-lite' ) ?>
|
1183 |
jQuery( "#order_fields" ).sortable({ scroll: true, scrollSensitivity: 100, scrollSpeed: 100 });/*.disableSelection()*/;
|
1184 |
|
1185 |
|
1186 |
+
modal_buttons();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1187 |
|
1188 |
jQuery( '.date' ).datepicker( {
|
1189 |
dateFormat: 'yy-mm-dd'
|
1564 |
if (!validateExport()) {
|
1565 |
return false;
|
1566 |
}
|
1567 |
+
setFormSubmitting();
|
1568 |
|
1569 |
var data = 'json=' + makeJsonVar( $( '#export_job_settings' ) )
|
1570 |
data = data + "&action=order_exporter&method=save_settings&mode=" + mode + "&id=" + job_id;
|
woo-order-export-lite.php
CHANGED
@@ -1,15 +1,15 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* Plugin Name: Advanced Order Export For WooCommerce
|
4 |
-
* Plugin URI:
|
5 |
-
* Description: Export orders from WooCommerce with ease (
|
6 |
* Author: AlgolPlus
|
7 |
* Author URI: https://algolplus.com/
|
8 |
-
* Version: 1.5.
|
9 |
* Text Domain: woo-order-export-lite
|
10 |
* Domain Path: /i18n/languages/
|
11 |
* WC requires at least: 2.6.0
|
12 |
-
* WC tested up to: 3.
|
13 |
*
|
14 |
* Copyright: (c) 2015 AlgolPlus LLC. (algol.plus@gmail.com)
|
15 |
*
|
@@ -25,31 +25,30 @@
|
|
25 |
if ( !defined( 'ABSPATH' ) )
|
26 |
exit; // Exit if accessed directly
|
27 |
|
|
|
|
|
|
|
28 |
// a small function to check startup conditions
|
29 |
if( ! function_exists("woe_check_running_options") ) {
|
30 |
function woe_check_running_options() {
|
|
|
31 |
$is_backend = is_admin();
|
32 |
$is_cron = defined( 'DOING_CRON' );
|
33 |
$is_frontend_checkout = isset( $_REQUEST['wc-ajax'] ) && $_REQUEST['wc-ajax'] === 'checkout'
|
34 |
|| isset( $_POST['woocommerce_checkout_place_order'] )
|
35 |
-
|| preg_match( '/\bwc\-api\b/', filter_input( INPUT_SERVER, 'REQUEST_URI' )
|
|
|
|
|
|
|
|
|
36 |
|
37 |
-
return $is_backend || $is_cron || $is_frontend_checkout;
|
38 |
}
|
39 |
}
|
40 |
|
41 |
if ( ! woe_check_running_options() ) {
|
42 |
return;
|
43 |
} //don't load for frontend !
|
44 |
-
|
45 |
-
// Check if WooCommerce is active
|
46 |
-
if ( ! in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) {
|
47 |
-
// do 2nd check for Multisite !
|
48 |
-
include_once( ABSPATH . '/wp-admin/includes/plugin.php' );
|
49 |
-
if ( ! is_plugin_active_for_network( 'woocommerce/woocommerce.php' ) ) {
|
50 |
-
return;
|
51 |
-
}
|
52 |
-
}
|
53 |
|
54 |
//Stop if another version is active!
|
55 |
if( class_exists( 'WC_Order_Export_Admin' ) ) {
|
@@ -57,14 +56,15 @@ if( class_exists( 'WC_Order_Export_Admin' ) ) {
|
|
57 |
function woe_warn_free_admin() {
|
58 |
?>
|
59 |
<div class="notice notice-warning is-dismissible">
|
60 |
-
<p><?php _e( 'Please, <a href="plugins.php">deactivate</a> Free version of Advanced Order Export For WooCommerce
|
61 |
</div>
|
62 |
<?php
|
63 |
}
|
64 |
}
|
65 |
add_action('admin_notices', 'woe_warn_free_admin');
|
66 |
-
return;
|
67 |
-
}
|
|
|
68 |
|
69 |
include 'classes/class-wc-order-export-admin.php';
|
70 |
include 'classes/admin/class-wc-order-export-ajax.php';
|
@@ -73,13 +73,16 @@ include 'classes/core/class-wc-order-export-engine.php';
|
|
73 |
include 'classes/core/class-wc-order-export-data-extractor.php';
|
74 |
include 'classes/core/class-wc-order-export-data-extractor-ui.php';
|
75 |
|
76 |
-
define( 'WOE_VERSION', '1.5.
|
77 |
define( 'WOE_PLUGIN_BASENAME', plugin_basename(__FILE__) );
|
|
|
78 |
$wc_order_export = new WC_Order_Export_Admin();
|
79 |
register_activation_hook( __FILE__, array($wc_order_export,'install') );
|
80 |
-
register_deactivation_hook( __FILE__, array($wc_order_export,'
|
|
|
81 |
|
82 |
// fight with ugly themes which add empty lines
|
83 |
-
if ( $wc_order_export->must_run_ajax_methods() AND !ob_get_level() )
|
84 |
ob_start();
|
85 |
-
|
|
1 |
<?php
|
2 |
/**
|
3 |
* Plugin Name: Advanced Order Export For WooCommerce
|
4 |
+
* Plugin URI:
|
5 |
+
* Description: Export orders from WooCommerce with ease (Excel/CSV/XML/JSON supported)
|
6 |
* Author: AlgolPlus
|
7 |
* Author URI: https://algolplus.com/
|
8 |
+
* Version: 1.5.4
|
9 |
* Text Domain: woo-order-export-lite
|
10 |
* Domain Path: /i18n/languages/
|
11 |
* WC requires at least: 2.6.0
|
12 |
+
* WC tested up to: 3.4.0
|
13 |
*
|
14 |
* Copyright: (c) 2015 AlgolPlus LLC. (algol.plus@gmail.com)
|
15 |
*
|
25 |
if ( !defined( 'ABSPATH' ) )
|
26 |
exit; // Exit if accessed directly
|
27 |
|
28 |
+
if ( !defined( 'WOE_IPN_URL_OPTION_KEY') )
|
29 |
+
define( 'WOE_IPN_URL_OPTION_KEY', 'woe_ipn_url_key' );
|
30 |
+
|
31 |
// a small function to check startup conditions
|
32 |
if( ! function_exists("woe_check_running_options") ) {
|
33 |
function woe_check_running_options() {
|
34 |
+
|
35 |
$is_backend = is_admin();
|
36 |
$is_cron = defined( 'DOING_CRON' );
|
37 |
$is_frontend_checkout = isset( $_REQUEST['wc-ajax'] ) && $_REQUEST['wc-ajax'] === 'checkout'
|
38 |
|| isset( $_POST['woocommerce_checkout_place_order'] )
|
39 |
+
|| preg_match( '/\bwc\-api\b/', filter_input( INPUT_SERVER, 'REQUEST_URI' )) // WC_API
|
40 |
+
|| preg_match( '/\bwc\/v\d+\b/', filter_input( INPUT_SERVER, 'REQUEST_URI' )); // Rest API
|
41 |
+
|
42 |
+
$ipn_url = get_option( WOE_IPN_URL_OPTION_KEY );
|
43 |
+
$is_ipn = ( $ipn_url AND stripos( $_SERVER['REQUEST_URI'], $ipn_url ) );
|
44 |
|
45 |
+
return $is_backend || $is_cron || $is_frontend_checkout || $is_ipn;
|
46 |
}
|
47 |
}
|
48 |
|
49 |
if ( ! woe_check_running_options() ) {
|
50 |
return;
|
51 |
} //don't load for frontend !
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
|
53 |
//Stop if another version is active!
|
54 |
if( class_exists( 'WC_Order_Export_Admin' ) ) {
|
56 |
function woe_warn_free_admin() {
|
57 |
?>
|
58 |
<div class="notice notice-warning is-dismissible">
|
59 |
+
<p><?php _e( 'Please, <a href="plugins.php">deactivate</a> Free version of Advanced Order Export For WooCommerce!', 'woo-order-export-lite' ); ?></p>
|
60 |
</div>
|
61 |
<?php
|
62 |
}
|
63 |
}
|
64 |
add_action('admin_notices', 'woe_warn_free_admin');
|
65 |
+
return;
|
66 |
+
}
|
67 |
+
|
68 |
|
69 |
include 'classes/class-wc-order-export-admin.php';
|
70 |
include 'classes/admin/class-wc-order-export-ajax.php';
|
73 |
include 'classes/core/class-wc-order-export-data-extractor.php';
|
74 |
include 'classes/core/class-wc-order-export-data-extractor-ui.php';
|
75 |
|
76 |
+
define( 'WOE_VERSION', '1.5.4' );
|
77 |
define( 'WOE_PLUGIN_BASENAME', plugin_basename(__FILE__) );
|
78 |
+
define( 'WOE_PLUGIN_BASEPATH', dirname(__FILE__) );
|
79 |
$wc_order_export = new WC_Order_Export_Admin();
|
80 |
register_activation_hook( __FILE__, array($wc_order_export,'install') );
|
81 |
+
register_deactivation_hook( __FILE__, array($wc_order_export,'deactivate') );
|
82 |
+
register_uninstall_hook( __FILE__, array('WC_Order_Export_Admin','uninstall') );
|
83 |
|
84 |
// fight with ugly themes which add empty lines
|
85 |
+
if ( $wc_order_export->must_run_ajax_methods() AND !ob_get_level() ) {
|
86 |
ob_start();
|
87 |
+
}
|
88 |
+
//Done
|