Product Import Export for WooCommerce - Version 1.6.5

Version Description

  • Enhancement: Added 'tab' and 'space' delimiter support for import CSV.
  • Bug Fix: Improved error handling for file upload issues.
  • Plugin update information hook added.
Download this release

Release Info

Developer webtoffee
Plugin Icon 128x128 Product Import Export for WooCommerce
Version 1.6.5
Comparing to
See all releases

Code changes from version 1.6.4 to 1.6.5

includes/importer/class-wf-csv-parser.php CHANGED
@@ -68,7 +68,7 @@ class WF_CSV_Parser {
68
69
// Put all CSV data into an associative array
70
if (( $handle = fopen($file, "r") ) !== FALSE) {
71
-
72
$header = fgetcsv($handle, 0, $delimiter);
73
if ($start_pos != 0)
74
fseek($handle, $start_pos);
68
69
// Put all CSV data into an associative array
70
if (( $handle = fopen($file, "r") ) !== FALSE) {
71
+ $delimiter = WF_ProdImpExpCsv_Product_Import::wt_get_csv_delimiter($delimiter); //(strtolower($delimiter) == 'tab' ? "\t" : $delimiter);
72
$header = fgetcsv($handle, 0, $delimiter);
73
if ($start_pos != 0)
74
fseek($handle, $start_pos);
includes/importer/class-wf-prodimpexpcsv-product-import.php CHANGED
@@ -57,9 +57,9 @@ class WF_ProdImpExpCsv_Product_Import extends WP_Importer {
57
global $woocommerce, $wpdb;
58
59
if ( ! empty( $_POST['delimiter'] ) ) {
60
- $this->delimiter = stripslashes( trim( $_POST['delimiter'] ) );
61
}else if ( ! empty( $_GET['delimiter'] ) ) {
62
- $this->delimiter = stripslashes( trim( $_GET['delimiter'] ) );
63
}
64
65
if ( ! $this->delimiter )
@@ -255,8 +255,8 @@ class WF_ProdImpExpCsv_Product_Import extends WP_Importer {
255
256
// Get CSV positions
257
if ( ( $handle = fopen( $file, "r" ) ) !== FALSE ) {
258
-
259
- while ( ( $postmeta = fgetcsv( $handle, 0, $this->delimiter ) ) !== FALSE ) {
260
$count++;
261
262
if ( $count >= $limit ) {
@@ -516,6 +516,11 @@ class WF_ProdImpExpCsv_Product_Import extends WP_Importer {
516
$file = ABSPATH . $this->file_url;
517
else
518
return;
519
520
// Set locale
521
$enc = mb_detect_encoding( $file, 'UTF-8, ISO-8859-1', true );
@@ -526,9 +531,10 @@ class WF_ProdImpExpCsv_Product_Import extends WP_Importer {
526
if ( ( $handle = fopen( $file, "r" ) ) !== FALSE ) {
527
528
$row = $raw_headers = array();
529
- $header = fgetcsv( $handle, 0, $this->delimiter );
530
531
- while ( ( $postmeta = fgetcsv( $handle, 0, $this->delimiter ) ) !== FALSE ) {
532
foreach ( $header as $key => $heading ) {
533
if ( ! $heading ) continue;
534
$s_heading = strtolower( $heading );
@@ -589,6 +595,7 @@ class WF_ProdImpExpCsv_Product_Import extends WP_Importer {
589
590
$this->hf_log_data_change( 'csv-import', '---' );
591
$this->hf_log_data_change( 'csv-import', __( 'Processing products.', 'product-import-export-for-woo' ) );
592
foreach ( $this->parsed_data as $key => &$item ) {
593
594
$product = $this->parser->parse_product( $item, $this->merge_empty_cells );
@@ -1655,4 +1662,18 @@ class WF_ProdImpExpCsv_Product_Import extends WP_Importer {
1655
1656
return $result;
1657
}
1658
}
57
global $woocommerce, $wpdb;
58
59
if ( ! empty( $_POST['delimiter'] ) ) {
60
+ $this->delimiter = stripslashes( ( $_POST['delimiter'] ) );
61
}else if ( ! empty( $_GET['delimiter'] ) ) {
62
+ $this->delimiter = stripslashes( ( $_GET['delimiter'] ) );
63
}
64
65
if ( ! $this->delimiter )
255
256
// Get CSV positions
257
if ( ( $handle = fopen( $file, "r" ) ) !== FALSE ) {
258
+ $csv_delimiter = self::wt_get_csv_delimiter($this->delimiter);//(strtolower($this->delimiter) == 'tab' ? "\t" : $this->delimiter);
259
+ while ( ( $postmeta = fgetcsv( $handle, 0, $csv_delimiter ) ) !== FALSE ) {
260
$count++;
261
262
if ( $count >= $limit ) {
516
$file = ABSPATH . $this->file_url;
517
else
518
return;
519
+
520
+ if(!$file){
521
+ _e( 'An error occurred uploading file. Please try again later.', 'product-import-export-for-woo' );
522
+ return;
523
+ }
524
525
// Set locale
526
$enc = mb_detect_encoding( $file, 'UTF-8, ISO-8859-1', true );
531
if ( ( $handle = fopen( $file, "r" ) ) !== FALSE ) {
532
533
$row = $raw_headers = array();
534
+ $csv_delimiter = self::wt_get_csv_delimiter($this->delimiter); //(strtolower($this->delimiter) == 'tab' ? "\t" : $this->delimiter);
535
+ $header = fgetcsv( $handle, 0, $csv_delimiter );
536
537
+ while ( ( $postmeta = fgetcsv( $handle, 0, $csv_delimiter ) ) !== FALSE ) {
538
foreach ( $header as $key => $heading ) {
539
if ( ! $heading ) continue;
540
$s_heading = strtolower( $heading );
595
596
$this->hf_log_data_change( 'csv-import', '---' );
597
$this->hf_log_data_change( 'csv-import', __( 'Processing products.', 'product-import-export-for-woo' ) );
598
+
599
foreach ( $this->parsed_data as $key => &$item ) {
600
601
$product = $this->parser->parse_product( $item, $this->merge_empty_cells );
1662
1663
return $result;
1664
}
1665
+
1666
+ public static function wt_get_csv_delimiter($delemiter=','){
1667
+ $delemiter = strtolower($delemiter);
1668
+ switch ($delemiter) {
1669
+ case 'tab':
1670
+ $delemiter = "\t";
1671
+ break;
1672
+
1673
+ case 'space':
1674
+ $delemiter = " ";
1675
+ break;
1676
+ }
1677
+ return $delemiter;
1678
+ }
1679
}
product-import-export-for-woo.php CHANGED
@@ -5,7 +5,7 @@
5
Description: Import and Export Products From and To your WooCommerce Store.
6
Author: WebToffee
7
Author URI: https://www.webtoffee.com/product/product-import-export-woocommerce/
8
- Version: 1.6.4
9
WC tested up to: 3.7.0
10
License: GPLv3
11
License URI: https://www.gnu.org/licenses/gpl-3.0.html
@@ -18,7 +18,7 @@ if (!defined('ABSPATH') || !is_admin()) {
18
19
20
if (!defined('WF_PIPE_CURRENT_VERSION')) {
21
- define("WF_PIPE_CURRENT_VERSION", "1.6.4");
22
}
23
if (!defined('WF_PROD_IMP_EXP_ID')) {
24
define("WF_PROD_IMP_EXP_ID", "wf_prod_imp_exp");
@@ -499,4 +499,19 @@ if (!function_exists('impexp_welcome')) {
499
wp_safe_redirect(add_query_arg(array('page' => 'wf_woocommerce_csv_im_ex'), admin_url('admin.php')));
500
}
501
502
- }
5
Description: Import and Export Products From and To your WooCommerce Store.
6
Author: WebToffee
7
Author URI: https://www.webtoffee.com/product/product-import-export-woocommerce/
8
+ Version: 1.6.5
9
WC tested up to: 3.7.0
10
License: GPLv3
11
License URI: https://www.gnu.org/licenses/gpl-3.0.html
18
19
20
if (!defined('WF_PIPE_CURRENT_VERSION')) {
21
+ define("WF_PIPE_CURRENT_VERSION", "1.6.5");
22
}
23
if (!defined('WF_PROD_IMP_EXP_ID')) {
24
define("WF_PROD_IMP_EXP_ID", "wf_prod_imp_exp");
499
wp_safe_redirect(add_query_arg(array('page' => 'wf_woocommerce_csv_im_ex'), admin_url('admin.php')));
500
}
501
502
+ }
503
+
504
+ /*
505
+ * Displays update information for a plugin.
506
+ */
507
+ function wt_product_import_export_for_woo_update_message( $data, $response )
508
+ {
509
+ if(isset( $data['upgrade_notice']))
510
+ {
511
+ printf(
512
+ '<div class="update-message wt-update-message">%s</div>',
513
+ $data['upgrade_notice']
514
+ );
515
+ }
516
+ }
517
+ add_action( 'in_plugin_update_message-product-import-export-for-woo/product-import-export-for-woo.php', 'wt_product_import_export_for_woo_update_message', 10, 2 );
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: webtoffee
3
Donate link: https://www.webtoffee.com/plugins/
4
Tags: woocommerce product import, woocommerce import products, woocommerce export products, export woocommerce products, import products into woocommerce ,product, export, import, woocommerce ,csv
5
Requires at least: 3.0.1
6
- Tested up to: 5.2
7
- Stable tag: 1.6.4
8
License: GPLv3 or later
9
License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
@@ -153,6 +153,11 @@ By default, admin and store manager are given access to export orders from your
153
154
== Changelog ==
155
156
= 1.6.4 =
157
* Tested OK with WC 3.7.0
158
@@ -327,5 +332,7 @@ By default, admin and store manager are given access to export orders from your
327
328
== Upgrade Notice ==
329
330
- = 1.6.4 =
331
- * Tested OK with WC 3.7.0
3
Donate link: https://www.webtoffee.com/plugins/
4
Tags: woocommerce product import, woocommerce import products, woocommerce export products, export woocommerce products, import products into woocommerce ,product, export, import, woocommerce ,csv
5
Requires at least: 3.0.1
6
+ Tested up to: 5.2.2
7
+ Stable tag: 1.6.5
8
License: GPLv3 or later
9
License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
153
154
== Changelog ==
155
156
+ = 1.6.5 =
157
+ * Enhancement: Added 'tab' and 'space' delimiter support for import CSV.
158
+ * Bug Fix: Improved error handling for file upload issues.
159
+ * Plugin update information hook added.
160
+
161
= 1.6.4 =
162
* Tested OK with WC 3.7.0
163
332
333
== Upgrade Notice ==
334
335
+ = 1.6.5 =
336
+ * Enhancement: Added 'tab' and 'space' delimiter support for import CSV.
337
+ * Bug Fix: Improved error handling for file upload issues.
338
+ * Plugin update information hook added.