Import Export WordPress Users and WooCommerce Customers - Version 2.0.8

Version Description

  • Tested OK with WC 5.1.0 and WP 5.7
  • Check existing users default with user_email while importing.
Download this release

Release Info

Developer webtoffee
Plugin Icon 128x128 Import Export WordPress Users and WooCommerce Customers
Version 2.0.8
Comparing to
See all releases

Code changes from version 2.0.7 to 2.0.8

Files changed (36) hide show
  1. admin/classes/class-logreader.php +2 -1
  2. admin/classes/class-logwriter.php +24 -29
  3. admin/css/select2.css +0 -0
  4. admin/index.php +0 -0
  5. admin/js/dropzone.min.js +0 -0
  6. admin/js/select2.js +0 -0
  7. admin/js/wt-import-export-for-woo-admin.js +1 -1
  8. admin/modules/export/classes/class-export-ajax.php +13 -4
  9. admin/modules/export/views/_export_filter_page.php +1 -1
  10. admin/modules/history/views/_log_list.php +5 -1
  11. admin/modules/import/classes/class-import-ajax.php +2 -2
  12. admin/modules/import/import.php +9 -3
  13. admin/modules/import/views/_import_post_type_page.php +1 -0
  14. admin/modules/user/import/import.php +7 -3
  15. admin/modules/user/user.php +3 -3
  16. admin/views/admin-settings-help.php +11 -1
  17. admin/views/market.php +1 -1
  18. assets/images/sample-csv.png +0 -0
  19. assets/images/webtoffee-logo_small.png +0 -0
  20. includes/class-wt-import-export-for-woo-activator.php +0 -0
  21. includes/class-wt-import-export-for-woo-deactivator.php +0 -0
  22. includes/class-wt-import-export-for-woo-i18n.php +0 -0
  23. includes/class-wt-import-export-for-woo-loader.php +0 -0
  24. includes/class-wt-import-export-for-woo.php +1 -1
  25. includes/index.php +0 -0
  26. index.php +0 -0
  27. languages/wt-import-export-for-woo.pot +0 -0
  28. license.txt +0 -0
  29. public/class-wt-import-export-for-woo-public.php +0 -0
  30. public/css/wt-import-export-for-woo-public.css +0 -0
  31. public/index.php +0 -0
  32. public/js/wt-import-export-for-woo-public.js +0 -0
  33. public/partials/wt-import-export-for-woo-public-display.php +0 -0
  34. readme.txt +10 -7
  35. uninstall.php +0 -0
  36. users-customers-import-export-for-wp-woocommerce.php +29 -8
admin/classes/class-logreader.php CHANGED
@@ -21,9 +21,10 @@ class Wt_Import_Export_For_Woo_Basic_Logreader
21
  }
22
  public function init($file_path)
23
  {
 
24
  $this->file_path=$file_path;
25
  $this->mode=$mode;
26
- $this->file_pointer=@fopen($file_path, 'r');
27
  }
28
  public function close_file_pointer()
29
  {
21
  }
22
  public function init($file_path)
23
  {
24
+ $mode = 'r';
25
  $this->file_path=$file_path;
26
  $this->mode=$mode;
27
+ $this->file_pointer=@fopen($file_path, $mode);
28
  }
29
  public function close_file_pointer()
