Version Description
- 2020-08-24 =
- Compatible with PHP 7.4
- Added option "Format output" (XML format)
- Added option "Don't break order lines by 2 pages" (PDF format)
- Added option "Add links to images" (PDF format)
- Added option "Try to convert serialized values" (Misc Settings)
- Added fields "Summary Report Total Fee Amount", "Summary Report Total Tax Amount"
- Fixed bug - 'wc doing it wrong' notice (direct access to product parent property)
- Fixed bug - option "Change order status" worked only for button "Export w/o progress"
- Fixed bug - option "Add products as "
Download this release
Release Info
Developer | algol.plus |
Plugin | Advanced Order Export For WooCommerce |
Version | 3.1.5 |
Comparing to | |
See all releases |
Code changes from version 3.1.4 to 3.1.5
- assets/css/export.css +4 -5
- assets/js/buttons.js +6 -0
- assets/js/export-fields.js +6 -0
- assets/js/select2-i18n.js +1 -1
- assets/js/settings-form.js +1 -1
- classes/FPDF/class-woe-fpdf.php +4 -0
- classes/FPDF/class-woe-pdf-mc-table.php +75 -7
- classes/PHPExcel/Calculation.php +18 -18
- classes/PHPExcel/Calculation/Engineering.php +5 -5
- classes/PHPExcel/Calculation/FormulaParser.php +30 -30
- classes/PHPExcel/Calculation/Functions.php +4 -4
- classes/PHPExcel/Calculation/TextData.php +13 -13
- classes/PHPExcel/Cell.php +7 -7
- classes/PHPExcel/Cell/DefaultValueBinder.php +2 -2
- classes/PHPExcel/Reader/Excel2003XML.php +2 -2
- classes/PHPExcel/Reader/Excel5.php +48 -48
- classes/PHPExcel/Reader/Excel5/Escher.php +6 -6
- classes/PHPExcel/Reader/OOCalc.php +1 -1
- classes/PHPExcel/Reader/SYLK.php +9 -9
- classes/PHPExcel/ReferenceHelper.php +2 -2
- classes/PHPExcel/Shared/OLE.php +1 -1
- classes/PHPExcel/Shared/String.php +6 -6
- classes/PHPExcel/Shared/ZipStreamWrapper.php +1 -1
- classes/PHPExcel/Worksheet/AutoFilter.php +1 -1
- classes/PHPExcel/Writer/Excel5/Parser.php +8 -8
- classes/PHPExcel/Writer/Excel5/Workbook.php +1 -1
- classes/PHPExcel/Writer/Excel5/Worksheet.php +1 -1
- classes/admin/class-wc-order-export-labels.php +4 -0
- classes/admin/class-wc-order-export-manage.php +12 -1
- classes/admin/tabs/ajax/trait-wc-order-export-admin-tab-abstract-ajax-export.php +10 -2
- classes/core/class-wc-order-export-data-extractor-ui.php +27 -11
- classes/core/class-wc-order-export-data-extractor.php +75 -23
- classes/core/class-wc-order-export-engine.php +20 -9
- classes/core/class-wc-order-export-order-coupon-fields.php +14 -10
- classes/core/class-wc-order-export-order-fields.php +6 -3
- classes/core/class-wc-order-export-order-product-fields.php +42 -16
- classes/formats/abstract-class-woe-formatter-plain-format.php +40 -8
- classes/formats/abstract-class-woe-formatter-sv.php +8 -3
- classes/formats/abstract-class-woe-formatter.php +12 -1
- classes/formats/class-woe-formatter-html.php +5 -5
- classes/formats/class-woe-formatter-pdf.php +117 -4
- classes/formats/class-woe-formatter-xls.php +11 -1
- classes/formats/class-woe-formatter-xml.php +2 -2
- i18n/languages/woo-order-export-lite.pot +439 -401
- readme.txt +26 -4
- view/settings-form.php +126 -87
- view/tab/help.php +12 -6
- view/tab/tools.php +2 -2
- woo-order-export-lite.php +3 -3
assets/css/export.css
CHANGED
@@ -98,19 +98,19 @@ input.date {
|
|
98 |
padding-bottom: 5px;
|
99 |
}
|
100 |
|
101 |
-
.
|
102 |
-
.
|
103 |
.wc_oe-row:after {
|
104 |
content: "";
|
105 |
display: table;
|
106 |
}
|
107 |
|
108 |
-
.
|
109 |
.wc_oe-row:after {
|
110 |
clear: both;
|
111 |
}
|
112 |
|
113 |
-
.
|
114 |
.wc_oe-row:after {
|
115 |
zoom: 1; /* For IE 6/7 (trigger hasLayout) */
|
116 |
}
|
@@ -407,7 +407,6 @@ input.date {
|
|
407 |
-moz-user-select: none;
|
408 |
-ms-user-select: none;
|
409 |
user-select: none;
|
410 |
-
cursor: not-allowed;
|
411 |
opacity: 0.65;
|
412 |
background-color: #fff;
|
413 |
border-color: #ccc;
|
98 |
padding-bottom: 5px;
|
99 |
}
|
100 |
|
101 |
+
.weo_clearfix:before,
|
102 |
+
.weo_clearfix:after,
|
103 |
.wc_oe-row:after {
|
104 |
content: "";
|
105 |
display: table;
|
106 |
}
|
107 |
|
108 |
+
.weo_clearfix:after,
|
109 |
.wc_oe-row:after {
|
110 |
clear: both;
|
111 |
}
|
112 |
|
113 |
+
.weo_clearfix,
|
114 |
.wc_oe-row:after {
|
115 |
zoom: 1; /* For IE 6/7 (trigger hasLayout) */
|
116 |
}
|
407 |
-moz-user-select: none;
|
408 |
-ms-user-select: none;
|
409 |
user-select: none;
|
|
|
410 |
opacity: 0.65;
|
411 |
background-color: #fff;
|
412 |
border-color: #ccc;
|
assets/js/buttons.js
CHANGED
@@ -188,6 +188,10 @@ function woe_get_all( start, percent, method ) {
|
|
188 |
data.push( {name: 'file_id', value: window.file_id} );
|
189 |
data.push( {name: 'woe_nonce', value: settings_form.woe_nonce} );
|
190 |
data.push( {name: 'tab', value: settings_form.woe_active_tab} );
|
|
|
|
|
|
|
|
|
191 |
|
192 |
jQuery.ajax( {
|
193 |
type: "post",
|
@@ -317,6 +321,8 @@ jQuery( document ).ready( function ( $ ) {
|
|
317 |
}
|
318 |
window.count = response['total'];
|
319 |
window.file_id = response['file_id'];
|
|
|
|
|
320 |
console.log( window.count );
|
321 |
|
322 |
if ( window.count > 0 ) {
|
188 |
data.push( {name: 'file_id', value: window.file_id} );
|
189 |
data.push( {name: 'woe_nonce', value: settings_form.woe_nonce} );
|
190 |
data.push( {name: 'tab', value: settings_form.woe_active_tab} );
|
191 |
+
if( method == 'export_part' ) {
|
192 |
+
data.push( {name: 'max_line_items', value: window.max_line_items} );
|
193 |
+
data.push( {name: 'max_coupons', value: window.max_coupons} );
|
194 |
+
}
|
195 |
|
196 |
jQuery.ajax( {
|
197 |
type: "post",
|
321 |
}
|
322 |
window.count = response['total'];
|
323 |
window.file_id = response['file_id'];
|
324 |
+
window.max_line_items = response['max_line_items'];
|
325 |
+
window.max_coupons = response['max_coupons'];
|
326 |
console.log( window.count );
|
327 |
|
328 |
if ( window.count > 0 ) {
|
assets/js/export-fields.js
CHANGED
@@ -1688,6 +1688,8 @@ jQuery( document ).ready( function ( $ ) {
|
|
1688 |
summary_report_fields.push( $( '#user_unselected_segment input[value="summary_report_total_discount"]' ).parents( 'li' ) );
|
1689 |
summary_report_fields.push( $( '#user_unselected_segment input[value="summary_report_total_refund_count"]' ).parents( 'li' ) );
|
1690 |
summary_report_fields.push( $( '#user_unselected_segment input[value="summary_report_total_refund_amount"]' ).parents( 'li' ) );
|
|
|
|
|
1691 |
|
1692 |
jQuery( '#manage_fields' ).toggleClass( 'summary-customers-report', ! ! jQuery( this ).prop( 'checked' ) );
|
1693 |
|
@@ -1711,6 +1713,8 @@ jQuery( document ).ready( function ( $ ) {
|
|
1711 |
$( '#order_fields .segment_user input[value="summary_report_total_discount"]' ).closest( '.mapping_row' ).remove();
|
1712 |
$( '#order_fields .segment_user input[value="summary_report_total_refund_count"]' ).closest( '.mapping_row' ).remove();
|
1713 |
$( '#order_fields .segment_user input[value="summary_report_total_refund_amount"]' ).closest( '.mapping_row' ).remove();
|
|
|
|
|
1714 |
|
1715 |
// insert summary report fields
|
1716 |
jQuery.each( summary_report_fields, function ( i, value ) {
|
@@ -1742,6 +1746,8 @@ jQuery( document ).ready( function ( $ ) {
|
|
1742 |
$( '#order_fields .segment_user input[value="summary_report_total_discount"]' ).closest( '.mapping_row' ).remove();
|
1743 |
$( '#order_fields .segment_user input[value="summary_report_total_refund_count"]' ).closest( '.mapping_row' ).remove();
|
1744 |
$( '#order_fields .segment_user input[value="summary_report_total_refund_amount"]' ).closest( '.mapping_row' ).remove();
|
|
|
|
|
1745 |
|
1746 |
jQuery.each( summary_report_fields, function ( i, value ) {
|
1747 |
$( value ).hide();
|
1688 |
summary_report_fields.push( $( '#user_unselected_segment input[value="summary_report_total_discount"]' ).parents( 'li' ) );
|
1689 |
summary_report_fields.push( $( '#user_unselected_segment input[value="summary_report_total_refund_count"]' ).parents( 'li' ) );
|
1690 |
summary_report_fields.push( $( '#user_unselected_segment input[value="summary_report_total_refund_amount"]' ).parents( 'li' ) );
|
1691 |
+
summary_report_fields.push( $( '#user_unselected_segment input[value="summary_report_total_tax_amount"]' ).parents( 'li' ) );
|
1692 |
+
summary_report_fields.push( $( '#user_unselected_segment input[value="summary_report_total_fee_amount"]' ).parents( 'li' ) );
|
1693 |
|
1694 |
jQuery( '#manage_fields' ).toggleClass( 'summary-customers-report', ! ! jQuery( this ).prop( 'checked' ) );
|
1695 |
|
1713 |
$( '#order_fields .segment_user input[value="summary_report_total_discount"]' ).closest( '.mapping_row' ).remove();
|
1714 |
$( '#order_fields .segment_user input[value="summary_report_total_refund_count"]' ).closest( '.mapping_row' ).remove();
|
1715 |
$( '#order_fields .segment_user input[value="summary_report_total_refund_amount"]' ).closest( '.mapping_row' ).remove();
|
1716 |
+
$( '#order_fields .segment_user input[value="summary_report_total_tax_amount"]' ).closest( '.mapping_row' ).remove();
|
1717 |
+
$( '#order_fields .segment_user input[value="summary_report_total_fee_amount"]' ).closest( '.mapping_row' ).remove();
|
1718 |
|
1719 |
// insert summary report fields
|
1720 |
jQuery.each( summary_report_fields, function ( i, value ) {
|
1746 |
$( '#order_fields .segment_user input[value="summary_report_total_discount"]' ).closest( '.mapping_row' ).remove();
|
1747 |
$( '#order_fields .segment_user input[value="summary_report_total_refund_count"]' ).closest( '.mapping_row' ).remove();
|
1748 |
$( '#order_fields .segment_user input[value="summary_report_total_refund_amount"]' ).closest( '.mapping_row' ).remove();
|
1749 |
+
$( '#order_fields .segment_user input[value="summary_report_total_tax_amount"]' ).closest( '.mapping_row' ).remove();
|
1750 |
+
$( '#order_fields .segment_user input[value="summary_report_total_fee_amount"]' ).closest( '.mapping_row' ).remove();
|
1751 |
|
1752 |
jQuery.each( summary_report_fields, function ( i, value ) {
|
1753 |
$( value ).hide();
|
assets/js/select2-i18n.js
CHANGED
@@ -46,7 +46,7 @@ jQuery.fn.extend( {
|
|
46 |
minimumInputLength: 3,
|
47 |
templateResult: function ( item ) {
|
48 |
|
49 |
-
var markup = '<div class="
|
50 |
'<div>';
|
51 |
|
52 |
if ( typeof item.photo_url !== "undefined" ) {
|
46 |
minimumInputLength: 3,
|
47 |
templateResult: function ( item ) {
|
48 |
|
49 |
+
var markup = '<div class="weo_clearfix">' +
|
50 |
'<div>';
|
51 |
|
52 |
if ( typeof item.photo_url !== "undefined" ) {
|
assets/js/settings-form.js
CHANGED
@@ -185,7 +185,7 @@ jQuery( document ).ready( function ( $ ) {
|
|
185 |
|
186 |
$( '.my-hide-next' ).click( function () {
|
187 |
|
188 |
-
$( this ).next().
|
189 |
|
190 |
var is_shown = ! $( this ).next().is( ':hidden' );
|
191 |
|
185 |
|
186 |
$( '.my-hide-next' ).click( function () {
|
187 |
|
188 |
+
$( this ).next().toggleClass('hide');
|
189 |
|
190 |
var is_shown = ! $( this ).next().is( ':hidden' );
|
191 |
|
classes/FPDF/class-woe-fpdf.php
CHANGED
@@ -2738,6 +2738,10 @@ class WOE_FPDF {
|
|
2738 |
$cwlen = $maxUni + 1;
|
2739 |
// for each character
|
2740 |
for ( $cid = $startcid; $cid < $cwlen; $cid ++ ) {
|
|
|
|
|
|
|
|
|
2741 |
if ( $font['cw'][ $cid * 2 ] == "\00" && $font['cw'][ $cid * 2 + 1 ] == "\00" ) {
|
2742 |
continue;
|
2743 |
}
|
2738 |
$cwlen = $maxUni + 1;
|
2739 |
// for each character
|
2740 |
for ( $cid = $startcid; $cid < $cwlen; $cid ++ ) {
|
2741 |
+
if( !isset($font['cw'][ $cid * 2 ]) ) {
|
2742 |
+
continue;
|
2743 |
+
}
|
2744 |
+
|
2745 |
if ( $font['cw'][ $cid * 2 ] == "\00" && $font['cw'][ $cid * 2 + 1 ] == "\00" ) {
|
2746 |
continue;
|
2747 |
}
|
classes/FPDF/class-woe-pdf-mc-table.php
CHANGED
@@ -98,14 +98,26 @@ class WOE_PDF_MC_Table extends WOE_FPDF {
|
|
98 |
}
|
99 |
|
100 |
public function Header() {
|
101 |
-
if (
|
102 |
-
$this->
|
103 |
-
|
104 |
-
|
105 |
-
|
|
|
106 |
|
107 |
-
|
108 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
109 |
}
|
110 |
}
|
111 |
|
@@ -177,6 +189,30 @@ class WOE_PDF_MC_Table extends WOE_FPDF {
|
|
177 |
$this->Row( $data, $widths, $h, $style );
|
178 |
}
|
179 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
180 |
protected function Row( $data, $widths = null, $h = null, $style = null ) {
|
181 |
if ( ! $data ) {
|
182 |
return;
|
@@ -233,8 +269,20 @@ class WOE_PDF_MC_Table extends WOE_FPDF {
|
|
233 |
}
|
234 |
|
235 |
$source = $data[ $i ]['value'];
|
|
|
|
|
236 |
$type = strtoupper( pathinfo( $source, PATHINFO_EXTENSION ) );
|
237 |
$this->Image( $source, $x + $margin, $y + $margin + $y_offset, $w - 2 * $margin, $image_height - 2 * $margin, $type );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
238 |
} elseif ( ! is_array( $data[ $i ] ) ) {
|
239 |
//Print the text
|
240 |
$this->MultiCell( $w, $h, $data[ $i ], 0, $horizontal_align, $vertical_align );
|
@@ -271,6 +319,15 @@ class WOE_PDF_MC_Table extends WOE_FPDF {
|
|
271 |
return isset( $value['type'], $value['value'] ) && 'image' === $value['type'] && file_exists( $value['value'] );
|
272 |
}
|
273 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
274 |
protected function getColumnCountInPage( $widths ) {
|
275 |
$count = count( $widths );
|
276 |
if ( $this->table_props['stretch'] ) {
|
@@ -375,6 +432,17 @@ class WOE_PDF_MC_Table extends WOE_FPDF {
|
|
375 |
return 5 * $nb;
|
376 |
}
|
377 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
378 |
public function CheckPageBreak( $h ) {
|
379 |
//If the height h would cause an overflow, add a new page immediately
|
380 |
if ( $this->GetY() + $h > $this->flt_page_break_trigger ) {
|
98 |
}
|
99 |
|
100 |
public function Header() {
|
101 |
+
if ( apply_filters( 'woe_formatter_pdf_title_before_logo', true ) ) {
|
102 |
+
if ( ! empty( $this->header_props['title'] ) ) {
|
103 |
+
$this->changeBrushToDraw( 'header' );
|
104 |
+
$this->Cell( 0, 0, $this->header_props['title'], 0, 0, 'C' );
|
105 |
+
$this->Ln( 2 );
|
106 |
+
}
|
107 |
|
108 |
+
if ( $this->drawLogo() ) {
|
109 |
+
$this->Ln( 1 );
|
110 |
+
}
|
111 |
+
} else {
|
112 |
+
if ( $this->drawLogo() ) {
|
113 |
+
$this->Ln( 1 );
|
114 |
+
}
|
115 |
+
|
116 |
+
if ( ! empty( $this->header_props['title'] ) ) {
|
117 |
+
$this->changeBrushToDraw( 'header' );
|
118 |
+
$this->Cell( 0, 0, $this->header_props['title'], 0, 0, 'C' );
|
119 |
+
$this->Ln( 2 );
|
120 |
+
}
|
121 |
}
|
122 |
}
|
123 |
|
189 |
$this->Row( $data, $widths, $h, $style );
|
190 |
}
|
191 |
|
192 |
+
public function isEnoughSpace( $data, $heights ) {
|
193 |
+
$widths = $this->getRowWidths( $data );
|
194 |
+
$baseHeight = $this->getRowHeight( $widths, $data );
|
195 |
+
$image_height = floatval( $this->table_row_props['image_height'] );
|
196 |
+
$height = floatval( 0 );
|
197 |
+
|
198 |
+
foreach ( $data as $index => $row ) {
|
199 |
+
$h = $baseHeight;
|
200 |
+
|
201 |
+
if ( $image_height && $this->isRowWithImage( $row ) && $h < $image_height ) {
|
202 |
+
$h = $image_height;
|
203 |
+
}
|
204 |
+
|
205 |
+
$customHeight = isset( $heights[ $index ] ) ? $heights[ $index ] : null;
|
206 |
+
if ( $customHeight && $h < $customHeight ) {
|
207 |
+
$h = $customHeight;
|
208 |
+
}
|
209 |
+
|
210 |
+
$height += $h;
|
211 |
+
}
|
212 |
+
|
213 |
+
return $this->GetY() + $height < $this->flt_page_break_trigger;
|
214 |
+
}
|
215 |
+
|
216 |
protected function Row( $data, $widths = null, $h = null, $style = null ) {
|
217 |
if ( ! $data ) {
|
218 |
return;
|
269 |
}
|
270 |
|
271 |
$source = $data[ $i ]['value'];
|
272 |
+
$link = isset( $data[ $i ]['link'] ) ? $data[ $i ]['link'] : "";
|
273 |
+
|
274 |
$type = strtoupper( pathinfo( $source, PATHINFO_EXTENSION ) );
|
275 |
$this->Image( $source, $x + $margin, $y + $margin + $y_offset, $w - 2 * $margin, $image_height - 2 * $margin, $type );
|
276 |
+
|
277 |
+
if ( $link ) {
|
278 |
+
$this->Link($x + $margin, $y + $margin, $w - 2 * $margin, $h - 2 * $margin, $link);
|
279 |
+
}
|
280 |
+
} elseif ( $this->isLinkCell( $data[ $i ] ) ) {
|
281 |
+
$margin = 1 / 2;
|
282 |
+
$link = $data[ $i ]['link'];
|
283 |
+
|
284 |
+
$this->MultiCell( $w, $h, $link, $link, $horizontal_align, $vertical_align, false, 0 );
|
285 |
+
$this->Link( $x + 3 * $margin, $y + 3 * $margin, $w - 2 * $margin, $h - 2 * $margin, $link );
|
286 |
} elseif ( ! is_array( $data[ $i ] ) ) {
|
287 |
//Print the text
|
288 |
$this->MultiCell( $w, $h, $data[ $i ], 0, $horizontal_align, $vertical_align );
|
319 |
return isset( $value['type'], $value['value'] ) && 'image' === $value['type'] && file_exists( $value['value'] );
|
320 |
}
|
321 |
|
322 |
+
/**
|
323 |
+
* @param mixed $value
|
324 |
+
*
|
325 |
+
* @return bool
|
326 |
+
*/
|
327 |
+
protected function isLinkCell( $value ) {
|
328 |
+
return isset( $value['type'], $value['link'] ) && 'link' === $value['type'];
|
329 |
+
}
|
330 |
+
|
331 |
protected function getColumnCountInPage( $widths ) {
|
332 |
$count = count( $widths );
|
333 |
if ( $this->table_props['stretch'] ) {
|
432 |
return 5 * $nb;
|
433 |
}
|
434 |
|
435 |
+
public function addPageBreak() {
|
436 |
+
$this->flush_buffer();
|
437 |
+
|
438 |
+
$this->AddPage( $this->str_current_orientation );
|
439 |
+
if ( $this->table_header_props['repeat'] && $this->table_header ) {
|
440 |
+
$this->changeBrushToDraw( 'table_header' );
|
441 |
+
$this->Row( $this->table_header );
|
442 |
+
$this->changeBrushToDraw( 'table_row' );
|
443 |
+
}
|
444 |
+
}
|
445 |
+
|
446 |
public function CheckPageBreak( $h ) {
|
447 |
//If the height h would cause an overflow, add a new page immediately
|
448 |
if ( $this->GetY() + $h > $this->flt_page_break_trigger ) {
|
classes/PHPExcel/Calculation.php
CHANGED
@@ -2548,7 +2548,7 @@ class PHPExcel_Calculation
|
|
2548 |
public static function unwrapResult($value)
|
2549 |
{
|
2550 |
if (is_string($value)) {
|
2551 |
-
if ((isset($value
|
2552 |
return substr($value, 1, -1);
|
2553 |
}
|
2554 |
// Convert numeric errors to NaN error
|
@@ -2669,11 +2669,11 @@ class PHPExcel_Calculation
|
|
2669 |
// Basic validation that this is indeed a formula
|
2670 |
// We return an empty array if not
|
2671 |
$formula = trim($formula);
|
2672 |
-
if ((!isset($formula
|
2673 |
return array();
|
2674 |
}
|
2675 |
$formula = ltrim(substr($formula, 1));
|
2676 |
-
if (!isset($formula
|
2677 |
return array();
|
2678 |
}
|
2679 |
|
@@ -2761,11 +2761,11 @@ class PHPExcel_Calculation
|
|
2761 |
// Basic validation that this is indeed a formula
|
2762 |
// We simply return the cell value if not
|
2763 |
$formula = trim($formula);
|
2764 |
-
if ($formula
|
2765 |
return self::wrapResult($formula);
|
2766 |
}
|
2767 |
$formula = ltrim(substr($formula, 1));
|
2768 |
-
if (!isset($formula
|
2769 |
return self::wrapResult($formula);
|
2770 |
}
|
2771 |
|
@@ -2777,7 +2777,7 @@ class PHPExcel_Calculation
|
|
2777 |
return $cellValue;
|
2778 |
}
|
2779 |
|
2780 |
-
if (($wsTitle
|
2781 |
if ($this->cyclicFormulaCount <= 0) {
|
2782 |
$this->cyclicFormulaCell = '';
|
2783 |
return $this->raiseFormulaError('Cyclic Reference in Formula');
|
@@ -3031,7 +3031,7 @@ class PHPExcel_Calculation
|
|
3031 |
} else {
|
3032 |
if ($value == '') {
|
3033 |
return 'an empty string';
|
3034 |
-
} elseif ($value
|
3035 |
return 'a '.$value.' error';
|
3036 |
} else {
|
3037 |
$typeString = 'a string';
|
@@ -3163,10 +3163,10 @@ class PHPExcel_Calculation
|
|
3163 |
// Loop through the formula extracting each operator and operand in turn
|
3164 |
while (true) {
|
3165 |
//echo 'Assessing Expression '.substr($formula, $index), PHP_EOL;
|
3166 |
-
$opCharacter = $formula
|
3167 |
//echo 'Initial character of expression block is '.$opCharacter, PHP_EOL;
|
3168 |
-
if ((isset(self::$comparisonOperators[$opCharacter])) && (strlen($formula) > $index) && (isset(self::$comparisonOperators[$formula
|
3169 |
-
$opCharacter .= $formula
|
3170 |
//echo 'Initial character of expression block is comparison operator '.$opCharacter.PHP_EOL;
|
3171 |
}
|
3172 |
|
@@ -3454,11 +3454,11 @@ class PHPExcel_Calculation
|
|
3454 |
}
|
3455 |
}
|
3456 |
// Ignore white space
|
3457 |
-
while (($formula
|
3458 |
++$index;
|
3459 |
}
|
3460 |
-
if ($formula
|
3461 |
-
while ($formula
|
3462 |
++$index;
|
3463 |
}
|
3464 |
// If we're expecting an operator, but only have a space between the previous and next operands (and both are
|
@@ -3888,7 +3888,7 @@ class PHPExcel_Calculation
|
|
3888 |
// echo 'Token is a PHPExcel constant: '.$excelConstant.'<br />';
|
3889 |
$stack->push('Constant Value', self::$excelConstants[$excelConstant]);
|
3890 |
$this->_debugLog->writeDebugLog('Evaluating Constant ', $excelConstant, ' as ', $this->showTypeDetails(self::$excelConstants[$excelConstant]));
|
3891 |
-
} elseif ((is_numeric($token)) || ($token === null) || (is_bool($token)) || ($token == '') || ($token
|
3892 |
// echo 'Token is a number, boolean, string, null or an Excel error<br />';
|
3893 |
$stack->push('Value', $token);
|
3894 |
// if the token is a named range, push the named range name onto the stack
|
@@ -3933,13 +3933,13 @@ class PHPExcel_Calculation
|
|
3933 |
if (is_string($operand)) {
|
3934 |
// We only need special validations for the operand if it is a string
|
3935 |
// Start by stripping off the quotation marks we use to identify true excel string values internally
|
3936 |
-
if ($operand > '' && $operand
|
3937 |
$operand = self::unwrapResult($operand);
|
3938 |
}
|
3939 |
// If the string is a numeric value, we treat it as a numeric, so no further testing
|
3940 |
if (!is_numeric($operand)) {
|
3941 |
// If not a numeric, test to see if the value is an Excel error, and so can't be used in normal binary operations
|
3942 |
-
if ($operand > '' && $operand
|
3943 |
$stack->push('Value', $operand);
|
3944 |
$this->_debugLog->writeDebugLog('Evaluation Result is ', $this->showTypeDetails($operand));
|
3945 |
return false;
|
@@ -3995,10 +3995,10 @@ class PHPExcel_Calculation
|
|
3995 |
}
|
3996 |
|
3997 |
// Simple validate the two operands if they are string values
|
3998 |
-
if (is_string($operand1) && $operand1 > '' && $operand1
|
3999 |
$operand1 = self::unwrapResult($operand1);
|
4000 |
}
|
4001 |
-
if (is_string($operand2) && $operand2 > '' && $operand2
|
4002 |
$operand2 = self::unwrapResult($operand2);
|
4003 |
}
|
4004 |
|
2548 |
public static function unwrapResult($value)
|
2549 |
{
|
2550 |
if (is_string($value)) {
|
2551 |
+
if ((isset($value[0])) && ($value[0] == '"') && (substr($value, -1) == '"')) {
|
2552 |
return substr($value, 1, -1);
|
2553 |
}
|
2554 |
// Convert numeric errors to NaN error
|
2669 |
// Basic validation that this is indeed a formula
|
2670 |
// We return an empty array if not
|
2671 |
$formula = trim($formula);
|
2672 |
+
if ((!isset($formula[0])) || ($formula[0] != '=')) {
|
2673 |
return array();
|
2674 |
}
|
2675 |
$formula = ltrim(substr($formula, 1));
|
2676 |
+
if (!isset($formula[0])) {
|
2677 |
return array();
|
2678 |
}
|
2679 |
|
2761 |
// Basic validation that this is indeed a formula
|
2762 |
// We simply return the cell value if not
|
2763 |
$formula = trim($formula);
|
2764 |
+
if ($formula[0] != '=') {
|
2765 |
return self::wrapResult($formula);
|
2766 |
}
|
2767 |
$formula = ltrim(substr($formula, 1));
|
2768 |
+
if (!isset($formula[0])) {
|
2769 |
return self::wrapResult($formula);
|
2770 |
}
|
2771 |
|
2777 |
return $cellValue;
|
2778 |
}
|
2779 |
|
2780 |
+
if (($wsTitle[0] !== "\x00") && ($this->cyclicReferenceStack->onStack($wsCellReference))) {
|
2781 |
if ($this->cyclicFormulaCount <= 0) {
|
2782 |
$this->cyclicFormulaCell = '';
|
2783 |
return $this->raiseFormulaError('Cyclic Reference in Formula');
|
3031 |
} else {
|
3032 |
if ($value == '') {
|
3033 |
return 'an empty string';
|
3034 |
+
} elseif ($value[0] == '#') {
|
3035 |
return 'a '.$value.' error';
|
3036 |
} else {
|
3037 |
$typeString = 'a string';
|
3163 |
// Loop through the formula extracting each operator and operand in turn
|
3164 |
while (true) {
|
3165 |
//echo 'Assessing Expression '.substr($formula, $index), PHP_EOL;
|
3166 |
+
$opCharacter = $formula[$index]; // Get the first character of the value at the current index position
|
3167 |
//echo 'Initial character of expression block is '.$opCharacter, PHP_EOL;
|
3168 |
+
if ((isset(self::$comparisonOperators[$opCharacter])) && (strlen($formula) > $index) && (isset(self::$comparisonOperators[$formula[$index+1]]))) {
|
3169 |
+
$opCharacter .= $formula[++$index];
|
3170 |
//echo 'Initial character of expression block is comparison operator '.$opCharacter.PHP_EOL;
|
3171 |
}
|
3172 |
|
3454 |
}
|
3455 |
}
|
3456 |
// Ignore white space
|
3457 |
+
while (($formula[$index] == "\n") || ($formula[$index] == "\r")) {
|
3458 |
++$index;
|
3459 |
}
|
3460 |
+
if ($formula[$index] == ' ') {
|
3461 |
+
while ($formula[$index] == ' ') {
|
3462 |
++$index;
|
3463 |
}
|
3464 |
// If we're expecting an operator, but only have a space between the previous and next operands (and both are
|
3888 |
// echo 'Token is a PHPExcel constant: '.$excelConstant.'<br />';
|
3889 |
$stack->push('Constant Value', self::$excelConstants[$excelConstant]);
|
3890 |
$this->_debugLog->writeDebugLog('Evaluating Constant ', $excelConstant, ' as ', $this->showTypeDetails(self::$excelConstants[$excelConstant]));
|
3891 |
+
} elseif ((is_numeric($token)) || ($token === null) || (is_bool($token)) || ($token == '') || ($token[0] == '"') || ($token[0] == '#')) {
|
3892 |
// echo 'Token is a number, boolean, string, null or an Excel error<br />';
|
3893 |
$stack->push('Value', $token);
|
3894 |
// if the token is a named range, push the named range name onto the stack
|
3933 |
if (is_string($operand)) {
|
3934 |
// We only need special validations for the operand if it is a string
|
3935 |
// Start by stripping off the quotation marks we use to identify true excel string values internally
|
3936 |
+
if ($operand > '' && $operand[0] == '"') {
|
3937 |
$operand = self::unwrapResult($operand);
|
3938 |
}
|
3939 |
// If the string is a numeric value, we treat it as a numeric, so no further testing
|
3940 |
if (!is_numeric($operand)) {
|
3941 |
// If not a numeric, test to see if the value is an Excel error, and so can't be used in normal binary operations
|
3942 |
+
if ($operand > '' && $operand[0] == '#') {
|
3943 |
$stack->push('Value', $operand);
|
3944 |
$this->_debugLog->writeDebugLog('Evaluation Result is ', $this->showTypeDetails($operand));
|
3945 |
return false;
|
3995 |
}
|
3996 |
|
3997 |
// Simple validate the two operands if they are string values
|
3998 |
+
if (is_string($operand1) && $operand1 > '' && $operand1[0] == '"') {
|
3999 |
$operand1 = self::unwrapResult($operand1);
|
4000 |
}
|
4001 |
+
if (is_string($operand2) && $operand2 > '' && $operand2[0] == '"') {
|
4002 |
$operand2 = self::unwrapResult($operand2);
|
4003 |
}
|
4004 |
|
classes/PHPExcel/Calculation/Engineering.php
CHANGED
@@ -768,7 +768,7 @@ class PHPExcel_Calculation_Engineering
|
|
768 |
// Split the input into its Real and Imaginary components
|
769 |
$leadingSign = 0;
|
770 |
if (strlen($workString) > 0) {
|
771 |
-
$leadingSign = (($workString
|
772 |
}
|
773 |
$power = '';
|
774 |
$realNumber = strtok($workString, '+-');
|
@@ -809,16 +809,16 @@ class PHPExcel_Calculation_Engineering
|
|
809 |
*/
|
810 |
private static function cleanComplex($complexNumber)
|
811 |
{
|
812 |
-
if ($complexNumber
|
813 |
$complexNumber = substr($complexNumber, 1);
|
814 |
}
|
815 |
-
if ($complexNumber
|
816 |
$complexNumber = substr($complexNumber, 1);
|
817 |
}
|
818 |
-
if ($complexNumber
|
819 |
$complexNumber = '0'.$complexNumber;
|
820 |
}
|
821 |
-
if ($complexNumber
|
822 |
$complexNumber = substr($complexNumber, 1);
|
823 |
}
|
824 |
return $complexNumber;
|
768 |
// Split the input into its Real and Imaginary components
|
769 |
$leadingSign = 0;
|
770 |
if (strlen($workString) > 0) {
|
771 |
+
$leadingSign = (($workString[0] == '+') || ($workString[0] == '-')) ? 1 : 0;
|
772 |
}
|
773 |
$power = '';
|
774 |
$realNumber = strtok($workString, '+-');
|
809 |
*/
|
810 |
private static function cleanComplex($complexNumber)
|
811 |
{
|
812 |
+
if ($complexNumber[0] == '+') {
|
813 |
$complexNumber = substr($complexNumber, 1);
|
814 |
}
|
815 |
+
if ($complexNumber[0] == '0') {
|
816 |
$complexNumber = substr($complexNumber, 1);
|
817 |
}
|
818 |
+
if ($complexNumber[0] == '.') {
|
819 |
$complexNumber = '0'.$complexNumber;
|
820 |
}
|
821 |
+
if ($complexNumber[0] == '+') {
|
822 |
$complexNumber = substr($complexNumber, 1);
|
823 |
}
|
824 |
return $complexNumber;
|
classes/PHPExcel/Calculation/FormulaParser.php
CHANGED
@@ -159,7 +159,7 @@ class PHPExcel_Calculation_FormulaParser
|
|
159 |
|
160 |
// Check if the formula has a valid starting =
|
161 |
$formulaLength = strlen($this->formula);
|
162 |
-
if ($formulaLength < 2 || $this->formula
|
163 |
return;
|
164 |
}
|
165 |
|
@@ -181,8 +181,8 @@ class PHPExcel_Calculation_FormulaParser
|
|
181 |
// embeds are doubled
|
182 |
// end marks token
|
183 |
if ($inString) {
|
184 |
-
if ($this->formula
|
185 |
-
if ((($index + 2) <= $formulaLength) && ($this->formula
|
186 |
$value .= PHPExcel_Calculation_FormulaParser::QUOTE_DOUBLE;
|
187 |
++$index;
|
188 |
} else {
|
@@ -191,7 +191,7 @@ class PHPExcel_Calculation_FormulaParser
|
|
191 |
$value = "";
|
192 |
}
|
193 |
} else {
|
194 |
-
$value .= $this->formula
|
195 |
}
|
196 |
++$index;
|
197 |
continue;
|
@@ -201,15 +201,15 @@ class PHPExcel_Calculation_FormulaParser
|
|
201 |
// embeds are double
|
202 |
// end does not mark a token
|
203 |
if ($inPath) {
|
204 |
-
if ($this->formula
|
205 |
-
if ((($index + 2) <= $formulaLength) && ($this->formula
|
206 |
$value .= PHPExcel_Calculation_FormulaParser::QUOTE_SINGLE;
|
207 |
++$index;
|
208 |
} else {
|
209 |
$inPath = false;
|
210 |
}
|
211 |
} else {
|
212 |
-
$value .= $this->formula
|
213 |
}
|
214 |
++$index;
|
215 |
continue;
|
@@ -219,10 +219,10 @@ class PHPExcel_Calculation_FormulaParser
|
|
219 |
// no embeds (changed to "()" by Excel)
|
220 |
// end does not mark a token
|
221 |
if ($inRange) {
|
222 |
-
if ($this->formula
|
223 |
$inRange = false;
|
224 |
}
|
225 |
-
$value .= $this->formula
|
226 |
++$index;
|
227 |
continue;
|
228 |
}
|
@@ -230,7 +230,7 @@ class PHPExcel_Calculation_FormulaParser
|
|
230 |
// error values
|
231 |
// end marks a token, determined from absolute list of values
|
232 |
if ($inError) {
|
233 |
-
$value .= $this->formula
|
234 |
++$index;
|
235 |
if (in_array($value, $ERRORS)) {
|
236 |
$inError = false;
|
@@ -241,10 +241,10 @@ class PHPExcel_Calculation_FormulaParser
|
|
241 |
}
|
242 |
|
243 |
// scientific notation check
|
244 |
-
if (strpos(PHPExcel_Calculation_FormulaParser::OPERATORS_SN, $this->formula
|
245 |
if (strlen($value) > 1) {
|
246 |
-
if (preg_match("/^[1-9]{1}(\.[0-9]+)?E{1}$/", $this->formula
|
247 |
-
$value .= $this->formula
|
248 |
++$index;
|
249 |
continue;
|
250 |
}
|
@@ -254,7 +254,7 @@ class PHPExcel_Calculation_FormulaParser
|
|
254 |
// independent character evaluation (order not important)
|
255 |
|
256 |
// establish state-dependent character evaluations
|
257 |
-
if ($this->formula
|
258 |
if (strlen($value > 0)) {
|
259 |
// unexpected
|
260 |
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN);
|
@@ -265,7 +265,7 @@ class PHPExcel_Calculation_FormulaParser
|
|
265 |
continue;
|
266 |
}
|
267 |
|
268 |
-
if ($this->formula
|
269 |
if (strlen($value) > 0) {
|
270 |
// unexpected
|
271 |
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN);
|
@@ -276,14 +276,14 @@ class PHPExcel_Calculation_FormulaParser
|
|
276 |
continue;
|
277 |
}
|
278 |
|
279 |
-
if ($this->formula
|
280 |
$inRange = true;
|
281 |
$value .= PHPExcel_Calculation_FormulaParser::BRACKET_OPEN;
|
282 |
++$index;
|
283 |
continue;
|
284 |
}
|
285 |
|
286 |
-
if ($this->formula
|
287 |
if (strlen($value) > 0) {
|
288 |
// unexpected
|
289 |
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN);
|
@@ -296,7 +296,7 @@ class PHPExcel_Calculation_FormulaParser
|
|
296 |
}
|
297 |
|
298 |
// mark start and end of arrays and array rows
|
299 |
-
if ($this->formula
|
300 |
if (strlen($value) > 0) {
|
301 |
// unexpected
|
302 |
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN);
|
@@ -315,7 +315,7 @@ class PHPExcel_Calculation_FormulaParser
|
|
315 |
continue;
|
316 |
}
|
317 |
|
318 |
-
if ($this->formula
|
319 |
if (strlen($value) > 0) {
|
320 |
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND);
|
321 |
$value = "";
|
@@ -337,7 +337,7 @@ class PHPExcel_Calculation_FormulaParser
|
|
337 |
continue;
|
338 |
}
|
339 |
|
340 |
-
if ($this->formula
|
341 |
if (strlen($value) > 0) {
|
342 |
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND);
|
343 |
$value = "";
|
@@ -358,14 +358,14 @@ class PHPExcel_Calculation_FormulaParser
|
|
358 |
}
|
359 |
|
360 |
// trim white-space
|
361 |
-
if ($this->formula
|
362 |
if (strlen($value) > 0) {
|
363 |
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND);
|
364 |
$value = "";
|
365 |
}
|
366 |
$tokens1[] = new PHPExcel_Calculation_FormulaToken("", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_WHITESPACE);
|
367 |
++$index;
|
368 |
-
while (($this->formula
|
369 |
++$index;
|
370 |
}
|
371 |
continue;
|
@@ -385,29 +385,29 @@ class PHPExcel_Calculation_FormulaParser
|
|
385 |
}
|
386 |
|
387 |
// standard infix operators
|
388 |
-
if (strpos(PHPExcel_Calculation_FormulaParser::OPERATORS_INFIX, $this->formula
|
389 |
if (strlen($value) > 0) {
|
390 |
$tokens1[] =new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND);
|
391 |
$value = "";
|
392 |
}
|
393 |
-
$tokens1[] = new PHPExcel_Calculation_FormulaToken($this->formula
|
394 |
++$index;
|
395 |
continue;
|
396 |
}
|
397 |
|
398 |
// standard postfix operators (only one)
|
399 |
-
if (strpos(PHPExcel_Calculation_FormulaParser::OPERATORS_POSTFIX, $this->formula
|
400 |
if (strlen($value) > 0) {
|
401 |
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND);
|
402 |
$value = "";
|
403 |
}
|
404 |
-
$tokens1[] = new PHPExcel_Calculation_FormulaToken($this->formula
|
405 |
++$index;
|
406 |
continue;
|
407 |
}
|
408 |
|
409 |
// start subexpression or function
|
410 |
-
if ($this->formula
|
411 |
if (strlen($value) > 0) {
|
412 |
$tmp = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_START);
|
413 |
$tokens1[] = $tmp;
|
@@ -423,7 +423,7 @@ class PHPExcel_Calculation_FormulaParser
|
|
423 |
}
|
424 |
|
425 |
// function, subexpression, or array parameters, or operand unions
|
426 |
-
if ($this->formula
|
427 |
if (strlen($value) > 0) {
|
428 |
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND);
|
429 |
$value = "";
|
@@ -444,7 +444,7 @@ class PHPExcel_Calculation_FormulaParser
|
|
444 |
}
|
445 |
|
446 |
// stop subexpression
|
447 |
-
if ($this->formula
|
448 |
if (strlen($value) > 0) {
|
449 |
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND);
|
450 |
$value = "";
|
@@ -460,7 +460,7 @@ class PHPExcel_Calculation_FormulaParser
|
|
460 |
}
|
461 |
|
462 |
// token accumulation
|
463 |
-
$value .= $this->formula
|
464 |
++$index;
|
465 |
}
|
466 |
|
159 |
|
160 |
// Check if the formula has a valid starting =
|
161 |
$formulaLength = strlen($this->formula);
|
162 |
+
if ($formulaLength < 2 || $this->formula[0] != '=') {
|
163 |
return;
|
164 |
}
|
165 |
|
181 |
// embeds are doubled
|
182 |
// end marks token
|
183 |
if ($inString) {
|
184 |
+
if ($this->formula[$index] == PHPExcel_Calculation_FormulaParser::QUOTE_DOUBLE) {
|
185 |
+
if ((($index + 2) <= $formulaLength) && ($this->formula[$index + 1] == PHPExcel_Calculation_FormulaParser::QUOTE_DOUBLE)) {
|
186 |
$value .= PHPExcel_Calculation_FormulaParser::QUOTE_DOUBLE;
|
187 |
++$index;
|
188 |
} else {
|
191 |
$value = "";
|
192 |
}
|
193 |
} else {
|
194 |
+
$value .= $this->formula[$index];
|
195 |
}
|
196 |
++$index;
|
197 |
continue;
|
201 |
// embeds are double
|
202 |
// end does not mark a token
|
203 |
if ($inPath) {
|
204 |
+
if ($this->formula[$index] == PHPExcel_Calculation_FormulaParser::QUOTE_SINGLE) {
|
205 |
+
if ((($index + 2) <= $formulaLength) && ($this->formula[$index + 1] == PHPExcel_Calculation_FormulaParser::QUOTE_SINGLE)) {
|
206 |
$value .= PHPExcel_Calculation_FormulaParser::QUOTE_SINGLE;
|
207 |
++$index;
|
208 |
} else {
|
209 |
$inPath = false;
|
210 |
}
|
211 |
} else {
|
212 |
+
$value .= $this->formula[$index];
|
213 |
}
|
214 |
++$index;
|
215 |
continue;
|
219 |
// no embeds (changed to "()" by Excel)
|
220 |
// end does not mark a token
|
221 |
if ($inRange) {
|
222 |
+
if ($this->formula[$index] == PHPExcel_Calculation_FormulaParser::BRACKET_CLOSE) {
|
223 |
$inRange = false;
|
224 |
}
|
225 |
+
$value .= $this->formula[$index];
|
226 |
++$index;
|
227 |
continue;
|
228 |
}
|
230 |
// error values
|
231 |
// end marks a token, determined from absolute list of values
|
232 |
if ($inError) {
|
233 |
+
$value .= $this->formula[$index];
|
234 |
++$index;
|
235 |
if (in_array($value, $ERRORS)) {
|
236 |
$inError = false;
|
241 |
}
|
242 |
|
243 |
// scientific notation check
|
244 |
+
if (strpos(PHPExcel_Calculation_FormulaParser::OPERATORS_SN, $this->formula[$index]) !== false) {
|
245 |
if (strlen($value) > 1) {
|
246 |
+
if (preg_match("/^[1-9]{1}(\.[0-9]+)?E{1}$/", $this->formula[$index]) != 0) {
|
247 |
+
$value .= $this->formula[$index];
|
248 |
++$index;
|
249 |
continue;
|
250 |
}
|
254 |
// independent character evaluation (order not important)
|
255 |
|
256 |
// establish state-dependent character evaluations
|
257 |
+
if ($this->formula[$index] == PHPExcel_Calculation_FormulaParser::QUOTE_DOUBLE) {
|
258 |
if (strlen($value > 0)) {
|
259 |
// unexpected
|
260 |
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN);
|
265 |
continue;
|
266 |
}
|
267 |
|
268 |
+
if ($this->formula[$index] == PHPExcel_Calculation_FormulaParser::QUOTE_SINGLE) {
|
269 |
if (strlen($value) > 0) {
|
270 |
// unexpected
|
271 |
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN);
|
276 |
continue;
|
277 |
}
|
278 |
|
279 |
+
if ($this->formula[$index] == PHPExcel_Calculation_FormulaParser::BRACKET_OPEN) {
|
280 |
$inRange = true;
|
281 |
$value .= PHPExcel_Calculation_FormulaParser::BRACKET_OPEN;
|
282 |
++$index;
|
283 |
continue;
|
284 |
}
|
285 |
|
286 |
+
if ($this->formula[$index] == PHPExcel_Calculation_FormulaParser::ERROR_START) {
|
287 |
if (strlen($value) > 0) {
|
288 |
// unexpected
|
289 |
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN);
|
296 |
}
|
297 |
|
298 |
// mark start and end of arrays and array rows
|
299 |
+
if ($this->formula[$index] == PHPExcel_Calculation_FormulaParser::BRACE_OPEN) {
|
300 |
if (strlen($value) > 0) {
|
301 |
// unexpected
|
302 |
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_UNKNOWN);
|
315 |
continue;
|
316 |
}
|
317 |
|
318 |
+
if ($this->formula[$index] == PHPExcel_Calculation_FormulaParser::SEMICOLON) {
|
319 |
if (strlen($value) > 0) {
|
320 |
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND);
|
321 |
$value = "";
|
337 |
continue;
|
338 |
}
|
339 |
|
340 |
+
if ($this->formula[$index] == PHPExcel_Calculation_FormulaParser::BRACE_CLOSE) {
|
341 |
if (strlen($value) > 0) {
|
342 |
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND);
|
343 |
$value = "";
|
358 |
}
|
359 |
|
360 |
// trim white-space
|
361 |
+
if ($this->formula[$index] == PHPExcel_Calculation_FormulaParser::WHITESPACE) {
|
362 |
if (strlen($value) > 0) {
|
363 |
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND);
|
364 |
$value = "";
|
365 |
}
|
366 |
$tokens1[] = new PHPExcel_Calculation_FormulaToken("", PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_WHITESPACE);
|
367 |
++$index;
|
368 |
+
while (($this->formula[$index] == PHPExcel_Calculation_FormulaParser::WHITESPACE) && ($index < $formulaLength)) {
|
369 |
++$index;
|
370 |
}
|
371 |
continue;
|
385 |
}
|
386 |
|
387 |
// standard infix operators
|
388 |
+
if (strpos(PHPExcel_Calculation_FormulaParser::OPERATORS_INFIX, $this->formula[$index]) !== false) {
|
389 |
if (strlen($value) > 0) {
|
390 |
$tokens1[] =new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND);
|
391 |
$value = "";
|
392 |
}
|
393 |
+
$tokens1[] = new PHPExcel_Calculation_FormulaToken($this->formula[$index], PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORINFIX);
|
394 |
++$index;
|
395 |
continue;
|
396 |
}
|
397 |
|
398 |
// standard postfix operators (only one)
|
399 |
+
if (strpos(PHPExcel_Calculation_FormulaParser::OPERATORS_POSTFIX, $this->formula[$index]) !== false) {
|
400 |
if (strlen($value) > 0) {
|
401 |
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND);
|
402 |
$value = "";
|
403 |
}
|
404 |
+
$tokens1[] = new PHPExcel_Calculation_FormulaToken($this->formula[$index], PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERATORPOSTFIX);
|
405 |
++$index;
|
406 |
continue;
|
407 |
}
|
408 |
|
409 |
// start subexpression or function
|
410 |
+
if ($this->formula[$index] == PHPExcel_Calculation_FormulaParser::PAREN_OPEN) {
|
411 |
if (strlen($value) > 0) {
|
412 |
$tmp = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_FUNCTION, PHPExcel_Calculation_FormulaToken::TOKEN_SUBTYPE_START);
|
413 |
$tokens1[] = $tmp;
|
423 |
}
|
424 |
|
425 |
// function, subexpression, or array parameters, or operand unions
|
426 |
+
if ($this->formula[$index] == PHPExcel_Calculation_FormulaParser::COMMA) {
|
427 |
if (strlen($value) > 0) {
|
428 |
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND);
|
429 |
$value = "";
|
444 |
}
|
445 |
|
446 |
// stop subexpression
|
447 |
+
if ($this->formula[$index] == PHPExcel_Calculation_FormulaParser::PAREN_CLOSE) {
|
448 |
if (strlen($value) > 0) {
|
449 |
$tokens1[] = new PHPExcel_Calculation_FormulaToken($value, PHPExcel_Calculation_FormulaToken::TOKEN_TYPE_OPERAND);
|
450 |
$value = "";
|
460 |
}
|
461 |
|
462 |
// token accumulation
|
463 |
+
$value .= $this->formula[$index];
|
464 |
++$index;
|
465 |
}
|
466 |
|
classes/PHPExcel/Calculation/Functions.php
CHANGED
@@ -318,10 +318,10 @@ class PHPExcel_Calculation_Functions
|
|
318 |
public static function ifCondition($condition)
|
319 |
{
|
320 |
$condition = PHPExcel_Calculation_Functions::flattenSingleValue($condition);
|
321 |
-
if (!isset($condition
|
322 |
$condition = '=""';
|
323 |
}
|
324 |
-
if (!in_array($condition
|
325 |
if (!is_numeric($condition)) {
|
326 |
$condition = PHPExcel_Calculation::wrapResult(strtoupper($condition));
|
327 |
}
|
@@ -559,7 +559,7 @@ class PHPExcel_Calculation_Functions
|
|
559 |
return (integer) $value;
|
560 |
case 'string':
|
561 |
// Errors
|
562 |
-
if ((strlen($value) > 0) && ($value
|
563 |
return $value;
|
564 |
}
|
565 |
break;
|
@@ -609,7 +609,7 @@ class PHPExcel_Calculation_Functions
|
|
609 |
return 64;
|
610 |
} elseif (is_string($value)) {
|
611 |
// Errors
|
612 |
-
if ((strlen($value) > 0) && ($value
|
613 |
return 16;
|
614 |
}
|
615 |
return 2;
|
318 |
public static function ifCondition($condition)
|
319 |
{
|
320 |
$condition = PHPExcel_Calculation_Functions::flattenSingleValue($condition);
|
321 |
+
if (!isset($condition[0])) {
|
322 |
$condition = '=""';
|
323 |
}
|
324 |
+
if (!in_array($condition[0], array('>', '<', '='))) {
|
325 |
if (!is_numeric($condition)) {
|
326 |
$condition = PHPExcel_Calculation::wrapResult(strtoupper($condition));
|
327 |
}
|
559 |
return (integer) $value;
|
560 |
case 'string':
|
561 |
// Errors
|
562 |
+
if ((strlen($value) > 0) && ($value[0] == '#')) {
|
563 |
return $value;
|
564 |
}
|
565 |
break;
|
609 |
return 64;
|
610 |
} elseif (is_string($value)) {
|
611 |
// Errors
|
612 |
+
if ((strlen($value) > 0) && ($value[0] == '#')) {
|
613 |
return 16;
|
614 |
}
|
615 |
return 2;
|
classes/PHPExcel/Calculation/TextData.php
CHANGED
@@ -40,19 +40,19 @@ class PHPExcel_Calculation_TextData
|
|
40 |
|
41 |
private static function unicodeToOrd($c)
|
42 |
{
|
43 |
-
if (ord($c
|
44 |
-
return ord($c
|
45 |
-
} elseif (ord($c
|
46 |
-
return (ord($c
|
47 |
-
} elseif (ord($c
|
48 |
-
return (ord($c
|
49 |
-
} elseif (ord($c
|
50 |
-
return (ord($c
|
51 |
-
} elseif (ord($c
|
52 |
-
return (ord($c
|
53 |
-
} elseif (ord($c
|
54 |
-
return (ord($c
|
55 |
-
} elseif (ord($c
|
56 |
// error
|
57 |
return PHPExcel_Calculation_Functions::VALUE();
|
58 |
}
|
40 |
|
41 |
private static function unicodeToOrd($c)
|
42 |
{
|
43 |
+
if (ord($c[0]) >=0 && ord($c[0]) <= 127) {
|
44 |
+
return ord($c[0]);
|
45 |
+
} elseif (ord($c[0]) >= 192 && ord($c[0]) <= 223) {
|
46 |
+
return (ord($c[0])-192)*64 + (ord($c[1])-128);
|
47 |
+
} elseif (ord($c[0]) >= 224 && ord($c[0]) <= 239) {
|
48 |
+
return (ord($c[0])-224)*4096 + (ord($c[1])-128)*64 + (ord($c[2])-128);
|
49 |
+
} elseif (ord($c[0]) >= 240 && ord($c[0]) <= 247) {
|
50 |
+
return (ord($c[0])-240)*262144 + (ord($c[1])-128)*4096 + (ord($c[2])-128)*64 + (ord($c[3])-128);
|
51 |
+
} elseif (ord($c[0]) >= 248 && ord($c[0]) <= 251) {
|
52 |
+
return (ord($c[0])-248)*16777216 + (ord($c[1])-128)*262144 + (ord($c[2])-128)*4096 + (ord($c[3])-128)*64 + (ord($c[4])-128);
|
53 |
+
} elseif (ord($c[0]) >= 252 && ord($c[0]) <= 253) {
|
54 |
+
return (ord($c[0])-252)*1073741824 + (ord($c[1])-128)*16777216 + (ord($c[2])-128)*262144 + (ord($c[3])-128)*4096 + (ord($c[4])-128)*64 + (ord($c[5])-128);
|
55 |
+
} elseif (ord($c[0]) >= 254 && ord($c[0]) <= 255) {
|
56 |
// error
|
57 |
return PHPExcel_Calculation_Functions::VALUE();
|
58 |
}
|
classes/PHPExcel/Cell.php
CHANGED
@@ -809,19 +809,19 @@ class PHPExcel_Cell
|
|
809 |
|
810 |
// We also use the language construct isset() rather than the more costly strlen() function to match the length of $pString
|
811 |
// for improved performance
|
812 |
-
if (isset($pString
|
813 |
-
if (!isset($pString
|
814 |
$_indexCache[$pString] = $_columnLookup[$pString];
|
815 |
return $_indexCache[$pString];
|
816 |
-
} elseif (!isset($pString
|
817 |
-
$_indexCache[$pString] = $_columnLookup[$pString
|
818 |
return $_indexCache[$pString];
|
819 |
-
} elseif (!isset($pString
|
820 |
-
$_indexCache[$pString] = $_columnLookup[$pString
|
821 |
return $_indexCache[$pString];
|
822 |
}
|
823 |
}
|
824 |
-
throw new PHPExcel_Exception("Column string index can not be " . ((isset($pString
|
825 |
}
|
826 |
|
827 |
/**
|
809 |
|
810 |
// We also use the language construct isset() rather than the more costly strlen() function to match the length of $pString
|
811 |
// for improved performance
|
812 |
+
if (isset($pString[0])) {
|
813 |
+
if (!isset($pString[1])) {
|
814 |
$_indexCache[$pString] = $_columnLookup[$pString];
|
815 |
return $_indexCache[$pString];
|
816 |
+
} elseif (!isset($pString[2])) {
|
817 |
+
$_indexCache[$pString] = $_columnLookup[$pString[0]] * 26 + $_columnLookup[$pString[1]];
|
818 |
return $_indexCache[$pString];
|
819 |
+
} elseif (!isset($pString[3])) {
|
820 |
+
$_indexCache[$pString] = $_columnLookup[$pString[0]] * 676 + $_columnLookup[$pString[1]] * 26 + $_columnLookup[$pString[2]];
|
821 |
return $_indexCache[$pString];
|
822 |
}
|
823 |
}
|
824 |
+
throw new PHPExcel_Exception("Column string index can not be " . ((isset($pString[0])) ? "longer than 3 characters" : "empty"));
|
825 |
}
|
826 |
|
827 |
/**
|
classes/PHPExcel/Cell/DefaultValueBinder.php
CHANGED
@@ -79,7 +79,7 @@ class PHPExcel_Cell_DefaultValueBinder implements PHPExcel_Cell_IValueBinder
|
|
79 |
return PHPExcel_Cell_DataType::TYPE_STRING;
|
80 |
} elseif ($pValue instanceof PHPExcel_RichText) {
|
81 |
return PHPExcel_Cell_DataType::TYPE_INLINE;
|
82 |
-
} elseif ($pValue
|
83 |
return PHPExcel_Cell_DataType::TYPE_FORMULA;
|
84 |
} elseif (is_bool($pValue)) {
|
85 |
return PHPExcel_Cell_DataType::TYPE_BOOL;
|
@@ -87,7 +87,7 @@ class PHPExcel_Cell_DefaultValueBinder implements PHPExcel_Cell_IValueBinder
|
|
87 |
return PHPExcel_Cell_DataType::TYPE_NUMERIC;
|
88 |
} elseif (preg_match('/^[\+\-]?([0-9]+\\.?[0-9]*|[0-9]*\\.?[0-9]+)([Ee][\-\+]?[0-2]?\d{1,3})?$/', $pValue)) {
|
89 |
$tValue = ltrim($pValue, '+-');
|
90 |
-
if (is_string($pValue) && $tValue
|
91 |
return PHPExcel_Cell_DataType::TYPE_STRING;
|
92 |
} elseif ((strpos($pValue, '.') === false) && ($pValue > PHP_INT_MAX)) {
|
93 |
return PHPExcel_Cell_DataType::TYPE_STRING;
|
79 |
return PHPExcel_Cell_DataType::TYPE_STRING;
|
80 |
} elseif ($pValue instanceof PHPExcel_RichText) {
|
81 |
return PHPExcel_Cell_DataType::TYPE_INLINE;
|
82 |
+
} elseif ( is_string($pValue) && $pValue[0] === '=' && strlen($pValue) > 1) {
|
83 |
return PHPExcel_Cell_DataType::TYPE_FORMULA;
|
84 |
} elseif (is_bool($pValue)) {
|
85 |
return PHPExcel_Cell_DataType::TYPE_BOOL;
|
87 |
return PHPExcel_Cell_DataType::TYPE_NUMERIC;
|
88 |
} elseif (preg_match('/^[\+\-]?([0-9]+\\.?[0-9]*|[0-9]*\\.?[0-9]+)([Ee][\-\+]?[0-2]?\d{1,3})?$/', $pValue)) {
|
89 |
$tValue = ltrim($pValue, '+-');
|
90 |
+
if (is_string($pValue) && $tValue[0] === '0' && strlen($tValue) > 1 && $tValue[1] !== '.') {
|
91 |
return PHPExcel_Cell_DataType::TYPE_STRING;
|
92 |
} elseif ((strpos($pValue, '.') === false) && ($pValue > PHP_INT_MAX)) {
|
93 |
return PHPExcel_Cell_DataType::TYPE_STRING;
|
classes/PHPExcel/Reader/Excel2003XML.php
CHANGED
@@ -689,7 +689,7 @@ class PHPExcel_Reader_Excel2003XML extends PHPExcel_Reader_Abstract implements P
|
|
689 |
$rowReference = $rowID;
|
690 |
}
|
691 |
// Bracketed R references are relative to the current row
|
692 |
-
if ($rowReference
|
693 |
$rowReference = $rowID + trim($rowReference, '[]');
|
694 |
}
|
695 |
$columnReference = $cellReference[4][0];
|
@@ -698,7 +698,7 @@ class PHPExcel_Reader_Excel2003XML extends PHPExcel_Reader_Abstract implements P
|
|
698 |
$columnReference = $columnNumber;
|
699 |
}
|
700 |
// Bracketed C references are relative to the current column
|
701 |
-
if ($columnReference
|
702 |
$columnReference = $columnNumber + trim($columnReference, '[]');
|
703 |
}
|
704 |
$A1CellReference = PHPExcel_Cell::stringFromColumnIndex($columnReference-1).$rowReference;
|
689 |
$rowReference = $rowID;
|
690 |
}
|
691 |
// Bracketed R references are relative to the current row
|
692 |
+
if ($rowReference[0] == '[') {
|
693 |
$rowReference = $rowID + trim($rowReference, '[]');
|
694 |
}
|
695 |
$columnReference = $cellReference[4][0];
|
698 |
$columnReference = $columnNumber;
|
699 |
}
|
700 |
// Bracketed C references are relative to the current column
|
701 |
+
if ($columnReference[0] == '[') {
|
702 |
$columnReference = $columnNumber + trim($columnReference, '[]');
|
703 |
}
|
704 |
$A1CellReference = PHPExcel_Cell::stringFromColumnIndex($columnReference-1).$rowReference;
|
classes/PHPExcel/Reader/Excel5.php
CHANGED
@@ -1925,7 +1925,7 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
|
1925 |
|
1926 |
// offset: 0; size: 2; 0 = base 1900, 1 = base 1904
|
1927 |
PHPExcel_Shared_Date::setExcelCalendar(PHPExcel_Shared_Date::CALENDAR_WINDOWS_1900);
|
1928 |
-
if (ord($recordData
|
1929 |
PHPExcel_Shared_Date::setExcelCalendar(PHPExcel_Shared_Date::CALENDAR_MAC_1904);
|
1930 |
}
|
1931 |
}
|
@@ -1988,7 +1988,7 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
|
1988 |
}
|
1989 |
|
1990 |
// offset: 10; size: 1; underline type
|
1991 |
-
$underlineType = ord($recordData
|
1992 |
switch ($underlineType) {
|
1993 |
case 0x00:
|
1994 |
break; // no underline
|
@@ -2125,7 +2125,7 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
|
2125 |
|
2126 |
// offset: 6; size: 1; Alignment and text break
|
2127 |
// bit 2-0, mask 0x07; horizontal alignment
|
2128 |
-
$horAlign = (0x07 & ord($recordData
|
2129 |
switch ($horAlign) {
|
2130 |
case 0:
|
2131 |
$objStyle->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_GENERAL);
|
@@ -2150,7 +2150,7 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
|
2150 |
break;
|
2151 |
}
|
2152 |
// bit 3, mask 0x08; wrap text
|
2153 |
-
$wrapText = (0x08 & ord($recordData
|
2154 |
switch ($wrapText) {
|
2155 |
case 0:
|
2156 |
$objStyle->getAlignment()->setWrapText(false);
|
@@ -2160,7 +2160,7 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
|
2160 |
break;
|
2161 |
}
|
2162 |
// bit 6-4, mask 0x70; vertical alignment
|
2163 |
-
$vertAlign = (0x70 & ord($recordData
|
2164 |
switch ($vertAlign) {
|
2165 |
case 0:
|
2166 |
$objStyle->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_TOP);
|
@@ -2178,7 +2178,7 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
|
2178 |
|
2179 |
if ($this->version == self::XLS_BIFF8) {
|
2180 |
// offset: 7; size: 1; XF_ROTATION: Text rotation angle
|
2181 |
-
$angle = ord($recordData
|
2182 |
$rotation = 0;
|
2183 |
if ($angle <= 90) {
|
2184 |
$rotation = $angle;
|
@@ -2191,11 +2191,11 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
|
2191 |
|
2192 |
// offset: 8; size: 1; Indentation, shrink to cell size, and text direction
|
2193 |
// bit: 3-0; mask: 0x0F; indent level
|
2194 |
-
$indent = (0x0F & ord($recordData
|
2195 |
$objStyle->getAlignment()->setIndent($indent);
|
2196 |
|
2197 |
// bit: 4; mask: 0x10; 1 = shrink content to fit into cell
|
2198 |
-
$shrinkToFit = (0x10 & ord($recordData
|
2199 |
switch ($shrinkToFit) {
|
2200 |
case 0:
|
2201 |
$objStyle->getAlignment()->setShrinkToFit(false);
|
@@ -2275,7 +2275,7 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
|
2275 |
// BIFF5
|
2276 |
|
2277 |
// offset: 7; size: 1; Text orientation and flags
|
2278 |
-
$orientationAndFlags = ord($recordData
|
2279 |
|
2280 |
// bit: 1-0; mask: 0x03; XF_ORIENTATION: Text orientation
|
2281 |
$xfOrientation = (0x03 & $orientationAndFlags) >> 0;
|
@@ -2399,7 +2399,7 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
|
2399 |
$xclrValue = substr($extData, 4, 4); // color value (value based on color type)
|
2400 |
|
2401 |
if ($xclfType == 2) {
|
2402 |
-
$rgb = sprintf('%02X%02X%02X', ord($xclrValue
|
2403 |
|
2404 |
// modify the relevant style property
|
2405 |
if (isset($this->mapCellXfIndex[$ixfe])) {
|
@@ -2414,7 +2414,7 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
|
2414 |
$xclrValue = substr($extData, 4, 4); // color value (value based on color type)
|
2415 |
|
2416 |
if ($xclfType == 2) {
|
2417 |
-
$rgb = sprintf('%02X%02X%02X', ord($xclrValue
|
2418 |
|
2419 |
// modify the relevant style property
|
2420 |
if (isset($this->mapCellXfIndex[$ixfe])) {
|
@@ -2429,7 +2429,7 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
|
2429 |
$xclrValue = substr($extData, 4, 4); // color value (value based on color type)
|
2430 |
|
2431 |
if ($xclfType == 2) {
|
2432 |
-
$rgb = sprintf('%02X%02X%02X', ord($xclrValue
|
2433 |
|
2434 |
// modify the relevant style property
|
2435 |
if (isset($this->mapCellXfIndex[$ixfe])) {
|
@@ -2444,7 +2444,7 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
|
2444 |
$xclrValue = substr($extData, 4, 4); // color value (value based on color type)
|
2445 |
|
2446 |
if ($xclfType == 2) {
|
2447 |
-
$rgb = sprintf('%02X%02X%02X', ord($xclrValue
|
2448 |
|
2449 |
// modify the relevant style property
|
2450 |
if (isset($this->mapCellXfIndex[$ixfe])) {
|
@@ -2459,7 +2459,7 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
|
2459 |
$xclrValue = substr($extData, 4, 4); // color value (value based on color type)
|
2460 |
|
2461 |
if ($xclfType == 2) {
|
2462 |
-
$rgb = sprintf('%02X%02X%02X', ord($xclrValue
|
2463 |
|
2464 |
// modify the relevant style property
|
2465 |
if (isset($this->mapCellXfIndex[$ixfe])) {
|
@@ -2474,7 +2474,7 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
|
2474 |
$xclrValue = substr($extData, 4, 4); // color value (value based on color type)
|
2475 |
|
2476 |
if ($xclfType == 2) {
|
2477 |
-
$rgb = sprintf('%02X%02X%02X', ord($xclrValue
|
2478 |
|
2479 |
// modify the relevant style property
|
2480 |
if (isset($this->mapCellXfIndex[$ixfe])) {
|
@@ -2489,7 +2489,7 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
|
2489 |
$xclrValue = substr($extData, 4, 4); // color value (value based on color type)
|
2490 |
|
2491 |
if ($xclfType == 2) {
|
2492 |
-
$rgb = sprintf('%02X%02X%02X', ord($xclrValue
|
2493 |
|
2494 |
// modify the relevant style property
|
2495 |
if (isset($this->mapCellXfIndex[$ixfe])) {
|
@@ -2504,7 +2504,7 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
|
2504 |
$xclrValue = substr($extData, 4, 4); // color value (value based on color type)
|
2505 |
|
2506 |
if ($xclfType == 2) {
|
2507 |
-
$rgb = sprintf('%02X%02X%02X', ord($xclrValue
|
2508 |
|
2509 |
// modify the relevant style property
|
2510 |
if (isset($this->mapCellXfIndex[$ixfe])) {
|
@@ -2546,7 +2546,7 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
|
2546 |
|
2547 |
if ($isBuiltIn) {
|
2548 |
// offset: 2; size: 1; identifier for built-in style
|
2549 |
-
$builtInId = ord($recordData
|
2550 |
|
2551 |
switch ($builtInId) {
|
2552 |
case 0x00:
|
@@ -2611,7 +2611,7 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
|
2611 |
$this->pos += 4 + $length;
|
2612 |
|
2613 |
// offset: 4; size: 1; sheet state
|
2614 |
-
switch (ord($recordData
|
2615 |
case 0x00:
|
2616 |
$sheetState = PHPExcel_Worksheet::SHEETSTATE_VISIBLE;
|
2617 |
break;
|
@@ -2627,7 +2627,7 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
|
2627 |
}
|
2628 |
|
2629 |
// offset: 5; size: 1; sheet type
|
2630 |
-
$sheetType = ord($recordData
|
2631 |
|
2632 |
// offset: 6; size: var; sheet name
|
2633 |
if ($this->version == self::XLS_BIFF8) {
|
@@ -2805,7 +2805,7 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
|
2805 |
// offset: 2; size: 1; keyboard shortcut
|
2806 |
|
2807 |
// offset: 3; size: 1; length of the name (character count)
|
2808 |
-
$nlen = ord($recordData
|
2809 |
|
2810 |
// offset: 4; size: 2; size of the formula data (it can happen that this is zero)
|
2811 |
// note: there can also be additional data, this is not included in $flen
|
@@ -2888,7 +2888,7 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
|
2888 |
$pos += 2;
|
2889 |
|
2890 |
// option flags
|
2891 |
-
$optionFlags = ord($recordData
|
2892 |
++$pos;
|
2893 |
|
2894 |
// bit: 0; mask: 0x01; 0 = compressed; 1 = uncompressed
|
@@ -2955,7 +2955,7 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
|
2955 |
|
2956 |
// repeated option flags
|
2957 |
// OpenOffice.org documentation 5.21
|
2958 |
-
$option = ord($recordData
|
2959 |
++$pos;
|
2960 |
|
2961 |
if ($isCompressed && ($option == 0)) {
|
@@ -2977,7 +2977,7 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
|
2977 |
// this fragment compressed
|
2978 |
$len = min($charsLeft, $limitpos - $pos);
|
2979 |
for ($j = 0; $j < $len; ++$j) {
|
2980 |
-
$retstr .= $recordData
|
2981 |
}
|
2982 |
$charsLeft -= $len;
|
2983 |
$isCompressed = false;
|
@@ -3883,7 +3883,7 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
|
3883 |
// We can apparently not rely on $isPartOfSharedFormula. Even when $isPartOfSharedFormula = true
|
3884 |
// the formula data may be ordinary formula data, therefore we need to check
|
3885 |
// explicitly for the tExp token (0x01)
|
3886 |
-
$isPartOfSharedFormula = $isPartOfSharedFormula && ord($formulaStructure
|
3887 |
|
3888 |
if ($isPartOfSharedFormula) {
|
3889 |
// part of shared formula which means there will be a formula with a tExp token and nothing else
|
@@ -3906,7 +3906,7 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
|
3906 |
$xfIndex = self::getInt2d($recordData, 4);
|
3907 |
|
3908 |
// offset: 6; size: 8; result of the formula
|
3909 |
-
if ((ord($recordData
|
3910 |
// String formula. Result follows in appended STRING record
|
3911 |
$dataType = PHPExcel_Cell_DataType::TYPE_STRING;
|
3912 |
|
@@ -3918,21 +3918,21 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
|
3918 |
|
3919 |
// read STRING record
|
3920 |
$value = $this->readString();
|
3921 |
-
} elseif ((ord($recordData
|
3922 |
-
&& (ord($recordData
|
3923 |
-
&& (ord($recordData
|
3924 |
// Boolean formula. Result is in +2; 0=false, 1=true
|
3925 |
$dataType = PHPExcel_Cell_DataType::TYPE_BOOL;
|
3926 |
-
$value = (bool) ord($recordData
|
3927 |
-
} elseif ((ord($recordData
|
3928 |
-
&& (ord($recordData
|
3929 |
-
&& (ord($recordData
|
3930 |
// Error formula. Error code is in +2
|
3931 |
$dataType = PHPExcel_Cell_DataType::TYPE_ERROR;
|
3932 |
-
$value = PHPExcel_Reader_Excel5_ErrorCode::lookup(ord($recordData
|
3933 |
-
} elseif ((ord($recordData
|
3934 |
-
&& (ord($recordData
|
3935 |
-
&& (ord($recordData
|
3936 |
// Formula result is a null string
|
3937 |
$dataType = PHPExcel_Cell_DataType::TYPE_NULL;
|
3938 |
$value = '';
|
@@ -3996,7 +3996,7 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
|
3996 |
// offset: 6, size: 1; not used
|
3997 |
|
3998 |
// offset: 7, size: 1; number of existing FORMULA records for this shared formula
|
3999 |
-
$no = ord($recordData
|
4000 |
|
4001 |
// offset: 8, size: var; Binary token array of the shared formula
|
4002 |
$formula = substr($recordData, 8);
|
@@ -4062,10 +4062,10 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
|
4062 |
$xfIndex = self::getInt2d($recordData, 4);
|
4063 |
|
4064 |
// offset: 6; size: 1; the boolean value or error value
|
4065 |
-
$boolErr = ord($recordData
|
4066 |
|
4067 |
// offset: 7; size: 1; 0=boolean; 1=error
|
4068 |
-
$isError = ord($recordData
|
4069 |
|
4070 |
$cell = $this->phpSheet->getCell($columnString . ($row + 1));
|
4071 |
switch ($isError) {
|
@@ -4447,7 +4447,7 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
|
4447 |
|
4448 |
if (!$this->readDataOnly) {
|
4449 |
// offset: 0; size: 1; pane identifier
|
4450 |
-
$paneId = ord($recordData
|
4451 |
|
4452 |
// offset: 1; size: 2; index to row of the active cell
|
4453 |
$r = self::getInt2d($recordData, 1);
|
@@ -4598,9 +4598,9 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
|
4598 |
$hyperlinkType = 'UNC';
|
4599 |
} elseif (!$isFileLinkOrUrl) {
|
4600 |
$hyperlinkType = 'workbook';
|
4601 |
-
} elseif (ord($recordData
|
4602 |
$hyperlinkType = 'local';
|
4603 |
-
} elseif (ord($recordData
|
4604 |
$hyperlinkType = 'URL';
|
4605 |
}
|
4606 |
|
@@ -6886,10 +6886,10 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
|
6886 |
$lr = self::getInt2d($subData, 2) + 1;
|
6887 |
|
6888 |
// offset: 4; size: 1; index to first column
|
6889 |
-
$fc = ord($subData
|
6890 |
|
6891 |
// offset: 5; size: 1; index to last column
|
6892 |
-
$lc = ord($subData
|
6893 |
|
6894 |
// check values
|
6895 |
if ($fr > $lr || $fc > $lc) {
|
@@ -7294,13 +7294,13 @@ class PHPExcel_Reader_Excel5 extends PHPExcel_Reader_Abstract implements PHPExce
|
|
7294 |
private static function readRGB($rgb)
|
7295 |
{
|
7296 |
// offset: 0; size 1; Red component
|
7297 |
-
$r = ord($rgb
|
7298 |
|
7299 |
// offset: 1; size: 1; Green component
|
7300 |
-
$g = ord($rgb
|
7301 |
|
7302 |
// offset: 2; size: 1; Blue component
|
7303 |
-
$b = ord($rgb
|
7304 |
|
7305 |
// HEX notation, e.g. 'FF00FC'
|
7306 |
$rgb = sprintf('%02X%02X%02X', $r, $g, $b);
|
1925 |
|
1926 |
// offset: 0; size: 2; 0 = base 1900, 1 = base 1904
|
1927 |
PHPExcel_Shared_Date::setExcelCalendar(PHPExcel_Shared_Date::CALENDAR_WINDOWS_1900);
|
1928 |
+
if (ord($recordData[0]) == 1) {
|
1929 |
PHPExcel_Shared_Date::setExcelCalendar(PHPExcel_Shared_Date::CALENDAR_MAC_1904);
|
1930 |
}
|
1931 |
}
|
1988 |
}
|
1989 |
|
1990 |
// offset: 10; size: 1; underline type
|
1991 |
+
$underlineType = ord($recordData[10]);
|
1992 |
switch ($underlineType) {
|
1993 |
case 0x00:
|
1994 |
break; // no underline
|
2125 |
|
2126 |
// offset: 6; size: 1; Alignment and text break
|
2127 |
// bit 2-0, mask 0x07; horizontal alignment
|
2128 |
+
$horAlign = (0x07 & ord($recordData[6])) >> 0;
|
2129 |
switch ($horAlign) {
|
2130 |
case 0:
|
2131 |
$objStyle->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_GENERAL);
|
2150 |
break;
|
2151 |
}
|
2152 |
// bit 3, mask 0x08; wrap text
|
2153 |
+
$wrapText = (0x08 & ord($recordData[6])) >> 3;
|
2154 |
switch ($wrapText) {
|
2155 |
case 0:
|
2156 |
$objStyle->getAlignment()->setWrapText(false);
|
2160 |
break;
|
2161 |
}
|
2162 |
// bit 6-4, mask 0x70; vertical alignment
|
2163 |
+
$vertAlign = (0x70 & ord($recordData[6])) >> 4;
|
2164 |
switch ($vertAlign) {
|
2165 |
case 0:
|
2166 |
$objStyle->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_TOP);
|
2178 |
|
2179 |
if ($this->version == self::XLS_BIFF8) {
|
2180 |
// offset: 7; size: 1; XF_ROTATION: Text rotation angle
|
2181 |
+
$angle = ord($recordData[7]);
|
2182 |
$rotation = 0;
|
2183 |
if ($angle <= 90) {
|
2184 |
$rotation = $angle;
|
2191 |
|
2192 |
// offset: 8; size: 1; Indentation, shrink to cell size, and text direction
|
2193 |
// bit: 3-0; mask: 0x0F; indent level
|
2194 |
+
$indent = (0x0F & ord($recordData[8])) >> 0;
|
2195 |
$objStyle->getAlignment()->setIndent($indent);
|
2196 |
|
2197 |
// bit: 4; mask: 0x10; 1 = shrink content to fit into cell
|
2198 |
+
$shrinkToFit = (0x10 & ord($recordData[8])) >> 4;
|
2199 |
switch ($shrinkToFit) {
|
2200 |
case 0:
|
2201 |
$objStyle->getAlignment()->setShrinkToFit(false);
|
2275 |
// BIFF5
|
2276 |
|
2277 |
// offset: 7; size: 1; Text orientation and flags
|
2278 |
+
$orientationAndFlags = ord($recordData[7]);
|
2279 |
|
2280 |
// bit: 1-0; mask: 0x03; XF_ORIENTATION: Text orientation
|
2281 |
$xfOrientation = (0x03 & $orientationAndFlags) >> 0;
|
2399 |
$xclrValue = substr($extData, 4, 4); // color value (value based on color type)
|
2400 |
|
2401 |
if ($xclfType == 2) {
|
2402 |
+
$rgb = sprintf('%02X%02X%02X', ord($xclrValue[0]), ord($xclrValue[1]), ord($xclrValue[2]));
|
2403 |
|
2404 |
// modify the relevant style property
|
2405 |
if (isset($this->mapCellXfIndex[$ixfe])) {
|
2414 |
$xclrValue = substr($extData, 4, 4); // color value (value based on color type)
|
2415 |
|
2416 |
if ($xclfType == 2) {
|
2417 |
+
$rgb = sprintf('%02X%02X%02X', ord($xclrValue[0]), ord($xclrValue[1]), ord($xclrValue[2]));
|
2418 |
|
2419 |
// modify the relevant style property
|
2420 |
if (isset($this->mapCellXfIndex[$ixfe])) {
|
2429 |
$xclrValue = substr($extData, 4, 4); // color value (value based on color type)
|
2430 |
|
2431 |
if ($xclfType == 2) {
|
2432 |
+
$rgb = sprintf('%02X%02X%02X', ord($xclrValue[0]), ord($xclrValue[1]), ord($xclrValue[2]));
|
2433 |
|
2434 |
// modify the relevant style property
|
2435 |
if (isset($this->mapCellXfIndex[$ixfe])) {
|
2444 |
$xclrValue = substr($extData, 4, 4); // color value (value based on color type)
|
2445 |
|
2446 |
if ($xclfType == 2) {
|
2447 |
+
$rgb = sprintf('%02X%02X%02X', ord($xclrValue[0]), ord($xclrValue[1]), ord($xclrValue[2]));
|
2448 |
|
2449 |
// modify the relevant style property
|
2450 |
if (isset($this->mapCellXfIndex[$ixfe])) {
|
2459 |
$xclrValue = substr($extData, 4, 4); // color value (value based on color type)
|
2460 |
|
2461 |
if ($xclfType == 2) {
|
2462 |
+
$rgb = sprintf('%02X%02X%02X', ord($xclrValue[0]), ord($xclrValue[1]), ord($xclrValue[2]));
|
2463 |
|
2464 |
// modify the relevant style property
|
2465 |
if (isset($this->mapCellXfIndex[$ixfe])) {
|
2474 |
$xclrValue = substr($extData, 4, 4); // color value (value based on color type)
|
2475 |
|
2476 |
if ($xclfType == 2) {
|
2477 |
+
$rgb = sprintf('%02X%02X%02X', ord($xclrValue[0]), ord($xclrValue[1]), ord($xclrValue[2]));
|
2478 |
|
2479 |
// modify the relevant style property
|
2480 |
if (isset($this->mapCellXfIndex[$ixfe])) {
|
2489 |
$xclrValue = substr($extData, 4, 4); // color value (value based on color type)
|
2490 |
|
2491 |
if ($xclfType == 2) {
|
2492 |
+
$rgb = sprintf('%02X%02X%02X', ord($xclrValue[0]), ord($xclrValue[1]), ord($xclrValue[2]));
|
2493 |
|
2494 |
// modify the relevant style property
|
2495 |
if (isset($this->mapCellXfIndex[$ixfe])) {
|
2504 |
$xclrValue = substr($extData, 4, 4); // color value (value based on color type)
|
2505 |
|
2506 |
if ($xclfType == 2) {
|
2507 |
+
$rgb = sprintf('%02X%02X%02X', ord($xclrValue[0]), ord($xclrValue[1]), ord($xclrValue[2]));
|
2508 |
|
2509 |
// modify the relevant style property
|
2510 |
if (isset($this->mapCellXfIndex[$ixfe])) {
|
2546 |
|
2547 |
if ($isBuiltIn) {
|
2548 |
// offset: 2; size: 1; identifier for built-in style
|
2549 |
+
$builtInId = ord($recordData[2]);
|
2550 |
|
2551 |
switch ($builtInId) {
|
2552 |
case 0x00:
|
2611 |
$this->pos += 4 + $length;
|
2612 |
|
2613 |
// offset: 4; size: 1; sheet state
|
2614 |
+
switch (ord($recordData[4])) {
|
2615 |
case 0x00:
|
2616 |
$sheetState = PHPExcel_Worksheet::SHEETSTATE_VISIBLE;
|
2617 |
break;
|
2627 |
}
|
2628 |
|
2629 |
// offset: 5; size: 1; sheet type
|
2630 |
+
$sheetType = ord($recordData[5]);
|
2631 |
|
2632 |
// offset: 6; size: var; sheet name
|
2633 |
if ($this->version == self::XLS_BIFF8) {
|
2805 |
// offset: 2; size: 1; keyboard shortcut
|
2806 |
|
2807 |
// offset: 3; size: 1; length of the name (character count)
|
2808 |
+
$nlen = ord($recordData[3]);
|
2809 |
|
2810 |
// offset: 4; size: 2; size of the formula data (it can happen that this is zero)
|
2811 |
// note: there can also be additional data, this is not included in $flen
|
2888 |
$pos += 2;
|
2889 |
|
2890 |
// option flags
|
2891 |
+
$optionFlags = ord($recordData[$pos]);
|
2892 |
++$pos;
|
2893 |
|
2894 |
// bit: 0; mask: 0x01; 0 = compressed; 1 = uncompressed
|
2955 |
|
2956 |
// repeated option flags
|
2957 |
// OpenOffice.org documentation 5.21
|
2958 |
+
$option = ord($recordData[$pos]);
|
2959 |
++$pos;
|
2960 |
|
2961 |
if ($isCompressed && ($option == 0)) {
|
2977 |
// this fragment compressed
|
2978 |
$len = min($charsLeft, $limitpos - $pos);
|
2979 |
for ($j = 0; $j < $len; ++$j) {
|
2980 |
+
$retstr .= $recordData[$pos + $j] . chr(0);
|
2981 |
}
|
2982 |
$charsLeft -= $len;
|
2983 |
$isCompressed = false;
|
3883 |
// We can apparently not rely on $isPartOfSharedFormula. Even when $isPartOfSharedFormula = true
|
3884 |
// the formula data may be ordinary formula data, therefore we need to check
|
3885 |
// explicitly for the tExp token (0x01)
|
3886 |
+
$isPartOfSharedFormula = $isPartOfSharedFormula && ord($formulaStructure[2]) == 0x01;
|
3887 |
|
3888 |
if ($isPartOfSharedFormula) {
|
3889 |
// part of shared formula which means there will be a formula with a tExp token and nothing else
|
3906 |
$xfIndex = self::getInt2d($recordData, 4);
|
3907 |
|
3908 |
// offset: 6; size: 8; result of the formula
|
3909 |
+
if ((ord($recordData[6]) == 0) && (ord($recordData[12]) == 255) && (ord($recordData[13]) == 255)) {
|
3910 |
// String formula. Result follows in appended STRING record
|
3911 |
$dataType = PHPExcel_Cell_DataType::TYPE_STRING;
|
3912 |
|
3918 |
|
3919 |
// read STRING record
|
3920 |
$value = $this->readString();
|
3921 |
+
} elseif ((ord($recordData[6]) == 1)
|
3922 |
+
&& (ord($recordData[12]) == 255)
|
3923 |
+
&& (ord($recordData[13]) == 255)) {
|
3924 |
// Boolean formula. Result is in +2; 0=false, 1=true
|
3925 |
$dataType = PHPExcel_Cell_DataType::TYPE_BOOL;
|
3926 |
+
$value = (bool) ord($recordData[8]);
|
3927 |
+
} elseif ((ord($recordData[6]) == 2)
|
3928 |
+
&& (ord($recordData[12]) == 255)
|
3929 |
+
&& (ord($recordData[13]) == 255)) {
|
3930 |
// Error formula. Error code is in +2
|
3931 |
$dataType = PHPExcel_Cell_DataType::TYPE_ERROR;
|
3932 |
+
$value = PHPExcel_Reader_Excel5_ErrorCode::lookup(ord($recordData[8]));
|
3933 |
+
} elseif ((ord($recordData[6]) == 3)
|
3934 |
+
&& (ord($recordData[12]) == 255)
|
3935 |
+
&& (ord($recordData[13]) == 255)) {
|
3936 |
// Formula result is a null string
|
3937 |
$dataType = PHPExcel_Cell_DataType::TYPE_NULL;
|
3938 |
$value = '';
|
3996 |
// offset: 6, size: 1; not used
|
3997 |
|
3998 |
// offset: 7, size: 1; number of existing FORMULA records for this shared formula
|
3999 |
+
$no = ord($recordData[7]);
|
4000 |
|
4001 |
// offset: 8, size: var; Binary token array of the shared formula
|
4002 |
$formula = substr($recordData, 8);
|
4062 |
$xfIndex = self::getInt2d($recordData, 4);
|
4063 |
|
4064 |
// offset: 6; size: 1; the boolean value or error value
|
4065 |
+
$boolErr = ord($recordData[6]);
|
4066 |
|
4067 |
// offset: 7; size: 1; 0=boolean; 1=error
|
4068 |
+
$isError = ord($recordData[7]);
|
4069 |
|
4070 |
$cell = $this->phpSheet->getCell($columnString . ($row + 1));
|
4071 |
switch ($isError) {
|
4447 |
|
4448 |
if (!$this->readDataOnly) {
|
4449 |
// offset: 0; size: 1; pane identifier
|
4450 |
+
$paneId = ord($recordData[0]);
|
4451 |
|
4452 |
// offset: 1; size: 2; index to row of the active cell
|
4453 |
$r = self::getInt2d($recordData, 1);
|
4598 |
$hyperlinkType = 'UNC';
|
4599 |
} elseif (!$isFileLinkOrUrl) {
|
4600 |
$hyperlinkType = 'workbook';
|
4601 |
+
} elseif (ord($recordData[$offset]) == 0x03) {
|
4602 |
$hyperlinkType = 'local';
|
4603 |
+
} elseif (ord($recordData[$offset]) == 0xE0) {
|
4604 |
$hyperlinkType = 'URL';
|
4605 |
}
|
4606 |
|
6886 |
$lr = self::getInt2d($subData, 2) + 1;
|
6887 |
|
6888 |
// offset: 4; size: 1; index to first column
|
6889 |
+
$fc = ord($subData[4]);
|
6890 |
|
6891 |
// offset: 5; size: 1; index to last column
|
6892 |
+
$lc = ord($subData[5]);
|
6893 |
|
6894 |
// check values
|
6895 |
if ($fr > $lr || $fc > $lc) {
|
7294 |
private static function readRGB($rgb)
|
7295 |
{
|
7296 |
// offset: 0; size 1; Red component
|
7297 |
+
$r = ord($rgb[0]);
|
7298 |
|
7299 |
// offset: 1; size: 1; Green component
|
7300 |
+
$g = ord($rgb[1]);
|
7301 |
|
7302 |
// offset: 2; size: 1; Blue component
|
7303 |
+
$b = ord($rgb[2]);
|
7304 |
|
7305 |
// HEX notation, e.g. 'FF00FC'
|
7306 |
$rgb = sprintf('%02X%02X%02X', $r, $g, $b);
|
classes/PHPExcel/Reader/Excel5/Escher.php
CHANGED
@@ -280,16 +280,16 @@ class PHPExcel_Reader_Excel5_Escher
|
|
280 |
$foDelay = PHPExcel_Reader_Excel5::getInt4d($recordData, 28);
|
281 |
|
282 |
// offset: 32; size: 1; unused1
|
283 |
-
$unused1 = ord($recordData
|
284 |
|
285 |
// offset: 33; size: 1; size of nameData in bytes (including null terminator)
|
286 |
-
$cbName = ord($recordData
|
287 |
|
288 |
// offset: 34; size: 1; unused2
|
289 |
-
$unused2 = ord($recordData
|
290 |
|
291 |
// offset: 35; size: 1; unused3
|
292 |
-
$unused3 = ord($recordData
|
293 |
|
294 |
// offset: 36; size: $cbName; nameData
|
295 |
$nameData = substr($recordData, 36, $cbName);
|
@@ -331,7 +331,7 @@ class PHPExcel_Reader_Excel5_Escher
|
|
331 |
}
|
332 |
|
333 |
// offset: var; size: 1; tag
|
334 |
-
$tag = ord($recordData
|
335 |
$pos += 1;
|
336 |
|
337 |
// offset: var; size: var; the raw image data
|
@@ -372,7 +372,7 @@ class PHPExcel_Reader_Excel5_Escher
|
|
372 |
}
|
373 |
|
374 |
// offset: var; size: 1; tag
|
375 |
-
$tag = ord($recordData
|
376 |
$pos += 1;
|
377 |
|
378 |
// offset: var; size: var; the raw image data
|
280 |
$foDelay = PHPExcel_Reader_Excel5::getInt4d($recordData, 28);
|
281 |
|
282 |
// offset: 32; size: 1; unused1
|
283 |
+
$unused1 = ord($recordData[32]);
|
284 |
|
285 |
// offset: 33; size: 1; size of nameData in bytes (including null terminator)
|
286 |
+
$cbName = ord($recordData[33]);
|
287 |
|
288 |
// offset: 34; size: 1; unused2
|
289 |
+
$unused2 = ord($recordData[34]);
|
290 |
|
291 |
// offset: 35; size: 1; unused3
|
292 |
+
$unused3 = ord($recordData[35]);
|
293 |
|
294 |
// offset: 36; size: $cbName; nameData
|
295 |
$nameData = substr($recordData, 36, $cbName);
|
331 |
}
|
332 |
|
333 |
// offset: var; size: 1; tag
|
334 |
+
$tag = ord($recordData[$pos]);
|
335 |
$pos += 1;
|
336 |
|
337 |
// offset: var; size: var; the raw image data
|
372 |
}
|
373 |
|
374 |
// offset: var; size: 1; tag
|
375 |
+
$tag = ord($recordData[$pos]);
|
376 |
$pos += 1;
|
377 |
|
378 |
// offset: var; size: var; the raw image data
|
classes/PHPExcel/Reader/OOCalc.php
CHANGED
@@ -535,7 +535,7 @@ class PHPExcel_Reader_OOCalc extends PHPExcel_Reader_Abstract implements PHPExce
|
|
535 |
array_push($dataArray, $pData);
|
536 |
}
|
537 |
}
|
538 |
-
$allCellDataText = implode(
|
539 |
|
540 |
// echo 'Value Type is '.$cellDataOfficeAttributes['value-type'].'<br />';
|
541 |
switch ($cellDataOfficeAttributes['value-type']) {
|
535 |
array_push($dataArray, $pData);
|
536 |
}
|
537 |
}
|
538 |
+
$allCellDataText = implode( "\n", $dataArray );
|
539 |
|
540 |
// echo 'Value Type is '.$cellDataOfficeAttributes['value-type'].'<br />';
|
541 |
switch ($cellDataOfficeAttributes['value-type']) {
|
classes/PHPExcel/Reader/SYLK.php
CHANGED
@@ -161,7 +161,7 @@ class PHPExcel_Reader_SYLK extends PHPExcel_Reader_Abstract implements PHPExcel_
|
|
161 |
if ($dataType == 'C') {
|
162 |
// Read cell value data
|
163 |
foreach ($rowData as $rowDatum) {
|
164 |
-
switch ($rowDatum
|
165 |
case 'C':
|
166 |
case 'X':
|
167 |
$columnIndex = substr($rowDatum, 1) - 1;
|
@@ -249,7 +249,7 @@ class PHPExcel_Reader_SYLK extends PHPExcel_Reader_Abstract implements PHPExcel_
|
|
249 |
if ($dataType == 'P') {
|
250 |
$formatArray = array();
|
251 |
foreach ($rowData as $rowDatum) {
|
252 |
-
switch ($rowDatum
|
253 |
case 'P':
|
254 |
$formatArray['numberformat']['code'] = str_replace($fromFormats, $toFormats, substr($rowDatum, 1));
|
255 |
break;
|
@@ -263,7 +263,7 @@ class PHPExcel_Reader_SYLK extends PHPExcel_Reader_Abstract implements PHPExcel_
|
|
263 |
case 'S':
|
264 |
$styleSettings = substr($rowDatum, 1);
|
265 |
for ($i=0; $i<strlen($styleSettings); ++$i) {
|
266 |
-
switch ($styleSettings
|
267 |
case 'I':
|
268 |
$formatArray['font']['italic'] = true;
|
269 |
break;
|
@@ -293,7 +293,7 @@ class PHPExcel_Reader_SYLK extends PHPExcel_Reader_Abstract implements PHPExcel_
|
|
293 |
$hasCalculatedValue = false;
|
294 |
$cellData = $cellDataFormula = '';
|
295 |
foreach ($rowData as $rowDatum) {
|
296 |
-
switch ($rowDatum
|
297 |
case 'C':
|
298 |
case 'X':
|
299 |
$column = substr($rowDatum, 1);
|
@@ -327,7 +327,7 @@ class PHPExcel_Reader_SYLK extends PHPExcel_Reader_Abstract implements PHPExcel_
|
|
327 |
$rowReference = $row;
|
328 |
}
|
329 |
// Bracketed R references are relative to the current row
|
330 |
-
if ($rowReference
|
331 |
$rowReference = $row + trim($rowReference, '[]');
|
332 |
}
|
333 |
$columnReference = $cellReference[4][0];
|
@@ -336,7 +336,7 @@ class PHPExcel_Reader_SYLK extends PHPExcel_Reader_Abstract implements PHPExcel_
|
|
336 |
$columnReference = $column;
|
337 |
}
|
338 |
// Bracketed C references are relative to the current column
|
339 |
-
if ($columnReference
|
340 |
$columnReference = $column + trim($columnReference, '[]');
|
341 |
}
|
342 |
$A1CellReference = PHPExcel_Cell::stringFromColumnIndex($columnReference-1).$rowReference;
|
@@ -366,7 +366,7 @@ class PHPExcel_Reader_SYLK extends PHPExcel_Reader_Abstract implements PHPExcel_
|
|
366 |
$formatStyle = $columnWidth = $styleSettings = '';
|
367 |
$styleData = array();
|
368 |
foreach ($rowData as $rowDatum) {
|
369 |
-
switch ($rowDatum
|
370 |
case 'C':
|
371 |
case 'X':
|
372 |
$column = substr($rowDatum, 1);
|
@@ -384,7 +384,7 @@ class PHPExcel_Reader_SYLK extends PHPExcel_Reader_Abstract implements PHPExcel_
|
|
384 |
case 'S':
|
385 |
$styleSettings = substr($rowDatum, 1);
|
386 |
for ($i=0; $i<strlen($styleSettings); ++$i) {
|
387 |
-
switch ($styleSettings
|
388 |
case 'I':
|
389 |
$styleData['font']['italic'] = true;
|
390 |
break;
|
@@ -433,7 +433,7 @@ class PHPExcel_Reader_SYLK extends PHPExcel_Reader_Abstract implements PHPExcel_
|
|
433 |
}
|
434 |
} else {
|
435 |
foreach ($rowData as $rowDatum) {
|
436 |
-
switch ($rowDatum
|
437 |
case 'C':
|
438 |
case 'X':
|
439 |
$column = substr($rowDatum, 1);
|
161 |
if ($dataType == 'C') {
|
162 |
// Read cell value data
|
163 |
foreach ($rowData as $rowDatum) {
|
164 |
+
switch ($rowDatum[0]) {
|
165 |
case 'C':
|
166 |
case 'X':
|
167 |
$columnIndex = substr($rowDatum, 1) - 1;
|
249 |
if ($dataType == 'P') {
|
250 |
$formatArray = array();
|
251 |
foreach ($rowData as $rowDatum) {
|
252 |
+
switch ($rowDatum[0]) {
|
253 |
case 'P':
|
254 |
$formatArray['numberformat']['code'] = str_replace($fromFormats, $toFormats, substr($rowDatum, 1));
|
255 |
break;
|
263 |
case 'S':
|
264 |
$styleSettings = substr($rowDatum, 1);
|
265 |
for ($i=0; $i<strlen($styleSettings); ++$i) {
|
266 |
+
switch ($styleSettings[$i]) {
|
267 |
case 'I':
|
268 |
$formatArray['font']['italic'] = true;
|
269 |
break;
|
293 |
$hasCalculatedValue = false;
|
294 |
$cellData = $cellDataFormula = '';
|
295 |
foreach ($rowData as $rowDatum) {
|
296 |
+
switch ($rowDatum[0]) {
|
297 |
case 'C':
|
298 |
case 'X':
|
299 |
$column = substr($rowDatum, 1);
|
327 |
$rowReference = $row;
|
328 |
}
|
329 |
// Bracketed R references are relative to the current row
|
330 |
+
if ($rowReference[0] == '[') {
|
331 |
$rowReference = $row + trim($rowReference, '[]');
|
332 |
}
|
333 |
$columnReference = $cellReference[4][0];
|
336 |
$columnReference = $column;
|
337 |
}
|
338 |
// Bracketed C references are relative to the current column
|
339 |
+
if ($columnReference[0] == '[') {
|
340 |
$columnReference = $column + trim($columnReference, '[]');
|
341 |
}
|
342 |
$A1CellReference = PHPExcel_Cell::stringFromColumnIndex($columnReference-1).$rowReference;
|
366 |
$formatStyle = $columnWidth = $styleSettings = '';
|
367 |
$styleData = array();
|
368 |
foreach ($rowData as $rowDatum) {
|
369 |
+
switch ($rowDatum[0]) {
|
370 |
case 'C':
|
371 |
case 'X':
|
372 |
$column = substr($rowDatum, 1);
|
384 |
case 'S':
|
385 |
$styleSettings = substr($rowDatum, 1);
|
386 |
for ($i=0; $i<strlen($styleSettings); ++$i) {
|
387 |
+
switch ($styleSettings[$i]) {
|
388 |
case 'I':
|
389 |
$styleData['font']['italic'] = true;
|
390 |
break;
|
433 |
}
|
434 |
} else {
|
435 |
foreach ($rowData as $rowDatum) {
|
436 |
+
switch ($rowDatum[0]) {
|
437 |
case 'C':
|
438 |
case 'X':
|
439 |
$column = substr($rowDatum, 1);
|
classes/PHPExcel/ReferenceHelper.php
CHANGED
@@ -881,8 +881,8 @@ class PHPExcel_ReferenceHelper
|
|
881 |
list($newColumn, $newRow) = PHPExcel_Cell::coordinateFromString($pCellReference);
|
882 |
|
883 |
// Verify which parts should be updated
|
884 |
-
$updateColumn = (($newColumn
|
885 |
-
$updateRow = (($newRow
|
886 |
|
887 |
// Create new column reference
|
888 |
if ($updateColumn) {
|
881 |
list($newColumn, $newRow) = PHPExcel_Cell::coordinateFromString($pCellReference);
|
882 |
|
883 |
// Verify which parts should be updated
|
884 |
+
$updateColumn = (($newColumn[0] != '$') && ($beforeColumn[0] != '$') && (PHPExcel_Cell::columnIndexFromString($newColumn) >= PHPExcel_Cell::columnIndexFromString($beforeColumn)));
|
885 |
+
$updateRow = (($newRow[0] != '$') && ($beforeRow[0] != '$') && $newRow >= $beforeRow);
|
886 |
|
887 |
// Create new column reference
|
888 |
if ($updateColumn) {
|
classes/PHPExcel/Shared/OLE.php
CHANGED
@@ -443,7 +443,7 @@ class PHPExcel_Shared_OLE
|
|
443 |
{
|
444 |
$rawname = '';
|
445 |
for ($i = 0; $i < strlen($ascii); ++$i) {
|
446 |
-
$rawname .= $ascii
|
447 |
}
|
448 |
return $rawname;
|
449 |
}
|
443 |
{
|
444 |
$rawname = '';
|
445 |
for ($i = 0; $i < strlen($ascii); ++$i) {
|
446 |
+
$rawname .= $ascii[$i] . "\x00";
|
447 |
}
|
448 |
return $rawname;
|
449 |
}
|
classes/PHPExcel/Shared/String.php
CHANGED
@@ -523,8 +523,8 @@ class PHPExcel_Shared_String
|
|
523 |
if (strlen($str) < 2) {
|
524 |
return $str;
|
525 |
}
|
526 |
-
$c0 = ord($str
|
527 |
-
$c1 = ord($str
|
528 |
if ($c0 == 0xfe && $c1 == 0xff) {
|
529 |
$str = substr($str, 2);
|
530 |
} elseif ($c0 == 0xff && $c1 == 0xfe) {
|
@@ -535,11 +535,11 @@ class PHPExcel_Shared_String
|
|
535 |
$newstr = '';
|
536 |
for ($i=0; $i<$len; $i+=2) {
|
537 |
if ($bom_be) {
|
538 |
-
$val = ord($str
|
539 |
-
$val += ord($str
|
540 |
} else {
|
541 |
-
$val = ord($str
|
542 |
-
$val += ord($str
|
543 |
}
|
544 |
$newstr .= ($val == 0x228) ? "\n" : chr($val);
|
545 |
}
|
523 |
if (strlen($str) < 2) {
|
524 |
return $str;
|
525 |
}
|
526 |
+
$c0 = ord($str[0]);
|
527 |
+
$c1 = ord($str[1]);
|
528 |
if ($c0 == 0xfe && $c1 == 0xff) {
|
529 |
$str = substr($str, 2);
|
530 |
} elseif ($c0 == 0xff && $c1 == 0xfe) {
|
535 |
$newstr = '';
|
536 |
for ($i=0; $i<$len; $i+=2) {
|
537 |
if ($bom_be) {
|
538 |
+
$val = ord($str[$i]) << 4;
|
539 |
+
$val += ord($str[$i+1]);
|
540 |
} else {
|
541 |
+
$val = ord($str[$i+1]) << 4;
|
542 |
+
$val += ord($str[$i]);
|
543 |
}
|
544 |
$newstr .= ($val == 0x228) ? "\n" : chr($val);
|
545 |
}
|
classes/PHPExcel/Shared/ZipStreamWrapper.php
CHANGED
@@ -76,7 +76,7 @@ class PHPExcel_Shared_ZipStreamWrapper
|
|
76 |
public function stream_open($path, $mode, $options, &$opened_path)
|
77 |
{
|
78 |
// Check for mode
|
79 |
-
if ($mode
|
80 |
throw new PHPExcel_Reader_Exception('Mode ' . $mode . ' is not supported. Only read mode is supported.');
|
81 |
}
|
82 |
|
76 |
public function stream_open($path, $mode, $options, &$opened_path)
|
77 |
{
|
78 |
// Check for mode
|
79 |
+
if ($mode[0] != 'r') {
|
80 |
throw new PHPExcel_Reader_Exception('Mode ' . $mode . ' is not supported. Only read mode is supported.');
|
81 |
}
|
82 |
|
classes/PHPExcel/Worksheet/AutoFilter.php
CHANGED
@@ -717,7 +717,7 @@ class PHPExcel_Worksheet_AutoFilter
|
|
717 |
);
|
718 |
} else {
|
719 |
// Date based
|
720 |
-
if ($dynamicRuleType
|
721 |
// Month or Quarter
|
722 |
sscanf($dynamicRuleType, '%[A-Z]%d', $periodType, $period);
|
723 |
if ($periodType == 'M') {
|
717 |
);
|
718 |
} else {
|
719 |
// Date based
|
720 |
+
if ($dynamicRuleType[0] == 'M' || $dynamicRuleType[0] == 'Q') {
|
721 |
// Month or Quarter
|
722 |
sscanf($dynamicRuleType, '%[A-Z]%d', $periodType, $period);
|
723 |
if ($periodType == 'M') {
|
classes/PHPExcel/Writer/Excel5/Parser.php
CHANGED
@@ -1020,7 +1020,7 @@ class PHPExcel_Writer_Excel5_Parser
|
|
1020 |
$col = 0;
|
1021 |
$col_ref_length = strlen($col_ref);
|
1022 |
for ($i = 0; $i < $col_ref_length; ++$i) {
|
1023 |
-
$col += (ord($col_ref
|
1024 |
--$expn;
|
1025 |
}
|
1026 |
|
@@ -1042,28 +1042,28 @@ class PHPExcel_Writer_Excel5_Parser
|
|
1042 |
$formula_length = strlen($this->formula);
|
1043 |
// eat up white spaces
|
1044 |
if ($i < $formula_length) {
|
1045 |
-
while ($this->formula
|
1046 |
++$i;
|
1047 |
}
|
1048 |
|
1049 |
if ($i < ($formula_length - 1)) {
|
1050 |
-
$this->lookAhead = $this->formula
|
1051 |
}
|
1052 |
$token = '';
|
1053 |
}
|
1054 |
|
1055 |
while ($i < $formula_length) {
|
1056 |
-
$token .= $this->formula
|
1057 |
|
1058 |
if ($i < ($formula_length - 1)) {
|
1059 |
-
$this->lookAhead = $this->formula
|
1060 |
} else {
|
1061 |
$this->lookAhead = '';
|
1062 |
}
|
1063 |
|
1064 |
if ($this->match($token) != '') {
|
1065 |
//if ($i < strlen($this->formula) - 1) {
|
1066 |
-
// $this->lookAhead = $this->formula
|
1067 |
//}
|
1068 |
$this->currentCharacter = $i + 1;
|
1069 |
$this->currentToken = $token;
|
@@ -1071,7 +1071,7 @@ class PHPExcel_Writer_Excel5_Parser
|
|
1071 |
}
|
1072 |
|
1073 |
if ($i < ($formula_length - 2)) {
|
1074 |
-
$this->lookAhead = $this->formula
|
1075 |
} else { // if we run out of characters lookAhead becomes empty
|
1076 |
$this->lookAhead = '';
|
1077 |
}
|
@@ -1172,7 +1172,7 @@ class PHPExcel_Writer_Excel5_Parser
|
|
1172 |
{
|
1173 |
$this->currentCharacter = 0;
|
1174 |
$this->formula = $formula;
|
1175 |
-
$this->lookAhead = isset($formula
|
1176 |
$this->advance();
|
1177 |
$this->parseTree = $this->condition();
|
1178 |
return true;
|
1020 |
$col = 0;
|
1021 |
$col_ref_length = strlen($col_ref);
|
1022 |
for ($i = 0; $i < $col_ref_length; ++$i) {
|
1023 |
+
$col += (ord($col_ref[$i]) - 64) * pow(26, $expn);
|
1024 |
--$expn;
|
1025 |
}
|
1026 |
|
1042 |
$formula_length = strlen($this->formula);
|
1043 |
// eat up white spaces
|
1044 |
if ($i < $formula_length) {
|
1045 |
+
while ($this->formula[$i] == " ") {
|
1046 |
++$i;
|
1047 |
}
|
1048 |
|
1049 |
if ($i < ($formula_length - 1)) {
|
1050 |
+
$this->lookAhead = $this->formula[$i+1];
|
1051 |
}
|
1052 |
$token = '';
|
1053 |
}
|
1054 |
|
1055 |
while ($i < $formula_length) {
|
1056 |
+
$token .= $this->formula[$i];
|
1057 |
|
1058 |
if ($i < ($formula_length - 1)) {
|
1059 |
+
$this->lookAhead = $this->formula[$i+1];
|
1060 |
} else {
|
1061 |
$this->lookAhead = '';
|
1062 |
}
|
1063 |
|
1064 |
if ($this->match($token) != '') {
|
1065 |
//if ($i < strlen($this->formula) - 1) {
|
1066 |
+
// $this->lookAhead = $this->formula[$i+1];
|
1067 |
//}
|
1068 |
$this->currentCharacter = $i + 1;
|
1069 |
$this->currentToken = $token;
|
1071 |
}
|
1072 |
|
1073 |
if ($i < ($formula_length - 2)) {
|
1074 |
+
$this->lookAhead = $this->formula[$i+2];
|
1075 |
} else { // if we run out of characters lookAhead becomes empty
|
1076 |
$this->lookAhead = '';
|
1077 |
}
|
1172 |
{
|
1173 |
$this->currentCharacter = 0;
|
1174 |
$this->formula = $formula;
|
1175 |
+
$this->lookAhead = isset($formula[1]) ? $formula[1] : '';
|
1176 |
$this->advance();
|
1177 |
$this->parseTree = $this->condition();
|
1178 |
return true;
|
classes/PHPExcel/Writer/Excel5/Workbook.php
CHANGED
@@ -664,7 +664,7 @@ class PHPExcel_Writer_Excel5_Workbook extends PHPExcel_Writer_Excel5_BIFFwriter
|
|
664 |
$formulaData = $this->parser->toReversePolish();
|
665 |
|
666 |
// make sure tRef3d is of type tRef3dR (0x3A)
|
667 |
-
if (isset($formulaData
|
668 |
$formulaData = "\x3A" . substr($formulaData, 1);
|
669 |
}
|
670 |
|
664 |
$formulaData = $this->parser->toReversePolish();
|
665 |
|
666 |
// make sure tRef3d is of type tRef3dR (0x3A)
|
667 |
+
if (isset($formulaData[0]) and ($formulaData[0] == "\x7A" or $formulaData[0] == "\x5A")) {
|
668 |
$formulaData = "\x3A" . substr($formulaData, 1);
|
669 |
}
|
670 |
|
classes/PHPExcel/Writer/Excel5/Worksheet.php
CHANGED
@@ -876,7 +876,7 @@ class PHPExcel_Writer_Excel5_Worksheet extends PHPExcel_Writer_Excel5_BIFFwriter
|
|
876 |
$unknown = 0x0000; // Must be zero
|
877 |
|
878 |
// Strip the '=' or '@' sign at the beginning of the formula string
|
879 |
-
if ($formula
|
880 |
$formula = substr($formula, 1);
|
881 |
} else {
|
882 |
// Error handling
|
876 |
$unknown = 0x0000; // Must be zero
|
877 |
|
878 |
// Strip the '=' or '@' sign at the beginning of the formula string
|
879 |
+
if ($formula[0] == '=') {
|
880 |
$formula = substr($formula, 1);
|
881 |
} else {
|
882 |
// Error handling
|
classes/admin/class-wc-order-export-labels.php
CHANGED
@@ -140,6 +140,10 @@ class WC_Order_Export_Labels {
|
|
140 |
return $this->labels;
|
141 |
}
|
142 |
|
|
|
|
|
|
|
|
|
143 |
public function get_fetch_fields() {
|
144 |
$fetch_fields = array();
|
145 |
foreach ( $this->labels as $label_data ) {
|
140 |
return $this->labels;
|
141 |
}
|
142 |
|
143 |
+
public function set_labels( $labels ) {
|
144 |
+
$this->labels = $labels;
|
145 |
+
}
|
146 |
+
|
147 |
public function get_fetch_fields() {
|
148 |
$fetch_fields = array();
|
149 |
foreach ( $this->labels as $label_data ) {
|
classes/admin/class-wc-order-export-manage.php
CHANGED
@@ -215,6 +215,12 @@ class WC_Order_Export_Manage {
|
|
215 |
'statuses' => ($mode == "now" OR $mode == "profiles") ? array("wc-pending","wc-processing","wc-on-hold","wc-completed") : array(),
|
216 |
'from_date' => '',
|
217 |
'to_date' => '',
|
|
|
|
|
|
|
|
|
|
|
|
|
218 |
'from_order_id' => '',
|
219 |
'to_order_id' => '',
|
220 |
'shipping_locations' => array(),
|
@@ -271,6 +277,7 @@ class WC_Order_Export_Manage {
|
|
271 |
'format_xml_prepend_raw_xml' => '',
|
272 |
'format_xml_append_raw_xml' => '',
|
273 |
'format_xml_self_closing_tags' => 1,
|
|
|
274 |
|
275 |
'format_json_start_tag' => '[',
|
276 |
'format_json_end_tag' => ']',
|
@@ -279,6 +286,7 @@ class WC_Order_Export_Manage {
|
|
279 |
|
280 |
'format_pdf_display_column_names' => 1,
|
281 |
'format_pdf_repeat_header' => 1,
|
|
|
282 |
'format_pdf_orientation' => 'L',
|
283 |
'format_pdf_page_size' => 'A4',
|
284 |
'format_pdf_font_size' => 8,
|
@@ -302,6 +310,8 @@ class WC_Order_Export_Manage {
|
|
302 |
'format_pdf_logo_align' => 'R',
|
303 |
'format_pdf_row_images_width' => 15,
|
304 |
'format_pdf_row_images_height' => 15,
|
|
|
|
|
305 |
|
306 |
'format_html_display_column_names' => 1,
|
307 |
'format_html_repeat_header_last_line' => 0,
|
@@ -320,7 +330,7 @@ class WC_Order_Export_Manage {
|
|
320 |
'format_html_custom_css' => $settings['default_html_css'],
|
321 |
|
322 |
'all_products_from_order' => 1,
|
323 |
-
'skip_refunded_items' =>
|
324 |
'skip_suborders' => 0,
|
325 |
'export_refunds' => 0,
|
326 |
'export_matched_items' => 0,
|
@@ -333,6 +343,7 @@ class WC_Order_Export_Manage {
|
|
333 |
'export_refund_notes' => 0,
|
334 |
'strip_tags_product_fields' => 0,
|
335 |
'cleanup_phone' => 0,
|
|
|
336 |
'enable_debug' => 0,
|
337 |
'billing_details_for_shipping' => 0,
|
338 |
'custom_php' => 0,
|
215 |
'statuses' => ($mode == "now" OR $mode == "profiles") ? array("wc-pending","wc-processing","wc-on-hold","wc-completed") : array(),
|
216 |
'from_date' => '',
|
217 |
'to_date' => '',
|
218 |
+
'sub_start_from_date' => '',
|
219 |
+
'sub_start_to_date' => '',
|
220 |
+
'sub_end_from_date' => '',
|
221 |
+
'sub_end_to_date' => '',
|
222 |
+
'sub_next_paym_from_date' => '',
|
223 |
+
'sub_next_paym_to_date' => '',
|
224 |
'from_order_id' => '',
|
225 |
'to_order_id' => '',
|
226 |
'shipping_locations' => array(),
|
277 |
'format_xml_prepend_raw_xml' => '',
|
278 |
'format_xml_append_raw_xml' => '',
|
279 |
'format_xml_self_closing_tags' => 1,
|
280 |
+
'format_xml_preview_format' => 0,
|
281 |
|
282 |
'format_json_start_tag' => '[',
|
283 |
'format_json_end_tag' => ']',
|
286 |
|
287 |
'format_pdf_display_column_names' => 1,
|
288 |
'format_pdf_repeat_header' => 1,
|
289 |
+
'format_pdf_direction_rtl' => 0,
|
290 |
'format_pdf_orientation' => 'L',
|
291 |
'format_pdf_page_size' => 'A4',
|
292 |
'format_pdf_font_size' => 8,
|
310 |
'format_pdf_logo_align' => 'R',
|
311 |
'format_pdf_row_images_width' => 15,
|
312 |
'format_pdf_row_images_height' => 15,
|
313 |
+
'format_pdf_row_images_add_link' => 0,
|
314 |
+
'format_pdf_row_dont_page_break_order_lines'=> 0,
|
315 |
|
316 |
'format_html_display_column_names' => 1,
|
317 |
'format_html_repeat_header_last_line' => 0,
|
330 |
'format_html_custom_css' => $settings['default_html_css'],
|
331 |
|
332 |
'all_products_from_order' => 1,
|
333 |
+
'skip_refunded_items' => 0,
|
334 |
'skip_suborders' => 0,
|
335 |
'export_refunds' => 0,
|
336 |
'export_matched_items' => 0,
|
343 |
'export_refund_notes' => 0,
|
344 |
'strip_tags_product_fields' => 0,
|
345 |
'cleanup_phone' => 0,
|
346 |
+
'convert_serialized_values' => 0,
|
347 |
'enable_debug' => 0,
|
348 |
'billing_details_for_shipping' => 0,
|
349 |
'custom_php' => 0,
|
classes/admin/tabs/ajax/trait-wc-order-export-admin-tab-abstract-ajax-export.php
CHANGED
@@ -52,7 +52,7 @@ trait WC_Order_Export_Admin_Tab_Abstract_Ajax_Export {
|
|
52 |
try {
|
53 |
file_put_contents( $filename, '' );
|
54 |
do_action( 'woe_start_export_job', $_POST['id'], $settings );
|
55 |
-
$
|
56 |
} catch ( Exception $e ) {
|
57 |
die( $e->getMessage() );
|
58 |
}
|
@@ -60,7 +60,12 @@ trait WC_Order_Export_Admin_Tab_Abstract_Ajax_Export {
|
|
60 |
$file_id = current_time( 'timestamp' );
|
61 |
set_transient( $this->tempfile_prefix . $file_id, $filename, 60 );
|
62 |
$this->stop_prevent_object_cache();
|
63 |
-
echo json_encode( array(
|
|
|
|
|
|
|
|
|
|
|
64 |
}
|
65 |
|
66 |
|
@@ -69,6 +74,9 @@ trait WC_Order_Export_Admin_Tab_Abstract_Ajax_Export {
|
|
69 |
$settings = WC_Order_Export_Manage::make_new_settings( $_POST );
|
70 |
$main_settings = WC_Order_Export_Main_Settings::get_settings();
|
71 |
|
|
|
|
|
|
|
72 |
WC_Order_Export_Engine::build_file( $settings, 'partial', 'file', intval( $_POST['start'] ),
|
73 |
$main_settings['ajax_orders_per_step'],
|
74 |
$this->get_temp_file_name() );
|
52 |
try {
|
53 |
file_put_contents( $filename, '' );
|
54 |
do_action( 'woe_start_export_job', $_POST['id'], $settings );
|
55 |
+
$result = WC_Order_Export_Engine::build_file( $settings, 'start_estimate', 'file', 0, 0, $filename );
|
56 |
} catch ( Exception $e ) {
|
57 |
die( $e->getMessage() );
|
58 |
}
|
60 |
$file_id = current_time( 'timestamp' );
|
61 |
set_transient( $this->tempfile_prefix . $file_id, $filename, 60 );
|
62 |
$this->stop_prevent_object_cache();
|
63 |
+
echo json_encode( array(
|
64 |
+
'total' => $result['total'],
|
65 |
+
'file_id' => $file_id,
|
66 |
+
'max_line_items' => $result['max_line_items'],
|
67 |
+
'max_coupons' => $result['max_coupons'],
|
68 |
+
) );
|
69 |
}
|
70 |
|
71 |
|
74 |
$settings = WC_Order_Export_Manage::make_new_settings( $_POST );
|
75 |
$main_settings = WC_Order_Export_Main_Settings::get_settings();
|
76 |
|
77 |
+
$settings['max_line_items'] = $_POST['max_line_items'];
|
78 |
+
$settings['max_coupons'] = $_POST['max_coupons'];
|
79 |
+
|
80 |
WC_Order_Export_Engine::build_file( $settings, 'partial', 'file', intval( $_POST['start'] ),
|
81 |
$main_settings['ajax_orders_per_step'],
|
82 |
$this->get_temp_file_name() );
|
classes/core/class-wc-order-export-data-extractor-ui.php
CHANGED
@@ -133,7 +133,7 @@ class WC_Order_Export_Data_Extractor_UI extends WC_Order_Export_Data_Extractor {
|
|
133 |
LEFT JOIN " . $wpdb->posts . " AS att ON post.ID=att.post_parent AND att.post_type='attachment'
|
134 |
WHERE post.post_title LIKE %s
|
135 |
AND post.post_type = 'product'
|
136 |
-
|
137 |
GROUP BY post.ID
|
138 |
ORDER BY post.post_title
|
139 |
LIMIT " . intval( $limit );
|
@@ -370,6 +370,11 @@ class WC_Order_Export_Data_Extractor_UI extends WC_Order_Export_Data_Extractor {
|
|
370 |
'checked' => 0,
|
371 |
'format' => 'string',
|
372 |
),
|
|
|
|
|
|
|
|
|
|
|
373 |
'variation_id' => array(
|
374 |
'label' => __( 'Variation Id', 'woo-order-export-lite' ),
|
375 |
'checked' => 0,
|
@@ -423,17 +428,17 @@ class WC_Order_Export_Data_Extractor_UI extends WC_Order_Export_Data_Extractor {
|
|
423 |
'product_url' => array(
|
424 |
'label' => __( 'Product URL', 'woo-order-export-lite' ),
|
425 |
'checked' => 0,
|
426 |
-
'format' => '
|
427 |
),
|
428 |
'download_url' => array(
|
429 |
'label' => __( 'Download URL', 'woo-order-export-lite' ),
|
430 |
'checked' => 0,
|
431 |
-
'format' => '
|
432 |
),
|
433 |
'image_url' => array(
|
434 |
'label' => __( 'Image URL', 'woo-order-export-lite' ),
|
435 |
'checked' => 0,
|
436 |
-
'format' => '
|
437 |
),
|
438 |
'product_shipping_class' => array(
|
439 |
'label' => __( 'Product Shipping Class', 'woo-order-export-lite' ),
|
@@ -476,7 +481,7 @@ class WC_Order_Export_Data_Extractor_UI extends WC_Order_Export_Data_Extractor {
|
|
476 |
'format' => 'money',
|
477 |
),
|
478 |
'summary_report_total_refund_count' => array(
|
479 |
-
'label' => __( 'Summary Report Total
|
480 |
'checked' => 0,
|
481 |
'format' => 'number',
|
482 |
),
|
@@ -634,7 +639,7 @@ class WC_Order_Export_Data_Extractor_UI extends WC_Order_Export_Data_Extractor {
|
|
634 |
'embedded_edit_order_link' => array(
|
635 |
'label' => __( 'Link to edit order', 'woo-order-export-lite' ),
|
636 |
'checked' => 0,
|
637 |
-
'format' => '
|
638 |
),
|
639 |
);
|
640 |
}
|
@@ -659,7 +664,7 @@ class WC_Order_Export_Data_Extractor_UI extends WC_Order_Export_Data_Extractor {
|
|
659 |
'user_url' => array(
|
660 |
'label' => __( 'User Website', 'woo-order-export-lite' ),
|
661 |
'checked' => 0,
|
662 |
-
'format' => '
|
663 |
),
|
664 |
'user_email' => array(
|
665 |
'label' => __( 'Customer User Email', 'woo-order-export-lite' ),
|
@@ -722,7 +727,7 @@ class WC_Order_Export_Data_Extractor_UI extends WC_Order_Export_Data_Extractor {
|
|
722 |
'format' => 'money',
|
723 |
),
|
724 |
'summary_report_total_refund_count' => array(
|
725 |
-
'label' => __( 'Summary Report Total
|
726 |
'checked' => 0,
|
727 |
'format' => 'number',
|
728 |
),
|
@@ -731,6 +736,16 @@ class WC_Order_Export_Data_Extractor_UI extends WC_Order_Export_Data_Extractor {
|
|
731 |
'checked' => 0,
|
732 |
'format' => 'money',
|
733 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
734 |
);
|
735 |
}
|
736 |
|
@@ -1016,7 +1031,7 @@ class WC_Order_Export_Data_Extractor_UI extends WC_Order_Export_Data_Extractor {
|
|
1016 |
'item_download_url' => array(
|
1017 |
'label' => __( 'Item download URL', 'woo-order-export-lite' ),
|
1018 |
'checked' => 0,
|
1019 |
-
'format' => '
|
1020 |
),
|
1021 |
'product_variation' => array(
|
1022 |
'label' => __( 'Order Item Metadata', 'woo-order-export-lite' ),
|
@@ -1093,7 +1108,7 @@ class WC_Order_Export_Data_Extractor_UI extends WC_Order_Export_Data_Extractor {
|
|
1093 |
'format' => 'string',
|
1094 |
),
|
1095 |
'coupons_used' => array(
|
1096 |
-
'label' => __( '
|
1097 |
'checked' => 0,
|
1098 |
'format' => 'string',
|
1099 |
),
|
@@ -1296,7 +1311,7 @@ class WC_Order_Export_Data_Extractor_UI extends WC_Order_Export_Data_Extractor {
|
|
1296 |
'misc' => __( 'Others', 'woo-order-export-lite' ),
|
1297 |
);
|
1298 |
}
|
1299 |
-
|
1300 |
public static function get_segment_hints() {
|
1301 |
return array(
|
1302 |
'products' => __( 'Use section "Product order items" to add attributes', 'woo-order-export-lite' ),
|
@@ -1311,6 +1326,7 @@ class WC_Order_Export_Data_Extractor_UI extends WC_Order_Export_Data_Extractor {
|
|
1311 |
'number' => __( 'Number', 'woo-order-export-lite' ),
|
1312 |
'date' => __( 'Date', 'woo-order-export-lite' ),
|
1313 |
'image' => __( 'Image', 'woo-order-export-lite' ),
|
|
|
1314 |
);
|
1315 |
}
|
1316 |
|
133 |
LEFT JOIN " . $wpdb->posts . " AS att ON post.ID=att.post_parent AND att.post_type='attachment'
|
134 |
WHERE post.post_title LIKE %s
|
135 |
AND post.post_type = 'product'
|
136 |
+
AND post.post_status NOT IN ('trash', 'draft')
|
137 |
GROUP BY post.ID
|
138 |
ORDER BY post.post_title
|
139 |
LIMIT " . intval( $limit );
|
370 |
'checked' => 0,
|
371 |
'format' => 'string',
|
372 |
),
|
373 |
+
'product_variation' => array(
|
374 |
+
'label' => __( 'Product Variation', 'woo-order-export-lite' ),
|
375 |
+
'checked' => 0,
|
376 |
+
'format' => 'string',
|
377 |
+
),
|
378 |
'variation_id' => array(
|
379 |
'label' => __( 'Variation Id', 'woo-order-export-lite' ),
|
380 |
'checked' => 0,
|
428 |
'product_url' => array(
|
429 |
'label' => __( 'Product URL', 'woo-order-export-lite' ),
|
430 |
'checked' => 0,
|
431 |
+
'format' => 'link',
|
432 |
),
|
433 |
'download_url' => array(
|
434 |
'label' => __( 'Download URL', 'woo-order-export-lite' ),
|
435 |
'checked' => 0,
|
436 |
+
'format' => 'link',
|
437 |
),
|
438 |
'image_url' => array(
|
439 |
'label' => __( 'Image URL', 'woo-order-export-lite' ),
|
440 |
'checked' => 0,
|
441 |
+
'format' => 'link',
|
442 |
),
|
443 |
'product_shipping_class' => array(
|
444 |
'label' => __( 'Product Shipping Class', 'woo-order-export-lite' ),
|
481 |
'format' => 'money',
|
482 |
),
|
483 |
'summary_report_total_refund_count' => array(
|
484 |
+
'label' => __( 'Summary Report Total Refund Count', 'woo-order-export-lite' ),
|
485 |
'checked' => 0,
|
486 |
'format' => 'number',
|
487 |
),
|
639 |
'embedded_edit_order_link' => array(
|
640 |
'label' => __( 'Link to edit order', 'woo-order-export-lite' ),
|
641 |
'checked' => 0,
|
642 |
+
'format' => 'link',
|
643 |
),
|
644 |
);
|
645 |
}
|
664 |
'user_url' => array(
|
665 |
'label' => __( 'User Website', 'woo-order-export-lite' ),
|
666 |
'checked' => 0,
|
667 |
+
'format' => 'link',
|
668 |
),
|
669 |
'user_email' => array(
|
670 |
'label' => __( 'Customer User Email', 'woo-order-export-lite' ),
|
727 |
'format' => 'money',
|
728 |
),
|
729 |
'summary_report_total_refund_count' => array(
|
730 |
+
'label' => __( 'Summary Report Total Refund Count', 'woo-order-export-lite' ),
|
731 |
'checked' => 0,
|
732 |
'format' => 'number',
|
733 |
),
|
736 |
'checked' => 0,
|
737 |
'format' => 'money',
|
738 |
),
|
739 |
+
'summary_report_total_tax_amount' => array(
|
740 |
+
'label' => __( 'Summary Report Total Tax Amount', 'woo-order-export-lite' ),
|
741 |
+
'checked' => 0,
|
742 |
+
'format' => 'money',
|
743 |
+
),
|
744 |
+
'summary_report_total_fee_amount' => array(
|
745 |
+
'label' => __( 'Summary Report Total Fee Amount', 'woo-order-export-lite' ),
|
746 |
+
'checked' => 0,
|
747 |
+
'format' => 'money',
|
748 |
+
),
|
749 |
);
|
750 |
}
|
751 |
|
1031 |
'item_download_url' => array(
|
1032 |
'label' => __( 'Item download URL', 'woo-order-export-lite' ),
|
1033 |
'checked' => 0,
|
1034 |
+
'format' => 'link',
|
1035 |
),
|
1036 |
'product_variation' => array(
|
1037 |
'label' => __( 'Order Item Metadata', 'woo-order-export-lite' ),
|
1108 |
'format' => 'string',
|
1109 |
),
|
1110 |
'coupons_used' => array(
|
1111 |
+
'label' => __( 'Number of coupons used', 'woo-order-export-lite' ),
|
1112 |
'checked' => 0,
|
1113 |
'format' => 'string',
|
1114 |
),
|
1311 |
'misc' => __( 'Others', 'woo-order-export-lite' ),
|
1312 |
);
|
1313 |
}
|
1314 |
+
|
1315 |
public static function get_segment_hints() {
|
1316 |
return array(
|
1317 |
'products' => __( 'Use section "Product order items" to add attributes', 'woo-order-export-lite' ),
|
1326 |
'number' => __( 'Number', 'woo-order-export-lite' ),
|
1327 |
'date' => __( 'Date', 'woo-order-export-lite' ),
|
1328 |
'image' => __( 'Image', 'woo-order-export-lite' ),
|
1329 |
+
'link' => __( 'Link', 'woo-order-export-lite' ),
|
1330 |
);
|
1331 |
}
|
1332 |
|
classes/core/class-wc-order-export-data-extractor.php
CHANGED
@@ -24,7 +24,6 @@ class WC_Order_Export_Data_Extractor {
|
|
24 |
const HUGE_SHOP_PRODUCTS = 1000;// more than 1000 products
|
25 |
const HUGE_SHOP_CUSTOMERS = 1000;// more than 1000 users
|
26 |
|
27 |
-
|
28 |
//Common
|
29 |
|
30 |
// to parse "item_type:meta_key" strings
|
@@ -641,7 +640,7 @@ class WC_Order_Export_Data_Extractor {
|
|
641 |
static function operator_compare_field_and_value( $field, $operator, $value, $public_fieldname='' ) {
|
642 |
$value = esc_sql($value);
|
643 |
if ( $operator == "LIKE" ) {
|
644 |
-
$value = "
|
645 |
} else { // compare numbers!
|
646 |
$type = apply_filters( "woe_compare_field_cast_to_type", "signed", $field, $operator, $value, $public_fieldname);
|
647 |
$field = "cast($field as $type)";
|
@@ -937,7 +936,7 @@ class WC_Order_Export_Data_Extractor {
|
|
937 |
$pos = 1;
|
938 |
foreach ( $filters as $operator => $fields ) {
|
939 |
foreach ( $fields as $field => $values ) {
|
940 |
-
$inner_join_user_meta[] = "
|
941 |
if ( $values ) {
|
942 |
if ( $operator == 'NOT SET' ) {
|
943 |
$user_meta_where[] = " ( usermeta_cf_{$pos}.meta_value IS NULL ) ";
|
@@ -1039,6 +1038,26 @@ class WC_Order_Export_Data_Extractor {
|
|
1039 |
$left_join_order_meta[] = "LEFT JOIN {$wpdb->postmeta} AS ordermeta_{$field} ON ordermeta_{$field}.post_id = orders.{$left_join_order_meta_order_id}";
|
1040 |
$order_meta_where [] = " (ordermeta_{$field}.meta_key='_{$field}' AND ordermeta_{$field}.meta_value in ($values)) ";
|
1041 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1042 |
$order_meta_where = join( " AND ",
|
1043 |
apply_filters( "woe_sql_get_order_ids_order_meta_where", $order_meta_where ) );
|
1044 |
|
@@ -1074,6 +1093,24 @@ class WC_Order_Export_Data_Extractor {
|
|
1074 |
return $sql;
|
1075 |
}
|
1076 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1077 |
private static function add_date_filter( &$where, &$where_meta, $date_field, $value ) {
|
1078 |
if ( $date_field == 'date_paid' OR $date_field == 'date_completed' ) // 3.0+ uses timestamp
|
1079 |
{
|
@@ -1159,6 +1196,27 @@ class WC_Order_Export_Data_Extractor {
|
|
1159 |
return $ts % ( 24 * 3600 ) > 0;
|
1160 |
}
|
1161 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1162 |
public static function get_date_range( $settings, $is_for_sql, $use_timestamps = false ) {
|
1163 |
$result = array();
|
1164 |
$diff_utc = current_time( "timestamp" ) - current_time( "timestamp", 1 );
|
@@ -1166,12 +1224,7 @@ class WC_Order_Export_Data_Extractor {
|
|
1166 |
// fixed date range
|
1167 |
if ( ! empty( $settings['from_date'] ) OR ! empty( $settings['to_date'] ) ) {
|
1168 |
if ( $settings['from_date'] ) {
|
1169 |
-
|
1170 |
-
if ( self::is_datetime_timestamp( $ts ) ) {
|
1171 |
-
$from_date = date( 'Y-m-d H:i:s', $ts );
|
1172 |
-
} else {
|
1173 |
-
$from_date = date( 'Y-m-d', $ts ) . " 00:00:00";
|
1174 |
-
}
|
1175 |
if ( $is_for_sql ) {
|
1176 |
if ( $use_timestamps ) {
|
1177 |
$from_date = mysql2date( 'G', $from_date );
|
@@ -1183,12 +1236,7 @@ class WC_Order_Export_Data_Extractor {
|
|
1183 |
}
|
1184 |
|
1185 |
if ( $settings['to_date'] ) {
|
1186 |
-
|
1187 |
-
if ( self::is_datetime_timestamp( $ts ) ) {
|
1188 |
-
$to_date = date( 'Y-m-d H:i:s', $ts );
|
1189 |
-
} else {
|
1190 |
-
$to_date = date( 'Y-m-d', $ts ) . " 23:59:59";
|
1191 |
-
}
|
1192 |
if ( $is_for_sql ) {
|
1193 |
if ( $use_timestamps ) {
|
1194 |
$to_date = mysql2date( 'G', $to_date );
|
@@ -1361,15 +1409,14 @@ class WC_Order_Export_Data_Extractor {
|
|
1361 |
|
1362 |
$ids[] = 0; // for safe
|
1363 |
$ids = join( ",", $ids );
|
1364 |
-
|
1365 |
$sql = "SELECT COUNT( * ) AS t
|
1366 |
-
|
1367 |
-
|
1368 |
-
|
1369 |
-
|
1370 |
-
|
1371 |
-
|
1372 |
-
|
1373 |
|
1374 |
$max = $wpdb->get_var( $sql );
|
1375 |
if ( ! $max ) {
|
@@ -1662,6 +1709,11 @@ class WC_Order_Export_Data_Extractor {
|
|
1662 |
if ( is_array( $row[ $field ] ) ) {
|
1663 |
$row[ $field ] = json_encode( $row[ $field ] );
|
1664 |
}
|
|
|
|
|
|
|
|
|
|
|
1665 |
}
|
1666 |
if ( isset( $row[ $field ] ) ) {
|
1667 |
$row[ $field ] = apply_filters( "woe_get_order_value_{$field}", $row[ $field ], $order, $field );
|
24 |
const HUGE_SHOP_PRODUCTS = 1000;// more than 1000 products
|
25 |
const HUGE_SHOP_CUSTOMERS = 1000;// more than 1000 users
|
26 |
|
|
|
27 |
//Common
|
28 |
|
29 |
// to parse "item_type:meta_key" strings
|
640 |
static function operator_compare_field_and_value( $field, $operator, $value, $public_fieldname='' ) {
|
641 |
$value = esc_sql($value);
|
642 |
if ( $operator == "LIKE" ) {
|
643 |
+
$value = "%$value%";
|
644 |
} else { // compare numbers!
|
645 |
$type = apply_filters( "woe_compare_field_cast_to_type", "signed", $field, $operator, $value, $public_fieldname);
|
646 |
$field = "cast($field as $type)";
|
936 |
$pos = 1;
|
937 |
foreach ( $filters as $operator => $fields ) {
|
938 |
foreach ( $fields as $field => $values ) {
|
939 |
+
$inner_join_user_meta[] = "LEFT JOIN {$wpdb->usermeta} AS usermeta_cf_{$pos} ON usermeta_cf_{$pos}.user_id = {$wpdb->users}.ID AND usermeta_cf_{$pos}.meta_key='$field'";
|
940 |
if ( $values ) {
|
941 |
if ( $operator == 'NOT SET' ) {
|
942 |
$user_meta_where[] = " ( usermeta_cf_{$pos}.meta_value IS NULL ) ";
|
1038 |
$left_join_order_meta[] = "LEFT JOIN {$wpdb->postmeta} AS ordermeta_{$field} ON ordermeta_{$field}.post_id = orders.{$left_join_order_meta_order_id}";
|
1039 |
$order_meta_where [] = " (ordermeta_{$field}.meta_key='_{$field}' AND ordermeta_{$field}.meta_value in ($values)) ";
|
1040 |
}
|
1041 |
+
|
1042 |
+
if ( ! empty( $settings['sub_start_from_date'] ) || ! empty( $settings['sub_start_to_date'] ) ) {
|
1043 |
+
$field = 'schedule_start';
|
1044 |
+
$left_join_order_meta[] = "LEFT JOIN {$wpdb->postmeta} AS ordermeta_{$field} ON ordermeta_{$field}.post_id = orders.ID";
|
1045 |
+
$order_meta_where [] = self::get_date_meta_for_subscription_filters( $field, $settings['sub_start_from_date'], $settings['sub_start_to_date'] );
|
1046 |
+
}
|
1047 |
+
|
1048 |
+
|
1049 |
+
if ( ! empty( $settings['sub_end_from_date'] ) || ! empty( $settings['sub_end_to_date'] ) ) {
|
1050 |
+
$field = 'schedule_end';
|
1051 |
+
$left_join_order_meta[] = "LEFT JOIN {$wpdb->postmeta} AS ordermeta_{$field} ON ordermeta_{$field}.post_id = orders.ID";
|
1052 |
+
$order_meta_where [] = self::get_date_meta_for_subscription_filters( $field, $settings['sub_end_from_date'], $settings['sub_end_to_date'] );
|
1053 |
+
}
|
1054 |
+
|
1055 |
+
if ( ! empty( $settings['sub_next_paym_from_date'] ) || ! empty( $settings['sub_next_paym_to_date'] ) ) {
|
1056 |
+
$field = 'schedule_next_payment';
|
1057 |
+
$left_join_order_meta[] = "LEFT JOIN {$wpdb->postmeta} AS ordermeta_{$field} ON ordermeta_{$field}.post_id = orders.ID";
|
1058 |
+
$order_meta_where [] = self::get_date_meta_for_subscription_filters( $field, $settings['sub_next_paym_from_date'], $settings['sub_next_paym_to_date'] );
|
1059 |
+
}
|
1060 |
+
|
1061 |
$order_meta_where = join( " AND ",
|
1062 |
apply_filters( "woe_sql_get_order_ids_order_meta_where", $order_meta_where ) );
|
1063 |
|
1093 |
return $sql;
|
1094 |
}
|
1095 |
|
1096 |
+
private static function get_date_meta_for_subscription_filters( $field, $date_from, $date_to ) {
|
1097 |
+
$order_meta_where_parts[] = "ordermeta_{$field}.meta_key='_{$field}'";
|
1098 |
+
|
1099 |
+
if ( ! empty( $date_from ) ) {
|
1100 |
+
$subsc_from = WC_Order_Export_Data_Extractor::format_date_to_day_start( $date_from );
|
1101 |
+
$order_meta_where_parts[] = " CAST(ordermeta_{$field}.meta_value AS DATETIME) >= '{$subsc_from}'";
|
1102 |
+
}
|
1103 |
+
|
1104 |
+
if ( ! empty( $date_to ) ) {
|
1105 |
+
$subsc_to = WC_Order_Export_Data_Extractor::format_date_to_day_end( $date_to );
|
1106 |
+
$order_meta_where_parts[] = " CAST(ordermeta_{$field}.meta_value AS DATETIME) <= '{$subsc_to}'";
|
1107 |
+
}
|
1108 |
+
|
1109 |
+
$order_meta_where_parts = join( " AND ", $order_meta_where_parts );
|
1110 |
+
|
1111 |
+
return " ( $order_meta_where_parts ) ";
|
1112 |
+
}
|
1113 |
+
|
1114 |
private static function add_date_filter( &$where, &$where_meta, $date_field, $value ) {
|
1115 |
if ( $date_field == 'date_paid' OR $date_field == 'date_completed' ) // 3.0+ uses timestamp
|
1116 |
{
|
1196 |
return $ts % ( 24 * 3600 ) > 0;
|
1197 |
}
|
1198 |
|
1199 |
+
public static function format_date_to_day_start( $date ) {
|
1200 |
+
$ts = strtotime( $date );
|
1201 |
+
if ( self::is_datetime_timestamp( $ts ) ) {
|
1202 |
+
$from_date = date( 'Y-m-d H:i:s', $ts );
|
1203 |
+
} else {
|
1204 |
+
$from_date = date( 'Y-m-d', $ts ) . " 00:00:00";
|
1205 |
+
}
|
1206 |
+
return $from_date;
|
1207 |
+
}
|
1208 |
+
|
1209 |
+
public static function format_date_to_day_end( $date ) {
|
1210 |
+
$ts = strtotime( $date );
|
1211 |
+
if ( self::is_datetime_timestamp( $ts ) ) {
|
1212 |
+
$to_date = date( 'Y-m-d H:i:s', $ts );
|
1213 |
+
} else {
|
1214 |
+
$to_date = date( 'Y-m-d', $ts ) . " 23:59:59";
|
1215 |
+
}
|
1216 |
+
|
1217 |
+
return $to_date;
|
1218 |
+
}
|
1219 |
+
|
1220 |
public static function get_date_range( $settings, $is_for_sql, $use_timestamps = false ) {
|
1221 |
$result = array();
|
1222 |
$diff_utc = current_time( "timestamp" ) - current_time( "timestamp", 1 );
|
1224 |
// fixed date range
|
1225 |
if ( ! empty( $settings['from_date'] ) OR ! empty( $settings['to_date'] ) ) {
|
1226 |
if ( $settings['from_date'] ) {
|
1227 |
+
$from_date = self::format_date_to_day_start( $settings['from_date'] );
|
|
|
|
|
|
|
|
|
|
|
1228 |
if ( $is_for_sql ) {
|
1229 |
if ( $use_timestamps ) {
|
1230 |
$from_date = mysql2date( 'G', $from_date );
|
1236 |
}
|
1237 |
|
1238 |
if ( $settings['to_date'] ) {
|
1239 |
+
$to_date = self::format_date_to_day_end( $settings['to_date'] );
|
|
|
|
|
|
|
|
|
|
|
1240 |
if ( $is_for_sql ) {
|
1241 |
if ( $use_timestamps ) {
|
1242 |
$to_date = mysql2date( 'G', $to_date );
|
1409 |
|
1410 |
$ids[] = 0; // for safe
|
1411 |
$ids = join( ",", $ids );
|
|
|
1412 |
$sql = "SELECT COUNT( * ) AS t
|
1413 |
+
FROM `{$wpdb->prefix}woocommerce_order_items`
|
1414 |
+
WHERE order_item_type = '$type'
|
1415 |
+
AND order_id
|
1416 |
+
IN ( $ids)
|
1417 |
+
GROUP BY order_id
|
1418 |
+
ORDER BY t DESC
|
1419 |
+
LIMIT 1";
|
1420 |
|
1421 |
$max = $wpdb->get_var( $sql );
|
1422 |
if ( ! $max ) {
|
1709 |
if ( is_array( $row[ $field ] ) ) {
|
1710 |
$row[ $field ] = json_encode( $row[ $field ] );
|
1711 |
}
|
1712 |
+
|
1713 |
+
if ( $options['convert_serialized_values'] ) {
|
1714 |
+
$arr = maybe_unserialize( $row[ $field ] );
|
1715 |
+
if ( is_array($arr) ) $row[$field] = join(",", $arr);
|
1716 |
+
}
|
1717 |
}
|
1718 |
if ( isset( $row[ $field ] ) ) {
|
1719 |
$row[ $field ] = apply_filters( "woe_get_order_value_{$field}", $row[ $field ], $order, $field );
|
classes/core/class-wc-order-export-engine.php
CHANGED
@@ -208,7 +208,7 @@ class WC_Order_Export_Engine {
|
|
208 |
// $field_formats ),
|
209 |
// );
|
210 |
|
211 |
-
$field_formats_ar = array( 'money', 'number', 'date', 'string', 'image' );
|
212 |
$labels_data = array(
|
213 |
'order' => self::get_order_labels( $settings, $format, $field_formats_ar ),
|
214 |
'products' => self::get_sub_segment_labels( 'product', $settings, $format, $field_formats_ar ),
|
@@ -241,6 +241,9 @@ class WC_Order_Export_Engine {
|
|
241 |
$export['products'] = false;
|
242 |
$export['coupons'] = false;
|
243 |
foreach ( $settings['order_fields'] as $field ) {
|
|
|
|
|
|
|
244 |
if ( 'products' == $field['key'] ) {
|
245 |
$export['products'] = true;
|
246 |
}
|
@@ -291,12 +294,12 @@ class WC_Order_Export_Engine {
|
|
291 |
}
|
292 |
|
293 |
//as is
|
294 |
-
$options['export_refunds']
|
295 |
-
$options['skip_refunded_items']
|
296 |
-
$options['export_all_comments']
|
297 |
-
$options['export_refund_notes']
|
298 |
-
$options['format_number_fields']
|
299 |
-
|
300 |
if ( $settings['enable_debug'] AND ! ini_get( 'display_errors' ) ) {
|
301 |
ini_set( 'display_errors', 1 );
|
302 |
$old_error_reporting = error_reporting( E_ALL );
|
@@ -395,6 +398,7 @@ class WC_Order_Export_Engine {
|
|
395 |
self::kill_buffers();
|
396 |
}
|
397 |
$settings = self::validate_defaults( $settings );
|
|
|
398 |
self::$current_job_settings = $settings;
|
399 |
self::$date_format = trim( $settings['date_format'] . ' ' . $settings['time_format'] );
|
400 |
//debug sql?
|
@@ -443,7 +447,7 @@ class WC_Order_Export_Engine {
|
|
443 |
self::$orders_for_export = $order_ids;
|
444 |
|
445 |
// prepare for XLS/CSV moved to plain formatter
|
446 |
-
$formater->adjust_duplicated_fields_settings( $order_ids );
|
447 |
|
448 |
// check it once
|
449 |
self::_check_products_and_coupons_fields( $settings, $export );
|
@@ -454,7 +458,12 @@ class WC_Order_Export_Engine {
|
|
454 |
// self::maybe_init_summary_report( $labels );
|
455 |
$formater->start();
|
456 |
if ( $make_mode == 'start_estimate' ) { //Start return total count
|
457 |
-
|
|
|
|
|
|
|
|
|
|
|
458 |
}
|
459 |
}
|
460 |
// self::maybe_start_summary_report();
|
@@ -479,6 +488,7 @@ class WC_Order_Export_Engine {
|
|
479 |
if ( $make_mode != 'preview' ) {
|
480 |
do_action( "woe_order_exported", $order_id );
|
481 |
self::try_mark_order( $order_id, $settings );
|
|
|
482 |
} else {
|
483 |
do_action( "woe_order_previewed", $order_id );
|
484 |
}
|
@@ -513,6 +523,7 @@ class WC_Order_Export_Engine {
|
|
513 |
|
514 |
//no need self::kill_buffers();
|
515 |
$settings = self::validate_defaults( $settings );
|
|
|
516 |
self::$current_job_settings = $settings;
|
517 |
self::$current_job_build_mode = 'full';
|
518 |
self::$date_format = trim( $settings['date_format'] . ' ' . $settings['time_format'] );
|
208 |
// $field_formats ),
|
209 |
// );
|
210 |
|
211 |
+
$field_formats_ar = array( 'money', 'number', 'date', 'string', 'image', 'link' );
|
212 |
$labels_data = array(
|
213 |
'order' => self::get_order_labels( $settings, $format, $field_formats_ar ),
|
214 |
'products' => self::get_sub_segment_labels( 'product', $settings, $format, $field_formats_ar ),
|
241 |
$export['products'] = false;
|
242 |
$export['coupons'] = false;
|
243 |
foreach ( $settings['order_fields'] as $field ) {
|
244 |
+
if( ! isset( $field['key'] ) ) {
|
245 |
+
continue;
|
246 |
+
}
|
247 |
if ( 'products' == $field['key'] ) {
|
248 |
$export['products'] = true;
|
249 |
}
|
294 |
}
|
295 |
|
296 |
//as is
|
297 |
+
$options['export_refunds'] = $settings['export_refunds'];
|
298 |
+
$options['skip_refunded_items'] = $settings['skip_refunded_items'];
|
299 |
+
$options['export_all_comments'] = $settings['export_all_comments'];
|
300 |
+
$options['export_refund_notes'] = $settings['export_refund_notes'];
|
301 |
+
$options['format_number_fields'] = $settings['format_number_fields'];
|
302 |
+
$options['convert_serialized_values'] = $settings['convert_serialized_values'];
|
303 |
if ( $settings['enable_debug'] AND ! ini_get( 'display_errors' ) ) {
|
304 |
ini_set( 'display_errors', 1 );
|
305 |
$old_error_reporting = error_reporting( E_ALL );
|
398 |
self::kill_buffers();
|
399 |
}
|
400 |
$settings = self::validate_defaults( $settings );
|
401 |
+
|
402 |
self::$current_job_settings = $settings;
|
403 |
self::$date_format = trim( $settings['date_format'] . ' ' . $settings['time_format'] );
|
404 |
//debug sql?
|
447 |
self::$orders_for_export = $order_ids;
|
448 |
|
449 |
// prepare for XLS/CSV moved to plain formatter
|
450 |
+
$formater->adjust_duplicated_fields_settings( $order_ids, $make_mode, $settings );
|
451 |
|
452 |
// check it once
|
453 |
self::_check_products_and_coupons_fields( $settings, $export );
|
458 |
// self::maybe_init_summary_report( $labels );
|
459 |
$formater->start();
|
460 |
if ( $make_mode == 'start_estimate' ) { //Start return total count
|
461 |
+
$duplicate_settings = $formater->get_duplicate_settings();
|
462 |
+
return array(
|
463 |
+
'total' => $wpdb->get_var( str_replace( 'ID AS order_id', 'COUNT(ID) AS order_count', $sql ) ),
|
464 |
+
'max_line_items' => isset( $duplicate_settings['products']['max_cols'] ) ? $duplicate_settings['products']['max_cols'] : 0,
|
465 |
+
'max_coupons' => isset( $duplicate_settings['coupons']['max_cols'] ) ? $duplicate_settings['coupons']['max_cols'] : 0,
|
466 |
+
);
|
467 |
}
|
468 |
}
|
469 |
// self::maybe_start_summary_report();
|
488 |
if ( $make_mode != 'preview' ) {
|
489 |
do_action( "woe_order_exported", $order_id );
|
490 |
self::try_mark_order( $order_id, $settings );
|
491 |
+
self::try_modify_status( $order_id, $settings );
|
492 |
} else {
|
493 |
do_action( "woe_order_previewed", $order_id );
|
494 |
}
|
523 |
|
524 |
//no need self::kill_buffers();
|
525 |
$settings = self::validate_defaults( $settings );
|
526 |
+
|
527 |
self::$current_job_settings = $settings;
|
528 |
self::$current_job_build_mode = 'full';
|
529 |
self::$date_format = trim( $settings['date_format'] . ' ' . $settings['time_format'] );
|
classes/core/class-wc-order-export-order-coupon-fields.php
CHANGED
@@ -9,33 +9,37 @@ class WC_Order_Export_Order_Coupon_Fields {
|
|
9 |
|
10 |
$this->coupon_meta = array();
|
11 |
$get_coupon_meta = ( array_diff( $labels->get_keys(), array( 'code', 'discount_amount', 'discount_amount_tax', 'excerpt' ) ) );
|
12 |
-
$coupon_object = new WC_Coupon( $item['name'] );
|
13 |
|
14 |
if ( $get_coupon_meta ) {
|
15 |
$recs = $wpdb->get_results( $wpdb->prepare( "SELECT meta_value,meta_key FROM {$wpdb->postmeta} AS meta
|
16 |
JOIN {$wpdb->posts} AS posts ON posts.ID = meta.post_id
|
17 |
-
WHERE posts.post_title=%s", $item
|
18 |
foreach ( $recs as $rec ) {
|
19 |
$this->coupon_meta[ $rec->meta_key ] = $rec->meta_value;
|
20 |
}
|
21 |
|
22 |
-
|
23 |
-
$
|
24 |
-
|
|
|
|
|
|
|
|
|
|
|
25 |
}
|
26 |
$this->item = $item;
|
27 |
$this->static_vals = $static_vals;
|
28 |
}
|
29 |
|
30 |
public function get($field) {
|
31 |
-
if (
|
32 |
-
return $this->item
|
33 |
} elseif ( $field == 'code' ) {
|
34 |
-
return $this->item
|
35 |
} elseif ( $field == 'discount_amount_plus_tax' ) {
|
36 |
-
return $this->item
|
37 |
} elseif ( $field == 'excerpt' ) {
|
38 |
-
$post = get_page_by_title( $this->item
|
39 |
return $post ? $post->post_excerpt : '';
|
40 |
} elseif ( isset( $this->coupon_meta[ $field ] ) ) {
|
41 |
return $this->coupon_meta[ $field ];
|
9 |
|
10 |
$this->coupon_meta = array();
|
11 |
$get_coupon_meta = ( array_diff( $labels->get_keys(), array( 'code', 'discount_amount', 'discount_amount_tax', 'excerpt' ) ) );
|
|
|
12 |
|
13 |
if ( $get_coupon_meta ) {
|
14 |
$recs = $wpdb->get_results( $wpdb->prepare( "SELECT meta_value,meta_key FROM {$wpdb->postmeta} AS meta
|
15 |
JOIN {$wpdb->posts} AS posts ON posts.ID = meta.post_id
|
16 |
+
WHERE posts.post_title=%s", $item->get_name() ) );
|
17 |
foreach ( $recs as $rec ) {
|
18 |
$this->coupon_meta[ $rec->meta_key ] = $rec->meta_value;
|
19 |
}
|
20 |
|
21 |
+
try {
|
22 |
+
$coupon_object = new WC_Coupon( $item->get_name() );
|
23 |
+
foreach ( $coupon_object->get_meta_data() as $meta) {
|
24 |
+
$this->coupon_meta[ $meta->key ] = $meta->value;
|
25 |
+
};
|
26 |
+
} catch (Exception $e) {
|
27 |
+
// Invalid coupon. deleted ?
|
28 |
+
}
|
29 |
}
|
30 |
$this->item = $item;
|
31 |
$this->static_vals = $static_vals;
|
32 |
}
|
33 |
|
34 |
public function get($field) {
|
35 |
+
if ( method_exists( $this->item, "get_$field" ) ) {
|
36 |
+
return $this->item->{"get_$field"}();
|
37 |
} elseif ( $field == 'code' ) {
|
38 |
+
return $this->item->get_name();
|
39 |
} elseif ( $field == 'discount_amount_plus_tax' ) {
|
40 |
+
return $this->item->get_discount() + $this->item->get_discount_tax();
|
41 |
} elseif ( $field == 'excerpt' ) {
|
42 |
+
$post = get_page_by_title( $this->item->get_name(), OBJECT, 'shop_' . $this->item->get_type() );
|
43 |
return $post ? $post->post_excerpt : '';
|
44 |
} elseif ( isset( $this->coupon_meta[ $field ] ) ) {
|
45 |
return $this->coupon_meta[ $field ];
|
classes/core/class-wc-order-export-order-fields.php
CHANGED
@@ -256,7 +256,7 @@ class WC_Order_Export_Order_Fields {
|
|
256 |
} elseif ( $field == 'order_shipping' ) {
|
257 |
$row[$field] = method_exists($this->order,"get_shipping_total") ? $this->order->get_shipping_total() : $this->order->get_total_shipping();
|
258 |
} elseif ( $field == 'order_shipping_plus_tax' ) {
|
259 |
-
$row[$field] = ( method_exists($this->order,"get_shipping_total") ? $this->order->get_shipping_total() : $this->order->get_total_shipping() ) + $this->order->get_shipping_tax();
|
260 |
} elseif ( $field == 'order_shipping_refunded' ) {
|
261 |
$row[$field] = $this->order->get_total_shipping_refunded();
|
262 |
} elseif ( $field == 'order_shipping_minus_refund' ) {
|
@@ -405,6 +405,10 @@ class WC_Order_Export_Order_Fields {
|
|
405 |
get_edit_post_link($this->order_id),
|
406 |
__( 'Edit order', 'woo-order-export-lite' )
|
407 |
);
|
|
|
|
|
|
|
|
|
408 |
} elseif ( isset( $this->order_meta[ $field ] ) ) {
|
409 |
$field_data = array();
|
410 |
do_action( 'woocommerce_order_export_add_field_data', $field_data, $this->order_meta[ $field ], $field );
|
@@ -415,8 +419,7 @@ class WC_Order_Export_Order_Fields {
|
|
415 |
} elseif ( isset( $this->order_meta[ "_" . $field ] ) ) { // or hidden field
|
416 |
$row[$field] = $this->order_meta[ "_" . $field ];
|
417 |
} else { // order_date...
|
418 |
-
$row[$field] =
|
419 |
-
'get_' . $field ) ? $this->order->{'get_' . $field}() : get_post_meta( $this->order_id, '_' . $field, true );
|
420 |
//print_r($field."=".$label); echo "debug static!\n\n";
|
421 |
}
|
422 |
return $row;
|
256 |
} elseif ( $field == 'order_shipping' ) {
|
257 |
$row[$field] = method_exists($this->order,"get_shipping_total") ? $this->order->get_shipping_total() : $this->order->get_total_shipping();
|
258 |
} elseif ( $field == 'order_shipping_plus_tax' ) {
|
259 |
+
$row[$field] = ( method_exists($this->order,"get_shipping_total") ? $this->order->get_shipping_total() : floatval( $this->order->get_total_shipping() ) ) + floatval( $this->order->get_shipping_tax() );
|
260 |
} elseif ( $field == 'order_shipping_refunded' ) {
|
261 |
$row[$field] = $this->order->get_total_shipping_refunded();
|
262 |
} elseif ( $field == 'order_shipping_minus_refund' ) {
|
405 |
get_edit_post_link($this->order_id),
|
406 |
__( 'Edit order', 'woo-order-export-lite' )
|
407 |
);
|
408 |
+
} elseif ( $field == 'order_currency' ) {
|
409 |
+
$row[$field] = $this->order->get_currency();
|
410 |
+
} elseif( method_exists( $this->order, 'get_' . $field ) ) { // order_date...
|
411 |
+
$row[$field] = $this->order->{'get_' . $field}();
|
412 |
} elseif ( isset( $this->order_meta[ $field ] ) ) {
|
413 |
$field_data = array();
|
414 |
do_action( 'woocommerce_order_export_add_field_data', $field_data, $this->order_meta[ $field ], $field );
|
419 |
} elseif ( isset( $this->order_meta[ "_" . $field ] ) ) { // or hidden field
|
420 |
$row[$field] = $this->order_meta[ "_" . $field ];
|
421 |
} else { // order_date...
|
422 |
+
$row[$field] = get_post_meta( $this->order_id, '_' . $field, true );
|
|
|
423 |
//print_r($field."=".$label); echo "debug static!\n\n";
|
424 |
}
|
425 |
return $row;
|
classes/core/class-wc-order-export-order-product-fields.php
CHANGED
@@ -13,6 +13,11 @@ class WC_Order_Export_Order_Product_Fields {
|
|
13 |
var $options;
|
14 |
var $woe_order;
|
15 |
|
|
|
|
|
|
|
|
|
|
|
16 |
public function __construct($item, $item_meta, $product,
|
17 |
$order, $post, $line_id, $static_vals, $options, $woe_order) {
|
18 |
$this->item = $item;
|
@@ -28,6 +33,9 @@ class WC_Order_Export_Order_Product_Fields {
|
|
28 |
$this->variation_id = $this->item->get_variation_id() ? $this->item->get_variation_id() : $this->item->get_product_id();
|
29 |
$this->product_id = $this->item->get_product_id();
|
30 |
$this->product_fields_with_tags = array( 'product_variation', 'post_content', 'post_excerpt' );
|
|
|
|
|
|
|
31 |
}
|
32 |
|
33 |
private static function get_product_category_full( $product_id ) {
|
@@ -98,21 +106,35 @@ class WC_Order_Export_Order_Product_Fields {
|
|
98 |
$field_value = $this->post ? $this->post->post_excerpt : '';
|
99 |
} elseif ( $field == 'embedded_product_image' ) {
|
100 |
$field_value = "";
|
|
|
101 |
|
102 |
-
if ( $this->
|
103 |
-
$attachment_id = get_post_thumbnail_id( $this->
|
104 |
-
} else {
|
105 |
-
$attachment_id = get_option( 'woocommerce_placeholder_image', 0 );
|
106 |
}
|
107 |
|
108 |
-
if (
|
109 |
-
$
|
110 |
-
|
111 |
-
$thumbnail_base_name = $imagedata['sizes']['woocommerce_thumbnail']['file'];
|
112 |
|
113 |
-
|
114 |
-
|
115 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
116 |
}
|
117 |
}
|
118 |
} elseif ( $field == 'type' ) {
|
@@ -182,9 +204,10 @@ class WC_Order_Export_Order_Product_Fields {
|
|
182 |
elseif ( $field == 'sku_parent' ) {
|
183 |
$field_value = '';
|
184 |
if( $this->product ) {
|
185 |
-
if( $this->product->is_type( 'variation' ) ) {
|
186 |
-
$parent= wc_get_product( $this->
|
187 |
-
|
|
|
188 |
}
|
189 |
else
|
190 |
$field_value = $this->product->get_sku();
|
@@ -258,8 +281,11 @@ class WC_Order_Export_Order_Product_Fields {
|
|
258 |
if ( $field_value === '' AND !empty( $this->item['variation_id'] ) AND $this->product) // 6. try get attribute for variaton
|
259 |
{
|
260 |
$field_value = $this->product->get_attribute( $field );
|
261 |
-
if( $field_value === ''
|
262 |
-
$
|
|
|
|
|
|
|
263 |
}
|
264 |
if ( $field_value === '' ) { //5. read from product/variation hidden field
|
265 |
$field_value = get_post_meta( $this->variation_id, "_" . $field, true );
|
13 |
var $options;
|
14 |
var $woe_order;
|
15 |
|
16 |
+
/**
|
17 |
+
* @var int
|
18 |
+
*/
|
19 |
+
public $parent_product_id;
|
20 |
+
|
21 |
public function __construct($item, $item_meta, $product,
|
22 |
$order, $post, $line_id, $static_vals, $options, $woe_order) {
|
23 |
$this->item = $item;
|
33 |
$this->variation_id = $this->item->get_variation_id() ? $this->item->get_variation_id() : $this->item->get_product_id();
|
34 |
$this->product_id = $this->item->get_product_id();
|
35 |
$this->product_fields_with_tags = array( 'product_variation', 'post_content', 'post_excerpt' );
|
36 |
+
|
37 |
+
$this->parent_product_id = method_exists( $product,
|
38 |
+
'get_parent_id' ) ? $product->get_parent_id() : ( isset( $product->parent ) ? $product->parent->id : 0 );
|
39 |
}
|
40 |
|
41 |
private static function get_product_category_full( $product_id ) {
|
106 |
$field_value = $this->post ? $this->post->post_excerpt : '';
|
107 |
} elseif ( $field == 'embedded_product_image' ) {
|
108 |
$field_value = "";
|
109 |
+
$attachment_id = null;
|
110 |
|
111 |
+
if ( $this->product_id ) {
|
112 |
+
$attachment_id = get_post_thumbnail_id( $this->product->get_id() );
|
|
|
|
|
113 |
}
|
114 |
|
115 |
+
if ( ! $attachment_id && $this->parent_product_id ) {
|
116 |
+
$attachment_id = get_post_thumbnail_id( $this->parent_product_id );
|
117 |
+
}
|
|
|
118 |
|
119 |
+
if ( ! $attachment_id ) {
|
120 |
+
$attachment_id = get_option( 'woocommerce_placeholder_image', 0 );
|
121 |
+
}
|
122 |
+
|
123 |
+
/**
|
124 |
+
* do not use method listed below
|
125 |
+
* - @see wp_get_attachment_metadata()
|
126 |
+
* $imagedata = wp_get_attachment_metadata( $attachment_id );
|
127 |
+
* $file = get_attached_file( $attachment_id );
|
128 |
+
* sometimes wp_get_attachment_metadata() is empty!
|
129 |
+
* - @see wp_get_attachment_url()
|
130 |
+
* do not have 'size' argument
|
131 |
+
* - @see get_attached_file()
|
132 |
+
* $path = get_attached_file( get_post_thumbnail_id( $post->ID );
|
133 |
+
* This code was used in the first implementation.
|
134 |
+
*/
|
135 |
+
if ( $image = wp_get_attachment_image_src( $attachment_id, 'woocommerce_thumbnail' ) ) {
|
136 |
+
if ( ( $thumbfile = str_replace( wp_get_upload_dir()['baseurl'], wp_get_upload_dir()['basedir'], $image[0] ) ) && file_exists( $thumbfile ) ) {
|
137 |
+
$field_value = $thumbfile;
|
138 |
}
|
139 |
}
|
140 |
} elseif ( $field == 'type' ) {
|
204 |
elseif ( $field == 'sku_parent' ) {
|
205 |
$field_value = '';
|
206 |
if( $this->product ) {
|
207 |
+
if ( $this->product->is_type( 'variation' ) && $this->parent_product_id ) {
|
208 |
+
if ( $parent = wc_get_product( $this->parent_product_id ) ) {
|
209 |
+
$field_value = $parent->get_sku();
|
210 |
+
}
|
211 |
}
|
212 |
else
|
213 |
$field_value = $this->product->get_sku();
|
281 |
if ( $field_value === '' AND !empty( $this->item['variation_id'] ) AND $this->product) // 6. try get attribute for variaton
|
282 |
{
|
283 |
$field_value = $this->product->get_attribute( $field );
|
284 |
+
if ( $field_value === '' and $this->parent_product_id ) {
|
285 |
+
if ( $parent = wc_get_product( $this->parent_product_id ) ) {
|
286 |
+
$field_value = $parent->get_attribute( $field );
|
287 |
+
}
|
288 |
+
}
|
289 |
}
|
290 |
if ( $field_value === '' ) { //5. read from product/variation hidden field
|
291 |
$field_value = get_post_meta( $this->variation_id, "_" . $field, true );
|
classes/formats/abstract-class-woe-formatter-plain-format.php
CHANGED
@@ -46,11 +46,21 @@ abstract class WOE_Formatter_Plain_Format extends WOE_Formatter {
|
|
46 |
}
|
47 |
|
48 |
// calculate max columns based on order items
|
49 |
-
public function adjust_duplicated_fields_settings( $order_ids ){
|
50 |
-
if( $this->duplicate_settings['products']['repeat'] == 'columns' AND $this->duplicate_settings['products']['max_cols'] == 0 )
|
51 |
-
$
|
52 |
-
|
53 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
}
|
55 |
|
56 |
public function output( $rec ) {
|
@@ -278,6 +288,7 @@ abstract class WOE_Formatter_Plain_Format extends WOE_Formatter {
|
|
278 |
$key = $product->get_id();
|
279 |
else
|
280 |
$key = $item_meta['_variation_id'][0] ? $item_meta['_variation_id'][0] : $item_meta['_product_id'][0];
|
|
|
281 |
$key = apply_filters( "woe_summary_products_adjust_key", $key, $product, $product_item, $order );
|
282 |
|
283 |
//add new product
|
@@ -341,6 +352,7 @@ abstract class WOE_Formatter_Plain_Format extends WOE_Formatter {
|
|
341 |
|
342 |
do_action( "woe_summary_products_add_item", $key, $product_item, $order );
|
343 |
}
|
|
|
344 |
|
345 |
//no lines for order!
|
346 |
return array();
|
@@ -420,10 +432,14 @@ abstract class WOE_Formatter_Plain_Format extends WOE_Formatter {
|
|
420 |
$key = $label_data['key'];
|
421 |
|
422 |
$field_header = apply_filters( 'woe_add_csv_headers', $field_header, $key );
|
423 |
-
if ( isset($allowed_fields[$key])
|
|
|
|
|
|
|
|
|
424 |
$header[] = $field_header;
|
425 |
} else {
|
426 |
-
unset( $this->labels['order']->$key );
|
427 |
}
|
428 |
}
|
429 |
|
@@ -447,7 +463,11 @@ abstract class WOE_Formatter_Plain_Format extends WOE_Formatter {
|
|
447 |
$new_row = array();
|
448 |
foreach ( $this->labels['order']->get_labels() as $label_data ) {
|
449 |
$original_key = $label_data['key'];
|
450 |
-
if ( ! isset( $allowed_fields[$original_key] )
|
|
|
|
|
|
|
|
|
451 |
continue;
|
452 |
}
|
453 |
$field_key = $label_data['parent_key'] ? $label_data['parent_key'] : $original_key;
|
@@ -529,6 +549,14 @@ abstract class WOE_Formatter_Plain_Format extends WOE_Formatter {
|
|
529 |
$_SESSION['woe_summary_customers'][ $key ]['summary_report_total_refund_amount'] += wc_round_tax_total( $order->get_total_refunded() );
|
530 |
}
|
531 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
532 |
do_action( "woe_summary_customers_add_item", $key, $order, $row );
|
533 |
|
534 |
//no lines for order!
|
@@ -550,6 +578,10 @@ abstract class WOE_Formatter_Plain_Format extends WOE_Formatter {
|
|
550 |
return 'woe_tmp_data_' . $this->filename;
|
551 |
}
|
552 |
|
|
|
|
|
|
|
|
|
553 |
protected function make_img_html_from_path( $path, $width = null, $height = null ) {
|
554 |
$uploads_dir = wp_upload_dir();
|
555 |
|
46 |
}
|
47 |
|
48 |
// calculate max columns based on order items
|
49 |
+
public function adjust_duplicated_fields_settings( $order_ids, $make_mode = '', $settings = array() ) {
|
50 |
+
if( $this->duplicate_settings['products']['repeat'] == 'columns' AND $this->duplicate_settings['products']['max_cols'] == 0 ) {
|
51 |
+
if( isset( $make_mode ) && $make_mode == 'partial' && isset( $settings['max_line_items'] ) ) {
|
52 |
+
$this->duplicate_settings['products']['max_cols'] = $settings['max_line_items'];
|
53 |
+
} else {
|
54 |
+
$this->duplicate_settings['products']['max_cols'] = WC_Order_Export_Data_Extractor::get_max_order_items( "line_item", $order_ids );
|
55 |
+
}
|
56 |
+
}
|
57 |
+
if( $this->duplicate_settings['coupons']['repeat'] == 'columns' AND $this->duplicate_settings['coupons']['max_cols'] == 0 ) {
|
58 |
+
if( isset( $make_mode ) && $make_mode == 'partial' && isset( $settings['max_coupons'] ) ) {
|
59 |
+
$this->duplicate_settings['coupons']['max_cols'] = $settings['max_coupons'];
|
60 |
+
} else {
|
61 |
+
$this->duplicate_settings['coupons']['max_cols'] = WC_Order_Export_Data_Extractor::get_max_order_items( "coupon", $order_ids );
|
62 |
+
}
|
63 |
+
}
|
64 |
}
|
65 |
|
66 |
public function output( $rec ) {
|
288 |
$key = $product->get_id();
|
289 |
else
|
290 |
$key = $item_meta['_variation_id'][0] ? $item_meta['_variation_id'][0] : $item_meta['_product_id'][0];
|
291 |
+
|
292 |
$key = apply_filters( "woe_summary_products_adjust_key", $key, $product, $product_item, $order );
|
293 |
|
294 |
//add new product
|
352 |
|
353 |
do_action( "woe_summary_products_add_item", $key, $product_item, $order );
|
354 |
}
|
355 |
+
do_action( "woe_summary_products_added_order", $order );
|
356 |
|
357 |
//no lines for order!
|
358 |
return array();
|
432 |
$key = $label_data['key'];
|
433 |
|
434 |
$field_header = apply_filters( 'woe_add_csv_headers', $field_header, $key );
|
435 |
+
if ( isset($allowed_fields[$key]) ||
|
436 |
+
preg_match( '^\\AUSER_.+^', $key ) ||
|
437 |
+
preg_match( '^\\A_billing_.+^', $key ) ||
|
438 |
+
preg_match( '^\\A_shipping_.+^', $key ) ||
|
439 |
+
preg_match( '^\\Astatic_field.+^', $key ) ) {
|
440 |
$header[] = $field_header;
|
441 |
} else {
|
442 |
+
unset( $this->labels['order']->$key ); //here added filed is deleted
|
443 |
}
|
444 |
}
|
445 |
|
463 |
$new_row = array();
|
464 |
foreach ( $this->labels['order']->get_labels() as $label_data ) {
|
465 |
$original_key = $label_data['key'];
|
466 |
+
if ( ! isset( $allowed_fields[$original_key] ) &&
|
467 |
+
! preg_match( '^\\AUSER_.+^', $original_key ) &&
|
468 |
+
! preg_match( '^\\A_billing_.+^', $original_key ) &&
|
469 |
+
! preg_match( '^\\A_shipping_.+^', $original_key) &&
|
470 |
+
! preg_match( '^\\Astatic_field.+^', $original_key ) ) {
|
471 |
continue;
|
472 |
}
|
473 |
$field_key = $label_data['parent_key'] ? $label_data['parent_key'] : $original_key;
|
549 |
$_SESSION['woe_summary_customers'][ $key ]['summary_report_total_refund_amount'] += wc_round_tax_total( $order->get_total_refunded() );
|
550 |
}
|
551 |
|
552 |
+
if( isset( $_SESSION['woe_summary_customers'][ $key ]['summary_report_total_tax_amount'] ) ) {
|
553 |
+
$_SESSION['woe_summary_customers'][ $key ]['summary_report_total_tax_amount'] += wc_round_tax_total( $order->get_total_tax() );
|
554 |
+
}
|
555 |
+
|
556 |
+
if( isset( $_SESSION['woe_summary_customers'][ $key ]['summary_report_total_fee_amount'] ) ) {
|
557 |
+
$_SESSION['woe_summary_customers'][ $key ]['summary_report_total_fee_amount'] += wc_round_tax_total( $order->get_total_fees() );
|
558 |
+
}
|
559 |
+
|
560 |
do_action( "woe_summary_customers_add_item", $key, $order, $row );
|
561 |
|
562 |
//no lines for order!
|
578 |
return 'woe_tmp_data_' . $this->filename;
|
579 |
}
|
580 |
|
581 |
+
public function get_duplicate_settings() {
|
582 |
+
return $this->duplicate_settings;
|
583 |
+
}
|
584 |
+
|
585 |
protected function make_img_html_from_path( $path, $width = null, $height = null ) {
|
586 |
$uploads_dir = wp_upload_dir();
|
587 |
|
classes/formats/abstract-class-woe-formatter-sv.php
CHANGED
@@ -32,7 +32,7 @@ abstract class WOE_Formatter_sv extends WOE_Formatter_Plain_Format {
|
|
32 |
// register the filter
|
33 |
WOE_Formatter_sv_crlf_filter::set_linebreak( $this->linebreak );
|
34 |
stream_filter_register( "WOE_Formatter_{$this->format}_crlf", 'WOE_Formatter_sv_crlf_filter' );
|
35 |
-
// attach to stream
|
36 |
stream_filter_append( $this->handle, "WOE_Formatter_{$this->format}_crlf" );
|
37 |
}
|
38 |
|
@@ -41,7 +41,7 @@ abstract class WOE_Formatter_sv extends WOE_Formatter_Plain_Format {
|
|
41 |
$data = apply_filters( "woe_{$this->format}_header_filter", $data );
|
42 |
$this->prepare_array( $data );
|
43 |
parent::start( $data );
|
44 |
-
|
45 |
if ( ! empty( $this->settings['add_utf8_bom'] ) ) {
|
46 |
fwrite( $this->handle, chr( 239 ) . chr( 187 ) . chr( 191 ) );
|
47 |
}
|
@@ -78,6 +78,11 @@ abstract class WOE_Formatter_sv extends WOE_Formatter_Plain_Format {
|
|
78 |
if ( $this->mode == 'preview' ) {
|
79 |
$this->rows[] = $row;
|
80 |
} else {
|
|
|
|
|
|
|
|
|
|
|
81 |
if ( ! apply_filters( "woe_{$this->format}_custom_output_func", false, $this->handle, $row,
|
82 |
$this->delimiter, $this->linebreak, $this->enclosure, false ) ) {
|
83 |
if ( $this->enclosure !== '' ) {
|
@@ -98,7 +103,7 @@ abstract class WOE_Formatter_sv extends WOE_Formatter_Plain_Format {
|
|
98 |
if ( $this->mode == 'preview' ) {
|
99 |
$this->rows = apply_filters( "woe_{$this->format}_preview_rows", $this->rows );
|
100 |
fwrite( $this->handle, '<table>' );
|
101 |
-
if ( count( $this->rows ) < 2 ) {
|
102 |
$this->rows[] = array( '<td colspan=10><b>' . __( 'No results', 'woo-order-export-lite' ) . '</b></td>' );
|
103 |
}
|
104 |
foreach ( $this->rows as $num => $rec ) {
|
32 |
// register the filter
|
33 |
WOE_Formatter_sv_crlf_filter::set_linebreak( $this->linebreak );
|
34 |
stream_filter_register( "WOE_Formatter_{$this->format}_crlf", 'WOE_Formatter_sv_crlf_filter' );
|
35 |
+
// attach to stream
|
36 |
stream_filter_append( $this->handle, "WOE_Formatter_{$this->format}_crlf" );
|
37 |
}
|
38 |
|
41 |
$data = apply_filters( "woe_{$this->format}_header_filter", $data );
|
42 |
$this->prepare_array( $data );
|
43 |
parent::start( $data );
|
44 |
+
|
45 |
if ( ! empty( $this->settings['add_utf8_bom'] ) ) {
|
46 |
fwrite( $this->handle, chr( 239 ) . chr( 187 ) . chr( 191 ) );
|
47 |
}
|
78 |
if ( $this->mode == 'preview' ) {
|
79 |
$this->rows[] = $row;
|
80 |
} else {
|
81 |
+
// insert order id of inserted rows, only required for PDF
|
82 |
+
if ( $this instanceof WOE_Formatter_PDF ) {
|
83 |
+
$row[] = intval( WC_Order_Export_Engine::$order_id );
|
84 |
+
}
|
85 |
+
|
86 |
if ( ! apply_filters( "woe_{$this->format}_custom_output_func", false, $this->handle, $row,
|
87 |
$this->delimiter, $this->linebreak, $this->enclosure, false ) ) {
|
88 |
if ( $this->enclosure !== '' ) {
|
103 |
if ( $this->mode == 'preview' ) {
|
104 |
$this->rows = apply_filters( "woe_{$this->format}_preview_rows", $this->rows );
|
105 |
fwrite( $this->handle, '<table>' );
|
106 |
+
if ( $this->settings['display_column_names'] && count( $this->rows ) < 2 || count( $this->rows ) < 1 ) {
|
107 |
$this->rows[] = array( '<td colspan=10><b>' . __( 'No results', 'woo-order-export-lite' ) . '</b></td>' );
|
108 |
}
|
109 |
foreach ( $this->rows as $num => $rec ) {
|
classes/formats/abstract-class-woe-formatter.php
CHANGED
@@ -151,7 +151,12 @@ abstract class WOE_Formatter {
|
|
151 |
}
|
152 |
|
153 |
protected function format_date_field( $field_value ) {
|
154 |
-
|
|
|
|
|
|
|
|
|
|
|
155 |
if ( $ts ) {
|
156 |
$new_value = date( $this->date_format, $ts );
|
157 |
} else {
|
@@ -163,6 +168,12 @@ abstract class WOE_Formatter {
|
|
163 |
return $new_value;
|
164 |
}
|
165 |
|
|
|
|
|
|
|
|
|
|
|
|
|
166 |
protected function format_money_field( $field_value ) {
|
167 |
$new_value = number_format(
|
168 |
floatval( $field_value ),
|
151 |
}
|
152 |
|
153 |
protected function format_date_field( $field_value ) {
|
154 |
+
if ( ! WOE_Formatter::is_valid_time_stamp( $field_value ) ) {
|
155 |
+
$ts = strtotime( $field_value );
|
156 |
+
} else {
|
157 |
+
$ts = $field_value;
|
158 |
+
}
|
159 |
+
|
160 |
if ( $ts ) {
|
161 |
$new_value = date( $this->date_format, $ts );
|
162 |
} else {
|
168 |
return $new_value;
|
169 |
}
|
170 |
|
171 |
+
public static function is_valid_time_stamp( $timestamp ) {
|
172 |
+
return ((string) (int) $timestamp === $timestamp)
|
173 |
+
&& ($timestamp <= PHP_INT_MAX)
|
174 |
+
&& ($timestamp >= ~PHP_INT_MAX);
|
175 |
+
}
|
176 |
+
|
177 |
protected function format_money_field( $field_value ) {
|
178 |
$new_value = number_format(
|
179 |
floatval( $field_value ),
|
classes/formats/class-woe-formatter-html.php
CHANGED
@@ -29,7 +29,7 @@ class WOE_Formatter_Html extends WOE_Formatter_Plain_Format {
|
|
29 |
parent::__construct( $mode, $filename, $settings, $format, $labels, $field_formats, $date_format, $offset );
|
30 |
|
31 |
$this->css = $this->get_prepared_css();
|
32 |
-
|
33 |
//to support IMAGES
|
34 |
$field_formats = $this->field_formats['order']; // overwrite! probably modified by parent
|
35 |
$this->image_format_fields = isset( $field_formats['image'] ) ? $field_formats['image'] : array();
|
@@ -51,7 +51,8 @@ class WOE_Formatter_Html extends WOE_Formatter_Plain_Format {
|
|
51 |
if( $this->settings['custom_css'] )
|
52 |
$this->css['style'] = '';
|
53 |
|
54 |
-
|
|
|
55 |
}
|
56 |
|
57 |
if ( ! empty( $this->settings['display_column_names'] ) AND $data ) {
|
@@ -86,7 +87,7 @@ class WOE_Formatter_Html extends WOE_Formatter_Plain_Format {
|
|
86 |
continue;
|
87 |
}
|
88 |
}
|
89 |
-
|
90 |
//to support IMAGES
|
91 |
foreach ( $row as $column => &$cell ) {
|
92 |
if ( $this->field_format_is( $column, $this->image_format_fields ) ) {
|
@@ -132,8 +133,7 @@ class WOE_Formatter_Html extends WOE_Formatter_Plain_Format {
|
|
132 |
}
|
133 |
|
134 |
fwrite( $this->handle, '<table>' );
|
135 |
-
|
136 |
-
if ( count( $this->rows ) < 2 ) {
|
137 |
$this->rows[] = array( '<td colspan=10 style="'.$this->css['inline']['td'].'"><b>' . __( 'No results', 'woo-order-export-lite' ) .'</b></td>' );
|
138 |
}
|
139 |
foreach ( $this->rows as $num => $rec ) {
|
29 |
parent::__construct( $mode, $filename, $settings, $format, $labels, $field_formats, $date_format, $offset );
|
30 |
|
31 |
$this->css = $this->get_prepared_css();
|
32 |
+
|
33 |
//to support IMAGES
|
34 |
$field_formats = $this->field_formats['order']; // overwrite! probably modified by parent
|
35 |
$this->image_format_fields = isset( $field_formats['image'] ) ? $field_formats['image'] : array();
|
51 |
if( $this->settings['custom_css'] )
|
52 |
$this->css['style'] = '';
|
53 |
|
54 |
+
$meta_encoding = apply_filters("woe_html_meta_encoding", '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />');
|
55 |
+
fwrite( $this->handle, '<html><head>' . $meta_encoding . '<style type="text/css">'.$this->css['style'].$this->settings['custom_css'].'</style></head><body>' );
|
56 |
}
|
57 |
|
58 |
if ( ! empty( $this->settings['display_column_names'] ) AND $data ) {
|
87 |
continue;
|
88 |
}
|
89 |
}
|
90 |
+
|
91 |
//to support IMAGES
|
92 |
foreach ( $row as $column => &$cell ) {
|
93 |
if ( $this->field_format_is( $column, $this->image_format_fields ) ) {
|
133 |
}
|
134 |
|
135 |
fwrite( $this->handle, '<table>' );
|
136 |
+
if ( $this->settings['display_column_names'] && count( $this->rows ) < 2 || count( $this->rows ) < 1 ) {
|
|
|
137 |
$this->rows[] = array( '<td colspan=10 style="'.$this->css['inline']['td'].'"><b>' . __( 'No results', 'woo-order-export-lite' ) .'</b></td>' );
|
138 |
}
|
139 |
foreach ( $this->rows as $num => $rec ) {
|
classes/formats/class-woe-formatter-pdf.php
CHANGED
@@ -26,6 +26,7 @@ class WOE_Formatter_PDF extends WOE_Formatter_Csv {
|
|
26 |
private $repeat_header = false;
|
27 |
|
28 |
private $image_positions = array();
|
|
|
29 |
|
30 |
public function __construct( $mode, $filename, $settings, $format, $labels, $field_formats, $date_format, $offset ) {
|
31 |
|
@@ -53,15 +54,35 @@ class WOE_Formatter_PDF extends WOE_Formatter_Csv {
|
|
53 |
|
54 |
$this->image_format_fields = apply_filters( "woe_{$format}_image_format_fields", $this->image_format_fields );
|
55 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
parent::__construct( $mode, $filename, $settings, $format, $labels, $field_formats, $date_format, $offset );
|
57 |
|
58 |
$this->image_positions = array();
|
|
|
59 |
if ( $this->mode != 'preview' ) {
|
60 |
$tmp_data = get_transient( $this->get_tmp_data_transient_name() );
|
61 |
|
62 |
if ( ! empty( $tmp_data['image_positions'] ) ) {
|
63 |
$this->image_positions = $tmp_data['image_positions'];
|
64 |
}
|
|
|
|
|
|
|
|
|
65 |
}
|
66 |
}
|
67 |
|
@@ -82,7 +103,21 @@ class WOE_Formatter_PDF extends WOE_Formatter_Csv {
|
|
82 |
}
|
83 |
}
|
84 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
$tmp_data['image_positions'] = $this->image_positions;
|
|
|
86 |
set_transient( $this->get_tmp_data_transient_name(), $tmp_data );
|
87 |
}
|
88 |
|
@@ -202,6 +237,12 @@ class WOE_Formatter_PDF extends WOE_Formatter_Csv {
|
|
202 |
$row = fgetcsv( $this->handle, 0, $this->delimiter, $this->enclosure );
|
203 |
}
|
204 |
|
|
|
|
|
|
|
|
|
|
|
|
|
205 |
while ( $row ) {
|
206 |
if ( count( $this->image_positions ) ) {
|
207 |
foreach ( $this->image_positions as $position ) {
|
@@ -210,14 +251,86 @@ class WOE_Formatter_PDF extends WOE_Formatter_Csv {
|
|
210 |
'type' => 'image',
|
211 |
'value' => $source,
|
212 |
);
|
|
|
|
|
|
|
|
|
213 |
}
|
214 |
}
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
219 |
$row = fgetcsv( $this->handle, 0, $this->delimiter, $this->enclosure );
|
220 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
221 |
|
222 |
do_action("woe_pdf_finished", $this->pdf, $this);
|
223 |
$this->pdf->output_to_destination( 'f', str_replace( '.csv', '.pdf', $this->filename ) );
|
26 |
private $repeat_header = false;
|
27 |
|
28 |
private $image_positions = array();
|
29 |
+
private $link_positions = array();
|
30 |
|
31 |
public function __construct( $mode, $filename, $settings, $format, $labels, $field_formats, $date_format, $offset ) {
|
32 |
|
54 |
|
55 |
$this->image_format_fields = apply_filters( "woe_{$format}_image_format_fields", $this->image_format_fields );
|
56 |
|
57 |
+
$this->link_format_fields = array();
|
58 |
+
if ( isset( $field_formats['order']['link'] ) ) {
|
59 |
+
$this->link_format_fields = array_merge( $this->link_format_fields, $field_formats['order']['link'] );
|
60 |
+
}
|
61 |
+
if ( isset( $field_formats['products']['link'] ) ) {
|
62 |
+
$this->link_format_fields = array_merge( $this->link_format_fields, $field_formats['products']['link'] );
|
63 |
+
}
|
64 |
+
if( ! empty( $settings['direction_rtl'] ) ) {
|
65 |
+
foreach( $labels as $section => $section_labels ) {
|
66 |
+
$labels[$section]->set_labels( array_reverse( $section_labels->get_labels() ) );
|
67 |
+
}
|
68 |
+
}
|
69 |
+
|
70 |
+
$this->link_format_fields = apply_filters( "woe_{$format}_link_format_fields", $this->link_format_fields );
|
71 |
+
|
72 |
parent::__construct( $mode, $filename, $settings, $format, $labels, $field_formats, $date_format, $offset );
|
73 |
|
74 |
$this->image_positions = array();
|
75 |
+
$this->link_positions = array();
|
76 |
if ( $this->mode != 'preview' ) {
|
77 |
$tmp_data = get_transient( $this->get_tmp_data_transient_name() );
|
78 |
|
79 |
if ( ! empty( $tmp_data['image_positions'] ) ) {
|
80 |
$this->image_positions = $tmp_data['image_positions'];
|
81 |
}
|
82 |
+
|
83 |
+
if ( ! empty( $tmp_data['link_positions'] ) ) {
|
84 |
+
$this->link_positions = $tmp_data['link_positions'];
|
85 |
+
}
|
86 |
}
|
87 |
}
|
88 |
|
103 |
}
|
104 |
}
|
105 |
|
106 |
+
if ( 0 === count( $this->link_positions ) ) {
|
107 |
+
foreach ( $rows as $row ) {
|
108 |
+
$pos = 0;
|
109 |
+
foreach ( $row as $field => $text ) {
|
110 |
+
if ( $this->field_format_is( $field, $this->link_format_fields ) ) {
|
111 |
+
$this->link_positions[] = $pos;
|
112 |
+
}
|
113 |
+
$pos ++;
|
114 |
+
}
|
115 |
+
break;
|
116 |
+
}
|
117 |
+
}
|
118 |
+
|
119 |
$tmp_data['image_positions'] = $this->image_positions;
|
120 |
+
$tmp_data['link_positions'] = $this->link_positions;
|
121 |
set_transient( $this->get_tmp_data_transient_name(), $tmp_data );
|
122 |
}
|
123 |
|
237 |
$row = fgetcsv( $this->handle, 0, $this->delimiter, $this->enclosure );
|
238 |
}
|
239 |
|
240 |
+
$pageBreakOrderLines = wc_string_to_bool( $this->settings['row_dont_page_break_order_lines'] );
|
241 |
+
|
242 |
+
// both are only for option 'row_dont_page_break_order_lines'
|
243 |
+
$orderRows = array();
|
244 |
+
$orderId = null;
|
245 |
+
|
246 |
while ( $row ) {
|
247 |
if ( count( $this->image_positions ) ) {
|
248 |
foreach ( $this->image_positions as $position ) {
|
251 |
'type' => 'image',
|
252 |
'value' => $source,
|
253 |
);
|
254 |
+
|
255 |
+
if ( ! empty( $this->settings['row_images_add_link'] ) ) {
|
256 |
+
$row[ $position ]['link'] = str_replace( wp_get_upload_dir()['basedir'], wp_get_upload_dir()['baseurl'], $source );
|
257 |
+
}
|
258 |
}
|
259 |
}
|
260 |
+
|
261 |
+
if ( count( $this->link_positions ) ) {
|
262 |
+
foreach ( $this->link_positions as $position ) {
|
263 |
+
$source = $row[ $position ];
|
264 |
+
|
265 |
+
// fetch "href" attribute from "a" tag if existing
|
266 |
+
if ( preg_match( '/<a\s+(?:[^>]*?\s+)?href=(["\'])(.*?)\1/', $source, $matches ) ) {
|
267 |
+
if ( isset( $matches[2] ) ) {
|
268 |
+
$source = html_entity_decode( $matches[2] );
|
269 |
+
}
|
270 |
+
}
|
271 |
+
|
272 |
+
$row[ $position ] = array(
|
273 |
+
'type' => 'link',
|
274 |
+
'link' => $source,
|
275 |
+
);
|
276 |
+
}
|
277 |
+
}
|
278 |
+
|
279 |
+
$currentOrderId = intval( array_pop( $row ) ); // always pop! even $pageBreakOrderLines is false
|
280 |
+
$orderId = ! $orderId ? $currentOrderId : $orderId;
|
281 |
+
|
282 |
+
$row = apply_filters( 'woe_pdf_prepare_row', $row );
|
283 |
+
$row_style = apply_filters( "woe_pdf_before_print_row", null, $row, $this->pdf, $this );
|
284 |
+
$row_height = apply_filters( "woe_pdf_row_height", null, $row, $this->pdf, $this );
|
285 |
+
|
286 |
+
if ( $pageBreakOrderLines ) {
|
287 |
+
if ( $orderId !== $currentOrderId ) {
|
288 |
+
$rows = array_map( function ( $orderRow ) {
|
289 |
+
return $orderRow[0];
|
290 |
+
}, $orderRows );
|
291 |
+
|
292 |
+
$heights = array_map( function ( $orderRow ) {
|
293 |
+
return $orderRow[2];
|
294 |
+
}, $orderRows );
|
295 |
+
|
296 |
+
if ( ! $this->pdf->isEnoughSpace( $rows, $heights ) ) {
|
297 |
+
$this->pdf->addPageBreak();
|
298 |
+
}
|
299 |
+
|
300 |
+
foreach ( $orderRows as $orderRow ) {
|
301 |
+
$this->pdf->addRow( $orderRow[0], null, $orderRow[2], $orderRow[1] );
|
302 |
+
}
|
303 |
+
|
304 |
+
$orderRows = array();
|
305 |
+
$orderId = $currentOrderId;
|
306 |
+
}
|
307 |
+
|
308 |
+
$orderRows[] = array( $row, $row_style, $row_height );
|
309 |
+
} else {
|
310 |
+
$this->pdf->addRow( $row, null, $row_height, $row_style );
|
311 |
+
}
|
312 |
+
|
313 |
$row = fgetcsv( $this->handle, 0, $this->delimiter, $this->enclosure );
|
314 |
}
|
315 |
+
|
316 |
+
|
317 |
+
if ( count( $orderRows ) ) {
|
318 |
+
$rows = array_map( function ( $orderRow ) {
|
319 |
+
return $orderRow[0];
|
320 |
+
}, $orderRows );
|
321 |
+
|
322 |
+
$heights = array_map( function ( $orderRow ) {
|
323 |
+
return $orderRow[2];
|
324 |
+
}, $orderRows );
|
325 |
+
|
326 |
+
if ( ! $this->pdf->isEnoughSpace( $rows, $heights ) ) {
|
327 |
+
$this->pdf->addPageBreak();
|
328 |
+
}
|
329 |
+
|
330 |
+
foreach ( $orderRows as $orderRow ) {
|
331 |
+
$this->pdf->addRow( $orderRow[0], null, $orderRow[2], $orderRow[1] );
|
332 |
+
}
|
333 |
+
}
|
334 |
|
335 |
do_action("woe_pdf_finished", $this->pdf, $this);
|
336 |
$this->pdf->output_to_destination( 'f', str_replace( '.csv', '.pdf', $this->filename ) );
|
classes/formats/class-woe-formatter-xls.php
CHANGED
@@ -42,7 +42,7 @@ class WOE_Formatter_Xls extends WOE_Formatter_Plain_Format {
|
|
42 |
$this->string_format_fields = isset( $field_formats['string'] ) ? $field_formats['string'] : array();
|
43 |
$this->string_format_fields = apply_filters( "woe_{$format}_string_format_fields",
|
44 |
$this->string_format_fields );
|
45 |
-
|
46 |
$this->date_format_fields = isset( $field_formats['date'] ) ? $field_formats['date'] : array();
|
47 |
$this->date_format_fields = apply_filters( "woe_{$format}_date_format_fields", $this->date_format_fields );
|
48 |
|
@@ -54,6 +54,9 @@ class WOE_Formatter_Xls extends WOE_Formatter_Plain_Format {
|
|
54 |
|
55 |
$this->image_format_fields = isset( $field_formats['image'] ) ? $field_formats['image'] : array();
|
56 |
$this->image_format_fields = apply_filters( "woe_{$format}_image_format_fields", $this->image_format_fields );
|
|
|
|
|
|
|
57 |
|
58 |
if ( $mode != 'preview' ) {
|
59 |
//more memory for XLS?
|
@@ -206,7 +209,11 @@ class WOE_Formatter_Xls extends WOE_Formatter_Plain_Format {
|
|
206 |
$this->objPHPExcel->getActiveSheet()->getStyleByColumnAndRow( $pos, $this->last_row )->getNumberFormat()->setFormatCode( $this->date_format );
|
207 |
if ( $text ) {
|
208 |
if ( empty( $this->settings['global_job_settings']['time_format'] ) ) { // must remove time!
|
|
|
|
|
|
|
209 |
$text = date( "Y-m-d", strtotime( $text ) );
|
|
|
210 |
}
|
211 |
try {
|
212 |
$text = PHPExcel_Shared_Date::PHPToExcel( new DateTime( $text ) );
|
@@ -214,6 +221,9 @@ class WOE_Formatter_Xls extends WOE_Formatter_Plain_Format {
|
|
214 |
|
215 |
$this->objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow( $pos, $this->last_row, $text );
|
216 |
}
|
|
|
|
|
|
|
217 |
} else {
|
218 |
$this->objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow( $pos, $this->last_row, $text );
|
219 |
}
|
42 |
$this->string_format_fields = isset( $field_formats['string'] ) ? $field_formats['string'] : array();
|
43 |
$this->string_format_fields = apply_filters( "woe_{$format}_string_format_fields",
|
44 |
$this->string_format_fields );
|
45 |
+
|
46 |
$this->date_format_fields = isset( $field_formats['date'] ) ? $field_formats['date'] : array();
|
47 |
$this->date_format_fields = apply_filters( "woe_{$format}_date_format_fields", $this->date_format_fields );
|
48 |
|
54 |
|
55 |
$this->image_format_fields = isset( $field_formats['image'] ) ? $field_formats['image'] : array();
|
56 |
$this->image_format_fields = apply_filters( "woe_{$format}_image_format_fields", $this->image_format_fields );
|
57 |
+
|
58 |
+
$this->link_format_fields = isset( $field_formats['link'] ) ? $field_formats['link'] : array();
|
59 |
+
$this->link_format_fields = apply_filters( "woe_{$format}_link_format_fields", $this->link_format_fields );
|
60 |
|
61 |
if ( $mode != 'preview' ) {
|
62 |
//more memory for XLS?
|
209 |
$this->objPHPExcel->getActiveSheet()->getStyleByColumnAndRow( $pos, $this->last_row )->getNumberFormat()->setFormatCode( $this->date_format );
|
210 |
if ( $text ) {
|
211 |
if ( empty( $this->settings['global_job_settings']['time_format'] ) ) { // must remove time!
|
212 |
+
if ( WOE_Formatter::is_valid_time_stamp( $text ) ) {
|
213 |
+
$text = date( "Y-m-d", $text );
|
214 |
+
} else {
|
215 |
$text = date( "Y-m-d", strtotime( $text ) );
|
216 |
+
}
|
217 |
}
|
218 |
try {
|
219 |
$text = PHPExcel_Shared_Date::PHPToExcel( new DateTime( $text ) );
|
221 |
|
222 |
$this->objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow( $pos, $this->last_row, $text );
|
223 |
}
|
224 |
+
} elseif ( $this->field_format_is( $field, $this->link_format_fields ) ) {
|
225 |
+
$this->objPHPExcel->getActiveSheet()->getStyleByColumnAndRow( $pos, $this->last_row )->getNumberFormat()->setFormatCode( PHPExcel_Style_NumberFormat::FORMAT_TEXT );
|
226 |
+
$this->objPHPExcel->getActiveSheet()->setCellValueExplicitByColumnAndRow( $pos, $this->last_row, $text );
|
227 |
} else {
|
228 |
$this->objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow( $pos, $this->last_row, $text );
|
229 |
}
|
classes/formats/class-woe-formatter-xml.php
CHANGED
@@ -72,7 +72,7 @@ class WOE_Formatter_Xml extends WOE_Formatter {
|
|
72 |
$child_labels = apply_filters( 'woe_xml_child_labels_' . $original_key, $child_labels, $field_value,
|
73 |
$rec );
|
74 |
|
75 |
-
if ( $child_labels->is_not_empty() == false ) // can't export!
|
76 |
{
|
77 |
continue;
|
78 |
}
|
@@ -103,7 +103,7 @@ class WOE_Formatter_Xml extends WOE_Formatter {
|
|
103 |
|
104 |
//format it!
|
105 |
$dom = dom_import_simplexml( $xml );
|
106 |
-
$dom->ownerDocument->formatOutput = ( $this->mode == 'preview' );
|
107 |
$output_flags = ! empty( $this->settings['self_closing_tags'] ) ? null : LIBXML_NOEMPTYTAG;
|
108 |
$xml = $dom->ownerDocument->saveXML( $dom->ownerDocument->documentElement,
|
109 |
$output_flags );
|
72 |
$child_labels = apply_filters( 'woe_xml_child_labels_' . $original_key, $child_labels, $field_value,
|
73 |
$rec );
|
74 |
|
75 |
+
if ( !is_array($child_labels) AND $child_labels->is_not_empty() == false ) // can't export!
|
76 |
{
|
77 |
continue;
|
78 |
}
|
103 |
|
104 |
//format it!
|
105 |
$dom = dom_import_simplexml( $xml );
|
106 |
+
$dom->ownerDocument->formatOutput = ( $this->mode == 'preview' || $this->settings['preview_format'] );
|
107 |
$output_flags = ! empty( $this->settings['self_closing_tags'] ) ? null : LIBXML_NOEMPTYTAG;
|
108 |
$xml = $dom->ownerDocument->saveXML( $dom->ownerDocument->documentElement,
|
109 |
$output_flags );
|
i18n/languages/woo-order-export-lite.pot
CHANGED
@@ -3,7 +3,7 @@ msgid ""
|
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: Advanced Order Export For WooCommerce\n"
|
5 |
"Report-Msgid-Bugs-To: \n"
|
6 |
-
"POT-Creation-Date: 2020-
|
7 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
8 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
9 |
"Language-Team: \n"
|
@@ -13,7 +13,7 @@ msgstr ""
|
|
13 |
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
"Content-Transfer-Encoding: 8bit\n"
|
15 |
"X-Generator: Loco https://localise.biz/\n"
|
16 |
-
"X-Loco-Version: 2.
|
17 |
|
18 |
#: classes/class-wc-order-export-admin.php:511
|
19 |
#, php-format
|
@@ -29,16 +29,16 @@ msgid_plural "%s orders unmarked."
|
|
29 |
msgstr[0] ""
|
30 |
msgstr[1] ""
|
31 |
|
32 |
-
#: view/settings-form.php:46 view/settings-form.php:
|
33 |
-
#: view/settings-form.php:
|
34 |
msgid "-"
|
35 |
msgstr ""
|
36 |
|
37 |
-
#: view/settings-form.php:
|
38 |
msgid "- don't modify -"
|
39 |
msgstr ""
|
40 |
|
41 |
-
#: view/settings-form.php:
|
42 |
msgid "0 - auto scale"
|
43 |
msgstr ""
|
44 |
|
@@ -46,11 +46,11 @@ msgstr ""
|
|
46 |
msgid "1st row only"
|
47 |
msgstr ""
|
48 |
|
49 |
-
#: classes/core/class-wc-order-export-data-extractor.php:
|
50 |
msgid "[Rest of the World]"
|
51 |
msgstr ""
|
52 |
|
53 |
-
#: view/settings-form.php:
|
54 |
msgid "Actions"
|
55 |
msgstr ""
|
56 |
|
@@ -63,47 +63,51 @@ msgstr ""
|
|
63 |
msgid "Add %s fields"
|
64 |
msgstr ""
|
65 |
|
66 |
-
#: view/settings-form.php:
|
67 |
msgid "Add fee"
|
68 |
msgstr ""
|
69 |
|
70 |
-
#: view/settings-form.php:
|
71 |
msgid "Add field"
|
72 |
msgstr ""
|
73 |
|
74 |
-
#: view/settings-form.php:
|
|
|
|
|
|
|
|
|
75 |
msgid "Add shipping"
|
76 |
msgstr ""
|
77 |
|
78 |
-
#: view/settings-form.php:
|
79 |
msgid "Add static field"
|
80 |
msgstr ""
|
81 |
|
82 |
-
#: view/settings-form.php:
|
83 |
msgid "Add tax"
|
84 |
msgstr ""
|
85 |
|
86 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
87 |
msgid "Address 1 (Billing)"
|
88 |
msgstr ""
|
89 |
|
90 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
91 |
msgid "Address 1 (Shipping)"
|
92 |
msgstr ""
|
93 |
|
94 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
95 |
msgid "Address 1&2 (Billing)"
|
96 |
msgstr ""
|
97 |
|
98 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
99 |
msgid "Address 1&2 (Shipping)"
|
100 |
msgstr ""
|
101 |
|
102 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
103 |
msgid "Address 2 (Billing)"
|
104 |
msgstr ""
|
105 |
|
106 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
107 |
msgid "Address 2 (Shipping)"
|
108 |
msgstr ""
|
109 |
|
@@ -129,11 +133,11 @@ msgstr ""
|
|
129 |
msgid "all rows"
|
130 |
msgstr ""
|
131 |
|
132 |
-
#: view/settings-form.php:
|
133 |
msgid "Any coupon used"
|
134 |
msgstr ""
|
135 |
|
136 |
-
#: view/settings-form.php:
|
137 |
msgid "Append XML"
|
138 |
msgstr ""
|
139 |
|
@@ -145,7 +149,7 @@ msgstr ""
|
|
145 |
msgid "as"
|
146 |
msgstr ""
|
147 |
|
148 |
-
#: view/settings-form.php:
|
149 |
msgid "Ascending"
|
150 |
msgstr ""
|
151 |
|
@@ -153,12 +157,12 @@ msgstr ""
|
|
153 |
msgid "Auto column width"
|
154 |
msgstr ""
|
155 |
|
156 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
157 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
158 |
msgid "Billing Address"
|
159 |
msgstr ""
|
160 |
|
161 |
-
#: view/settings-form.php:
|
162 |
msgid "Billing locations"
|
163 |
msgstr ""
|
164 |
|
@@ -189,86 +193,86 @@ msgstr ""
|
|
189 |
msgid "Can't find exported file"
|
190 |
msgstr ""
|
191 |
|
192 |
-
#: view/settings-form.php:
|
193 |
-
#: view/settings-form.php:
|
194 |
-
#: view/settings-form.php:
|
195 |
-
#: view/settings-form.php:
|
196 |
-
#: view/settings-form.php:
|
197 |
-
#: view/settings-form.php:
|
198 |
msgid "Cancel"
|
199 |
msgstr ""
|
200 |
|
201 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
202 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
203 |
msgid "Cart"
|
204 |
msgstr ""
|
205 |
|
206 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
207 |
msgid "Cart Discount Amount"
|
208 |
msgstr ""
|
209 |
|
210 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
211 |
msgid "Cart Discount Amount Tax"
|
212 |
msgstr ""
|
213 |
|
214 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
215 |
msgid "Category"
|
216 |
msgstr ""
|
217 |
|
218 |
-
#: view/settings-form.php:
|
219 |
msgid "Center align"
|
220 |
msgstr ""
|
221 |
|
222 |
-
#: view/settings-form.php:
|
223 |
msgid "Change order status to"
|
224 |
msgstr ""
|
225 |
|
226 |
-
#: view/settings-form.php:325 view/settings-form.php:
|
227 |
msgid "Character encoding"
|
228 |
msgstr ""
|
229 |
|
230 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
231 |
msgid "City (Billing)"
|
232 |
msgstr ""
|
233 |
|
234 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
235 |
msgid "City (Shipping)"
|
236 |
msgstr ""
|
237 |
|
238 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
239 |
msgid "City, State Zip (Billing)"
|
240 |
msgstr ""
|
241 |
|
242 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
243 |
msgid "City, State Zip (Shipping)"
|
244 |
msgstr ""
|
245 |
|
246 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
247 |
msgid "City, State, Zip (Billing)"
|
248 |
msgstr ""
|
249 |
|
250 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
251 |
msgid "City, State, Zip (Shipping)"
|
252 |
msgstr ""
|
253 |
|
254 |
-
#: view/settings-form.php:
|
255 |
msgid "Cleanup phone (export only digits)"
|
256 |
msgstr ""
|
257 |
|
258 |
-
#: view/settings-form.php:
|
259 |
msgid "Click here to download"
|
260 |
msgstr ""
|
261 |
|
262 |
-
#: view/tab/help.php:
|
263 |
msgid "code snippets"
|
264 |
msgstr ""
|
265 |
|
266 |
-
#: view/settings-form.php:
|
267 |
-
#: view/settings-form.php:
|
268 |
-
#: view/settings-form.php:
|
269 |
-
#: view/settings-form.php:
|
270 |
-
#: view/settings-form.php:
|
271 |
-
#: view/settings-form.php:
|
272 |
msgid "Column name"
|
273 |
msgstr ""
|
274 |
|
@@ -276,50 +280,50 @@ msgstr ""
|
|
276 |
msgid "columns"
|
277 |
msgstr ""
|
278 |
|
279 |
-
#: view/settings-form.php:
|
280 |
msgid "Columns align"
|
281 |
msgstr ""
|
282 |
|
283 |
-
#: view/settings-form.php:
|
284 |
msgid "Columns horizontal align"
|
285 |
msgstr ""
|
286 |
|
287 |
-
#: view/settings-form.php:
|
288 |
msgid "Columns vertical align"
|
289 |
msgstr ""
|
290 |
|
291 |
-
#: view/settings-form.php:
|
292 |
msgid "Columns width"
|
293 |
msgstr ""
|
294 |
|
295 |
-
#: view/settings-form.php:
|
296 |
msgid "comma separated list"
|
297 |
msgstr ""
|
298 |
|
299 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
300 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
301 |
msgid "Common"
|
302 |
msgstr ""
|
303 |
|
304 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
305 |
msgid "Company (Billing)"
|
306 |
msgstr ""
|
307 |
|
308 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
309 |
msgid "Company (Shipping)"
|
310 |
msgstr ""
|
311 |
|
312 |
#: view/settings-form.php:167
|
313 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
314 |
msgid "Completed Date"
|
315 |
msgstr ""
|
316 |
|
317 |
-
#: view/settings-form.php:
|
318 |
-
#: view/settings-form.php:
|
319 |
-
#: view/settings-form.php:
|
320 |
-
#: view/settings-form.php:
|
321 |
-
#: view/settings-form.php:
|
322 |
-
#: view/settings-form.php:
|
323 |
msgid "Confirm"
|
324 |
msgstr ""
|
325 |
|
@@ -333,47 +337,47 @@ msgid ""
|
|
333 |
"install."
|
334 |
msgstr ""
|
335 |
|
336 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
337 |
msgid "Country Code (Billing)"
|
338 |
msgstr ""
|
339 |
|
340 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
341 |
msgid "Country Code (Shipping)"
|
342 |
msgstr ""
|
343 |
|
344 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
345 |
msgid "Country Name (Billing)"
|
346 |
msgstr ""
|
347 |
|
348 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
349 |
msgid "Country Name (Shipping)"
|
350 |
msgstr ""
|
351 |
|
352 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
353 |
msgid "Coupon Amount"
|
354 |
msgstr ""
|
355 |
|
356 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
357 |
msgid "Coupon Code"
|
358 |
msgstr ""
|
359 |
|
360 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
361 |
msgid "Coupon Description"
|
362 |
msgstr ""
|
363 |
|
364 |
-
#: view/settings-form.php:
|
365 |
msgid "Coupon tag"
|
366 |
msgstr ""
|
367 |
|
368 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
369 |
msgid "Coupon Type"
|
370 |
msgstr ""
|
371 |
|
372 |
-
#: view/settings-form.php:
|
373 |
-
#: classes/admin/class-wc-order-export-manage.php:
|
374 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
375 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
376 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
377 |
msgid "Coupons"
|
378 |
msgstr ""
|
379 |
|
@@ -381,72 +385,68 @@ msgstr ""
|
|
381 |
msgid "coupons"
|
382 |
msgstr ""
|
383 |
|
384 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:1096
|
385 |
-
msgid "Coupons Used"
|
386 |
-
msgstr ""
|
387 |
-
|
388 |
#: view/settings-form.php:289
|
389 |
msgid "CSV options"
|
390 |
msgstr ""
|
391 |
|
392 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
393 |
msgid "Currency"
|
394 |
msgstr ""
|
395 |
|
396 |
-
#: view/settings-form.php:
|
397 |
msgid "custom"
|
398 |
msgstr ""
|
399 |
|
400 |
-
#: view/settings-form.php:
|
401 |
msgid "Custom css"
|
402 |
msgstr ""
|
403 |
|
404 |
-
#: view/settings-form.php:
|
405 |
msgid "Custom fields"
|
406 |
msgstr ""
|
407 |
|
408 |
-
#: view/settings-form.php:
|
409 |
msgid "Custom PHP code to modify output"
|
410 |
msgstr ""
|
411 |
|
412 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
413 |
msgid "Customer first order date"
|
414 |
msgstr ""
|
415 |
|
416 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
417 |
msgid "Customer IP address"
|
418 |
msgstr ""
|
419 |
|
420 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
421 |
msgid "Customer last order date"
|
422 |
msgstr ""
|
423 |
|
424 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
425 |
msgid "Customer Note"
|
426 |
msgstr ""
|
427 |
|
428 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
429 |
msgid "Customer Role"
|
430 |
msgstr ""
|
431 |
|
432 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
433 |
msgid "Customer Total Orders"
|
434 |
msgstr ""
|
435 |
|
436 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
437 |
msgid "Customer User Email"
|
438 |
msgstr ""
|
439 |
|
440 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
441 |
msgid "Customer User ID"
|
442 |
msgstr ""
|
443 |
|
444 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
445 |
msgid "Customer Username"
|
446 |
msgstr ""
|
447 |
|
448 |
-
#: view/settings-form.php:
|
449 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
450 |
msgid "Date"
|
451 |
msgstr ""
|
452 |
|
@@ -454,7 +454,7 @@ msgstr ""
|
|
454 |
msgid "Date From is greater than Date To"
|
455 |
msgstr ""
|
456 |
|
457 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
458 |
msgid "Date of first refund"
|
459 |
msgstr ""
|
460 |
|
@@ -462,23 +462,23 @@ msgstr ""
|
|
462 |
msgid "Date range"
|
463 |
msgstr ""
|
464 |
|
465 |
-
#: view/settings-form.php:
|
466 |
msgid "Descending"
|
467 |
msgstr ""
|
468 |
|
469 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
470 |
msgid "Description"
|
471 |
msgstr ""
|
472 |
|
473 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
474 |
msgid "Discount Amount"
|
475 |
msgstr ""
|
476 |
|
477 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
478 |
msgid "Discount Amount + Tax"
|
479 |
msgstr ""
|
480 |
|
481 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
482 |
msgid "Discount Amount Tax"
|
483 |
msgstr ""
|
484 |
|
@@ -486,30 +486,34 @@ msgstr ""
|
|
486 |
msgid "Docs"
|
487 |
msgstr ""
|
488 |
|
489 |
-
#: view/settings-form.php:
|
490 |
msgid "Don't escape /"
|
491 |
msgstr ""
|
492 |
|
493 |
-
#: view/settings-form.php:
|
494 |
msgid "Don't export child orders"
|
495 |
msgstr ""
|
496 |
|
497 |
-
#: view/tab/help.php:
|
498 |
#, php-format
|
499 |
msgid ""
|
500 |
"Don't forget to attach your %s or some screenshots. It will significantly "
|
501 |
"reduce reply time :)"
|
502 |
msgstr ""
|
503 |
|
504 |
-
#: classes/core/class-wc-order-export-engine.php:
|
505 |
msgid "Don't Panic"
|
506 |
msgstr ""
|
507 |
|
508 |
-
#:
|
|
|
|
|
|
|
|
|
509 |
msgid "Download URL"
|
510 |
msgstr ""
|
511 |
|
512 |
-
#: view/settings-form.php:
|
513 |
msgid "Drag rows to reorder exported fields"
|
514 |
msgstr ""
|
515 |
|
@@ -517,16 +521,16 @@ msgstr ""
|
|
517 |
msgid "Edit order"
|
518 |
msgstr ""
|
519 |
|
520 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
521 |
msgid "Email (Billing)"
|
522 |
msgstr ""
|
523 |
|
524 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
525 |
msgid "Embedded Product Image"
|
526 |
msgstr ""
|
527 |
|
528 |
#: classes/class-wc-order-export-admin.php:306
|
529 |
-
#: classes/core/class-wc-order-export-data-extractor.php:
|
530 |
msgid "empty"
|
531 |
msgstr ""
|
532 |
|
@@ -546,7 +550,7 @@ msgstr ""
|
|
546 |
msgid "empty value"
|
547 |
msgstr ""
|
548 |
|
549 |
-
#: view/settings-form.php:
|
550 |
msgid "Enable debug output"
|
551 |
msgstr ""
|
552 |
|
@@ -554,31 +558,31 @@ msgstr ""
|
|
554 |
msgid "Enclosure"
|
555 |
msgstr ""
|
556 |
|
557 |
-
#: view/settings-form.php:
|
558 |
msgid "Encode numeric strings as numbers"
|
559 |
msgstr ""
|
560 |
|
561 |
-
#: view/settings-form.php:
|
562 |
msgid "End tag"
|
563 |
msgstr ""
|
564 |
|
565 |
-
#: view/settings-form.php:
|
566 |
msgid "Exclude products"
|
567 |
msgstr ""
|
568 |
|
569 |
-
#: view/settings-form.php:
|
570 |
msgid "Export"
|
571 |
msgstr ""
|
572 |
|
573 |
-
#: view/settings-form.php:
|
574 |
msgid "Export [w/o progressbar]"
|
575 |
msgstr ""
|
576 |
|
577 |
-
#: view/settings-form.php:
|
578 |
msgid "Export all order notes"
|
579 |
msgstr ""
|
580 |
|
581 |
-
#: view/settings-form.php:
|
582 |
msgid "Export all products from the order"
|
583 |
msgstr ""
|
584 |
|
@@ -605,7 +609,7 @@ msgstr ""
|
|
605 |
msgid "Export now"
|
606 |
msgstr ""
|
607 |
|
608 |
-
#: view/settings-form.php:
|
609 |
msgid "Export only matched product items"
|
610 |
msgstr ""
|
611 |
|
@@ -620,11 +624,11 @@ msgstr ""
|
|
620 |
msgid "Export orders from WooCommerce with ease (Excel/CSV/XML/JSON supported)"
|
621 |
msgstr ""
|
622 |
|
623 |
-
#: view/settings-form.php:
|
624 |
msgid "Export refund notes as Customer Note"
|
625 |
msgstr ""
|
626 |
|
627 |
-
#: view/settings-form.php:
|
628 |
msgid "Export refunds"
|
629 |
msgstr ""
|
630 |
|
@@ -636,16 +640,16 @@ msgstr ""
|
|
636 |
msgid "Export Status"
|
637 |
msgstr ""
|
638 |
|
639 |
-
#: view/settings-form.php:
|
640 |
#, php-format
|
641 |
msgid "Export total: %s orders"
|
642 |
msgstr ""
|
643 |
|
644 |
-
#: view/settings-form.php:
|
645 |
msgid "Export unmarked orders only"
|
646 |
msgstr ""
|
647 |
|
648 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
649 |
msgid "Exported items"
|
650 |
msgstr ""
|
651 |
|
@@ -653,7 +657,7 @@ msgstr ""
|
|
653 |
msgid "Express export"
|
654 |
msgstr ""
|
655 |
|
656 |
-
#: view/settings-form.php:
|
657 |
msgid "Fee name"
|
658 |
msgstr ""
|
659 |
|
@@ -669,31 +673,27 @@ msgstr ""
|
|
669 |
msgid "Fill order columns for"
|
670 |
msgstr ""
|
671 |
|
672 |
-
#: view/settings-form.php:
|
673 |
msgid "Filter by billing"
|
674 |
msgstr ""
|
675 |
|
676 |
-
#: view/settings-form.php:
|
677 |
msgid "Filter by coupon"
|
678 |
msgstr ""
|
679 |
|
680 |
-
#: view/settings-form.php:
|
681 |
msgid "Filter by customer"
|
682 |
msgstr ""
|
683 |
|
684 |
-
#: view/settings-form.php:
|
685 |
msgid "Filter by item and metadata"
|
686 |
msgstr ""
|
687 |
|
688 |
-
#: view/settings-form.php:
|
689 |
-
msgid "Filter by order"
|
690 |
-
msgstr ""
|
691 |
-
|
692 |
-
#: view/settings-form.php:956
|
693 |
msgid "Filter by product"
|
694 |
msgstr ""
|
695 |
|
696 |
-
#: view/settings-form.php:
|
697 |
msgid "Filter by shipping"
|
698 |
msgstr ""
|
699 |
|
@@ -701,27 +701,27 @@ msgstr ""
|
|
701 |
msgid "Filter orders by"
|
702 |
msgstr ""
|
703 |
|
704 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
705 |
msgid "First Name (Billing)"
|
706 |
msgstr ""
|
707 |
|
708 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
709 |
msgid "First Name (Shipping)"
|
710 |
msgstr ""
|
711 |
|
712 |
-
#: view/settings-form.php:
|
713 |
msgid "Fit table to page width"
|
714 |
msgstr ""
|
715 |
|
716 |
-
#: view/settings-form.php:
|
717 |
msgid "Font size"
|
718 |
msgstr ""
|
719 |
|
720 |
-
#: view/settings-form.php:
|
721 |
msgid "Footer text"
|
722 |
msgstr ""
|
723 |
|
724 |
-
#: view/settings-form.php:
|
725 |
msgid "Footer text color"
|
726 |
msgstr ""
|
727 |
|
@@ -733,23 +733,27 @@ msgstr ""
|
|
733 |
msgid "Format"
|
734 |
msgstr ""
|
735 |
|
736 |
-
#: view/settings-form.php:
|
737 |
msgid "Format numbers (use WC decimal separator)"
|
738 |
msgstr ""
|
739 |
|
|
|
|
|
|
|
|
|
740 |
#: classes/admin/class-wc-order-export-manage.php:26
|
741 |
msgid "Fri"
|
742 |
msgstr ""
|
743 |
|
744 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
745 |
msgid "Full Name (Billing)"
|
746 |
msgstr ""
|
747 |
|
748 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
749 |
msgid "Full Name (Shipping)"
|
750 |
msgstr ""
|
751 |
|
752 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
753 |
msgid "Full names for categories"
|
754 |
msgstr ""
|
755 |
|
@@ -761,15 +765,15 @@ msgstr ""
|
|
761 |
msgid "Grouping by product"
|
762 |
msgstr ""
|
763 |
|
764 |
-
#: view/settings-form.php:
|
765 |
msgid "Header text"
|
766 |
msgstr ""
|
767 |
|
768 |
-
#: view/settings-form.php:
|
769 |
msgid "Header text color"
|
770 |
msgstr ""
|
771 |
|
772 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
773 |
msgid "Height"
|
774 |
msgstr ""
|
775 |
|
@@ -777,17 +781,17 @@ msgstr ""
|
|
777 |
msgid "Help"
|
778 |
msgstr ""
|
779 |
|
780 |
-
#: view/tab/help.php:
|
781 |
msgid "helpdesk system"
|
782 |
msgstr ""
|
783 |
|
784 |
-
#: view/settings-form.php:
|
785 |
-
#: view/settings-form.php:
|
786 |
-
#: view/settings-form.php:
|
787 |
msgid "Hide unused fields"
|
788 |
msgstr ""
|
789 |
|
790 |
-
#: view/settings-form.php:
|
791 |
msgid "Html options"
|
792 |
msgstr ""
|
793 |
|
@@ -795,7 +799,7 @@ msgstr ""
|
|
795 |
msgid "https://algolplus.com/"
|
796 |
msgstr ""
|
797 |
|
798 |
-
#: view/settings-form.php:
|
799 |
#, php-format
|
800 |
msgid ""
|
801 |
"If you see this message after page load, user interface won't work correctly!"
|
@@ -803,21 +807,21 @@ msgid ""
|
|
803 |
"it). Probably, it's a conflict with another plugin or active theme."
|
804 |
msgstr ""
|
805 |
|
806 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
807 |
msgid "Image"
|
808 |
msgstr ""
|
809 |
|
810 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
811 |
msgid "Image URL"
|
812 |
msgstr ""
|
813 |
|
814 |
-
#: view/settings-form.php:283 view/settings-form.php:
|
815 |
-
#: view/settings-form.php:
|
816 |
msgid "Images height"
|
817 |
msgstr ""
|
818 |
|
819 |
-
#: view/settings-form.php:276 view/settings-form.php:
|
820 |
-
#: view/settings-form.php:
|
821 |
msgid "Images width"
|
822 |
msgstr ""
|
823 |
|
@@ -829,63 +833,63 @@ msgstr ""
|
|
829 |
msgid "Import settings"
|
830 |
msgstr ""
|
831 |
|
832 |
-
#: view/settings-form.php:
|
833 |
msgid "It might not work for huge datasets!"
|
834 |
msgstr ""
|
835 |
|
836 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
837 |
msgid "Item #"
|
838 |
msgstr ""
|
839 |
|
840 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
841 |
msgid "Item Cost"
|
842 |
msgstr ""
|
843 |
|
844 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
845 |
msgid "Item Cost Before Discount"
|
846 |
msgstr ""
|
847 |
|
848 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
849 |
msgid "Item Discount Amount"
|
850 |
msgstr ""
|
851 |
|
852 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
853 |
msgid "Item Discount Amount + Tax"
|
854 |
msgstr ""
|
855 |
|
856 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
857 |
msgid "Item Discount Tax"
|
858 |
msgstr ""
|
859 |
|
860 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
861 |
msgid "Item download URL"
|
862 |
msgstr ""
|
863 |
|
864 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
865 |
msgid "Item ID"
|
866 |
msgstr ""
|
867 |
|
868 |
-
#: view/settings-form.php:
|
869 |
msgid "Item meta data"
|
870 |
msgstr ""
|
871 |
|
872 |
-
#: view/settings-form.php:
|
873 |
msgid "Item metadata"
|
874 |
msgstr ""
|
875 |
|
876 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
877 |
msgid "Item Name"
|
878 |
msgstr ""
|
879 |
|
880 |
-
#: view/settings-form.php:
|
881 |
msgid "Item names"
|
882 |
msgstr ""
|
883 |
|
884 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
885 |
msgid "Item Tax Rate"
|
886 |
msgstr ""
|
887 |
|
888 |
-
#: view/settings-form.php:
|
889 |
msgid "JSON options"
|
890 |
msgstr ""
|
891 |
|
@@ -893,57 +897,61 @@ msgstr ""
|
|
893 |
msgid "Just click inside the textarea and copy (Ctrl+C)"
|
894 |
msgstr ""
|
895 |
|
896 |
-
#: view/settings-form.php:
|
897 |
msgid "L,C or R. Comma separated list"
|
898 |
msgstr ""
|
899 |
|
900 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
901 |
msgid "Last Name (Billing)"
|
902 |
msgstr ""
|
903 |
|
904 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
905 |
msgid "Last Name (Shipping)"
|
906 |
msgstr ""
|
907 |
|
908 |
-
#: view/settings-form.php:
|
909 |
msgid "Left align"
|
910 |
msgstr ""
|
911 |
|
912 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
913 |
msgid "Length"
|
914 |
msgstr ""
|
915 |
|
916 |
-
#: view/settings-form.php:320 view/settings-form.php:
|
917 |
msgid "Line Break"
|
918 |
msgstr ""
|
919 |
|
920 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
921 |
msgid "Line number"
|
922 |
msgstr ""
|
923 |
|
924 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
|
|
|
|
|
|
|
|
925 |
msgid "Link to edit order"
|
926 |
msgstr ""
|
927 |
|
928 |
-
#: view/settings-form.php:
|
929 |
msgid "Logo align"
|
930 |
msgstr ""
|
931 |
|
932 |
-
#: view/settings-form.php:
|
933 |
msgid "Logo height"
|
934 |
msgstr ""
|
935 |
|
936 |
-
#: view/settings-form.php:
|
937 |
msgid "Logo width"
|
938 |
msgstr ""
|
939 |
|
940 |
-
#: view/tab/help.php:
|
941 |
#, php-format
|
942 |
msgid ""
|
943 |
"Look at %s for popular plugins or check %s to study how to extend the plugin."
|
944 |
msgstr ""
|
945 |
|
946 |
-
#: classes/core/class-wc-order-export-engine.php:
|
947 |
msgid "Main SQL queries are listed below"
|
948 |
msgstr ""
|
949 |
|
@@ -951,25 +959,25 @@ msgstr ""
|
|
951 |
msgid "Mark exported"
|
952 |
msgstr ""
|
953 |
|
954 |
-
#: view/settings-form.php:
|
955 |
msgid "Mark exported orders"
|
956 |
msgstr ""
|
957 |
|
958 |
-
#: view/settings-form.php:
|
959 |
-
#: view/settings-form.php:
|
960 |
msgid "Meta key"
|
961 |
msgstr ""
|
962 |
|
963 |
-
#: view/settings-form.php:
|
964 |
msgid "Might be different from actual export!"
|
965 |
msgstr ""
|
966 |
|
967 |
-
#: view/settings-form.php:
|
968 |
msgid "Misc settings"
|
969 |
msgstr ""
|
970 |
|
971 |
-
#: view/settings-form.php:153 view/settings-form.php:
|
972 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
973 |
msgid "Modification Date"
|
974 |
msgstr ""
|
975 |
|
@@ -977,114 +985,119 @@ msgstr ""
|
|
977 |
msgid "Mon"
|
978 |
msgstr ""
|
979 |
|
980 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
981 |
msgid "Money"
|
982 |
msgstr ""
|
983 |
|
984 |
-
#: view/tab/help.php:
|
985 |
-
|
|
|
986 |
msgstr ""
|
987 |
|
988 |
-
#: view/settings-form.php:
|
989 |
msgid "No"
|
990 |
msgstr ""
|
991 |
|
992 |
-
#: view/settings-form.php:
|
993 |
msgid "No page numbers"
|
994 |
msgstr ""
|
995 |
|
996 |
#: classes/formats/class-woe-formatter-html.php:137
|
997 |
-
#: classes/formats/abstract-class-woe-formatter-sv.php:
|
998 |
-
#: classes/formats/class-woe-formatter-xls.php:
|
999 |
msgid "No results"
|
1000 |
msgstr ""
|
1001 |
|
1002 |
#: classes/class-wc-order-export-admin.php:304
|
1003 |
-
#: classes/admin/tabs/ajax/trait-wc-order-export-admin-tab-abstract-ajax-export.php:
|
1004 |
msgid "Nothing to export. Please, adjust your filters"
|
1005 |
msgstr ""
|
1006 |
|
1007 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1008 |
msgid "Number"
|
1009 |
msgstr ""
|
1010 |
|
|
|
|
|
|
|
|
|
1011 |
#: classes/class-wc-order-export-admin.php:226
|
1012 |
msgid "one row"
|
1013 |
msgstr ""
|
1014 |
|
1015 |
-
#: view/settings-form.php:
|
1016 |
msgid "OR"
|
1017 |
msgstr ""
|
1018 |
|
1019 |
-
#: view/settings-form.php:
|
1020 |
-
#: view/settings-form.php:
|
1021 |
-
#: view/settings-form.php:
|
1022 |
msgid "or type meta key here"
|
1023 |
msgstr ""
|
1024 |
|
1025 |
-
#: view/settings-form.php:146 view/settings-form.php:
|
1026 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1027 |
msgid "Order Date"
|
1028 |
msgstr ""
|
1029 |
|
1030 |
-
#: view/settings-form.php:
|
1031 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1032 |
msgid "Order ID"
|
1033 |
msgstr ""
|
1034 |
|
1035 |
-
#: view/settings-form.php:
|
1036 |
msgid "Order item fields"
|
1037 |
msgstr ""
|
1038 |
|
1039 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1040 |
msgid "Order Item Metadata"
|
1041 |
msgstr ""
|
1042 |
|
1043 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1044 |
msgid "Order Line (w/o tax)"
|
1045 |
msgstr ""
|
1046 |
|
1047 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1048 |
msgid "Order Line Subtotal"
|
1049 |
msgstr ""
|
1050 |
|
1051 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1052 |
msgid "Order Line Subtotal Tax"
|
1053 |
msgstr ""
|
1054 |
|
1055 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1056 |
msgid "Order Line Tax"
|
1057 |
msgstr ""
|
1058 |
|
1059 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1060 |
msgid "Order Line Tax (- Refund)"
|
1061 |
msgstr ""
|
1062 |
|
1063 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1064 |
msgid "Order Line Tax Refunded"
|
1065 |
msgstr ""
|
1066 |
|
1067 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1068 |
msgid "Order Line Total"
|
1069 |
msgstr ""
|
1070 |
|
1071 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1072 |
msgid "Order Line Total (- Refund)"
|
1073 |
msgstr ""
|
1074 |
|
1075 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1076 |
msgid "Order Line Total (include tax)"
|
1077 |
msgstr ""
|
1078 |
|
1079 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1080 |
msgid "Order Line Total Refunded"
|
1081 |
msgstr ""
|
1082 |
|
1083 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1084 |
msgid "Order Notes"
|
1085 |
msgstr ""
|
1086 |
|
1087 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1088 |
msgid "Order Number"
|
1089 |
msgstr ""
|
1090 |
|
@@ -1092,47 +1105,47 @@ msgstr ""
|
|
1092 |
msgid "Order Refund"
|
1093 |
msgstr ""
|
1094 |
|
1095 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1096 |
msgid "Order Refund Amount"
|
1097 |
msgstr ""
|
1098 |
|
1099 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1100 |
msgid "Order Shipping + Tax Amount"
|
1101 |
msgstr ""
|
1102 |
|
1103 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1104 |
msgid "Order Shipping Amount"
|
1105 |
msgstr ""
|
1106 |
|
1107 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1108 |
msgid "Order Shipping Amount (- Refund)"
|
1109 |
msgstr ""
|
1110 |
|
1111 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1112 |
msgid "Order Shipping Amount Refunded"
|
1113 |
msgstr ""
|
1114 |
|
1115 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1116 |
msgid "Order Shipping Tax Amount"
|
1117 |
msgstr ""
|
1118 |
|
1119 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1120 |
msgid "Order Shipping Tax Amount (- Refund)"
|
1121 |
msgstr ""
|
1122 |
|
1123 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1124 |
msgid "Order Shipping Tax Refunded"
|
1125 |
msgstr ""
|
1126 |
|
1127 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1128 |
msgid "Order Status"
|
1129 |
msgstr ""
|
1130 |
|
1131 |
-
#: view/settings-form.php:
|
1132 |
msgid "Order status"
|
1133 |
msgstr ""
|
1134 |
|
1135 |
-
#: view/settings-form.php:
|
1136 |
msgid "Order statuses"
|
1137 |
msgstr ""
|
1138 |
|
@@ -1140,55 +1153,55 @@ msgstr ""
|
|
1140 |
msgid "Order Subscription"
|
1141 |
msgstr ""
|
1142 |
|
1143 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1144 |
msgid "Order Subtotal - Cart Discount"
|
1145 |
msgstr ""
|
1146 |
|
1147 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1148 |
msgid "Order Subtotal Amount"
|
1149 |
msgstr ""
|
1150 |
|
1151 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1152 |
msgid "Order Subtotal Amount (- Refund)"
|
1153 |
msgstr ""
|
1154 |
|
1155 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1156 |
msgid "Order Subtotal Amount Refunded"
|
1157 |
msgstr ""
|
1158 |
|
1159 |
-
#: view/settings-form.php:
|
1160 |
msgid "Order tag"
|
1161 |
msgstr ""
|
1162 |
|
1163 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1164 |
msgid "Order Tax Amount"
|
1165 |
msgstr ""
|
1166 |
|
1167 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1168 |
msgid "Order Total Amount"
|
1169 |
msgstr ""
|
1170 |
|
1171 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1172 |
msgid "Order Total Amount (- Refund)"
|
1173 |
msgstr ""
|
1174 |
|
1175 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1176 |
msgid "Order Total Amount without Tax"
|
1177 |
msgstr ""
|
1178 |
|
1179 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1180 |
msgid "Order Total Fee"
|
1181 |
msgstr ""
|
1182 |
|
1183 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1184 |
msgid "Order Total Tax Amount"
|
1185 |
msgstr ""
|
1186 |
|
1187 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1188 |
msgid "Order Total Tax Amount (- Refund)"
|
1189 |
msgstr ""
|
1190 |
|
1191 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1192 |
msgid "Order Total Tax Amount Refunded"
|
1193 |
msgstr ""
|
1194 |
|
@@ -1196,8 +1209,8 @@ msgstr ""
|
|
1196 |
msgid "Order Type"
|
1197 |
msgstr ""
|
1198 |
|
1199 |
-
#: classes/admin/class-wc-order-export-manage.php:
|
1200 |
-
#: classes/formats/class-woe-formatter-xls.php:
|
1201 |
msgid "Orders"
|
1202 |
msgstr ""
|
1203 |
|
@@ -1205,61 +1218,61 @@ msgstr ""
|
|
1205 |
msgid "Orders range"
|
1206 |
msgstr ""
|
1207 |
|
1208 |
-
#: view/settings-form.php:
|
1209 |
msgid "Orientation"
|
1210 |
msgstr ""
|
1211 |
|
1212 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1213 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1214 |
msgid "Other items"
|
1215 |
msgstr ""
|
1216 |
|
1217 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1218 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1219 |
msgid "Others"
|
1220 |
msgstr ""
|
1221 |
|
1222 |
#: view/settings-form.php:261 view/settings-form.php:302
|
1223 |
-
#: view/settings-form.php:
|
1224 |
-
#: view/settings-form.php:
|
1225 |
msgid "Output column titles as first line"
|
1226 |
msgstr ""
|
1227 |
|
1228 |
-
#: view/settings-form.php:298 view/settings-form.php:
|
1229 |
msgid "Output UTF-8 BOM"
|
1230 |
msgstr ""
|
1231 |
|
1232 |
-
#: classes/FPDF/class-woe-pdf-mc-table.php:
|
1233 |
#, php-format
|
1234 |
msgid "Page %s / %s"
|
1235 |
msgstr ""
|
1236 |
|
1237 |
-
#: view/settings-form.php:
|
1238 |
msgid "Page footer text"
|
1239 |
msgstr ""
|
1240 |
|
1241 |
-
#: view/settings-form.php:
|
1242 |
msgid "Page footer text color"
|
1243 |
msgstr ""
|
1244 |
|
1245 |
-
#: view/settings-form.php:
|
1246 |
msgid "Page header text"
|
1247 |
msgstr ""
|
1248 |
|
1249 |
-
#: view/settings-form.php:
|
1250 |
msgid "Page header text color"
|
1251 |
msgstr ""
|
1252 |
|
1253 |
-
#: view/settings-form.php:
|
1254 |
msgid "Page numbers"
|
1255 |
msgstr ""
|
1256 |
|
1257 |
-
#: view/settings-form.php:
|
1258 |
msgid "Page size"
|
1259 |
msgstr ""
|
1260 |
|
1261 |
#: view/settings-form.php:160
|
1262 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1263 |
msgid "Paid Date"
|
1264 |
msgstr ""
|
1265 |
|
@@ -1269,27 +1282,27 @@ msgid ""
|
|
1269 |
"install."
|
1270 |
msgstr ""
|
1271 |
|
1272 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1273 |
msgid "Payment Method"
|
1274 |
msgstr ""
|
1275 |
|
1276 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1277 |
msgid "Payment Method Title"
|
1278 |
msgstr ""
|
1279 |
|
1280 |
-
#: view/settings-form.php:
|
1281 |
msgid "Payment methods"
|
1282 |
msgstr ""
|
1283 |
|
1284 |
-
#: view/settings-form.php:
|
1285 |
msgid "PDF options"
|
1286 |
msgstr ""
|
1287 |
|
1288 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1289 |
msgid "Phone (Billing)"
|
1290 |
msgstr ""
|
1291 |
|
1292 |
-
#: view/settings-form.php:
|
1293 |
msgid ""
|
1294 |
"Please check permissions for your role. You must have capability "
|
1295 |
"“edit_themes” to use this box."
|
@@ -1309,31 +1322,36 @@ msgstr ""
|
|
1309 |
msgid "Please, install/enable PHP XML extension!"
|
1310 |
msgstr ""
|
1311 |
|
|
|
|
|
|
|
|
|
|
|
1312 |
#: classes/class-wc-order-export-admin.php:303
|
1313 |
msgid "Please, set up fields to export"
|
1314 |
msgstr ""
|
1315 |
|
1316 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1317 |
msgid "Postcode (Billing)"
|
1318 |
msgstr ""
|
1319 |
|
1320 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1321 |
msgid "Postcode (Shipping)"
|
1322 |
msgstr ""
|
1323 |
|
1324 |
-
#: view/settings-form.php:
|
1325 |
msgid "Prepend XML"
|
1326 |
msgstr ""
|
1327 |
|
1328 |
-
#: view/settings-form.php:
|
1329 |
msgid "Press 'Esc' to cancel the export"
|
1330 |
msgstr ""
|
1331 |
|
1332 |
-
#: view/settings-form.php:
|
1333 |
msgid "Preview"
|
1334 |
msgstr ""
|
1335 |
|
1336 |
-
#: view/settings-form.php:
|
1337 |
msgid "Preview size"
|
1338 |
msgstr ""
|
1339 |
|
@@ -1342,19 +1360,19 @@ msgstr ""
|
|
1342 |
msgid "Pro version"
|
1343 |
msgstr ""
|
1344 |
|
1345 |
-
#: view/settings-form.php:
|
1346 |
msgid "Product categories"
|
1347 |
msgstr ""
|
1348 |
|
1349 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1350 |
msgid "Product Current Price"
|
1351 |
msgstr ""
|
1352 |
|
1353 |
-
#: view/settings-form.php:
|
1354 |
msgid "Product custom fields"
|
1355 |
msgstr ""
|
1356 |
|
1357 |
-
#: view/settings-form.php:
|
1358 |
msgid "Product fields"
|
1359 |
msgstr ""
|
1360 |
|
@@ -1370,48 +1388,52 @@ msgstr ""
|
|
1370 |
msgid "Product Name (main)"
|
1371 |
msgstr ""
|
1372 |
|
1373 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1374 |
msgid "Product order items"
|
1375 |
msgstr ""
|
1376 |
|
1377 |
-
#: view/settings-form.php:310 view/settings-form.php:
|
1378 |
msgid "Product rows start with a new line"
|
1379 |
msgstr ""
|
1380 |
|
1381 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1382 |
msgid "Product Seller"
|
1383 |
msgstr ""
|
1384 |
|
1385 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1386 |
msgid "Product Shipping Class"
|
1387 |
msgstr ""
|
1388 |
|
1389 |
-
#: view/settings-form.php:
|
1390 |
msgid "Product SKU"
|
1391 |
msgstr ""
|
1392 |
|
1393 |
-
#: view/settings-form.php:
|
1394 |
msgid "Product tag"
|
1395 |
msgstr ""
|
1396 |
|
1397 |
-
#: view/settings-form.php:
|
1398 |
msgid "Product taxonomies"
|
1399 |
msgstr ""
|
1400 |
|
1401 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1402 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1403 |
msgid "Product totals"
|
1404 |
msgstr ""
|
1405 |
|
1406 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1407 |
msgid "Product URL"
|
1408 |
msgstr ""
|
1409 |
|
1410 |
-
#:
|
1411 |
-
|
1412 |
-
|
1413 |
-
|
1414 |
-
#:
|
|
|
|
|
|
|
|
|
1415 |
msgid "Products"
|
1416 |
msgstr ""
|
1417 |
|
@@ -1427,19 +1449,19 @@ msgstr ""
|
|
1427 |
msgid "Profiles"
|
1428 |
msgstr ""
|
1429 |
|
1430 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1431 |
msgid "Quantity"
|
1432 |
msgstr ""
|
1433 |
|
1434 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1435 |
msgid "Quantity (- Refund)"
|
1436 |
msgstr ""
|
1437 |
|
1438 |
-
#: view/settings-form.php:
|
1439 |
msgid "Read how to fix it"
|
1440 |
msgstr ""
|
1441 |
|
1442 |
-
#: view/settings-form.php:
|
1443 |
msgid "Remove all fields"
|
1444 |
msgstr ""
|
1445 |
|
@@ -1447,19 +1469,19 @@ msgstr ""
|
|
1447 |
msgid "Remove all fields?"
|
1448 |
msgstr ""
|
1449 |
|
1450 |
-
#: view/settings-form.php:
|
1451 |
msgid "Remove logo"
|
1452 |
msgstr ""
|
1453 |
|
1454 |
-
#: view/settings-form.php:
|
1455 |
msgid "repeat at each page"
|
1456 |
msgstr ""
|
1457 |
|
1458 |
-
#: view/settings-form.php:
|
1459 |
msgid "repeat header as last line"
|
1460 |
msgstr ""
|
1461 |
|
1462 |
-
#: view/settings-form.php:
|
1463 |
msgid "Reset settings"
|
1464 |
msgstr ""
|
1465 |
|
@@ -1468,15 +1490,15 @@ msgstr ""
|
|
1468 |
msgid "Result: %s"
|
1469 |
msgstr ""
|
1470 |
|
1471 |
-
#: view/settings-form.php:
|
1472 |
msgid "Right align"
|
1473 |
msgstr ""
|
1474 |
|
1475 |
-
#: view/settings-form.php:269
|
1476 |
msgid "Right-to-Left direction"
|
1477 |
msgstr ""
|
1478 |
|
1479 |
-
#: view/settings-form.php:
|
1480 |
msgid "Root tag"
|
1481 |
msgstr ""
|
1482 |
|
@@ -1488,11 +1510,11 @@ msgstr ""
|
|
1488 |
msgid "Sat"
|
1489 |
msgstr ""
|
1490 |
|
1491 |
-
#: view/settings-form.php:
|
1492 |
msgid "Save & Exit"
|
1493 |
msgstr ""
|
1494 |
|
1495 |
-
#: view/settings-form.php:
|
1496 |
msgid "Save settings"
|
1497 |
msgstr ""
|
1498 |
|
@@ -1504,7 +1526,7 @@ msgstr ""
|
|
1504 |
msgid "select item field"
|
1505 |
msgstr ""
|
1506 |
|
1507 |
-
#: view/settings-form.php:
|
1508 |
msgid "Select logo"
|
1509 |
msgstr ""
|
1510 |
|
@@ -1512,7 +1534,7 @@ msgstr ""
|
|
1512 |
msgid "select product field or taxonomy"
|
1513 |
msgstr ""
|
1514 |
|
1515 |
-
#: view/settings-form.php:
|
1516 |
msgid "Self closing tags"
|
1517 |
msgstr ""
|
1518 |
|
@@ -1520,7 +1542,7 @@ msgstr ""
|
|
1520 |
msgid "Set up coupon fields"
|
1521 |
msgstr ""
|
1522 |
|
1523 |
-
#: view/settings-form.php:
|
1524 |
msgid "Set up fields to export"
|
1525 |
msgstr ""
|
1526 |
|
@@ -1532,7 +1554,7 @@ msgstr ""
|
|
1532 |
msgid "Settings"
|
1533 |
msgstr ""
|
1534 |
|
1535 |
-
#: view/tab/help.php:
|
1536 |
msgid "settings"
|
1537 |
msgstr ""
|
1538 |
|
@@ -1540,53 +1562,53 @@ msgstr ""
|
|
1540 |
msgid "Settings saved"
|
1541 |
msgstr ""
|
1542 |
|
1543 |
-
#: view/settings-form.php:
|
1544 |
msgid "Settings were successfully updated!"
|
1545 |
msgstr ""
|
1546 |
|
1547 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1548 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1549 |
msgid "Shipping"
|
1550 |
msgstr ""
|
1551 |
|
1552 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1553 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1554 |
msgid "Shipping Address"
|
1555 |
msgstr ""
|
1556 |
|
1557 |
-
#: view/settings-form.php:
|
1558 |
msgid "Shipping fields use billing details (if shipping address is empty)"
|
1559 |
msgstr ""
|
1560 |
|
1561 |
-
#: view/settings-form.php:
|
1562 |
msgid "Shipping locations"
|
1563 |
msgstr ""
|
1564 |
|
1565 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1566 |
msgid "Shipping Method"
|
1567 |
msgstr ""
|
1568 |
|
1569 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1570 |
msgid "Shipping Method (no id)"
|
1571 |
msgstr ""
|
1572 |
|
1573 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1574 |
msgid "Shipping Method Title"
|
1575 |
msgstr ""
|
1576 |
|
1577 |
-
#: view/settings-form.php:
|
1578 |
msgid "Shipping methods"
|
1579 |
msgstr ""
|
1580 |
|
1581 |
-
#: view/settings-form.php:
|
1582 |
msgid "Shipping name"
|
1583 |
msgstr ""
|
1584 |
|
1585 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1586 |
msgid "Short Description"
|
1587 |
msgstr ""
|
1588 |
|
1589 |
-
#: view/settings-form.php:
|
1590 |
msgid "Skip fully refunded items"
|
1591 |
msgstr ""
|
1592 |
|
@@ -1598,7 +1620,7 @@ msgstr ""
|
|
1598 |
msgid "SKU (parent)"
|
1599 |
msgstr ""
|
1600 |
|
1601 |
-
#: view/settings-form.php:
|
1602 |
#, php-format
|
1603 |
msgid "Sort orders by %s in %s order"
|
1604 |
msgstr ""
|
@@ -1607,23 +1629,23 @@ msgstr ""
|
|
1607 |
msgid "Split values by"
|
1608 |
msgstr ""
|
1609 |
|
1610 |
-
#: view/settings-form.php:
|
1611 |
msgid "Start tag"
|
1612 |
msgstr ""
|
1613 |
|
1614 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1615 |
msgid "State Code (Billing)"
|
1616 |
msgstr ""
|
1617 |
|
1618 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1619 |
msgid "State Code (Shipping)"
|
1620 |
msgstr ""
|
1621 |
|
1622 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1623 |
msgid "State Name (Billing)"
|
1624 |
msgstr ""
|
1625 |
|
1626 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1627 |
msgid "State Name (Shipping)"
|
1628 |
msgstr ""
|
1629 |
|
@@ -1631,11 +1653,11 @@ msgstr ""
|
|
1631 |
msgid "Status change jobs"
|
1632 |
msgstr ""
|
1633 |
|
1634 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1635 |
msgid "String"
|
1636 |
msgstr ""
|
1637 |
|
1638 |
-
#: view/settings-form.php:
|
1639 |
msgid "Strip tags from Product Description/Variation"
|
1640 |
msgstr ""
|
1641 |
|
@@ -1647,50 +1669,58 @@ msgstr ""
|
|
1647 |
msgid "Summary Report By Products"
|
1648 |
msgstr ""
|
1649 |
|
1650 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1651 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1652 |
msgid "Summary Report Total Amount"
|
1653 |
msgstr ""
|
1654 |
|
1655 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1656 |
msgid "Summary Report Total Amount Paid"
|
1657 |
msgstr ""
|
1658 |
|
1659 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1660 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1661 |
msgid "Summary Report Total Discount"
|
1662 |
msgstr ""
|
1663 |
|
1664 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1665 |
-
msgid "Summary Report Total
|
1666 |
msgstr ""
|
1667 |
|
1668 |
#: classes/core/class-wc-order-export-data-extractor-ui.php:700
|
|
|
|
|
|
|
|
|
1669 |
msgid "Summary Report Total Items (Exported)"
|
1670 |
msgstr ""
|
1671 |
|
1672 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1673 |
msgid "Summary Report Total Orders"
|
1674 |
msgstr ""
|
1675 |
|
1676 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1677 |
msgid "Summary Report Total Quantity"
|
1678 |
msgstr ""
|
1679 |
|
1680 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1681 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1682 |
msgid "Summary Report Total Refund Amount"
|
1683 |
msgstr ""
|
1684 |
|
1685 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1686 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1687 |
-
msgid "Summary Report Total
|
1688 |
msgstr ""
|
1689 |
|
1690 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1691 |
msgid "Summary Report Total Shipping"
|
1692 |
msgstr ""
|
1693 |
|
|
|
|
|
|
|
|
|
1694 |
#: classes/admin/class-wc-order-export-manage.php:21
|
1695 |
msgid "Sun"
|
1696 |
msgstr ""
|
@@ -1699,50 +1729,50 @@ msgstr ""
|
|
1699 |
msgid "Support"
|
1700 |
msgstr ""
|
1701 |
|
1702 |
-
#: view/settings-form.php:
|
1703 |
msgid "T,C or B. Comma separated list"
|
1704 |
msgstr ""
|
1705 |
|
1706 |
-
#: view/settings-form.php:
|
1707 |
msgid "Table header background color"
|
1708 |
msgstr ""
|
1709 |
|
1710 |
-
#: view/settings-form.php:
|
1711 |
msgid "Table header text color"
|
1712 |
msgstr ""
|
1713 |
|
1714 |
-
#: view/settings-form.php:
|
1715 |
msgid "Table row background color"
|
1716 |
msgstr ""
|
1717 |
|
1718 |
-
#: view/settings-form.php:
|
1719 |
msgid "Table row text color"
|
1720 |
msgstr ""
|
1721 |
|
1722 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1723 |
msgid "Tags"
|
1724 |
msgstr ""
|
1725 |
|
1726 |
-
#: view/settings-form.php:
|
1727 |
msgid "Tax name"
|
1728 |
msgstr ""
|
1729 |
|
1730 |
-
#: view/settings-form.php:
|
1731 |
msgid "Taxonomy"
|
1732 |
msgstr ""
|
1733 |
|
1734 |
-
#: classes/core/class-wc-order-export-engine.php:
|
1735 |
#, php-format
|
1736 |
msgid "The code you are trying to save produced a fatal error on line %d:"
|
1737 |
msgstr ""
|
1738 |
|
1739 |
-
#: view/settings-form.php:
|
1740 |
msgid ""
|
1741 |
"The filters won't work correctly.<br>Another plugin(or theme) has loaded "
|
1742 |
"outdated Select2.js"
|
1743 |
msgstr ""
|
1744 |
|
1745 |
-
#: view/settings-form.php:
|
1746 |
msgid ""
|
1747 |
"The plugin fetches meta keys from the existing orders. So you should create "
|
1748 |
"fake order if you've added new field just now."
|
@@ -1758,11 +1788,11 @@ msgstr ""
|
|
1758 |
msgid "This date range should not be saved in the scheduled task"
|
1759 |
msgstr ""
|
1760 |
|
1761 |
-
#: view/settings-form.php:
|
1762 |
msgid "This option cancels UI settings(above) and don't applied to Preview"
|
1763 |
msgstr ""
|
1764 |
|
1765 |
-
#: view/tab/help.php:
|
1766 |
msgid "this page"
|
1767 |
msgstr ""
|
1768 |
|
@@ -1776,7 +1806,7 @@ msgstr ""
|
|
1776 |
msgid "Thu"
|
1777 |
msgstr ""
|
1778 |
|
1779 |
-
#: view/settings-form.php:
|
1780 |
msgid "Time"
|
1781 |
msgstr ""
|
1782 |
|
@@ -1792,28 +1822,32 @@ msgstr ""
|
|
1792 |
msgid "Tools"
|
1793 |
msgstr ""
|
1794 |
|
1795 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1796 |
msgid "Total items"
|
1797 |
msgstr ""
|
1798 |
|
1799 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1800 |
msgid "Total products"
|
1801 |
msgstr ""
|
1802 |
|
1803 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1804 |
msgid "Total weight"
|
1805 |
msgstr ""
|
1806 |
|
1807 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1808 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1809 |
msgid "Totals"
|
1810 |
msgstr ""
|
1811 |
|
1812 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1813 |
msgid "Transaction ID"
|
1814 |
msgstr ""
|
1815 |
|
1816 |
-
#: view/settings-form.php:
|
|
|
|
|
|
|
|
|
1817 |
msgid "TSV options"
|
1818 |
msgstr ""
|
1819 |
|
@@ -1821,11 +1855,11 @@ msgstr ""
|
|
1821 |
msgid "Tue"
|
1822 |
msgstr ""
|
1823 |
|
1824 |
-
#: view/settings-form.php:
|
1825 |
msgid "Turn off mode Summary report to export order fields"
|
1826 |
msgstr ""
|
1827 |
|
1828 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1829 |
msgid "Type"
|
1830 |
msgstr ""
|
1831 |
|
@@ -1843,15 +1877,15 @@ msgstr ""
|
|
1843 |
msgid "Unmark exported"
|
1844 |
msgstr ""
|
1845 |
|
1846 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1847 |
msgid "Use \"Add field\" to export specific product attribute"
|
1848 |
msgstr ""
|
1849 |
|
1850 |
-
#: view/settings-form.php:
|
1851 |
msgid "Use only unnamed functions!"
|
1852 |
msgstr ""
|
1853 |
|
1854 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1855 |
msgid "Use section \"Product order items\" to add attributes"
|
1856 |
msgstr ""
|
1857 |
|
@@ -1859,37 +1893,41 @@ msgstr ""
|
|
1859 |
msgid "Use sheet name"
|
1860 |
msgstr ""
|
1861 |
|
1862 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1863 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1864 |
msgid "User"
|
1865 |
msgstr ""
|
1866 |
|
1867 |
-
#: view/
|
|
|
|
|
|
|
|
|
1868 |
msgid "User roles"
|
1869 |
msgstr ""
|
1870 |
|
1871 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1872 |
msgid "User Website"
|
1873 |
msgstr ""
|
1874 |
|
1875 |
-
#: view/settings-form.php:
|
1876 |
msgid "Usernames"
|
1877 |
msgstr ""
|
1878 |
|
1879 |
-
#: view/settings-form.php:
|
1880 |
-
#: view/settings-form.php:
|
1881 |
msgid "Value"
|
1882 |
msgstr ""
|
1883 |
|
1884 |
-
#: view/settings-form.php:
|
1885 |
msgid "Variable product attributes"
|
1886 |
msgstr ""
|
1887 |
|
1888 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1889 |
msgid "Variation Id"
|
1890 |
msgstr ""
|
1891 |
|
1892 |
-
#: view/settings-form.php:
|
1893 |
msgid "Vendors/creators"
|
1894 |
msgstr ""
|
1895 |
|
@@ -1897,11 +1935,11 @@ msgstr ""
|
|
1897 |
msgid "Wed"
|
1898 |
msgstr ""
|
1899 |
|
1900 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1901 |
msgid "Weight"
|
1902 |
msgstr ""
|
1903 |
|
1904 |
-
#: classes/core/class-wc-order-export-data-extractor-ui.php:
|
1905 |
msgid "Width"
|
1906 |
msgstr ""
|
1907 |
|
@@ -1917,7 +1955,7 @@ msgstr ""
|
|
1917 |
msgid "XML options"
|
1918 |
msgstr ""
|
1919 |
|
1920 |
-
#: view/settings-form.php:
|
1921 |
msgid "Yes"
|
1922 |
msgstr ""
|
1923 |
|
3 |
msgstr ""
|
4 |
"Project-Id-Version: Advanced Order Export For WooCommerce\n"
|
5 |
"Report-Msgid-Bugs-To: \n"
|
6 |
+
"POT-Creation-Date: 2020-08-24 07:23+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"
|
13 |
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
"Content-Transfer-Encoding: 8bit\n"
|
15 |
"X-Generator: Loco https://localise.biz/\n"
|
16 |
+
"X-Loco-Version: 2.4.2; wp-5.5"
|
17 |
|
18 |
#: classes/class-wc-order-export-admin.php:511
|
19 |
#, php-format
|
29 |
msgstr[0] ""
|
30 |
msgstr[1] ""
|
31 |
|
32 |
+
#: view/settings-form.php:46 view/settings-form.php:730
|
33 |
+
#: view/settings-form.php:756
|
34 |
msgid "-"
|
35 |
msgstr ""
|
36 |
|
37 |
+
#: view/settings-form.php:819
|
38 |
msgid "- don't modify -"
|
39 |
msgstr ""
|
40 |
|
41 |
+
#: view/settings-form.php:580
|
42 |
msgid "0 - auto scale"
|
43 |
msgstr ""
|
44 |
|
46 |
msgid "1st row only"
|
47 |
msgstr ""
|
48 |
|
49 |
+
#: classes/core/class-wc-order-export-data-extractor.php:1873
|
50 |
msgid "[Rest of the World]"
|
51 |
msgstr ""
|
52 |
|
53 |
+
#: view/settings-form.php:1565 view/settings-form.php:1576
|
54 |
msgid "Actions"
|
55 |
msgstr ""
|
56 |
|
63 |
msgid "Add %s fields"
|
64 |
msgstr ""
|
65 |
|
66 |
+
#: view/settings-form.php:1579
|
67 |
msgid "Add fee"
|
68 |
msgstr ""
|
69 |
|
70 |
+
#: view/settings-form.php:1568
|
71 |
msgid "Add field"
|
72 |
msgstr ""
|
73 |
|
74 |
+
#: view/settings-form.php:613
|
75 |
+
msgid "Add links to images"
|
76 |
+
msgstr ""
|
77 |
+
|
78 |
+
#: view/settings-form.php:1582
|
79 |
msgid "Add shipping"
|
80 |
msgstr ""
|
81 |
|
82 |
+
#: view/settings-form.php:1571
|
83 |
msgid "Add static field"
|
84 |
msgstr ""
|
85 |
|
86 |
+
#: view/settings-form.php:1585
|
87 |
msgid "Add tax"
|
88 |
msgstr ""
|
89 |
|
90 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:780
|
91 |
msgid "Address 1 (Billing)"
|
92 |
msgstr ""
|
93 |
|
94 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:870
|
95 |
msgid "Address 1 (Shipping)"
|
96 |
msgstr ""
|
97 |
|
98 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:775
|
99 |
msgid "Address 1&2 (Billing)"
|
100 |
msgstr ""
|
101 |
|
102 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:865
|
103 |
msgid "Address 1&2 (Shipping)"
|
104 |
msgstr ""
|
105 |
|
106 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:785
|
107 |
msgid "Address 2 (Billing)"
|
108 |
msgstr ""
|
109 |
|
110 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:875
|
111 |
msgid "Address 2 (Shipping)"
|
112 |
msgstr ""
|
113 |
|
133 |
msgid "all rows"
|
134 |
msgstr ""
|
135 |
|
136 |
+
#: view/settings-form.php:1309
|
137 |
msgid "Any coupon used"
|
138 |
msgstr ""
|
139 |
|
140 |
+
#: view/settings-form.php:356
|
141 |
msgid "Append XML"
|
142 |
msgstr ""
|
143 |
|
149 |
msgid "as"
|
150 |
msgstr ""
|
151 |
|
152 |
+
#: view/settings-form.php:800
|
153 |
msgid "Ascending"
|
154 |
msgstr ""
|
155 |
|
157 |
msgid "Auto column width"
|
158 |
msgstr ""
|
159 |
|
160 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1277
|
161 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1301
|
162 |
msgid "Billing Address"
|
163 |
msgstr ""
|
164 |
|
165 |
+
#: view/settings-form.php:1335
|
166 |
msgid "Billing locations"
|
167 |
msgstr ""
|
168 |
|
193 |
msgid "Can't find exported file"
|
194 |
msgstr ""
|
195 |
|
196 |
+
#: view/settings-form.php:1622 view/settings-form.php:1643
|
197 |
+
#: view/settings-form.php:1679 view/settings-form.php:1719
|
198 |
+
#: view/settings-form.php:1741 view/settings-form.php:1772
|
199 |
+
#: view/settings-form.php:1794 view/settings-form.php:1820
|
200 |
+
#: view/settings-form.php:1843 view/settings-form.php:1865
|
201 |
+
#: view/settings-form.php:1887 view/settings-form.php:1909
|
202 |
msgid "Cancel"
|
203 |
msgstr ""
|
204 |
|
205 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1283
|
206 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1308
|
207 |
msgid "Cart"
|
208 |
msgstr ""
|
209 |
|
210 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1116
|
211 |
msgid "Cart Discount Amount"
|
212 |
msgstr ""
|
213 |
|
214 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1121
|
215 |
msgid "Cart Discount Amount Tax"
|
216 |
msgstr ""
|
217 |
|
218 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:399
|
219 |
msgid "Category"
|
220 |
msgstr ""
|
221 |
|
222 |
+
#: view/settings-form.php:467
|
223 |
msgid "Center align"
|
224 |
msgstr ""
|
225 |
|
226 |
+
#: view/settings-form.php:814
|
227 |
msgid "Change order status to"
|
228 |
msgstr ""
|
229 |
|
230 |
+
#: view/settings-form.php:325 view/settings-form.php:409
|
231 |
msgid "Character encoding"
|
232 |
msgstr ""
|
233 |
|
234 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:790
|
235 |
msgid "City (Billing)"
|
236 |
msgstr ""
|
237 |
|
238 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:880
|
239 |
msgid "City (Shipping)"
|
240 |
msgstr ""
|
241 |
|
242 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:805
|
243 |
msgid "City, State Zip (Billing)"
|
244 |
msgstr ""
|
245 |
|
246 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:895
|
247 |
msgid "City, State Zip (Shipping)"
|
248 |
msgstr ""
|
249 |
|
250 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:800
|
251 |
msgid "City, State, Zip (Billing)"
|
252 |
msgstr ""
|
253 |
|
254 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:890
|
255 |
msgid "City, State, Zip (Shipping)"
|
256 |
msgstr ""
|
257 |
|
258 |
+
#: view/settings-form.php:862
|
259 |
msgid "Cleanup phone (export only digits)"
|
260 |
msgstr ""
|
261 |
|
262 |
+
#: view/settings-form.php:1994
|
263 |
msgid "Click here to download"
|
264 |
msgstr ""
|
265 |
|
266 |
+
#: view/tab/help.php:12
|
267 |
msgid "code snippets"
|
268 |
msgstr ""
|
269 |
|
270 |
+
#: view/settings-form.php:1612 view/settings-form.php:1628
|
271 |
+
#: view/settings-form.php:1669 view/settings-form.php:1711
|
272 |
+
#: view/settings-form.php:1725 view/settings-form.php:1764
|
273 |
+
#: view/settings-form.php:1778 view/settings-form.php:1811
|
274 |
+
#: view/settings-form.php:1826 view/settings-form.php:1855
|
275 |
+
#: view/settings-form.php:1877 view/settings-form.php:1899
|
276 |
msgid "Column name"
|
277 |
msgstr ""
|
278 |
|
280 |
msgid "columns"
|
281 |
msgstr ""
|
282 |
|
283 |
+
#: view/settings-form.php:640
|
284 |
msgid "Columns align"
|
285 |
msgstr ""
|
286 |
|
287 |
+
#: view/settings-form.php:496
|
288 |
msgid "Columns horizontal align"
|
289 |
msgstr ""
|
290 |
|
291 |
+
#: view/settings-form.php:507
|
292 |
msgid "Columns vertical align"
|
293 |
msgstr ""
|
294 |
|
295 |
+
#: view/settings-form.php:486
|
296 |
msgid "Columns width"
|
297 |
msgstr ""
|
298 |
|
299 |
+
#: view/settings-form.php:487 view/settings-form.php:641
|
300 |
msgid "comma separated list"
|
301 |
msgstr ""
|
302 |
|
303 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1275
|
304 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1299
|
305 |
msgid "Common"
|
306 |
msgstr ""
|
307 |
|
308 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:770
|
309 |
msgid "Company (Billing)"
|
310 |
msgstr ""
|
311 |
|
312 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:860
|
313 |
msgid "Company (Shipping)"
|
314 |
msgstr ""
|
315 |
|
316 |
#: view/settings-form.php:167
|
317 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:615
|
318 |
msgid "Completed Date"
|
319 |
msgstr ""
|
320 |
|
321 |
+
#: view/settings-form.php:1620 view/settings-form.php:1641
|
322 |
+
#: view/settings-form.php:1677 view/settings-form.php:1717
|
323 |
+
#: view/settings-form.php:1739 view/settings-form.php:1770
|
324 |
+
#: view/settings-form.php:1792 view/settings-form.php:1818
|
325 |
+
#: view/settings-form.php:1840 view/settings-form.php:1862
|
326 |
+
#: view/settings-form.php:1884 view/settings-form.php:1906
|
327 |
msgid "Confirm"
|
328 |
msgstr ""
|
329 |
|
337 |
"install."
|
338 |
msgstr ""
|
339 |
|
340 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:820
|
341 |
msgid "Country Code (Billing)"
|
342 |
msgstr ""
|
343 |
|
344 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:910
|
345 |
msgid "Country Code (Shipping)"
|
346 |
msgstr ""
|
347 |
|
348 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:825
|
349 |
msgid "Country Name (Billing)"
|
350 |
msgstr ""
|
351 |
|
352 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:915
|
353 |
msgid "Country Name (Shipping)"
|
354 |
msgstr ""
|
355 |
|
356 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:535
|
357 |
msgid "Coupon Amount"
|
358 |
msgstr ""
|
359 |
|
360 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:506
|
361 |
msgid "Coupon Code"
|
362 |
msgstr ""
|
363 |
|
364 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:526
|
365 |
msgid "Coupon Description"
|
366 |
msgstr ""
|
367 |
|
368 |
+
#: view/settings-form.php:353
|
369 |
msgid "Coupon tag"
|
370 |
msgstr ""
|
371 |
|
372 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:530
|
373 |
msgid "Coupon Type"
|
374 |
msgstr ""
|
375 |
|
376 |
+
#: view/settings-form.php:1312
|
377 |
+
#: classes/admin/class-wc-order-export-manage.php:723
|
378 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1090
|
379 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1281
|
380 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1306
|
381 |
msgid "Coupons"
|
382 |
msgstr ""
|
383 |
|
385 |
msgid "coupons"
|
386 |
msgstr ""
|
387 |
|
|
|
|
|
|
|
|
|
388 |
#: view/settings-form.php:289
|
389 |
msgid "CSV options"
|
390 |
msgstr ""
|
391 |
|
392 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:610
|
393 |
msgid "Currency"
|
394 |
msgstr ""
|
395 |
|
396 |
+
#: view/settings-form.php:734 view/settings-form.php:760
|
397 |
msgid "custom"
|
398 |
msgstr ""
|
399 |
|
400 |
+
#: view/settings-form.php:706
|
401 |
msgid "Custom css"
|
402 |
msgstr ""
|
403 |
|
404 |
+
#: view/settings-form.php:949 view/settings-form.php:1260
|
405 |
msgid "Custom fields"
|
406 |
msgstr ""
|
407 |
|
408 |
+
#: view/settings-form.php:886
|
409 |
msgid "Custom PHP code to modify output"
|
410 |
msgstr ""
|
411 |
|
412 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:685
|
413 |
msgid "Customer first order date"
|
414 |
msgstr ""
|
415 |
|
416 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:650
|
417 |
msgid "Customer IP address"
|
418 |
msgstr ""
|
419 |
|
420 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:690
|
421 |
msgid "Customer last order date"
|
422 |
msgstr ""
|
423 |
|
424 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:630
|
425 |
msgid "Customer Note"
|
426 |
msgstr ""
|
427 |
|
428 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:675
|
429 |
msgid "Customer Role"
|
430 |
msgstr ""
|
431 |
|
432 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:680
|
433 |
msgid "Customer Total Orders"
|
434 |
msgstr ""
|
435 |
|
436 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:670
|
437 |
msgid "Customer User Email"
|
438 |
msgstr ""
|
439 |
|
440 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:655
|
441 |
msgid "Customer User ID"
|
442 |
msgstr ""
|
443 |
|
444 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:660
|
445 |
msgid "Customer Username"
|
446 |
msgstr ""
|
447 |
|
448 |
+
#: view/settings-form.php:716
|
449 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1327
|
450 |
msgid "Date"
|
451 |
msgstr ""
|
452 |
|
454 |
msgid "Date From is greater than Date To"
|
455 |
msgstr ""
|
456 |
|
457 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:625
|
458 |
msgid "Date of first refund"
|
459 |
msgstr ""
|
460 |
|
462 |
msgid "Date range"
|
463 |
msgstr ""
|
464 |
|
465 |
+
#: view/settings-form.php:798
|
466 |
msgid "Descending"
|
467 |
msgstr ""
|
468 |
|
469 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:449
|
470 |
msgid "Description"
|
471 |
msgstr ""
|
472 |
|
473 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:511
|
474 |
msgid "Discount Amount"
|
475 |
msgstr ""
|
476 |
|
477 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:521
|
478 |
msgid "Discount Amount + Tax"
|
479 |
msgstr ""
|
480 |
|
481 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:516
|
482 |
msgid "Discount Amount Tax"
|
483 |
msgstr ""
|
484 |
|
486 |
msgid "Docs"
|
487 |
msgstr ""
|
488 |
|
489 |
+
#: view/settings-form.php:380
|
490 |
msgid "Don't escape /"
|
491 |
msgstr ""
|
492 |
|
493 |
+
#: view/settings-form.php:921
|
494 |
msgid "Don't export child orders"
|
495 |
msgstr ""
|
496 |
|
497 |
+
#: view/tab/help.php:27
|
498 |
#, php-format
|
499 |
msgid ""
|
500 |
"Don't forget to attach your %s or some screenshots. It will significantly "
|
501 |
"reduce reply time :)"
|
502 |
msgstr ""
|
503 |
|
504 |
+
#: classes/core/class-wc-order-export-engine.php:365
|
505 |
msgid "Don't Panic"
|
506 |
msgstr ""
|
507 |
|
508 |
+
#: view/settings-form.php:605
|
509 |
+
msgid "Don't put page break between order lines"
|
510 |
+
msgstr ""
|
511 |
+
|
512 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:434
|
513 |
msgid "Download URL"
|
514 |
msgstr ""
|
515 |
|
516 |
+
#: view/settings-form.php:1532
|
517 |
msgid "Drag rows to reorder exported fields"
|
518 |
msgstr ""
|
519 |
|
521 |
msgid "Edit order"
|
522 |
msgstr ""
|
523 |
|
524 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:830
|
525 |
msgid "Email (Billing)"
|
526 |
msgstr ""
|
527 |
|
528 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:474
|
529 |
msgid "Embedded Product Image"
|
530 |
msgstr ""
|
531 |
|
532 |
#: classes/class-wc-order-export-admin.php:306
|
533 |
+
#: classes/core/class-wc-order-export-data-extractor.php:315
|
534 |
msgid "empty"
|
535 |
msgstr ""
|
536 |
|
550 |
msgid "empty value"
|
551 |
msgstr ""
|
552 |
|
553 |
+
#: view/settings-form.php:880
|
554 |
msgid "Enable debug output"
|
555 |
msgstr ""
|
556 |
|
558 |
msgid "Enclosure"
|
559 |
msgstr ""
|
560 |
|
561 |
+
#: view/settings-form.php:385
|
562 |
msgid "Encode numeric strings as numbers"
|
563 |
msgstr ""
|
564 |
|
565 |
+
#: view/settings-form.php:375
|
566 |
msgid "End tag"
|
567 |
msgstr ""
|
568 |
|
569 |
+
#: view/settings-form.php:1209
|
570 |
msgid "Exclude products"
|
571 |
msgstr ""
|
572 |
|
573 |
+
#: view/settings-form.php:1963
|
574 |
msgid "Export"
|
575 |
msgstr ""
|
576 |
|
577 |
+
#: view/settings-form.php:1967
|
578 |
msgid "Export [w/o progressbar]"
|
579 |
msgstr ""
|
580 |
|
581 |
+
#: view/settings-form.php:844
|
582 |
msgid "Export all order notes"
|
583 |
msgstr ""
|
584 |
|
585 |
+
#: view/settings-form.php:1001
|
586 |
msgid "Export all products from the order"
|
587 |
msgstr ""
|
588 |
|
609 |
msgid "Export now"
|
610 |
msgstr ""
|
611 |
|
612 |
+
#: view/settings-form.php:1435
|
613 |
msgid "Export only matched product items"
|
614 |
msgstr ""
|
615 |
|
624 |
msgid "Export orders from WooCommerce with ease (Excel/CSV/XML/JSON supported)"
|
625 |
msgstr ""
|
626 |
|
627 |
+
#: view/settings-form.php:850
|
628 |
msgid "Export refund notes as Customer Note"
|
629 |
msgstr ""
|
630 |
|
631 |
+
#: view/settings-form.php:925
|
632 |
msgid "Export refunds"
|
633 |
msgstr ""
|
634 |
|
640 |
msgid "Export Status"
|
641 |
msgstr ""
|
642 |
|
643 |
+
#: view/settings-form.php:1979
|
644 |
#, php-format
|
645 |
msgid "Export total: %s orders"
|
646 |
msgstr ""
|
647 |
|
648 |
+
#: view/settings-form.php:933
|
649 |
msgid "Export unmarked orders only"
|
650 |
msgstr ""
|
651 |
|
652 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1074
|
653 |
msgid "Exported items"
|
654 |
msgstr ""
|
655 |
|
657 |
msgid "Express export"
|
658 |
msgstr ""
|
659 |
|
660 |
+
#: view/settings-form.php:1849
|
661 |
msgid "Fee name"
|
662 |
msgstr ""
|
663 |
|
673 |
msgid "Fill order columns for"
|
674 |
msgstr ""
|
675 |
|
676 |
+
#: view/settings-form.php:1330
|
677 |
msgid "Filter by billing"
|
678 |
msgstr ""
|
679 |
|
680 |
+
#: view/settings-form.php:1303
|
681 |
msgid "Filter by coupon"
|
682 |
msgstr ""
|
683 |
|
684 |
+
#: view/settings-form.php:1230
|
685 |
msgid "Filter by customer"
|
686 |
msgstr ""
|
687 |
|
688 |
+
#: view/settings-form.php:1430
|
689 |
msgid "Filter by item and metadata"
|
690 |
msgstr ""
|
691 |
|
692 |
+
#: view/settings-form.php:996
|
|
|
|
|
|
|
|
|
693 |
msgid "Filter by product"
|
694 |
msgstr ""
|
695 |
|
696 |
+
#: view/settings-form.php:1380
|
697 |
msgid "Filter by shipping"
|
698 |
msgstr ""
|
699 |
|
701 |
msgid "Filter orders by"
|
702 |
msgstr ""
|
703 |
|
704 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:755
|
705 |
msgid "First Name (Billing)"
|
706 |
msgstr ""
|
707 |
|
708 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:845
|
709 |
msgid "First Name (Shipping)"
|
710 |
msgstr ""
|
711 |
|
712 |
+
#: view/settings-form.php:501
|
713 |
msgid "Fit table to page width"
|
714 |
msgstr ""
|
715 |
|
716 |
+
#: view/settings-form.php:457 view/settings-form.php:634
|
717 |
msgid "Font size"
|
718 |
msgstr ""
|
719 |
|
720 |
+
#: view/settings-form.php:650
|
721 |
msgid "Footer text"
|
722 |
msgstr ""
|
723 |
|
724 |
+
#: view/settings-form.php:682
|
725 |
msgid "Footer text color"
|
726 |
msgstr ""
|
727 |
|
733 |
msgid "Format"
|
734 |
msgstr ""
|
735 |
|
736 |
+
#: view/settings-form.php:838
|
737 |
msgid "Format numbers (use WC decimal separator)"
|
738 |
msgstr ""
|
739 |
|
740 |
+
#: view/settings-form.php:364
|
741 |
+
msgid "Format output"
|
742 |
+
msgstr ""
|
743 |
+
|
744 |
#: classes/admin/class-wc-order-export-manage.php:26
|
745 |
msgid "Fri"
|
746 |
msgstr ""
|
747 |
|
748 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:765
|
749 |
msgid "Full Name (Billing)"
|
750 |
msgstr ""
|
751 |
|
752 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:855
|
753 |
msgid "Full Name (Shipping)"
|
754 |
msgstr ""
|
755 |
|
756 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:459
|
757 |
msgid "Full names for categories"
|
758 |
msgstr ""
|
759 |
|
765 |
msgid "Grouping by product"
|
766 |
msgstr ""
|
767 |
|
768 |
+
#: view/settings-form.php:645
|
769 |
msgid "Header text"
|
770 |
msgstr ""
|
771 |
|
772 |
+
#: view/settings-form.php:677
|
773 |
msgid "Header text color"
|
774 |
msgstr ""
|
775 |
|
776 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:419
|
777 |
msgid "Height"
|
778 |
msgstr ""
|
779 |
|
781 |
msgid "Help"
|
782 |
msgstr ""
|
783 |
|
784 |
+
#: view/tab/help.php:8
|
785 |
msgid "helpdesk system"
|
786 |
msgstr ""
|
787 |
|
788 |
+
#: view/settings-form.php:1608 view/settings-form.php:1665
|
789 |
+
#: view/settings-form.php:1695 view/settings-form.php:1759
|
790 |
+
#: view/settings-form.php:1802
|
791 |
msgid "Hide unused fields"
|
792 |
msgstr ""
|
793 |
|
794 |
+
#: view/settings-form.php:618
|
795 |
msgid "Html options"
|
796 |
msgstr ""
|
797 |
|
799 |
msgid "https://algolplus.com/"
|
800 |
msgstr ""
|
801 |
|
802 |
+
#: view/settings-form.php:1943
|
803 |
#, php-format
|
804 |
msgid ""
|
805 |
"If you see this message after page load, user interface won't work correctly!"
|
807 |
"it). Probably, it's a conflict with another plugin or active theme."
|
808 |
msgstr ""
|
809 |
|
810 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1328
|
811 |
msgid "Image"
|
812 |
msgstr ""
|
813 |
|
814 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:439
|
815 |
msgid "Image URL"
|
816 |
msgstr ""
|
817 |
|
818 |
+
#: view/settings-form.php:283 view/settings-form.php:594
|
819 |
+
#: view/settings-form.php:695
|
820 |
msgid "Images height"
|
821 |
msgstr ""
|
822 |
|
823 |
+
#: view/settings-form.php:276 view/settings-form.php:587
|
824 |
+
#: view/settings-form.php:688
|
825 |
msgid "Images width"
|
826 |
msgstr ""
|
827 |
|
833 |
msgid "Import settings"
|
834 |
msgstr ""
|
835 |
|
836 |
+
#: view/settings-form.php:1968
|
837 |
msgid "It might not work for huge datasets!"
|
838 |
msgstr ""
|
839 |
|
840 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:942
|
841 |
msgid "Item #"
|
842 |
msgstr ""
|
843 |
|
844 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:962
|
845 |
msgid "Item Cost"
|
846 |
msgstr ""
|
847 |
|
848 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:967
|
849 |
msgid "Item Cost Before Discount"
|
850 |
msgstr ""
|
851 |
|
852 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1022
|
853 |
msgid "Item Discount Amount"
|
854 |
msgstr ""
|
855 |
|
856 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1047
|
857 |
msgid "Item Discount Amount + Tax"
|
858 |
msgstr ""
|
859 |
|
860 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1042
|
861 |
msgid "Item Discount Tax"
|
862 |
msgstr ""
|
863 |
|
864 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1032
|
865 |
msgid "Item download URL"
|
866 |
msgstr ""
|
867 |
|
868 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:937
|
869 |
msgid "Item ID"
|
870 |
msgstr ""
|
871 |
|
872 |
+
#: view/settings-form.php:1173
|
873 |
msgid "Item meta data"
|
874 |
msgstr ""
|
875 |
|
876 |
+
#: view/settings-form.php:1472
|
877 |
msgid "Item metadata"
|
878 |
msgstr ""
|
879 |
|
880 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:947
|
881 |
msgid "Item Name"
|
882 |
msgstr ""
|
883 |
|
884 |
+
#: view/settings-form.php:1439
|
885 |
msgid "Item names"
|
886 |
msgstr ""
|
887 |
|
888 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1027
|
889 |
msgid "Item Tax Rate"
|
890 |
msgstr ""
|
891 |
|
892 |
+
#: view/settings-form.php:370
|
893 |
msgid "JSON options"
|
894 |
msgstr ""
|
895 |
|
897 |
msgid "Just click inside the textarea and copy (Ctrl+C)"
|
898 |
msgstr ""
|
899 |
|
900 |
+
#: view/settings-form.php:497
|
901 |
msgid "L,C or R. Comma separated list"
|
902 |
msgstr ""
|
903 |
|
904 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:760
|
905 |
msgid "Last Name (Billing)"
|
906 |
msgstr ""
|
907 |
|
908 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:850
|
909 |
msgid "Last Name (Shipping)"
|
910 |
msgstr ""
|
911 |
|
912 |
+
#: view/settings-form.php:466
|
913 |
msgid "Left align"
|
914 |
msgstr ""
|
915 |
|
916 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:414
|
917 |
msgid "Length"
|
918 |
msgstr ""
|
919 |
|
920 |
+
#: view/settings-form.php:320 view/settings-form.php:404
|
921 |
msgid "Line Break"
|
922 |
msgstr ""
|
923 |
|
924 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:575
|
925 |
msgid "Line number"
|
926 |
msgstr ""
|
927 |
|
928 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1329
|
929 |
+
msgid "Link"
|
930 |
+
msgstr ""
|
931 |
+
|
932 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:640
|
933 |
msgid "Link to edit order"
|
934 |
msgstr ""
|
935 |
|
936 |
+
#: view/settings-form.php:565
|
937 |
msgid "Logo align"
|
938 |
msgstr ""
|
939 |
|
940 |
+
#: view/settings-form.php:573
|
941 |
msgid "Logo height"
|
942 |
msgstr ""
|
943 |
|
944 |
+
#: view/settings-form.php:579
|
945 |
msgid "Logo width"
|
946 |
msgstr ""
|
947 |
|
948 |
+
#: view/tab/help.php:30
|
949 |
#, php-format
|
950 |
msgid ""
|
951 |
"Look at %s for popular plugins or check %s to study how to extend the plugin."
|
952 |
msgstr ""
|
953 |
|
954 |
+
#: classes/core/class-wc-order-export-engine.php:504
|
955 |
msgid "Main SQL queries are listed below"
|
956 |
msgstr ""
|
957 |
|
959 |
msgid "Mark exported"
|
960 |
msgstr ""
|
961 |
|
962 |
+
#: view/settings-form.php:929
|
963 |
msgid "Mark exported orders"
|
964 |
msgstr ""
|
965 |
|
966 |
+
#: view/settings-form.php:1592 view/settings-form.php:1649
|
967 |
+
#: view/settings-form.php:1799
|
968 |
msgid "Meta key"
|
969 |
msgstr ""
|
970 |
|
971 |
+
#: view/settings-form.php:1950
|
972 |
msgid "Might be different from actual export!"
|
973 |
msgstr ""
|
974 |
|
975 |
+
#: view/settings-form.php:832
|
976 |
msgid "Misc settings"
|
977 |
msgstr ""
|
978 |
|
979 |
+
#: view/settings-form.php:153 view/settings-form.php:776
|
980 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:600
|
981 |
msgid "Modification Date"
|
982 |
msgstr ""
|
983 |
|
985 |
msgid "Mon"
|
986 |
msgstr ""
|
987 |
|
988 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1325
|
989 |
msgid "Money"
|
990 |
msgstr ""
|
991 |
|
992 |
+
#: view/tab/help.php:24
|
993 |
+
#, php-format
|
994 |
+
msgid "Need help? Create ticket in %s ."
|
995 |
msgstr ""
|
996 |
|
997 |
+
#: view/settings-form.php:503
|
998 |
msgid "No"
|
999 |
msgstr ""
|
1000 |
|
1001 |
+
#: view/settings-form.php:473
|
1002 |
msgid "No page numbers"
|
1003 |
msgstr ""
|
1004 |
|
1005 |
#: classes/formats/class-woe-formatter-html.php:137
|
1006 |
+
#: classes/formats/abstract-class-woe-formatter-sv.php:107
|
1007 |
+
#: classes/formats/class-woe-formatter-xls.php:251
|
1008 |
msgid "No results"
|
1009 |
msgstr ""
|
1010 |
|
1011 |
#: classes/class-wc-order-export-admin.php:304
|
1012 |
+
#: classes/admin/tabs/ajax/trait-wc-order-export-admin-tab-abstract-ajax-export.php:117
|
1013 |
msgid "Nothing to export. Please, adjust your filters"
|
1014 |
msgstr ""
|
1015 |
|
1016 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1326
|
1017 |
msgid "Number"
|
1018 |
msgstr ""
|
1019 |
|
1020 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1111
|
1021 |
+
msgid "Number of coupons used"
|
1022 |
+
msgstr ""
|
1023 |
+
|
1024 |
#: classes/class-wc-order-export-admin.php:226
|
1025 |
msgid "one row"
|
1026 |
msgstr ""
|
1027 |
|
1028 |
+
#: view/settings-form.php:1698
|
1029 |
msgid "OR"
|
1030 |
msgstr ""
|
1031 |
|
1032 |
+
#: view/settings-form.php:1603 view/settings-form.php:1660
|
1033 |
+
#: view/settings-form.php:1690 view/settings-form.php:1754
|
1034 |
+
#: view/settings-form.php:1808
|
1035 |
msgid "or type meta key here"
|
1036 |
msgstr ""
|
1037 |
|
1038 |
+
#: view/settings-form.php:146 view/settings-form.php:775
|
1039 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:595
|
1040 |
msgid "Order Date"
|
1041 |
msgstr ""
|
1042 |
|
1043 |
+
#: view/settings-form.php:774
|
1044 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:580
|
1045 |
msgid "Order ID"
|
1046 |
msgstr ""
|
1047 |
|
1048 |
+
#: view/settings-form.php:1748
|
1049 |
msgid "Order item fields"
|
1050 |
msgstr ""
|
1051 |
|
1052 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1037
|
1053 |
msgid "Order Item Metadata"
|
1054 |
msgstr ""
|
1055 |
|
1056 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:972
|
1057 |
msgid "Order Line (w/o tax)"
|
1058 |
msgstr ""
|
1059 |
|
1060 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:992
|
1061 |
msgid "Order Line Subtotal"
|
1062 |
msgstr ""
|
1063 |
|
1064 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:997
|
1065 |
msgid "Order Line Subtotal Tax"
|
1066 |
msgstr ""
|
1067 |
|
1068 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:977
|
1069 |
msgid "Order Line Tax"
|
1070 |
msgstr ""
|
1071 |
|
1072 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:987
|
1073 |
msgid "Order Line Tax (- Refund)"
|
1074 |
msgstr ""
|
1075 |
|
1076 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:982
|
1077 |
msgid "Order Line Tax Refunded"
|
1078 |
msgstr ""
|
1079 |
|
1080 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1002
|
1081 |
msgid "Order Line Total"
|
1082 |
msgstr ""
|
1083 |
|
1084 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1017
|
1085 |
msgid "Order Line Total (- Refund)"
|
1086 |
msgstr ""
|
1087 |
|
1088 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1007
|
1089 |
msgid "Order Line Total (include tax)"
|
1090 |
msgstr ""
|
1091 |
|
1092 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1012
|
1093 |
msgid "Order Line Total Refunded"
|
1094 |
msgstr ""
|
1095 |
|
1096 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:635
|
1097 |
msgid "Order Notes"
|
1098 |
msgstr ""
|
1099 |
|
1100 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:585
|
1101 |
msgid "Order Number"
|
1102 |
msgstr ""
|
1103 |
|
1105 |
msgid "Order Refund"
|
1106 |
msgstr ""
|
1107 |
|
1108 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1216
|
1109 |
msgid "Order Refund Amount"
|
1110 |
msgstr ""
|
1111 |
|
1112 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1176
|
1113 |
msgid "Order Shipping + Tax Amount"
|
1114 |
msgstr ""
|
1115 |
|
1116 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1171
|
1117 |
msgid "Order Shipping Amount"
|
1118 |
msgstr ""
|
1119 |
|
1120 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1186
|
1121 |
msgid "Order Shipping Amount (- Refund)"
|
1122 |
msgstr ""
|
1123 |
|
1124 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1181
|
1125 |
msgid "Order Shipping Amount Refunded"
|
1126 |
msgstr ""
|
1127 |
|
1128 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1191
|
1129 |
msgid "Order Shipping Tax Amount"
|
1130 |
msgstr ""
|
1131 |
|
1132 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1201
|
1133 |
msgid "Order Shipping Tax Amount (- Refund)"
|
1134 |
msgstr ""
|
1135 |
|
1136 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1196
|
1137 |
msgid "Order Shipping Tax Refunded"
|
1138 |
msgstr ""
|
1139 |
|
1140 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:590
|
1141 |
msgid "Order Status"
|
1142 |
msgstr ""
|
1143 |
|
1144 |
+
#: view/settings-form.php:777
|
1145 |
msgid "Order status"
|
1146 |
msgstr ""
|
1147 |
|
1148 |
+
#: view/settings-form.php:935
|
1149 |
msgid "Order statuses"
|
1150 |
msgstr ""
|
1151 |
|
1153 |
msgid "Order Subscription"
|
1154 |
msgstr ""
|
1155 |
|
1156 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1131
|
1157 |
msgid "Order Subtotal - Cart Discount"
|
1158 |
msgstr ""
|
1159 |
|
1160 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1126
|
1161 |
msgid "Order Subtotal Amount"
|
1162 |
msgstr ""
|
1163 |
|
1164 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1141
|
1165 |
msgid "Order Subtotal Amount (- Refund)"
|
1166 |
msgstr ""
|
1167 |
|
1168 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1136
|
1169 |
msgid "Order Subtotal Amount Refunded"
|
1170 |
msgstr ""
|
1171 |
|
1172 |
+
#: view/settings-form.php:347
|
1173 |
msgid "Order tag"
|
1174 |
msgstr ""
|
1175 |
|
1176 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1146
|
1177 |
msgid "Order Tax Amount"
|
1178 |
msgstr ""
|
1179 |
|
1180 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1226
|
1181 |
msgid "Order Total Amount"
|
1182 |
msgstr ""
|
1183 |
|
1184 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1221
|
1185 |
msgid "Order Total Amount (- Refund)"
|
1186 |
msgstr ""
|
1187 |
|
1188 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1231
|
1189 |
msgid "Order Total Amount without Tax"
|
1190 |
msgstr ""
|
1191 |
|
1192 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1211
|
1193 |
msgid "Order Total Fee"
|
1194 |
msgstr ""
|
1195 |
|
1196 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1236
|
1197 |
msgid "Order Total Tax Amount"
|
1198 |
msgstr ""
|
1199 |
|
1200 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1246
|
1201 |
msgid "Order Total Tax Amount (- Refund)"
|
1202 |
msgstr ""
|
1203 |
|
1204 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1241
|
1205 |
msgid "Order Total Tax Amount Refunded"
|
1206 |
msgstr ""
|
1207 |
|
1209 |
msgid "Order Type"
|
1210 |
msgstr ""
|
1211 |
|
1212 |
+
#: classes/admin/class-wc-order-export-manage.php:250
|
1213 |
+
#: classes/formats/class-woe-formatter-xls.php:135
|
1214 |
msgid "Orders"
|
1215 |
msgstr ""
|
1216 |
|
1218 |
msgid "Orders range"
|
1219 |
msgstr ""
|
1220 |
|
1221 |
+
#: view/settings-form.php:439
|
1222 |
msgid "Orientation"
|
1223 |
msgstr ""
|
1224 |
|
1225 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1282
|
1226 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1307
|
1227 |
msgid "Other items"
|
1228 |
msgstr ""
|
1229 |
|
1230 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1286
|
1231 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1311
|
1232 |
msgid "Others"
|
1233 |
msgstr ""
|
1234 |
|
1235 |
#: view/settings-form.php:261 view/settings-form.php:302
|
1236 |
+
#: view/settings-form.php:399 view/settings-form.php:423
|
1237 |
+
#: view/settings-form.php:624
|
1238 |
msgid "Output column titles as first line"
|
1239 |
msgstr ""
|
1240 |
|
1241 |
+
#: view/settings-form.php:298 view/settings-form.php:395
|
1242 |
msgid "Output UTF-8 BOM"
|
1243 |
msgstr ""
|
1244 |
|
1245 |
+
#: classes/FPDF/class-woe-pdf-mc-table.php:181
|
1246 |
#, php-format
|
1247 |
msgid "Page %s / %s"
|
1248 |
msgstr ""
|
1249 |
|
1250 |
+
#: view/settings-form.php:491
|
1251 |
msgid "Page footer text"
|
1252 |
msgstr ""
|
1253 |
|
1254 |
+
#: view/settings-form.php:541
|
1255 |
msgid "Page footer text color"
|
1256 |
msgstr ""
|
1257 |
|
1258 |
+
#: view/settings-form.php:481
|
1259 |
msgid "Page header text"
|
1260 |
msgstr ""
|
1261 |
|
1262 |
+
#: view/settings-form.php:536
|
1263 |
msgid "Page header text color"
|
1264 |
msgstr ""
|
1265 |
|
1266 |
+
#: view/settings-form.php:463
|
1267 |
msgid "Page numbers"
|
1268 |
msgstr ""
|
1269 |
|
1270 |
+
#: view/settings-form.php:448
|
1271 |
msgid "Page size"
|
1272 |
msgstr ""
|
1273 |
|
1274 |
#: view/settings-form.php:160
|
1275 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:620
|
1276 |
msgid "Paid Date"
|
1277 |
msgstr ""
|
1278 |
|
1282 |
"install."
|
1283 |
msgstr ""
|
1284 |
|
1285 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1106
|
1286 |
msgid "Payment Method"
|
1287 |
msgstr ""
|
1288 |
|
1289 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1101
|
1290 |
msgid "Payment Method Title"
|
1291 |
msgstr ""
|
1292 |
|
1293 |
+
#: view/settings-form.php:1364
|
1294 |
msgid "Payment methods"
|
1295 |
msgstr ""
|
1296 |
|
1297 |
+
#: view/settings-form.php:417
|
1298 |
msgid "PDF options"
|
1299 |
msgstr ""
|
1300 |
|
1301 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:835
|
1302 |
msgid "Phone (Billing)"
|
1303 |
msgstr ""
|
1304 |
|
1305 |
+
#: view/settings-form.php:891
|
1306 |
msgid ""
|
1307 |
"Please check permissions for your role. You must have capability "
|
1308 |
"“edit_themes” to use this box."
|
1322 |
msgid "Please, install/enable PHP XML extension!"
|
1323 |
msgstr ""
|
1324 |
|
1325 |
+
#: view/tab/help.php:21
|
1326 |
+
#, php-format
|
1327 |
+
msgid "Please, review %s at first."
|
1328 |
+
msgstr ""
|
1329 |
+
|
1330 |
#: classes/class-wc-order-export-admin.php:303
|
1331 |
msgid "Please, set up fields to export"
|
1332 |
msgstr ""
|
1333 |
|
1334 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:815
|
1335 |
msgid "Postcode (Billing)"
|
1336 |
msgstr ""
|
1337 |
|
1338 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:905
|
1339 |
msgid "Postcode (Shipping)"
|
1340 |
msgstr ""
|
1341 |
|
1342 |
+
#: view/settings-form.php:341
|
1343 |
msgid "Prepend XML"
|
1344 |
msgstr ""
|
1345 |
|
1346 |
+
#: view/settings-form.php:1993
|
1347 |
msgid "Press 'Esc' to cancel the export"
|
1348 |
msgstr ""
|
1349 |
|
1350 |
+
#: view/settings-form.php:1949
|
1351 |
msgid "Preview"
|
1352 |
msgstr ""
|
1353 |
|
1354 |
+
#: view/settings-form.php:1981
|
1355 |
msgid "Preview size"
|
1356 |
msgstr ""
|
1357 |
|
1360 |
msgid "Pro version"
|
1361 |
msgstr ""
|
1362 |
|
1363 |
+
#: view/settings-form.php:1007
|
1364 |
msgid "Product categories"
|
1365 |
msgstr ""
|
1366 |
|
1367 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:389
|
1368 |
msgid "Product Current Price"
|
1369 |
msgstr ""
|
1370 |
|
1371 |
+
#: view/settings-form.php:1097
|
1372 |
msgid "Product custom fields"
|
1373 |
msgstr ""
|
1374 |
|
1375 |
+
#: view/settings-form.php:1684
|
1376 |
msgid "Product fields"
|
1377 |
msgstr ""
|
1378 |
|
1388 |
msgid "Product Name (main)"
|
1389 |
msgstr ""
|
1390 |
|
1391 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1304
|
1392 |
msgid "Product order items"
|
1393 |
msgstr ""
|
1394 |
|
1395 |
+
#: view/settings-form.php:310 view/settings-form.php:403
|
1396 |
msgid "Product rows start with a new line"
|
1397 |
msgstr ""
|
1398 |
|
1399 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:384
|
1400 |
msgid "Product Seller"
|
1401 |
msgstr ""
|
1402 |
|
1403 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:444
|
1404 |
msgid "Product Shipping Class"
|
1405 |
msgstr ""
|
1406 |
|
1407 |
+
#: view/settings-form.php:1056
|
1408 |
msgid "Product SKU"
|
1409 |
msgstr ""
|
1410 |
|
1411 |
+
#: view/settings-form.php:350
|
1412 |
msgid "Product tag"
|
1413 |
msgstr ""
|
1414 |
|
1415 |
+
#: view/settings-form.php:1062
|
1416 |
msgid "Product taxonomies"
|
1417 |
msgstr ""
|
1418 |
|
1419 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1280
|
1420 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1305
|
1421 |
msgid "Product totals"
|
1422 |
msgstr ""
|
1423 |
|
1424 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:429
|
1425 |
msgid "Product URL"
|
1426 |
msgstr ""
|
1427 |
|
1428 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:374
|
1429 |
+
msgid "Product Variation"
|
1430 |
+
msgstr ""
|
1431 |
+
|
1432 |
+
#: view/settings-form.php:1041
|
1433 |
+
#: classes/admin/class-wc-order-export-manage.php:680
|
1434 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:926
|
1435 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1279
|
1436 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1303
|
1437 |
msgid "Products"
|
1438 |
msgstr ""
|
1439 |
|
1449 |
msgid "Profiles"
|
1450 |
msgstr ""
|
1451 |
|
1452 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:952
|
1453 |
msgid "Quantity"
|
1454 |
msgstr ""
|
1455 |
|
1456 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:957
|
1457 |
msgid "Quantity (- Refund)"
|
1458 |
msgstr ""
|
1459 |
|
1460 |
+
#: view/settings-form.php:896
|
1461 |
msgid "Read how to fix it"
|
1462 |
msgstr ""
|
1463 |
|
1464 |
+
#: view/settings-form.php:1538
|
1465 |
msgid "Remove all fields"
|
1466 |
msgstr ""
|
1467 |
|
1469 |
msgid "Remove all fields?"
|
1470 |
msgstr ""
|
1471 |
|
1472 |
+
#: view/settings-form.php:562
|
1473 |
msgid "Remove logo"
|
1474 |
msgstr ""
|
1475 |
|
1476 |
+
#: view/settings-form.php:430
|
1477 |
msgid "repeat at each page"
|
1478 |
msgstr ""
|
1479 |
|
1480 |
+
#: view/settings-form.php:630
|
1481 |
msgid "repeat header as last line"
|
1482 |
msgstr ""
|
1483 |
|
1484 |
+
#: view/settings-form.php:1975
|
1485 |
msgid "Reset settings"
|
1486 |
msgstr ""
|
1487 |
|
1490 |
msgid "Result: %s"
|
1491 |
msgstr ""
|
1492 |
|
1493 |
+
#: view/settings-form.php:468
|
1494 |
msgid "Right align"
|
1495 |
msgstr ""
|
1496 |
|
1497 |
+
#: view/settings-form.php:269 view/settings-form.php:436
|
1498 |
msgid "Right-to-Left direction"
|
1499 |
msgstr ""
|
1500 |
|
1501 |
+
#: view/settings-form.php:344
|
1502 |
msgid "Root tag"
|
1503 |
msgstr ""
|
1504 |
|
1510 |
msgid "Sat"
|
1511 |
msgstr ""
|
1512 |
|
1513 |
+
#: view/settings-form.php:1956
|
1514 |
msgid "Save & Exit"
|
1515 |
msgstr ""
|
1516 |
|
1517 |
+
#: view/settings-form.php:1953 view/settings-form.php:1958
|
1518 |
msgid "Save settings"
|
1519 |
msgstr ""
|
1520 |
|
1526 |
msgid "select item field"
|
1527 |
msgstr ""
|
1528 |
|
1529 |
+
#: view/settings-form.php:550
|
1530 |
msgid "Select logo"
|
1531 |
msgstr ""
|
1532 |
|
1534 |
msgid "select product field or taxonomy"
|
1535 |
msgstr ""
|
1536 |
|
1537 |
+
#: view/settings-form.php:359
|
1538 |
msgid "Self closing tags"
|
1539 |
msgstr ""
|
1540 |
|
1542 |
msgid "Set up coupon fields"
|
1543 |
msgstr ""
|
1544 |
|
1545 |
+
#: view/settings-form.php:1512
|
1546 |
msgid "Set up fields to export"
|
1547 |
msgstr ""
|
1548 |
|
1554 |
msgid "Settings"
|
1555 |
msgstr ""
|
1556 |
|
1557 |
+
#: view/tab/help.php:10
|
1558 |
msgid "settings"
|
1559 |
msgstr ""
|
1560 |
|
1562 |
msgid "Settings saved"
|
1563 |
msgstr ""
|
1564 |
|
1565 |
+
#: view/settings-form.php:1988 view/tab/tools.php:86
|
1566 |
msgid "Settings were successfully updated!"
|
1567 |
msgstr ""
|
1568 |
|
1569 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1284
|
1570 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1309
|
1571 |
msgid "Shipping"
|
1572 |
msgstr ""
|
1573 |
|
1574 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1278
|
1575 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1302
|
1576 |
msgid "Shipping Address"
|
1577 |
msgstr ""
|
1578 |
|
1579 |
+
#: view/settings-form.php:868
|
1580 |
msgid "Shipping fields use billing details (if shipping address is empty)"
|
1581 |
msgstr ""
|
1582 |
|
1583 |
+
#: view/settings-form.php:1385
|
1584 |
msgid "Shipping locations"
|
1585 |
msgstr ""
|
1586 |
|
1587 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1161
|
1588 |
msgid "Shipping Method"
|
1589 |
msgstr ""
|
1590 |
|
1591 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1166
|
1592 |
msgid "Shipping Method (no id)"
|
1593 |
msgstr ""
|
1594 |
|
1595 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1156
|
1596 |
msgid "Shipping Method Title"
|
1597 |
msgstr ""
|
1598 |
|
1599 |
+
#: view/settings-form.php:1414
|
1600 |
msgid "Shipping methods"
|
1601 |
msgstr ""
|
1602 |
|
1603 |
+
#: view/settings-form.php:1871
|
1604 |
msgid "Shipping name"
|
1605 |
msgstr ""
|
1606 |
|
1607 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:454
|
1608 |
msgid "Short Description"
|
1609 |
msgstr ""
|
1610 |
|
1611 |
+
#: view/settings-form.php:1005
|
1612 |
msgid "Skip fully refunded items"
|
1613 |
msgstr ""
|
1614 |
|
1620 |
msgid "SKU (parent)"
|
1621 |
msgstr ""
|
1622 |
|
1623 |
+
#: view/settings-form.php:805
|
1624 |
#, php-format
|
1625 |
msgid "Sort orders by %s in %s order"
|
1626 |
msgstr ""
|
1629 |
msgid "Split values by"
|
1630 |
msgstr ""
|
1631 |
|
1632 |
+
#: view/settings-form.php:372
|
1633 |
msgid "Start tag"
|
1634 |
msgstr ""
|
1635 |
|
1636 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:795
|
1637 |
msgid "State Code (Billing)"
|
1638 |
msgstr ""
|
1639 |
|
1640 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:885
|
1641 |
msgid "State Code (Shipping)"
|
1642 |
msgstr ""
|
1643 |
|
1644 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:810
|
1645 |
msgid "State Name (Billing)"
|
1646 |
msgstr ""
|
1647 |
|
1648 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:900
|
1649 |
msgid "State Name (Shipping)"
|
1650 |
msgstr ""
|
1651 |
|
1653 |
msgid "Status change jobs"
|
1654 |
msgstr ""
|
1655 |
|
1656 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1324
|
1657 |
msgid "String"
|
1658 |
msgstr ""
|
1659 |
|
1660 |
+
#: view/settings-form.php:856
|
1661 |
msgid "Strip tags from Product Description/Variation"
|
1662 |
msgstr ""
|
1663 |
|
1669 |
msgid "Summary Report By Products"
|
1670 |
msgstr ""
|
1671 |
|
1672 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:469
|
1673 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:710
|
1674 |
msgid "Summary Report Total Amount"
|
1675 |
msgstr ""
|
1676 |
|
1677 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:715
|
1678 |
msgid "Summary Report Total Amount Paid"
|
1679 |
msgstr ""
|
1680 |
|
1681 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:479
|
1682 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:725
|
1683 |
msgid "Summary Report Total Discount"
|
1684 |
msgstr ""
|
1685 |
|
1686 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:745
|
1687 |
+
msgid "Summary Report Total Fee Amount"
|
1688 |
msgstr ""
|
1689 |
|
1690 |
#: classes/core/class-wc-order-export-data-extractor-ui.php:700
|
1691 |
+
msgid "Summary Report Total Items"
|
1692 |
+
msgstr ""
|
1693 |
+
|
1694 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:705
|
1695 |
msgid "Summary Report Total Items (Exported)"
|
1696 |
msgstr ""
|
1697 |
|
1698 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:695
|
1699 |
msgid "Summary Report Total Orders"
|
1700 |
msgstr ""
|
1701 |
|
1702 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:464
|
1703 |
msgid "Summary Report Total Quantity"
|
1704 |
msgstr ""
|
1705 |
|
1706 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:489
|
1707 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:735
|
1708 |
msgid "Summary Report Total Refund Amount"
|
1709 |
msgstr ""
|
1710 |
|
1711 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:484
|
1712 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:730
|
1713 |
+
msgid "Summary Report Total Refund Count"
|
1714 |
msgstr ""
|
1715 |
|
1716 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:720
|
1717 |
msgid "Summary Report Total Shipping"
|
1718 |
msgstr ""
|
1719 |
|
1720 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:740
|
1721 |
+
msgid "Summary Report Total Tax Amount"
|
1722 |
+
msgstr ""
|
1723 |
+
|
1724 |
#: classes/admin/class-wc-order-export-manage.php:21
|
1725 |
msgid "Sun"
|
1726 |
msgstr ""
|
1729 |
msgid "Support"
|
1730 |
msgstr ""
|
1731 |
|
1732 |
+
#: view/settings-form.php:508
|
1733 |
msgid "T,C or B. Comma separated list"
|
1734 |
msgstr ""
|
1735 |
|
1736 |
+
#: view/settings-form.php:519 view/settings-form.php:660
|
1737 |
msgid "Table header background color"
|
1738 |
msgstr ""
|
1739 |
|
1740 |
+
#: view/settings-form.php:514 view/settings-form.php:655
|
1741 |
msgid "Table header text color"
|
1742 |
msgstr ""
|
1743 |
|
1744 |
+
#: view/settings-form.php:530 view/settings-form.php:671
|
1745 |
msgid "Table row background color"
|
1746 |
msgstr ""
|
1747 |
|
1748 |
+
#: view/settings-form.php:525 view/settings-form.php:666
|
1749 |
msgid "Table row text color"
|
1750 |
msgstr ""
|
1751 |
|
1752 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:404
|
1753 |
msgid "Tags"
|
1754 |
msgstr ""
|
1755 |
|
1756 |
+
#: view/settings-form.php:1893
|
1757 |
msgid "Tax name"
|
1758 |
msgstr ""
|
1759 |
|
1760 |
+
#: view/settings-form.php:1700
|
1761 |
msgid "Taxonomy"
|
1762 |
msgstr ""
|
1763 |
|
1764 |
+
#: classes/core/class-wc-order-export-engine.php:366
|
1765 |
#, php-format
|
1766 |
msgid "The code you are trying to save produced a fatal error on line %d:"
|
1767 |
msgstr ""
|
1768 |
|
1769 |
+
#: view/settings-form.php:994
|
1770 |
msgid ""
|
1771 |
"The filters won't work correctly.<br>Another plugin(or theme) has loaded "
|
1772 |
"outdated Select2.js"
|
1773 |
msgstr ""
|
1774 |
|
1775 |
+
#: view/settings-form.php:1590 view/settings-form.php:1746
|
1776 |
msgid ""
|
1777 |
"The plugin fetches meta keys from the existing orders. So you should create "
|
1778 |
"fake order if you've added new field just now."
|
1788 |
msgid "This date range should not be saved in the scheduled task"
|
1789 |
msgstr ""
|
1790 |
|
1791 |
+
#: view/settings-form.php:708
|
1792 |
msgid "This option cancels UI settings(above) and don't applied to Preview"
|
1793 |
msgstr ""
|
1794 |
|
1795 |
+
#: view/tab/help.php:14
|
1796 |
msgid "this page"
|
1797 |
msgstr ""
|
1798 |
|
1806 |
msgid "Thu"
|
1807 |
msgstr ""
|
1808 |
|
1809 |
+
#: view/settings-form.php:743
|
1810 |
msgid "Time"
|
1811 |
msgstr ""
|
1812 |
|
1822 |
msgid "Tools"
|
1823 |
msgstr ""
|
1824 |
|
1825 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1069
|
1826 |
msgid "Total items"
|
1827 |
msgstr ""
|
1828 |
|
1829 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1079
|
1830 |
msgid "Total products"
|
1831 |
msgstr ""
|
1832 |
|
1833 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1064
|
1834 |
msgid "Total weight"
|
1835 |
msgstr ""
|
1836 |
|
1837 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1285
|
1838 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1310
|
1839 |
msgid "Totals"
|
1840 |
msgstr ""
|
1841 |
|
1842 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:605
|
1843 |
msgid "Transaction ID"
|
1844 |
msgstr ""
|
1845 |
|
1846 |
+
#: view/settings-form.php:874
|
1847 |
+
msgid "Try to convert serialized values"
|
1848 |
+
msgstr ""
|
1849 |
+
|
1850 |
+
#: view/settings-form.php:387
|
1851 |
msgid "TSV options"
|
1852 |
msgstr ""
|
1853 |
|
1855 |
msgid "Tue"
|
1856 |
msgstr ""
|
1857 |
|
1858 |
+
#: view/settings-form.php:1525
|
1859 |
msgid "Turn off mode Summary report to export order fields"
|
1860 |
msgstr ""
|
1861 |
|
1862 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:394
|
1863 |
msgid "Type"
|
1864 |
msgstr ""
|
1865 |
|
1877 |
msgid "Unmark exported"
|
1878 |
msgstr ""
|
1879 |
|
1880 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1318
|
1881 |
msgid "Use \"Add field\" to export specific product attribute"
|
1882 |
msgstr ""
|
1883 |
|
1884 |
+
#: view/settings-form.php:900
|
1885 |
msgid "Use only unnamed functions!"
|
1886 |
msgstr ""
|
1887 |
|
1888 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1317
|
1889 |
msgid "Use section \"Product order items\" to add attributes"
|
1890 |
msgstr ""
|
1891 |
|
1893 |
msgid "Use sheet name"
|
1894 |
msgstr ""
|
1895 |
|
1896 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1276
|
1897 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:1300
|
1898 |
msgid "User"
|
1899 |
msgstr ""
|
1900 |
|
1901 |
+
#: view/tab/help.php:6
|
1902 |
+
msgid "user guide"
|
1903 |
+
msgstr ""
|
1904 |
+
|
1905 |
+
#: view/settings-form.php:1248
|
1906 |
msgid "User roles"
|
1907 |
msgstr ""
|
1908 |
|
1909 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:665
|
1910 |
msgid "User Website"
|
1911 |
msgstr ""
|
1912 |
|
1913 |
+
#: view/settings-form.php:1234
|
1914 |
msgid "Usernames"
|
1915 |
msgstr ""
|
1916 |
|
1917 |
+
#: view/settings-form.php:1633 view/settings-form.php:1730
|
1918 |
+
#: view/settings-form.php:1783 view/settings-form.php:1831
|
1919 |
msgid "Value"
|
1920 |
msgstr ""
|
1921 |
|
1922 |
+
#: view/settings-form.php:1138
|
1923 |
msgid "Variable product attributes"
|
1924 |
msgstr ""
|
1925 |
|
1926 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:379
|
1927 |
msgid "Variation Id"
|
1928 |
msgstr ""
|
1929 |
|
1930 |
+
#: view/settings-form.php:1025
|
1931 |
msgid "Vendors/creators"
|
1932 |
msgstr ""
|
1933 |
|
1935 |
msgid "Wed"
|
1936 |
msgstr ""
|
1937 |
|
1938 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:424
|
1939 |
msgid "Weight"
|
1940 |
msgstr ""
|
1941 |
|
1942 |
+
#: classes/core/class-wc-order-export-data-extractor-ui.php:409
|
1943 |
msgid "Width"
|
1944 |
msgstr ""
|
1945 |
|
1955 |
msgid "XML options"
|
1956 |
msgstr ""
|
1957 |
|
1958 |
+
#: view/settings-form.php:502
|
1959 |
msgid "Yes"
|
1960 |
msgstr ""
|
1961 |
|
readme.txt
CHANGED
@@ -1,11 +1,11 @@
|
|
1 |
=== Advanced Order Export For WooCommerce ===
|
2 |
Contributors: algolplus
|
3 |
-
Donate link: https://
|
4 |
Tags: woocommerce,export,order,xls,csv,xml,woo export lite,export orders,orders export,csv export,xml export,xls export,tsv
|
5 |
Requires PHP: 5.4.0
|
6 |
Requires at least: 4.7
|
7 |
-
Tested up to: 5.
|
8 |
-
Stable tag: 3.1.
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
@@ -61,10 +61,12 @@ Install and activate plugin, visit WooCommerce > Export Orders.
|
|
61 |
|
62 |
== Frequently Asked Questions ==
|
63 |
|
64 |
-
|
65 |
|
66 |
Check [some snippets](https://algolplus.com/plugins/snippets-plugins/) for popular plugins or review [this page](https://algolplus.com/plugins/code-samples/) to study how to extend the plugin.
|
67 |
|
|
|
|
|
68 |
= I want to add a product attribute to the export =
|
69 |
Check screenshot #5! You should open section "Set up fields", open section "Product order items"(right column), click button "Add field", select field in 1st dropdown, type column title and press button "Confirm".
|
70 |
|
@@ -98,6 +100,9 @@ You should open tab "CSV" and set up ISO-8859-1 as codepage.
|
|
98 |
= Preview shows wrong values, I use Summary mode =
|
99 |
This button processes only first 5 orders by default, so you should run the export to see correct values.
|
100 |
|
|
|
|
|
|
|
101 |
= Can I request any new feature ? =
|
102 |
Yes, you can email a request to aprokaev@gmail.com. We intensively develop this plugin.
|
103 |
|
@@ -112,6 +117,23 @@ Yes, you can email a request to aprokaev@gmail.com. We intensively develop this
|
|
112 |
|
113 |
== Changelog ==
|
114 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
115 |
= 3.1.4 - 2020-04-15 =
|
116 |
* Prevent XSS attack (CVE-2020-11727). Thank Jack Misiura for reporting this vulnerability!
|
117 |
|
1 |
=== Advanced Order Export For WooCommerce ===
|
2 |
Contributors: algolplus
|
3 |
+
Donate link: https://paypal.me/ipprokaev/0usd
|
4 |
Tags: woocommerce,export,order,xls,csv,xml,woo export lite,export orders,orders export,csv export,xml export,xls export,tsv
|
5 |
Requires PHP: 5.4.0
|
6 |
Requires at least: 4.7
|
7 |
+
Tested up to: 5.5
|
8 |
+
Stable tag: 3.1.5
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
61 |
|
62 |
== Frequently Asked Questions ==
|
63 |
|
64 |
+
Please, review [user guide](https://docs.algolplus.com/order-export-docs/) at first.
|
65 |
|
66 |
Check [some snippets](https://algolplus.com/plugins/snippets-plugins/) for popular plugins or review [this page](https://algolplus.com/plugins/code-samples/) to study how to extend the plugin.
|
67 |
|
68 |
+
Still need help? Create ticket in [helpdesk system](https://algolplus.freshdesk.com). Don't forget to attach your settings or some screenshots. It will significantly reduce reply time :)
|
69 |
+
|
70 |
= I want to add a product attribute to the export =
|
71 |
Check screenshot #5! You should open section "Set up fields", open section "Product order items"(right column), click button "Add field", select field in 1st dropdown, type column title and press button "Confirm".
|
72 |
|
100 |
= Preview shows wrong values, I use Summary mode =
|
101 |
This button processes only first 5 orders by default, so you should run the export to see correct values.
|
102 |
|
103 |
+
= Is it compatible with "WooCommerce Custom Orders Table" plugin (by Liquid Web) ? =
|
104 |
+
No, as we provide a lot of filters which can not be implemented using WooCommerce classes. So we use direct access to database/tables.
|
105 |
+
|
106 |
= Can I request any new feature ? =
|
107 |
Yes, you can email a request to aprokaev@gmail.com. We intensively develop this plugin.
|
108 |
|
117 |
|
118 |
== Changelog ==
|
119 |
|
120 |
+
= 3.1.5 - 2020-08-24 =
|
121 |
+
* Compatible with PHP 7.4
|
122 |
+
* Added option "Format output" (XML format)
|
123 |
+
* Added option "Don't break order lines by 2 pages" (PDF format)
|
124 |
+
* Added option "Add links to images" (PDF format)
|
125 |
+
* Added option "Try to convert serialized values" (Misc Settings)
|
126 |
+
* Added fields "Summary Report Total Fee Amount", "Summary Report Total Tax Amount"
|
127 |
+
* Fixed bug - 'wc doing it wrong' notice (direct access to product parent property)
|
128 |
+
* Fixed bug - option "Change order status" worked only for button "Export w/o progress"
|
129 |
+
* Fixed bug - option "Add products as " = "0 columns" incorrectly worked for button "Export"
|
130 |
+
* Fixed bug - field "Embedded Product Image" showed parent image for variation
|
131 |
+
* Fixed bug - mode "Summary Report By Products" incorrectly worked with variations
|
132 |
+
* Fixed bug - custom and static fields were empty in "Summary by customers" mode
|
133 |
+
* Fixed bug - draft products were visible in autocomplete
|
134 |
+
* Fixed bug - button "Import" was shown as disabled at tab "Tools"
|
135 |
+
* New hooks for PDF format
|
136 |
+
|
137 |
= 3.1.4 - 2020-04-15 =
|
138 |
* Prevent XSS attack (CVE-2020-11727). Thank Jack Misiura for reporting this vulnerability!
|
139 |
|
view/settings-form.php
CHANGED
@@ -337,6 +337,7 @@ function remove_time_from_date( $datetime ) {
|
|
337 |
<div style="color:red"><?php _e( 'Please, install/enable PHP XML extension!', 'woo-order-export-lite' ) ?></div>
|
338 |
<?php endif ?>
|
339 |
<input type=hidden name="settings[format_xml_self_closing_tags]" value=0>
|
|
|
340 |
<span class="xml-title"><?php _e( 'Prepend XML', 'woo-order-export-lite' ) ?></span><input type=text
|
341 |
name="settings[format_xml_prepend_raw_xml]"
|
342 |
value='<?php echo $settings['format_xml_prepend_raw_xml'] ?>'><br><br>
|
@@ -359,7 +360,12 @@ function remove_time_from_date( $datetime ) {
|
|
359 |
type=checkbox name="settings[format_xml_self_closing_tags]"
|
360 |
value=1 <?php if ( @$settings['format_xml_self_closing_tags'] ) {
|
361 |
echo 'checked';
|
362 |
-
|
|
|
|
|
|
|
|
|
|
|
363 |
</div>
|
364 |
<div id='JSON_options' style='display:none'><strong><?php _e( 'JSON options',
|
365 |
'woo-order-export-lite' ) ?></strong><br>
|
@@ -422,8 +428,13 @@ function remove_time_from_date( $datetime ) {
|
|
422 |
value=1 <?php if ( @$settings['format_pdf_repeat_header'] ) {
|
423 |
echo 'checked';
|
424 |
} ?> > <?php _e( 'repeat at each page', 'woo-order-export-lite' ) ?>)<br>
|
425 |
-
|
426 |
-
|
|
|
|
|
|
|
|
|
|
|
427 |
<div class="pdf_two_col_block">
|
428 |
<?php _e( 'Orientation', 'woo-order-export-lite' ) ?><br>
|
429 |
<select name="settings[format_pdf_orientation]">
|
@@ -586,6 +597,22 @@ function remove_time_from_date( $datetime ) {
|
|
586 |
value='<?php echo $settings['format_pdf_row_images_height'] ?>' min="0">
|
587 |
</div>
|
588 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
589 |
</div>
|
590 |
|
591 |
<div id='HTML_options' style='display:none'><strong><?php _e( 'Html options',
|
@@ -757,8 +784,8 @@ function remove_time_from_date( $datetime ) {
|
|
757 |
?>
|
758 |
<select name="settings[sort]">
|
759 |
<?php foreach ( $sort as $value => $text ): ?>
|
760 |
-
<option value='<?php echo $value ?>' <?php echo selected( @$settings['sort'],
|
761 |
-
$value ) ?> ><?php echo $text; ?></option>
|
762 |
<?php endforeach; ?>
|
763 |
</select>
|
764 |
<?php
|
@@ -781,7 +808,8 @@ function remove_time_from_date( $datetime ) {
|
|
781 |
</div>
|
782 |
<br>
|
783 |
|
784 |
-
|
|
|
785 |
<div id="my-change-status" class="my-block">
|
786 |
<label for="change_order_status_to"><?php _e( 'Change order status to',
|
787 |
'woo-order-export-lite' ) ?></label>
|
@@ -797,12 +825,13 @@ function remove_time_from_date( $datetime ) {
|
|
797 |
</select>
|
798 |
</div>
|
799 |
<br>
|
800 |
-
|
801 |
-
|
|
|
802 |
<div class="my-block">
|
803 |
<span class="my-hide-next "><?php _e( 'Misc settings', 'woo-order-export-lite' ) ?>
|
804 |
<span class="ui-icon ui-icon-triangle-1-s my-icon-triangle"></span></span>
|
805 |
-
<div id="my-misc"
|
806 |
<div>
|
807 |
<input type="hidden" name="settings[format_number_fields]" value="0"/>
|
808 |
<label><input type="checkbox" name="settings[format_number_fields]"
|
@@ -839,6 +868,12 @@ function remove_time_from_date( $datetime ) {
|
|
839 |
value="1" <?php checked( $settings['billing_details_for_shipping'] ) ?>/><?php _e( 'Shipping fields use billing details (if shipping address is empty)',
|
840 |
'woo-order-export-lite' ) ?></label>
|
841 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
842 |
<div>
|
843 |
<input type="hidden" name="settings[enable_debug]" value="0"/>
|
844 |
<label><input type="checkbox" name="settings[enable_debug]"
|
@@ -874,77 +909,82 @@ function remove_time_from_date( $datetime ) {
|
|
874 |
<div id="my-right" style="float: left; width: 48%; margin: 0px 10px; max-width: 500px;">
|
875 |
<?php do_action( 'woe_settings_form_view_destinations', $settings ); ?>
|
876 |
<div class="my-block">
|
877 |
-
|
|
|
|
|
|
|
|
|
878 |
<span class="ui-icon ui-icon-triangle-1-s my-icon-triangle"></span></span>
|
879 |
-
|
880 |
-
|
881 |
-
|
882 |
-
|
883 |
-
|
884 |
-
|
885 |
-
|
886 |
-
|
887 |
-
|
888 |
-
|
889 |
-
|
890 |
-
|
891 |
-
|
892 |
-
|
893 |
-
|
894 |
-
|
895 |
-
|
896 |
-
|
897 |
-
|
898 |
-
style="width: 100%; max-width: 25%;">
|
899 |
-
<?php foreach (
|
900 |
-
apply_filters( 'woe_settings_order_statuses', wc_get_order_statuses() ) as $i => $status
|
901 |
-
) { ?>
|
902 |
-
<option value="<?php echo $i ?>" <?php if ( in_array( $i, $settings['statuses'] ) ) {
|
903 |
-
echo 'selected';
|
904 |
-
} ?>><?php echo $status ?></option>
|
905 |
-
<?php } ?>
|
906 |
-
</select>
|
907 |
-
<div>
|
908 |
-
<div class="custom-fields__wrapper">
|
909 |
-
<div>
|
910 |
-
<span class="wc-oe-header"><?php _e( 'Custom fields', 'woo-order-export-lite' ) ?></span>
|
911 |
-
</div>
|
912 |
-
<div class="custom-fields__condotion-wrapper custom-fields__condotion-wrapper_position">
|
913 |
-
<select id="custom_fields" class="select2-i18n" data-select2-i18n-width="150" style="width: auto;">
|
914 |
-
<?php foreach ( WC_Order_Export_Data_Extractor_UI::get_order_custom_fields() as $cf_name ) { ?>
|
915 |
-
<option><?php echo $cf_name; ?></option>
|
916 |
-
<?php } ?>
|
917 |
-
</select>
|
918 |
-
|
919 |
-
<select id="custom_fields_compare" class="select_compare">
|
920 |
-
<option>=</option>
|
921 |
-
<option><></option>
|
922 |
-
<option>LIKE</option>
|
923 |
-
<option>></option>
|
924 |
-
<option>>=</option>
|
925 |
-
<option><</option>
|
926 |
-
<option><=</option>
|
927 |
-
<option>NOT SET</option>
|
928 |
-
<option>IS SET</option>
|
929 |
-
</select>
|
930 |
-
|
931 |
-
<input type="text" id="text_custom_fields" disabled class="like-input" style="display: none;">
|
932 |
-
<button id="add_custom_fields" class="button-secondary"><span
|
933 |
-
class="dashicons dashicons-plus-alt"></span></button>
|
934 |
-
</div>
|
935 |
-
</div>
|
936 |
-
<select id="custom_fields_check" class="select2-i18n" multiple name="settings[order_custom_fields][]"
|
937 |
style="width: 100%; max-width: 25%;">
|
938 |
-
<?php
|
939 |
-
|
940 |
-
|
941 |
-
|
942 |
-
|
943 |
-
|
944 |
-
} ?>
|
945 |
</select>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
946 |
</div>
|
947 |
-
|
948 |
</div>
|
949 |
|
950 |
<br>
|
@@ -955,7 +995,7 @@ function remove_time_from_date( $datetime ) {
|
|
955 |
'woo-order-export-lite' ) ?></div>
|
956 |
<span class="my-hide-next "><?php _e( 'Filter by product', 'woo-order-export-lite' ) ?>
|
957 |
<span class="ui-icon ui-icon-triangle-1-s my-icon-triangle"></span></span>
|
958 |
-
|
959 |
<div><input type="hidden" name="settings[all_products_from_order]" value="0"/><label><input
|
960 |
type="checkbox" name="settings[all_products_from_order]"
|
961 |
value="1" <?php checked( $settings['all_products_from_order'] ) ?> /> <?php _e( 'Export all products from the order',
|
@@ -1060,7 +1100,7 @@ function remove_time_from_date( $datetime ) {
|
|
1060 |
<select id="product_custom_fields" class="select2-i18n" data-select2-i18n-width="150"
|
1061 |
style="width: auto;">
|
1062 |
<?php foreach ( WC_Order_Export_Data_Extractor_UI::get_product_custom_fields() as $cf_name ) { ?>
|
1063 |
-
<option><?php echo $cf_name; ?></option>
|
1064 |
<?php } ?>
|
1065 |
</select>
|
1066 |
|
@@ -1189,7 +1229,7 @@ function remove_time_from_date( $datetime ) {
|
|
1189 |
<div class="my-block">
|
1190 |
<span class="my-hide-next "><?php _e( 'Filter by customer', 'woo-order-export-lite' ) ?>
|
1191 |
<span class="ui-icon ui-icon-triangle-1-s my-icon-triangle"></span></span>
|
1192 |
-
|
1193 |
|
1194 |
<span class="wc-oe-header"><?php _e( 'Usernames', 'woo-order-export-lite' ) ?></span>
|
1195 |
<select id="user_names" class="select2-i18n" data-select2-i18n-ajax-method="get_users"
|
@@ -1262,7 +1302,7 @@ function remove_time_from_date( $datetime ) {
|
|
1262 |
<div class="my-block">
|
1263 |
<span class="my-hide-next "><?php _e( 'Filter by coupon', 'woo-order-export-lite' ) ?>
|
1264 |
<span class="ui-icon ui-icon-triangle-1-s my-icon-triangle"></span></span>
|
1265 |
-
<div id="my-coupons"
|
1266 |
<div>
|
1267 |
<input type="hidden" name="settings[any_coupon_used]" value="0"/>
|
1268 |
<label><input type="checkbox" name="settings[any_coupon_used]"
|
@@ -1289,7 +1329,7 @@ function remove_time_from_date( $datetime ) {
|
|
1289 |
<div class="my-block">
|
1290 |
<span class="my-hide-next "><?php _e( 'Filter by billing', 'woo-order-export-lite' ) ?>
|
1291 |
<span class="ui-icon ui-icon-triangle-1-s my-icon-triangle"></span></span>
|
1292 |
-
|
1293 |
<div class="custom-fields__wrapper">
|
1294 |
<div>
|
1295 |
<span class="wc-oe-header"><?php _e( 'Billing locations', 'woo-order-export-lite' ) ?></span>
|
@@ -1339,7 +1379,7 @@ function remove_time_from_date( $datetime ) {
|
|
1339 |
<div class="my-block">
|
1340 |
<span class="my-hide-next "><?php _e( 'Filter by shipping', 'woo-order-export-lite' ) ?>
|
1341 |
<span class="ui-icon ui-icon-triangle-1-s my-icon-triangle"></span></span>
|
1342 |
-
<div id="my-shipping"
|
1343 |
<div class="custom-fields__wrapper">
|
1344 |
<div>
|
1345 |
<span class="wc-oe-header"><?php _e( 'Shipping locations', 'woo-order-export-lite' ) ?></span>
|
@@ -1389,7 +1429,7 @@ function remove_time_from_date( $datetime ) {
|
|
1389 |
<div class="my-block">
|
1390 |
<span class="my-hide-next "><?php _e( 'Filter by item and metadata', 'woo-order-export-lite' ) ?>
|
1391 |
<span class="ui-icon ui-icon-triangle-1-s my-icon-triangle"></span></span>
|
1392 |
-
|
1393 |
<div><input type="hidden" name="settings[export_matched_items]" value="0"/><label><input
|
1394 |
type="checkbox" name="settings[export_matched_items]"
|
1395 |
value="1" <?php checked( $settings['export_matched_items'] ) ?> /> <?php _e( 'Export only matched product items',
|
@@ -1464,16 +1504,15 @@ function remove_time_from_date( $datetime ) {
|
|
1464 |
</div>
|
1465 |
</div>
|
1466 |
</div>
|
1467 |
-
|
1468 |
</div>
|
1469 |
|
1470 |
-
<div class="
|
1471 |
<br>
|
1472 |
<div class="my-block">
|
1473 |
<span id='adjust-fields-btn' class="my-hide-next "><?php _e( 'Set up fields to export',
|
1474 |
'woo-order-export-lite' ) ?>
|
1475 |
<span class="ui-icon ui-icon-triangle-1-s my-icon-triangle"></span></span>
|
1476 |
-
|
1477 |
<div style="display: grid; grid-template-columns: 10fr 1fr 10fr;">
|
1478 |
<div class="clear"></div>
|
1479 |
<div></div>
|
@@ -1555,7 +1594,7 @@ function remove_time_from_date( $datetime ) {
|
|
1555 |
<select class="set-up__selects" id='select_custom_meta_order'>
|
1556 |
<?php
|
1557 |
foreach ( $order_custom_meta_fields['order'] as $meta_id => $meta_name ) {
|
1558 |
-
echo "<option value='" .
|
1559 |
};
|
1560 |
?>
|
1561 |
</select>
|
337 |
<div style="color:red"><?php _e( 'Please, install/enable PHP XML extension!', 'woo-order-export-lite' ) ?></div>
|
338 |
<?php endif ?>
|
339 |
<input type=hidden name="settings[format_xml_self_closing_tags]" value=0>
|
340 |
+
<input type=hidden name="settings[format_xml_preview_format]" value=0>
|
341 |
<span class="xml-title"><?php _e( 'Prepend XML', 'woo-order-export-lite' ) ?></span><input type=text
|
342 |
name="settings[format_xml_prepend_raw_xml]"
|
343 |
value='<?php echo $settings['format_xml_prepend_raw_xml'] ?>'><br><br>
|
360 |
type=checkbox name="settings[format_xml_self_closing_tags]"
|
361 |
value=1 <?php if ( @$settings['format_xml_self_closing_tags'] ) {
|
362 |
echo 'checked';
|
363 |
+
} ?> ><br><br>
|
364 |
+
<span class="xml-title"><?php _e( 'Format output', 'woo-order-export-lite' ) ?></span><input
|
365 |
+
type=checkbox name="settings[format_xml_preview_format]"
|
366 |
+
value=1 <?php if ( @$settings['format_xml_preview_format'] ) {
|
367 |
+
echo 'checked';
|
368 |
+
} ?> ><br><br>
|
369 |
</div>
|
370 |
<div id='JSON_options' style='display:none'><strong><?php _e( 'JSON options',
|
371 |
'woo-order-export-lite' ) ?></strong><br>
|
428 |
value=1 <?php if ( @$settings['format_pdf_repeat_header'] ) {
|
429 |
echo 'checked';
|
430 |
} ?> > <?php _e( 'repeat at each page', 'woo-order-export-lite' ) ?>)<br>
|
431 |
+
<!--
|
432 |
+
<input type=hidden name="settings[format_pdf_direction_rtl]" value=0>
|
433 |
+
<input type=checkbox name="settings[format_pdf_direction_rtl]"
|
434 |
+
value=1 <?php if ( @$settings['format_pdf_direction_rtl'] ) {
|
435 |
+
echo 'checked';
|
436 |
+
} ?> > <?php _e( 'Right-to-Left direction', 'woo-order-export-lite' ) ?><br>
|
437 |
+
-->
|
438 |
<div class="pdf_two_col_block">
|
439 |
<?php _e( 'Orientation', 'woo-order-export-lite' ) ?><br>
|
440 |
<select name="settings[format_pdf_orientation]">
|
597 |
value='<?php echo $settings['format_pdf_row_images_height'] ?>' min="0">
|
598 |
</div>
|
599 |
|
600 |
+
<div class="pdf_two_col_block">
|
601 |
+
<input type=hidden name="settings[format_pdf_row_dont_page_break_order_lines]" value="0">
|
602 |
+
<input type=checkbox name="settings[format_pdf_row_dont_page_break_order_lines]"
|
603 |
+
value="1" <?php if ( @$settings['format_pdf_row_dont_page_break_order_lines'] ) {
|
604 |
+
echo 'checked';
|
605 |
+
} ?> > <?php _e( 'Don\'t put page break between order lines', 'woo-order-export-lite' ) ?>
|
606 |
+
</div>
|
607 |
+
|
608 |
+
<div class="pdf_two_col_block" style="margin-top:10px">
|
609 |
+
<input type=hidden name="settings[format_pdf_row_images_add_link]" value="0">
|
610 |
+
<input type=checkbox name="settings[format_pdf_row_images_add_link]"
|
611 |
+
value="1" <?php if ( @$settings['format_pdf_row_images_add_link'] ) {
|
612 |
+
echo 'checked';
|
613 |
+
} ?> > <?php _e( 'Add links to images', 'woo-order-export-lite' ) ?>
|
614 |
+
</div>
|
615 |
+
|
616 |
</div>
|
617 |
|
618 |
<div id='HTML_options' style='display:none'><strong><?php _e( 'Html options',
|
784 |
?>
|
785 |
<select name="settings[sort]">
|
786 |
<?php foreach ( $sort as $value => $text ): ?>
|
787 |
+
<option value='<?php echo esc_attr($value) ?>' <?php echo selected( @$settings['sort'],
|
788 |
+
$value ) ?> ><?php echo esc_attr($text); ?></option>
|
789 |
<?php endforeach; ?>
|
790 |
</select>
|
791 |
<?php
|
808 |
</div>
|
809 |
<br>
|
810 |
|
811 |
+
<?php if ( ! isset( $woe_order_post_type ) || $woe_order_post_type != 'shop_subscription' ) { ?>
|
812 |
+
<?php if ( $mode === WC_Order_Export_Manage::EXPORT_SCHEDULE || $mode === WC_Order_Export_Manage::EXPORT_PROFILE ) { ?>
|
813 |
<div id="my-change-status" class="my-block">
|
814 |
<label for="change_order_status_to"><?php _e( 'Change order status to',
|
815 |
'woo-order-export-lite' ) ?></label>
|
825 |
</select>
|
826 |
</div>
|
827 |
<br>
|
828 |
+
<?php } ?>
|
829 |
+
<?php } ?>
|
830 |
+
|
831 |
<div class="my-block">
|
832 |
<span class="my-hide-next "><?php _e( 'Misc settings', 'woo-order-export-lite' ) ?>
|
833 |
<span class="ui-icon ui-icon-triangle-1-s my-icon-triangle"></span></span>
|
834 |
+
<div id="my-misc" class="hide">
|
835 |
<div>
|
836 |
<input type="hidden" name="settings[format_number_fields]" value="0"/>
|
837 |
<label><input type="checkbox" name="settings[format_number_fields]"
|
868 |
value="1" <?php checked( $settings['billing_details_for_shipping'] ) ?>/><?php _e( 'Shipping fields use billing details (if shipping address is empty)',
|
869 |
'woo-order-export-lite' ) ?></label>
|
870 |
</div>
|
871 |
+
<div>
|
872 |
+
<input type="hidden" name="settings[convert_serialized_values]" value="0"/>
|
873 |
+
<label><input type="checkbox" name="settings[convert_serialized_values]"
|
874 |
+
value="1" <?php checked( $settings['convert_serialized_values'] ) ?>/><?php _e( 'Try to convert serialized values',
|
875 |
+
'woo-order-export-lite' ) ?></label>
|
876 |
+
</div>
|
877 |
<div>
|
878 |
<input type="hidden" name="settings[enable_debug]" value="0"/>
|
879 |
<label><input type="checkbox" name="settings[enable_debug]"
|
909 |
<div id="my-right" style="float: left; width: 48%; margin: 0px 10px; max-width: 500px;">
|
910 |
<?php do_action( 'woe_settings_form_view_destinations', $settings ); ?>
|
911 |
<div class="my-block">
|
912 |
+
<?php if ( $woe_order_post_type && $woe_order_post_type === 'shop_subscription' ) {
|
913 |
+
include_once WOE_PRO_PLUGIN_BASEPATH . '/view/filter-by-subscription.php';
|
914 |
+
} else {
|
915 |
+
?>
|
916 |
+
<span class="my-hide-next "><?php _e( 'Filter by order', 'export' ); ?>
|
917 |
<span class="ui-icon ui-icon-triangle-1-s my-icon-triangle"></span></span>
|
918 |
+
<div id="my-order" class="hide">
|
919 |
+
<div><input type="hidden" name="settings[skip_suborders]" value="0"/><label><input type="checkbox"
|
920 |
+
name="settings[skip_suborders]"
|
921 |
+
value="1" <?php checked( $settings['skip_suborders'] ) ?> /> <?php _e( "Don't export child orders",
|
922 |
+
'woo-order-export-lite' ) ?></label></div>
|
923 |
+
<div><input type="hidden" name="settings[export_refunds]" value="0"/><label><input type="checkbox"
|
924 |
+
name="settings[export_refunds]"
|
925 |
+
value="1" <?php checked( $settings['export_refunds'] ) ?> /> <?php _e( "Export refunds",
|
926 |
+
'woo-order-export-lite' ) ?></label></div>
|
927 |
+
<div><input type="hidden" name="settings[mark_exported_orders]" value="0"/><label><input type="checkbox"
|
928 |
+
name="settings[mark_exported_orders]"
|
929 |
+
value="1" <?php checked( $settings['mark_exported_orders'] ) ?> /> <?php _e( "Mark exported orders",
|
930 |
+
'woo-order-export-lite' ) ?></label></div>
|
931 |
+
<div><input type="hidden" name="settings[export_unmarked_orders]" value="0"/><label><input
|
932 |
+
type="checkbox" name="settings[export_unmarked_orders]"
|
933 |
+
value="1" <?php checked( $settings['export_unmarked_orders'] ) ?> /> <?php _e( "Export unmarked orders only",
|
934 |
+
'woo-order-export-lite' ) ?></label></div>
|
935 |
+
<span class="wc-oe-header"><?php _e( 'Order statuses', 'woo-order-export-lite' ); ?></span>
|
936 |
+
<select id="statuses" class="select2-i18n" name="settings[statuses][]" multiple="multiple"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
937 |
style="width: 100%; max-width: 25%;">
|
938 |
+
<?php foreach (
|
939 |
+
apply_filters( 'woe_settings_order_statuses', wc_get_order_statuses() ) as $i => $status
|
940 |
+
) { ?>
|
941 |
+
<option value="<?php echo $i ?>" <?php if ( in_array( $i, $settings['statuses'] ) ) {
|
942 |
+
echo 'selected';
|
943 |
+
} ?>><?php echo $status ?></option>
|
944 |
+
<?php } ?>
|
945 |
</select>
|
946 |
+
<div>
|
947 |
+
<div class="custom-fields__wrapper">
|
948 |
+
<div>
|
949 |
+
<span class="wc-oe-header"><?php _e( 'Custom fields', 'woo-order-export-lite' ) ?></span>
|
950 |
+
</div>
|
951 |
+
<div class="custom-fields__condotion-wrapper custom-fields__condotion-wrapper_position">
|
952 |
+
<select id="custom_fields" class="select2-i18n" data-select2-i18n-width="150" style="width: auto;">
|
953 |
+
<?php foreach ( WC_Order_Export_Data_Extractor_UI::get_order_custom_fields() as $cf_name ) { ?>
|
954 |
+
<option><?php echo esc_attr( $cf_name); ?></option>
|
955 |
+
<?php } ?>
|
956 |
+
</select>
|
957 |
+
|
958 |
+
<select id="custom_fields_compare" class="select_compare">
|
959 |
+
<option>=</option>
|
960 |
+
<option><></option>
|
961 |
+
<option>LIKE</option>
|
962 |
+
<option>></option>
|
963 |
+
<option>>=</option>
|
964 |
+
<option><</option>
|
965 |
+
<option><=</option>
|
966 |
+
<option>NOT SET</option>
|
967 |
+
<option>IS SET</option>
|
968 |
+
</select>
|
969 |
+
|
970 |
+
<input type="text" id="text_custom_fields" disabled class="like-input" style="display: none;">
|
971 |
+
<button id="add_custom_fields" class="button-secondary"><span
|
972 |
+
class="dashicons dashicons-plus-alt"></span></button>
|
973 |
+
</div>
|
974 |
+
</div>
|
975 |
+
<select id="custom_fields_check" class="select2-i18n" multiple name="settings[order_custom_fields][]"
|
976 |
+
style="width: 100%; max-width: 25%;">
|
977 |
+
<?php
|
978 |
+
if ( $settings['order_custom_fields'] ) {
|
979 |
+
foreach ( $settings['order_custom_fields'] as $prod ) {
|
980 |
+
?>
|
981 |
+
<option selected value="<?php echo $prod; ?>"> <?php echo $prod; ?></option>
|
982 |
+
<?php }
|
983 |
+
} ?>
|
984 |
+
</select>
|
985 |
+
</div>
|
986 |
</div>
|
987 |
+
<?php } ?>
|
988 |
</div>
|
989 |
|
990 |
<br>
|
995 |
'woo-order-export-lite' ) ?></div>
|
996 |
<span class="my-hide-next "><?php _e( 'Filter by product', 'woo-order-export-lite' ) ?>
|
997 |
<span class="ui-icon ui-icon-triangle-1-s my-icon-triangle"></span></span>
|
998 |
+
<div id="my-products" class="hide">
|
999 |
<div><input type="hidden" name="settings[all_products_from_order]" value="0"/><label><input
|
1000 |
type="checkbox" name="settings[all_products_from_order]"
|
1001 |
value="1" <?php checked( $settings['all_products_from_order'] ) ?> /> <?php _e( 'Export all products from the order',
|
1100 |
<select id="product_custom_fields" class="select2-i18n" data-select2-i18n-width="150"
|
1101 |
style="width: auto;">
|
1102 |
<?php foreach ( WC_Order_Export_Data_Extractor_UI::get_product_custom_fields() as $cf_name ) { ?>
|
1103 |
+
<option><?php echo esc_attr($cf_name); ?></option>
|
1104 |
<?php } ?>
|
1105 |
</select>
|
1106 |
|
1229 |
<div class="my-block">
|
1230 |
<span class="my-hide-next "><?php _e( 'Filter by customer', 'woo-order-export-lite' ) ?>
|
1231 |
<span class="ui-icon ui-icon-triangle-1-s my-icon-triangle"></span></span>
|
1232 |
+
<div id="my-users" class="hide">
|
1233 |
|
1234 |
<span class="wc-oe-header"><?php _e( 'Usernames', 'woo-order-export-lite' ) ?></span>
|
1235 |
<select id="user_names" class="select2-i18n" data-select2-i18n-ajax-method="get_users"
|
1302 |
<div class="my-block">
|
1303 |
<span class="my-hide-next "><?php _e( 'Filter by coupon', 'woo-order-export-lite' ) ?>
|
1304 |
<span class="ui-icon ui-icon-triangle-1-s my-icon-triangle"></span></span>
|
1305 |
+
<div id="my-coupons" class="hide">
|
1306 |
<div>
|
1307 |
<input type="hidden" name="settings[any_coupon_used]" value="0"/>
|
1308 |
<label><input type="checkbox" name="settings[any_coupon_used]"
|
1329 |
<div class="my-block">
|
1330 |
<span class="my-hide-next "><?php _e( 'Filter by billing', 'woo-order-export-lite' ) ?>
|
1331 |
<span class="ui-icon ui-icon-triangle-1-s my-icon-triangle"></span></span>
|
1332 |
+
<div id="my-billing" class="hide">
|
1333 |
<div class="custom-fields__wrapper">
|
1334 |
<div>
|
1335 |
<span class="wc-oe-header"><?php _e( 'Billing locations', 'woo-order-export-lite' ) ?></span>
|
1379 |
<div class="my-block">
|
1380 |
<span class="my-hide-next "><?php _e( 'Filter by shipping', 'woo-order-export-lite' ) ?>
|
1381 |
<span class="ui-icon ui-icon-triangle-1-s my-icon-triangle"></span></span>
|
1382 |
+
<div id="my-shipping" class="hide">
|
1383 |
<div class="custom-fields__wrapper">
|
1384 |
<div>
|
1385 |
<span class="wc-oe-header"><?php _e( 'Shipping locations', 'woo-order-export-lite' ) ?></span>
|
1429 |
<div class="my-block">
|
1430 |
<span class="my-hide-next "><?php _e( 'Filter by item and metadata', 'woo-order-export-lite' ) ?>
|
1431 |
<span class="ui-icon ui-icon-triangle-1-s my-icon-triangle"></span></span>
|
1432 |
+
<div id="my-items-meta" class="hide">
|
1433 |
<div><input type="hidden" name="settings[export_matched_items]" value="0"/><label><input
|
1434 |
type="checkbox" name="settings[export_matched_items]"
|
1435 |
value="1" <?php checked( $settings['export_matched_items'] ) ?> /> <?php _e( 'Export only matched product items',
|
1504 |
</div>
|
1505 |
</div>
|
1506 |
</div>
|
|
|
1507 |
</div>
|
1508 |
|
1509 |
+
<div class="weo_clearfix"></div>
|
1510 |
<br>
|
1511 |
<div class="my-block">
|
1512 |
<span id='adjust-fields-btn' class="my-hide-next "><?php _e( 'Set up fields to export',
|
1513 |
'woo-order-export-lite' ) ?>
|
1514 |
<span class="ui-icon ui-icon-triangle-1-s my-icon-triangle"></span></span>
|
1515 |
+
<div id="manage_fields" class="hide">
|
1516 |
<div style="display: grid; grid-template-columns: 10fr 1fr 10fr;">
|
1517 |
<div class="clear"></div>
|
1518 |
<div></div>
|
1594 |
<select class="set-up__selects" id='select_custom_meta_order'>
|
1595 |
<?php
|
1596 |
foreach ( $order_custom_meta_fields['order'] as $meta_id => $meta_name ) {
|
1597 |
+
echo "<option value='" . esc_attr($meta_name) . "' > " . esc_attr($meta_name) . "</option>";
|
1598 |
};
|
1599 |
?>
|
1600 |
</select>
|
view/tab/help.php
CHANGED
@@ -3,6 +3,10 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
3 |
exit; // Exit if accessed directly
|
4 |
}
|
5 |
|
|
|
|
|
|
|
|
|
6 |
$settings_link = '<a href="' . admin_url( 'admin.php?page=wc-order-export&tab=tools' ) . '" target=_blank>' . __( 'settings',
|
7 |
'woo-order-export-lite' ) . '</a>';
|
8 |
$snippets_link = '<a href="https://algolplus.com/plugins/snippets-plugins/" target=_blank>' . __( 'code snippets',
|
@@ -10,14 +14,16 @@ $snippets_link = '<a href="https://algolplus.com/plugins/snippets-plugins/" targ
|
|
10 |
$samples_link = '<a href="https://algolplus.com/plugins/code-samples/" target=_blank>' . __( 'this page',
|
11 |
'woo-order-export-lite' ) . '</a>';
|
12 |
?>
|
13 |
-
<div class="
|
14 |
<div id="woe-admin" class="container-fluid wpcontent">
|
15 |
<br>
|
16 |
-
<p
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
|
|
|
|
21 |
<?php echo sprintf( __( "Don't forget to attach your %s or some screenshots. It will significantly reduce reply time :)",
|
22 |
'woo-order-export-lite' ), $settings_link ); ?></p>
|
23 |
<br>
|
3 |
exit; // Exit if accessed directly
|
4 |
}
|
5 |
|
6 |
+
$user_guide_link = '<a href="https://docs.algolplus.com/order-export-docs/" target=_blank>' . __( 'user guide',
|
7 |
+
'woo-order-export-lite' ) . '</a>';
|
8 |
+
$helpdesk_link = '<a href="https://algolplus.freshdesk.com" target=_blank>' . __( 'helpdesk system',
|
9 |
+
'woo-order-export-lite' ) . '</a>';
|
10 |
$settings_link = '<a href="' . admin_url( 'admin.php?page=wc-order-export&tab=tools' ) . '" target=_blank>' . __( 'settings',
|
11 |
'woo-order-export-lite' ) . '</a>';
|
12 |
$snippets_link = '<a href="https://algolplus.com/plugins/snippets-plugins/" target=_blank>' . __( 'code snippets',
|
14 |
$samples_link = '<a href="https://algolplus.com/plugins/code-samples/" target=_blank>' . __( 'this page',
|
15 |
'woo-order-export-lite' ) . '</a>';
|
16 |
?>
|
17 |
+
<div class="weo_clearfix"></div>
|
18 |
<div id="woe-admin" class="container-fluid wpcontent">
|
19 |
<br>
|
20 |
+
<p>
|
21 |
+
<?php echo sprintf( __( "Please, review %s at first.",'woo-order-export-lite' ), $user_guide_link ); ?>
|
22 |
+
<br>
|
23 |
+
<br>
|
24 |
+
<?php echo sprintf( __( 'Need help? Create ticket in %s .', 'woo-order-export-lite' ), $helpdesk_link ); ?>
|
25 |
+
<br>
|
26 |
+
<br>
|
27 |
<?php echo sprintf( __( "Don't forget to attach your %s or some screenshots. It will significantly reduce reply time :)",
|
28 |
'woo-order-export-lite' ), $settings_link ); ?></p>
|
29 |
<br>
|
view/tab/tools.php
CHANGED
@@ -20,7 +20,7 @@ foreach ( $modes as $mode ) {
|
|
20 |
|
21 |
$type_labels = apply_filters( 'woe_tools_page_get_type_labels', array() );
|
22 |
?>
|
23 |
-
<div class="
|
24 |
<div id="woe-admin" class="container-fluid wpcontent">
|
25 |
<form>
|
26 |
<?php wp_nonce_field( 'woe_nonce', 'woe_nonce' ); ?>
|
@@ -78,7 +78,7 @@ $type_labels = apply_filters( 'woe_tools_page_get_type_labels', array() );
|
|
78 |
<label class="error-message"></label>
|
79 |
</div>
|
80 |
|
81 |
-
<input
|
82 |
value="<?php _e( 'Import', 'woo-order-export-lite' ) ?>" name="woe-tools-import"
|
83 |
id="submit-import">
|
84 |
|
20 |
|
21 |
$type_labels = apply_filters( 'woe_tools_page_get_type_labels', array() );
|
22 |
?>
|
23 |
+
<div class="weo_clearfix"></div>
|
24 |
<div id="woe-admin" class="container-fluid wpcontent">
|
25 |
<form>
|
26 |
<?php wp_nonce_field( 'woe_nonce', 'woe_nonce' ); ?>
|
78 |
<label class="error-message"></label>
|
79 |
</div>
|
80 |
|
81 |
+
<input type="submit" class="woe-btn-tools"
|
82 |
value="<?php _e( 'Import', 'woo-order-export-lite' ) ?>" name="woe-tools-import"
|
83 |
id="submit-import">
|
84 |
|
woo-order-export-lite.php
CHANGED
@@ -5,11 +5,11 @@
|
|
5 |
* Description: Export orders from WooCommerce with ease (Excel/CSV/XML/JSON supported)
|
6 |
* Author: AlgolPlus
|
7 |
* Author URI: https://algolplus.com/
|
8 |
-
* Version: 3.1.
|
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: 4.
|
13 |
*
|
14 |
* Copyright: (c) 2015 AlgolPlus LLC. (algol.plus@gmail.com)
|
15 |
*
|
@@ -40,7 +40,7 @@ if ( class_exists( 'WC_Order_Export_Admin' ) ) {
|
|
40 |
}
|
41 |
|
42 |
if ( ! defined( 'WOE_VERSION' ) ) {
|
43 |
-
define( 'WOE_VERSION', '3.1.
|
44 |
define( 'WOE_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
|
45 |
define( 'WOE_PLUGIN_BASEPATH', dirname( __FILE__ ) );
|
46 |
}
|
5 |
* Description: Export orders from WooCommerce with ease (Excel/CSV/XML/JSON supported)
|
6 |
* Author: AlgolPlus
|
7 |
* Author URI: https://algolplus.com/
|
8 |
+
* Version: 3.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: 4.4
|
13 |
*
|
14 |
* Copyright: (c) 2015 AlgolPlus LLC. (algol.plus@gmail.com)
|
15 |
*
|
40 |
}
|
41 |
|
42 |
if ( ! defined( 'WOE_VERSION' ) ) {
|
43 |
+
define( 'WOE_VERSION', '3.1.5' );
|
44 |
define( 'WOE_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
|
45 |
define( 'WOE_PLUGIN_BASEPATH', dirname( __FILE__ ) );
|
46 |
}
|