30
  {
admin/classes/class-logwriter.php CHANGED
@@ -51,37 +51,32 @@ class Wt_Import_Export_For_Woo_Basic_Logwriter extends Wt_Import_Export_For_Woo_
51
  * @param string $action_type action type
52
  * @param mixed $data array/string of data to write
53
  */
54
- public static function write_log($post_type, $action_type, $data)
55
- {
56
- if(Wt_Import_Export_For_Woo_Basic_Common_Helper::get_advanced_settings('enable_import_log')==1){
57
- /**
58
- * Checks log file created for the current day
59
- */
60
- $old_file_name=self::check_log_exists_for_entry(self::$history_id);
61
- if(!$old_file_name)
62
- {
63
- $file_name=self::generate_file_name($post_type, $action_type, self::$history_id);
64
- }else
65
- {
66
- $file_name=$old_file_name;
67
- }
68
- $file_path=self::get_file_path($file_name);
69
- self::init($file_path);
70
- $date_string=date_i18n('m-d-Y @ H:i:s');
71
- if(is_array($data))
72
- {
73
- foreach ($data as $value)
74
- {
75
- self::write_row($date_string." - ".maybe_serialize($value));
76
- }
77
- }else
78
- {
79
- self::write_row($date_string." - ".$data);
80
- }
81
- }
82
  }
83
 
84
- /**
85
  * Import response log
86
  * @param array $data array/string of import response data
87
  * @param string $file_path import log file
51
  * @param string $action_type action type
52
  * @param mixed $data array/string of data to write
53
  */
54
+ public static function write_log( $post_type, $action_type, $data ) {
55
+
56
+ //if ( Wt_Import_Export_For_Woo_Basic_Common_Helper::get_advanced_settings( 'enable_import_log' ) == 1 ) {
57
+ /**
58
+ * Checks log file created for the current day
59
+ */
60
+ $old_file_name = self::check_log_exists_for_entry( self::$history_id );
61
+ if ( !$old_file_name ) {
62
+ $file_name = self::generate_file_name( $post_type, $action_type, self::$history_id );
63
+ } else {
64
+ $file_name = $old_file_name;
65
+ }
66
+ $file_path = self::get_file_path( $file_name );
67
+ self::init( $file_path );
68
+ $date_string = date_i18n( 'm-d-Y @ H:i:s' );
69
+ if ( is_array( $data ) ) {
70
+ foreach ( $data as $value ) {
71
+ self::write_row( $date_string . " - " . maybe_serialize( $value ) );
72
+ }
73
+ } else {
74
+ self::write_row( $date_string . " - " . $data );
75
+ }
76
+ //}
 
 
 
 
 
77
  }
78
 
79
+ /**
80
  * Import response log
81
  * @param array $data array/string of import response data
82
  * @param string $file_path import log file
admin/css/select2.css CHANGED
File without changes
admin/index.php CHANGED
File without changes
admin/js/dropzone.min.js CHANGED
File without changes
admin/js/select2.js CHANGED
File without changes
admin/js/wt-import-export-for-woo-admin.js CHANGED
@@ -65,7 +65,7 @@
65
  var prnt=$(this).parent('.wt_iew_sub_tab');
66
  var ctnr=prnt.siblings('.wt_iew_sub_tab_container');
67
  prnt.find('li a').css({'color':'#0073aa','cursor':'pointer'});
68
- $(this).find('a').css({'color':'#ccc','cursor':'default'});
69
  ctnr.find('.wt_iew_sub_tab_content').hide();
70
  ctnr.find('.wt_iew_sub_tab_content[data-id="'+trgt+'"]').fadeIn();
71
  });
65
  var prnt=$(this).parent('.wt_iew_sub_tab');
66
  var ctnr=prnt.siblings('.wt_iew_sub_tab_container');
67
  prnt.find('li a').css({'color':'#0073aa','cursor':'pointer'});
68
+ $(this).find('a').css({'color':'#000','cursor':'default'});
69
  ctnr.find('.wt_iew_sub_tab_content').hide();
70
  ctnr.find('.wt_iew_sub_tab_content[data-id="'+trgt+'"]').fadeIn();
71
  });
admin/modules/export/classes/class-export-ajax.php CHANGED
@@ -400,6 +400,14 @@ class Wt_Import_Export_For_Woo_Basic_Export_Ajax
400
  }
401
  }
402
 
 
 
 
 
 
 
 
 
403
  /**
404
  * Step 3 (Ajax sub function)
405
  * Built in steps, filter page
@@ -407,7 +415,7 @@ class Wt_Import_Export_For_Woo_Basic_Export_Ajax
407
  public function filter_page()
408
  {
409
  $this->step='filter';
410
- $step_info=$this->steps[$this->step];
411
  if($this->to_export!='')
412
  {
413
 
@@ -439,7 +447,7 @@ class Wt_Import_Export_For_Woo_Basic_Export_Ajax
439
  public function mapping_page()
440
  {
441
  $this->step='mapping';
442
- $step_info=$this->steps[$this->step];
443
  if($this->to_export!='')
444
  {
445
 
@@ -482,7 +490,7 @@ class Wt_Import_Export_For_Woo_Basic_Export_Ajax
482
  public function advanced_page()
483
  {
484
  $this->step='advanced';
485
- $step_info=$this->steps[$this->step];
486
  if($this->to_export!='')
487
  {
488
 
@@ -577,7 +585,8 @@ class Wt_Import_Export_For_Woo_Basic_Export_Ajax
577
 
578
  protected function prepare_step_summary()
579
  {
580
- $this->step_title=$this->steps[$this->step]['title'];
 
581
  $this->step_keys=array_keys($this->steps);
582
  $this->current_step_index=array_search($this->step, $this->step_keys);
583
  $this->current_step_number=$this->current_step_index+1;
400
  }
401
  }
402
 
403
+ /*
404
+ * Get step information
405
+ * @param string $step
406
+ */
407
+
408
+ public function get_step_info( $step ) {
409
+ return isset( $this->steps[ $step ] ) ? $this->steps[ $step ] : array( 'title' => ' ', 'description' => ' ' );
410
+ }
411
  /**
412
  * Step 3 (Ajax sub function)
413
  * Built in steps, filter page
415
  public function filter_page()
416
  {
417
  $this->step='filter';
418
+ $step_info= $this->get_step_info($this->step);
419
  if($this->to_export!='')
420
  {
421
 
447
  public function mapping_page()
448
  {
449
  $this->step='mapping';
450
+ $step_info= $this->get_step_info($this->step);
451
  if($this->to_export!='')
452
  {
453
 
490
  public function advanced_page()
491
  {
492
  $this->step='advanced';
493
+ $step_info= $this->get_step_info($this->step);
494
  if($this->to_export!='')
495
  {
496
 
585
 
586
  protected function prepare_step_summary()
587
  {
588
+ $step_info= $this->get_step_info($this->step);
589
+ $this->step_title=$step_info['title'];
590
  $this->step_keys=array_keys($this->steps);
591
  $this->current_step_index=array_search($this->step, $this->step_keys);
592
  $this->current_step_number=$this->current_step_index+1;
admin/modules/export/views/_export_filter_page.php CHANGED
@@ -4,7 +4,7 @@ if (!defined('ABSPATH')) {
4
  }
5
  ?>
6
  <div class="wt_iew_export_main">
7
- <p><?php echo $step_inf['description']; ?></p>
8
  <form class="wt_iew_export_filter_form">
9
  <table class="form-table wt-iew-form-table wt-iew-export-filter-table">
10
  <?php
4
  }
5
  ?>
6
  <div class="wt_iew_export_main">
7
+ <p><?php echo $step_info['description']; ?></p>
8
  <form class="wt_iew_export_filter_form">
9
  <table class="form-table wt-iew-form-table wt-iew-export-filter-table">
10
  <?php
admin/modules/history/views/_log_list.php CHANGED
@@ -67,7 +67,11 @@ if(isset($_GET['wt_iew_delete_log']))
67
  }else
68
  {
69
  ?>
70
- <h4 class="wt_iew_history_no_records"><?php _e("No logs found."); ?></h4>
 
 
 
 
71
  <?php
72
  }
73
  ?>
67
  }else
68
  {
69
  ?>
70
+ <h4 class="wt_iew_history_no_records"><?php _e( "No logs found." ); ?>
71
+ <?php if ( Wt_Import_Export_For_Woo_Basic_Common_Helper::get_advanced_settings( 'enable_import_log' ) == 0 ): ?>
72
+ <span> <?php _e( 'Please enable import log under' ); ?> <a target="_blank" href="<?php echo admin_url( 'admin.php?page=wt_import_export_for_woo_basic' ) ?>"><?php _e( 'settings' ); ?></a></span>
73
+ <?php endif; ?>
74
+ </h4>
75
  <?php
76
  }
77
  ?>
admin/modules/import/classes/class-import-ajax.php CHANGED
@@ -1,8 +1,7 @@
1
  <?php
2
  /**
3
  * Ajax section of the Import module
4
- *
5
- * @link
6
  *
7
  * @package Wt_Import_Export_For_Woo
8
  */
@@ -1051,6 +1050,7 @@ class Wt_Import_Export_For_Woo_Basic_Import_Ajax
1051
  * Meta mapping fields
1052
  *
1053
  */
 
1054
  $meta_mapping_screen_fields=$this->_get_meta_mapping_screen_fields($form_data_meta_mapping_fields);
1055
 
1056
  /* preparing meta fields. */
1
  <?php
2
  /**
3
  * Ajax section of the Import module
4
+ *
 
5
  *
6
  * @package Wt_Import_Export_For_Woo
7
  */
1050
  * Meta mapping fields
1051
  *
1052
  */
1053
+ $form_data_meta_mapping_fields = array(); // recheck the need of this variable in the below context.
1054
  $meta_mapping_screen_fields=$this->_get_meta_mapping_screen_fields($form_data_meta_mapping_fields);
1055
 
1056
  /* preparing meta fields. */
admin/modules/import/import.php CHANGED
@@ -79,6 +79,8 @@ class Wt_Import_Export_For_Woo_Basic_Import
79
  'new'=>array('title'=>__('Advanced Import'), 'description'=> __('This option will take you through the entire process of filtering/column selection/advanced options that may be required for your import. You can also save your selections as a template for future use.')),
80
  );
81
 
 
 
82
  /* advanced plugin settings */
83
  add_filter('wt_iew_advanced_setting_fields_basic', array($this, 'advanced_setting_fields'));
84
 
@@ -112,7 +114,7 @@ class Wt_Import_Export_For_Woo_Basic_Import
112
  1=>__('Yes'),
113
  0=>__('No')
114
  ),
115
- 'value' =>0,
116
  'field_name'=>'enable_import_log',
117
  'help_text'=>__('Save import log as text file and make it available in the history section for debugging purposes.'),
118
  'validation_rule'=>array('type'=>'absint'),
@@ -818,7 +820,7 @@ class Wt_Import_Export_For_Woo_Basic_Import
818
  'history_id'=>$import_id, //same as that of import id
819
  'total_records'=>$total_records,
820
  'temp_import_file'=>$this->temp_import_file,
821
- 'msg'=>sprintf(__('Importing...(%d done)'), 0),
822
  );
823
  }
824
 
@@ -916,6 +918,10 @@ class Wt_Import_Export_For_Woo_Basic_Import
916
  /* important: prepare deafult mapping formdata for quick import */
917
  $input_data=$reader->get_data_as_batch($file_path, $offset, $batch_count, $this, $form_data);
918
 
 
 
 
 
919
 
920
  if(!$input_data || !is_array($input_data))
921
  {
@@ -1053,7 +1059,7 @@ class Wt_Import_Export_For_Woo_Basic_Import
1053
  $msg.='<span class="wt_iew_popup_close" style="line-height:10px;width:auto" onclick="wt_iew_basic_import.hide_import_info_box();">X</span>';
1054
  }else
1055
  {
1056
- $msg='<span class="wt_iew_info_box_title">'.sprintf(__('Importing...(%d done)'), $data['offset_count']).'</span>';
1057
  }
1058
  $msg.='<br />'.__('Total success: ').$data['total_success'].'<br />'.__('Total failed: ').$data['total_failed'];
1059
  if($is_last_offset)
79
  'new'=>array('title'=>__('Advanced Import'), 'description'=> __('This option will take you through the entire process of filtering/column selection/advanced options that may be required for your import. You can also save your selections as a template for future use.')),
80
  );
81
 
82
+ $this->step_need_validation_filter=array('method_import', 'mapping', 'advanced');
83
+
84
  /* advanced plugin settings */
85
  add_filter('wt_iew_advanced_setting_fields_basic', array($this, 'advanced_setting_fields'));
86
 
114
  1=>__('Yes'),
115
  0=>__('No')
116
  ),
117
+ 'value' =>1,
118
  'field_name'=>'enable_import_log',
119
  'help_text'=>__('Save import log as text file and make it available in the history section for debugging purposes.'),
120
  'validation_rule'=>array('type'=>'absint'),
820
  'history_id'=>$import_id, //same as that of import id
821
  'total_records'=>$total_records,
822
  'temp_import_file'=>$this->temp_import_file,
823
+ 'msg'=>sprintf(__('Importing...(%d processed)'), 0),
824
  );
825
  }
826
 
918
  /* important: prepare deafult mapping formdata for quick import */
919
  $input_data=$reader->get_data_as_batch($file_path, $offset, $batch_count, $this, $form_data);
920
 
921
+ if(empty($input_data['data_arr'])){
922
+ $out['msg']=__('CSV is empty');
923
+ return $out;
924
+ }
925
 
926
  if(!$input_data || !is_array($input_data))
927
  {
1059
  $msg.='<span class="wt_iew_popup_close" style="line-height:10px;width:auto" onclick="wt_iew_basic_import.hide_import_info_box();">X</span>';
1060
  }else
1061
  {
1062
+ $msg='<span class="wt_iew_info_box_title">'.sprintf(__('Importing...(%d processed)'), $data['offset_count']).'</span>';
1063
  }
1064
  $msg.='<br />'.__('Total success: ').$data['total_success'].'<br />'.__('Total failed: ').$data['total_failed'];
1065
  if($is_last_offset)
admin/modules/import/views/_import_post_type_page.php CHANGED
@@ -15,6 +15,7 @@ if (!defined('ABSPATH')) {
15
  <select name="wt_iew_import_post_type">
16
  <option value="">-- <?php _e('Select post type'); ?> --</option>
17
  <?php
 
18
  foreach($post_types as $key=>$value)
19
  {
20
  ?>
15
  <select name="wt_iew_import_post_type">
16
  <option value="">-- <?php _e('Select post type'); ?> --</option>
17
  <?php
18
+ $item_type = isset($item_type) ? $item_type : '';
19
  foreach($post_types as $key=>$value)
20
  {
21
  ?>
admin/modules/user/import/import.php CHANGED
@@ -66,7 +66,7 @@ class Wt_Import_Export_For_Woo_basic_User_Import {
66
 
67
  public function prepare_data_to_import($import_data,$form_data, $batch_offset, $is_last_batch){
68
 
69
- $this->merge_with = !empty($form_data['advanced_form_data']['wt_iew_merge_with']) ? $form_data['advanced_form_data']['wt_iew_merge_with'] : 'id';
70
  $this->found_action = !empty($form_data['advanced_form_data']['wt_iew_found_action']) ? $form_data['advanced_form_data']['wt_iew_found_action'] : 'skip';
71
  $this->use_same_password = isset($form_data['advanced_form_data']['wt_iew_use_same_password']) ? $form_data['advanced_form_data']['wt_iew_use_same_password'] : 1;
72
 
@@ -321,7 +321,9 @@ class Wt_Import_Export_For_Woo_basic_User_Import {
321
  $customer_id = (!empty($data['user_details']['customer_id']) ) ? $data['user_details']['customer_id'] : '';
322
  $insertion_id = (!empty($data['user_details']['ID']) ) ? $data['user_details']['ID'] : '';
323
 
324
-
 
 
325
 
326
  if (!empty($data['user_details']['user_pass'])) {
327
  $password = ($this->use_same_password) ? $data['user_details']['user_pass'] : wp_hash_password($data['user_details']['user_pass']);
@@ -451,7 +453,8 @@ class Wt_Import_Export_For_Woo_basic_User_Import {
451
  if ($found_customer) {
452
  $wp_user_object = new WP_User($found_customer);
453
  $roles = get_editable_roles();
454
- $new_roles_str = str_replace(' ', '', $data['user_details']['roles']);
 
455
  $new_roles = explode(',', $new_roles_str);
456
  $new_roles = array_intersect($new_roles, array_keys($roles));
457
  $roles_to_remove = array();
@@ -497,6 +500,7 @@ class Wt_Import_Export_For_Woo_basic_User_Import {
497
  $user_data['user_nicename'] = $data['user_details']['user_nicename'];
498
  }
499
 
 
500
  //added when implement merge with user id use for update email
501
  if (isset($data['user_details']['user_email']) && !empty($data['user_details']['user_email'])) {
502
  if ($wp_user_object->user_email != $data['user_details']['user_email']) {
66
 
67
  public function prepare_data_to_import($import_data,$form_data, $batch_offset, $is_last_batch){
68
 
69
+ $this->merge_with = !empty($form_data['advanced_form_data']['wt_iew_merge_with']) ? $form_data['advanced_form_data']['wt_iew_merge_with'] : 'email';
70
  $this->found_action = !empty($form_data['advanced_form_data']['wt_iew_found_action']) ? $form_data['advanced_form_data']['wt_iew_found_action'] : 'skip';
71
  $this->use_same_password = isset($form_data['advanced_form_data']['wt_iew_use_same_password']) ? $form_data['advanced_form_data']['wt_iew_use_same_password'] : 1;
72
 
321
  $customer_id = (!empty($data['user_details']['customer_id']) ) ? $data['user_details']['customer_id'] : '';
322
  $insertion_id = (!empty($data['user_details']['ID']) ) ? $data['user_details']['ID'] : '';
323
 
324
+ if('email' == $this->merge_with){
325
+ $insertion_id = '';
326
+ }
327
 
328
  if (!empty($data['user_details']['user_pass'])) {
329
  $password = ($this->use_same_password) ? $data['user_details']['user_pass'] : wp_hash_password($data['user_details']['user_pass']);
453
  if ($found_customer) {
454
  $wp_user_object = new WP_User($found_customer);
455
  $roles = get_editable_roles();
456
+ $new_rolse_input = isset($data['user_details']['roles']) ? $data['user_details']['roles'] : '';
457
+ $new_roles_str = str_replace(' ', '', $new_rolse_input);
458
  $new_roles = explode(',', $new_roles_str);
459
  $new_roles = array_intersect($new_roles, array_keys($roles));
460
  $roles_to_remove = array();
500
  $user_data['user_nicename'] = $data['user_details']['user_nicename'];
501
  }
502
 
503
+ $email_updated = false;
504
  //added when implement merge with user id use for update email
505
  if (isset($data['user_details']['user_email']) && !empty($data['user_details']['user_email'])) {
506
  if ($wp_user_object->user_email != $data['user_details']['user_email']) {
admin/modules/user/user.php CHANGED
@@ -403,11 +403,11 @@ class Wt_Import_Export_For_Woo_basic_User {
403
  'css_class' => 'wt_iew_datepicker',
404
  );
405
 
406
- $fields['limit'] = array(
407
  'label' => __('Total number of users to export'),
408
  'placeholder' => __('Unlimited'),
409
  'field_name' => 'limit',
410
- 'help_text'=>__('The actual number of users you want to export. e.g. A limit of 500 with an offset 10 will export users from 11th to 510th position.'),
411
  'type' => 'number',
412
  'value'=>'',
413
  'attr'=>array('step'=>1,'min_val'=>0),
@@ -418,7 +418,7 @@ class Wt_Import_Export_For_Woo_basic_User {
418
  'label' => __('Skip first <i>n</i> users'),
419
  'placeholder' => __('0'),
420
  'field_name' => 'offset',
421
- 'help_text'=>__('Specify the number of users that should be skipped from the beginning. e.g. An offset of 10 skips the first 10 users.'),
422
  'type' => 'number',
423
  'value'=>0,
424
  'attr'=>array('step'=>1,'min_val'=>0),
403
  'css_class' => 'wt_iew_datepicker',
404
  );
405
 
406
+ $fields['limit'] = array(
407
  'label' => __('Total number of users to export'),
408
  'placeholder' => __('Unlimited'),
409
  'field_name' => 'limit',
410
+ 'help_text'=>__('Exports specified number of users. e.g. Entering 500 with a skip count of 10 will export users from 11th to 510th position.'),
411
  'type' => 'number',
412
  'value'=>'',
413
  'attr'=>array('step'=>1,'min_val'=>0),
418
  'label' => __('Skip first <i>n</i> users'),
419
  'placeholder' => __('0'),
420
  'field_name' => 'offset',
421
+ 'help_text'=>__('Skips specified number of users from the beginning. e.g. Enter 10 to skip first 10 users from export.'),
422
  'type' => 'number',
423
  'value'=>0,
424
  'attr'=>array('step'=>1,'min_val'=>0),
admin/views/admin-settings-help.php CHANGED
@@ -31,7 +31,17 @@ if ( ! defined( 'WPINC' ) ) {
31
  </ul>
32
  </div>
33
  <div class="wt_iew_sub_tab_content" data-id="help-doc">
34
-
 
 
 
 
 
 
 
 
 
 
35
  </div>
36
  </div>
37
  </div>
31
  </ul>
32
  </div>
33
  <div class="wt_iew_sub_tab_content" data-id="help-doc">
34
+ <h3><?php _e( 'Help Docs' ); ?></h3>
35
+ <ul class="wf-help-links">
36
+ <li>
37
+ <img src="<?php echo WT_U_IEW_PLUGIN_URL; ?>assets/images/sample-csv.png">
38
+ <h3><?php _e( 'Sample User CSV' ); ?></h3>
39
+ <p><?php _e( 'Familiarize yourself with the sample CSV.' ); ?></p>
40
+ <a target="_blank" href="https://www.webtoffee.com/wp-content/uploads/2020/10/Sample_Users.csv" class="button button-primary">
41
+ <?php _e( 'Get Sample CSV' ); ?>
42
+ </a>
43
+ </li>
44
+ </ul>
45
  </div>
46
  </div>
47
  </div>
admin/views/market.php CHANGED
@@ -97,7 +97,7 @@ if ( ! defined( 'ABSPATH' ) ) {
97
  <li style="text-align: center;"><?php echo __('30 Day Money Back Guarantee','users-customers-import-export-for-wp-woocommerce'); ?></li>
98
  <li style="text-align: center;"><?php echo __('Fast and Superior Support','users-customers-import-export-for-wp-woocommerce'); ?></li>
99
  <li style="text-align: center;">
100
- <a href="https://www.webtoffee.com/product/wordpress-users-woocommerce-customers-import-export/" target="_blank" class="button button-primary button-go-pro"><?php _e('Upgrade to Premium', 'users-customers-import-export-for-wp-woocommerce'); ?></a>
101
  </li>
102
  </ul>
103
  <span>
97
  <li style="text-align: center;"><?php echo __('30 Day Money Back Guarantee','users-customers-import-export-for-wp-woocommerce'); ?></li>
98
  <li style="text-align: center;"><?php echo __('Fast and Superior Support','users-customers-import-export-for-wp-woocommerce'); ?></li>
99
  <li style="text-align: center;">
100
+ <a href="https://www.webtoffee.com/product/wordpress-users-woocommerce-customers-import-export/?utm_source=free_plugin_sidebar&utm_medium=user_imp_exp_basic&utm_campaign=User_Import_Export&utm_content=2.0.8" target="_blank" class="button button-primary button-go-pro"><?php _e('Upgrade to Premium', 'users-customers-import-export-for-wp-woocommerce'); ?></a>
101
  </li>
102
  </ul>
103
  <span>
assets/images/sample-csv.png ADDED
Binary file
assets/images/webtoffee-logo_small.png CHANGED
File without changes
includes/class-wt-import-export-for-woo-activator.php CHANGED
File without changes
includes/class-wt-import-export-for-woo-deactivator.php CHANGED
File without changes
includes/class-wt-import-export-for-woo-i18n.php CHANGED
File without changes
includes/class-wt-import-export-for-woo-loader.php CHANGED
File without changes
includes/class-wt-import-export-for-woo.php CHANGED
@@ -80,7 +80,7 @@ class Wt_Import_Export_For_Woo_Basic {
80
  if ( defined( 'WT_U_IEW_VERSION' ) ) {
81
  $this->version = WT_U_IEW_VERSION;
82
  } else {
83
- $this->version = '2.0.7';
84
  }
85
  $this->plugin_name = 'wt-import-export-for-woo-basic';
86
 
80
  if ( defined( 'WT_U_IEW_VERSION' ) ) {
81
  $this->version = WT_U_IEW_VERSION;
82
  } else {
83
+ $this->version = '2.0.8';
84
  }
85
  $this->plugin_name = 'wt-import-export-for-woo-basic';
86
 
includes/index.php CHANGED
File without changes
index.php CHANGED
File without changes
languages/wt-import-export-for-woo.pot CHANGED
File without changes
license.txt CHANGED
File without changes
public/class-wt-import-export-for-woo-public.php CHANGED
File without changes
public/css/wt-import-export-for-woo-public.css CHANGED
File without changes
public/index.php CHANGED
File without changes
public/js/wt-import-export-for-woo-public.js CHANGED
File without changes
public/partials/wt-import-export-for-woo-public-display.php CHANGED
File without changes
readme.txt CHANGED
@@ -3,9 +3,9 @@ Contributors: webtoffee
3
  Donate link: https://www.webtoffee.com/plugins/
4
  Tags: user import, user export, csv, woocommerce, customers, import, export, export customers, import customers, export users to csv, import users from csv, woocommerce export customers, export import users, woocommerce import customers, woocommerce export customer email
5
  Requires at least: 3.0.1
6
- Tested up to: 5.6
7
  Requires PHP: 5.6
8
- Stable tag: 2.0.7
9
  License: GPLv3
10
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
11
 
@@ -28,8 +28,8 @@ WordPress User Import Export plugin allows you to import and export WordPress us
28
  &#128312; Retain user passwords (optional)
29
  &#128312; Map and Transform fields while importing customers/users
30
  &#128312; Change values (bulk modify) while importing customers/users using Evaluation Fields
31
- &#128312; Tested OK with WordPress 5.6
32
- &#128312; Tested OK with WooCommerce 5.0.0
33
  &#128312; Tested OK with PHP 7.3.5
34
 
35
  Highlights: WordPress Users Export, WordPress Users CSV Import Suite, Export WordPress Users to CSV. Pro Version supports export and import of all additional user meta like WooCommerce details.
@@ -218,6 +218,9 @@ Yes, you can update the user data with the help of this plugin. The users will b
218
  12. WordPress user import export log
219
 
220
  == Changelog ==
 
 
 
221
  = 2.0.7 =
222
  * Tested OK with WC 5.0.0 and WP 5.6.1
223
  * Version 2.0.0 onward has been revamped majorly.
@@ -369,6 +372,6 @@ Yes, you can update the user data with the help of this plugin. The users will b
369
 
370
  == Upgrade Notice ==
371
 
372
- = 2.0.7 =
373
- * Tested OK with WC 5.0.0 and WP 5.6.1
374
- * Version 2.0.0 onward has been revamped majorly.
3
  Donate link: https://www.webtoffee.com/plugins/
4
  Tags: user import, user export, csv, woocommerce, customers, import, export, export customers, import customers, export users to csv, import users from csv, woocommerce export customers, export import users, woocommerce import customers, woocommerce export customer email
5
  Requires at least: 3.0.1
6
+ Tested up to: 5.7
7
  Requires PHP: 5.6
8
+ Stable tag: 2.0.8
9
  License: GPLv3
10
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
11
 
28
  &#128312; Retain user passwords (optional)
29
  &#128312; Map and Transform fields while importing customers/users
30
  &#128312; Change values (bulk modify) while importing customers/users using Evaluation Fields
31
+ &#128312; Tested OK with WordPress 5.7
32
+ &#128312; Tested OK with WooCommerce 5.1.0
33
  &#128312; Tested OK with PHP 7.3.5
34
 
35
  Highlights: WordPress Users Export, WordPress Users CSV Import Suite, Export WordPress Users to CSV. Pro Version supports export and import of all additional user meta like WooCommerce details.
218
  12. WordPress user import export log
219
 
220
  == Changelog ==
221
+ = 2.0.8 =
222
+ * Tested OK with WC 5.1.0 and WP 5.7
223
+ * Check existing users default with user_email while importing.
224
  = 2.0.7 =
225
  * Tested OK with WC 5.0.0 and WP 5.6.1
226
  * Version 2.0.0 onward has been revamped majorly.
372
 
373
  == Upgrade Notice ==
374
 
375
+ = 2.0.8 =
376
+ * Tested OK with WC 5.1.0 and WP 5.7
377
+ * Check existing users default with user_email while importing.
uninstall.php CHANGED
File without changes
users-customers-import-export-for-wp-woocommerce.php CHANGED
@@ -1,13 +1,13 @@
1
  <?php
2
 
3
  /*
4
- Plugin Name: WordPress Users & WooCommerce Customers Import Export(BASIC)
5
  Plugin URI: https://wordpress.org/plugins/users-customers-import-export-for-wp-woocommerce/
6
  Description: Export and Import User/Customers details From and To your WordPress/WooCommerce.
7
  Author: WebToffee
8
  Author URI: https://www.webtoffee.com/product/wordpress-users-woocommerce-customers-import-export/
9
- Version: 2.0.7
10
- WC tested up to: 5.0.0
11
  Text Domain: users-customers-import-export-for-wp-woocommerce
12
  License: GPLv3
13
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
@@ -43,7 +43,7 @@ if ( ! defined( 'WT_IEW_DEBUG_BASIC' ) ) {
43
  * Start at version 1.0.0 and use SemVer - https://semver.org
44
  * Rename this for your plugin and update it as you release new versions.
45
  */
46
- define( 'WT_U_IEW_VERSION', '2.0.7' );
47
 
48
  /**
49
  * The code that runs during plugin activation.
@@ -137,14 +137,35 @@ function wt_users_customers_import_export_for_wp_woocommerce_update_message( $da
137
  {
138
  if(isset( $data['upgrade_notice']))
139
  {
140
- printf(
141
- '<div class="update-message wt-update-message">%s</div>',
142
- $data['upgrade_notice']
143
- );
 
 
 
 
144
  }
145
  }
146
  add_action( 'in_plugin_update_message-users-customers-import-export-for-wp-woocommerce/users-customers-import-export-for-wp-woocommerce.php', 'wt_users_customers_import_export_for_wp_woocommerce_update_message', 10, 2 );
147
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
148
  // uninstall feedback catch
149
  include_once plugin_dir_path( __FILE__ ) . 'includes/class-wt-userimport-uninstall-feedback.php';
150
 
1
  <?php
2
 
3
  /*
4
+ Plugin Name: WordPress Users & WooCommerce Customers Import Export
5
  Plugin URI: https://wordpress.org/plugins/users-customers-import-export-for-wp-woocommerce/
6
  Description: Export and Import User/Customers details From and To your WordPress/WooCommerce.
7
  Author: WebToffee
8
  Author URI: https://www.webtoffee.com/product/wordpress-users-woocommerce-customers-import-export/
9
+ Version: 2.0.8
10
+ WC tested up to: 5.1.0
11
  Text Domain: users-customers-import-export-for-wp-woocommerce
12
  License: GPLv3
13
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
43
  * Start at version 1.0.0 and use SemVer - https://semver.org
44
  * Rename this for your plugin and update it as you release new versions.
45
  */
46
+ define( 'WT_U_IEW_VERSION', '2.0.8' );
47
 
48
  /**
49
  * The code that runs during plugin activation.
137
  {
138
  if(isset( $data['upgrade_notice']))
139
  {
140
+ add_action( 'admin_print_footer_scripts','wt_users_customers_imex_plugin_screen_update_js');
141
+ $msg=str_replace(array('<p>','</p>'),array('<div>','</div>'),$data['upgrade_notice']);
142
+ echo '<style type="text/css">
143
+ #users-customers-import-export-for-wp-woocommerce-update .update-message p:last-child{ display:none;}
144
+ #users-customers-import-export-for-wp-woocommerce-update ul{ list-style:disc; margin-left:30px;}
145
+ .wf-update-message{ padding-left:30px;}
146
+ </style>
147
+ <div class="update-message wf-update-message">'. wpautop($msg).'</div>';
148
  }
149
  }
150
  add_action( 'in_plugin_update_message-users-customers-import-export-for-wp-woocommerce/users-customers-import-export-for-wp-woocommerce.php', 'wt_users_customers_import_export_for_wp_woocommerce_update_message', 10, 2 );
151
 
152
+ if(!function_exists('wt_users_customers_imex_plugin_screen_update_js'))
153
+ {
154
+ function wt_users_customers_imex_plugin_screen_update_js()
155
+ {
156
+ ?>
157
+ <script>
158
+ ( function( $ ){
159
+ var update_dv=$( '#users-customers-import-export-for-wp-woocommerce-update');
160
+ update_dv.find('.wf-update-message').next('p').remove();
161
+ update_dv.find('a.update-link:eq(0)').click(function(){
162
+ $('.wf-update-message').remove();
163
+ });
164
+ })( jQuery );
165
+ </script>
166
+ <?php
167
+ }
168
+ }
169
  // uninstall feedback catch
170
  include_once plugin_dir_path( __FILE__ ) . 'includes/class-wt-userimport-uninstall-feedback.php';
171