Ultimate CSV Importer - Version 5.6

Version Description

Download this release

Release Info

Developer smackcoders
Plugin Icon 128x128 Ultimate CSV Importer
Version 5.6
Comparing to
See all releases

Code changes from version 5.3.6 to 5.6

Readme.txt CHANGED
@@ -3,10 +3,10 @@ Contributors: smackcoders, smacksupport
3
  Donate link: https://www.paypal.me/smackcoders
4
  Tags: csv, csv import, csv importer, import, import csv, import seo, import woocommerce, acf, excel, spreadsheet
5
  Requires at least: 4.5
6
- Tested up to: 4.9.8
7
  Requires PHP: 5.2.4 or above
8
- Stable tag: 5.3.6
9
- Version: 5.3.6
10
  Author: smackcoders
11
  Author URI: http://profiles.wordpress.org/smackcoders/
12
  License: GPLv2 or later
@@ -25,7 +25,7 @@ Please show your support for CSV Importer by giving it a [rating](https://wordpr
25
  * Core Modules - Post, Page, Custom Post, Comments.
26
  * Users - [Import Users](https://wordpress.org/plugins/import-users/) add-on to import your WordPress Users
27
  * Custom Post - CPT UI, CustomPress and default WordPress Custom Post.
28
- * Custom Field - CustomPress, WordPress default fields
29
  * SEO field - Free version of All in One SEO.
30
  * Reviews - WP Customer Reviews
31
 
@@ -56,10 +56,10 @@ Import of CSV involves few simple steps. Choose your CSV file to import. Map you
56
  * Core Module - Post, Page, Custom Post, Comments, Category, Tags, Users, Customer Reviews.
57
  * eCommerce Products - WooCommerce, MarketPress, WP e-Commerce & eShop.
58
  * SEO field - Free & Pro version of All in One SEO and Yoast SEO.
59
- * Multilingual - WPML & [qTranslate X](https://www.smackcoders.com/blog/import-marketpress-pro-event-manager-and-more.html?utm_source=web&utm_campaign=readme&utm_medium=wp_org)
60
  * Image - NextGEN Gallery
61
  * Events Management - Events Manager FREE & Pro
62
- * Custom fields - CustomPress, ACF, Types, Pods, CCTM & WordPress default Text & Textarea fields.
63
  * Custom Post - CustomPress, Types, Pods, CPT UI, CCTM & default WordPress Custom Post.
64
 
65
  = Highlighted Feature of PRO =
@@ -68,6 +68,7 @@ Import of CSV involves few simple steps. Choose your CSV file to import. Map you
68
  * Import image - Use the images from external URL in your CSV file and import all images inside WordPress along with the advanced SEO option to add alt text with WP Ultimate CSV Importer. You can also rename the featured image loaded from external URL.
69
  * More optimized import process - Advanced duplicate handling in WP Ultimate CSV Importer lets you to handle duplicates with any WP fields as primary field, and eliminate duplicate entries in WordPress.
70
  * Scheduled / Recurring Import - WP Ultimate CSV Importer can check for updates and run import periodically without any manual interaction.
 
71
  * Multilingual import - Easy to run multilingual website with WP Ultimate CSV Importer with the support for the import of WPML & qTranslate X add-on.
72
  * WP Ultimate CSV Importer supports WooCommerce product import along with 6 WooCommerce add-on.
73
  * Import products of MarketPress Lite & PRO version add-on.
@@ -80,10 +81,9 @@ Import of CSV involves few simple steps. Choose your CSV file to import. Map you
80
  = Helpful Links =
81
  [Documentation](https://www.smackcoders.com/documentation/ultimate-csv-importer-pro/how-to-import-csv?utm_source=web&utm_campaign=readme&utm_medium=wp_org).
82
 
83
- Watch our [product video](https://youtu.be/Uho22R0BCHQ)
84
  You can try the [live demo](https://demo.smackcoders.com/wordpress/wp-admin/admin.php?page=sm-uci-dashboard) or request for free trial by clicking Try Now in [WordPress Ultimate CSV Importer](https://www.smackcoders.com/wp-ultimate-csv-importer-pro.html?utm_source=web&utm_campaign=readme&utm_medium=wp_org) page to generate your own WordPress test environment.
85
 
86
- Read our [blog](https://www.smackcoders.com/blog/category/wordpress-products?utm_source=web&utm_campaign=readme&utm_medium=wp_org) to know more about the new [features](https://www.smackcoders.com/wp-ultimate-csv-importer-pro.html?utm_source=web&utm_campaign=readme&utm_medium=wp_org) of our WordPress plugins.
87
 
88
  [FAQ](https://www.smackcoders.com/wordpress-products-faq.html?utm_source=web&utm_campaign=readme&utm_medium=wp_org) and [Troubleshooting tips](https://wordpress.org/support/topic/tips-to-trouble-shoot-wp-ultimate-csv-importer-issues-1)
89
 
@@ -109,7 +109,7 @@ Import may hang due to the following reasons<br />
109
  * System Requirements are not matched the required values.<br />
110
 
111
  2. How to validate a CSV? <br />
112
- CSV Importer plugin allows you to import CSVs that are validated. So kindly validate your CSV using CSV Lint. Your CSV may have any escape characters and misplaced skip characters which may cause the import to cease.<br />
113
 
114
  3. What are the supported CSV Formats? <br />
115
  Wordpress CSV Importer plugin recognizes only the UTF-8 encoded characters. You can check on the UTF-8 encode with CSV Lint. Any chance if you are using Excel, we recommend you to use Google Sheets. Excel will miss some characters to be encoded to proper UTF-8.<br />
@@ -121,11 +121,15 @@ Basic System Requirements need to be met to upload a CSV with bulk of records. K
121
  The importer uploads images in the background for faster performance and it requires WP-Cron to be enabled. You can [easily configure WP-Cron](https://www.smackcoders.com/blog/enable-configure-wp-cron.html?utm_source=wp_org&utm_campaign=readme&utm_medium=faq) for smooth and speedy import. <br />
122
 
123
  6. What are the supported custom fields in FREE version? <br />
124
- The importer supports [default WordPress Text and Text area fields](https://www.smackcoders.com/blog/adding-custom-fields-data-wordpress-free-wp-ultimate-csv-importer.html?utm_source=wordpress_org&utm_campaign=readme&utm_medium=faq) of Types, Pods, etc,.. You can also import the Text & Text area fields created with custom codes in WordPress standards.
125
 
126
  For more FAQ, you can refer [here](https://www.smackcoders.com/wordpress-products-faq.html?utm_source=wp_org&utm_campaign=readme&utm_medium=faq).
127
 
128
  == Changelog ==
 
 
 
 
129
  = 5.3.6 =
130
  * Added: Compatibility for WordPress 4.9.8
131
  * Added: Import Post parent import with Post Title
@@ -496,6 +500,10 @@ For more FAQ, you can refer [here](https://www.smackcoders.com/wordpress-product
496
  * Initial release version. Tested and found works well without any issues.
497
 
498
  == Upgrade Notice ==
 
 
 
 
499
  = 5.3.6 =
500
  * Upgrade now to get Post parent import with Post title and compatibility for WordPress 4.9.8
501
  = 5.3.5 =
3
  Donate link: https://www.paypal.me/smackcoders
4
  Tags: csv, csv import, csv importer, import, import csv, import seo, import woocommerce, acf, excel, spreadsheet
5
  Requires at least: 4.5
6
+ Tested up to: 5.0.1
7
  Requires PHP: 5.2.4 or above
8
+ Stable tag: 5.6
9
+ Version: 5.6
10
  Author: smackcoders
11
  Author URI: http://profiles.wordpress.org/smackcoders/
12
  License: GPLv2 or later
25
  * Core Modules - Post, Page, Custom Post, Comments.
26
  * Users - [Import Users](https://wordpress.org/plugins/import-users/) add-on to import your WordPress Users
27
  * Custom Post - CPT UI, CustomPress and default WordPress Custom Post.
28
+ * Custom Field - WordPress default Text and Text area fields.
29
  * SEO field - Free version of All in One SEO.
30
  * Reviews - WP Customer Reviews
31
 
56
  * Core Module - Post, Page, Custom Post, Comments, Category, Tags, Users, Customer Reviews.
57
  * eCommerce Products - WooCommerce, MarketPress, WP e-Commerce & eShop.
58
  * SEO field - Free & Pro version of All in One SEO and Yoast SEO.
59
+ * Multilingual - [WPML](https://www.youtube.com/watch?v=yvSPfvPp5s0&t=8s) & [qTranslate X](https://www.smackcoders.com/blog/import-marketpress-pro-event-manager-and-more.html?utm_source=web&utm_campaign=readme&utm_medium=wp_org)
60
  * Image - NextGEN Gallery
61
  * Events Management - Events Manager FREE & Pro
62
+ * Custom fields - CustomPress, [ACF](https://youtu.be/RVoqPX3Ib94), [Toolset Types](https://www.smackcoders.com/documentation/ultimate-csv-importer-pro/toolset-types-import?utm_source=readme&utm_medium=wp_org), Pods, CCTM & WordPress default Text & Textarea fields.
63
  * Custom Post - CustomPress, Types, Pods, CPT UI, CCTM & default WordPress Custom Post.
64
 
65
  = Highlighted Feature of PRO =
68
  * Import image - Use the images from external URL in your CSV file and import all images inside WordPress along with the advanced SEO option to add alt text with WP Ultimate CSV Importer. You can also rename the featured image loaded from external URL.
69
  * More optimized import process - Advanced duplicate handling in WP Ultimate CSV Importer lets you to handle duplicates with any WP fields as primary field, and eliminate duplicate entries in WordPress.
70
  * Scheduled / Recurring Import - WP Ultimate CSV Importer can check for updates and run import periodically without any manual interaction.
71
+ * Toolset Types Import - Import of any Toolset Types information in CSV into your WordPress with WP Ultimate CSV Importer. Lets you to import Toolset Types Custom fields, [Post Relation](https://youtu.be/jkkSG0DUnug), Intermediate post, Repeatable Field & [Repeater Field Group](https://youtu.be/qKPwv3Pc7tw).
72
  * Multilingual import - Easy to run multilingual website with WP Ultimate CSV Importer with the support for the import of WPML & qTranslate X add-on.
73
  * WP Ultimate CSV Importer supports WooCommerce product import along with 6 WooCommerce add-on.
74
  * Import products of MarketPress Lite & PRO version add-on.
81
  = Helpful Links =
82
  [Documentation](https://www.smackcoders.com/documentation/ultimate-csv-importer-pro/how-to-import-csv?utm_source=web&utm_campaign=readme&utm_medium=wp_org).
83
 
 
84
  You can try the [live demo](https://demo.smackcoders.com/wordpress/wp-admin/admin.php?page=sm-uci-dashboard) or request for free trial by clicking Try Now in [WordPress Ultimate CSV Importer](https://www.smackcoders.com/wp-ultimate-csv-importer-pro.html?utm_source=web&utm_campaign=readme&utm_medium=wp_org) page to generate your own WordPress test environment.
85
 
86
+ Read our [blog](https://www.smackcoders.com/blog/category/wordpress?utm_source=web&utm_medium=wp_org&utm_campaign=readme) to know more about the new [features](https://www.smackcoders.com/wp-ultimate-csv-importer-pro.html?utm_source=web&utm_campaign=readme&utm_medium=wp_org) of our WordPress plugins.
87
 
88
  [FAQ](https://www.smackcoders.com/wordpress-products-faq.html?utm_source=web&utm_campaign=readme&utm_medium=wp_org) and [Troubleshooting tips](https://wordpress.org/support/topic/tips-to-trouble-shoot-wp-ultimate-csv-importer-issues-1)
89
 
109
  * System Requirements are not matched the required values.<br />
110
 
111
  2. How to validate a CSV? <br />
112
+ CSV Importer plugin allows you to import CSVs that are validated. So kindly validate your CSV using [CSV Lint](https://csvlint.io/). Your CSV may have any escape characters and misplaced skip characters which may cause the import to cease.<br />
113
 
114
  3. What are the supported CSV Formats? <br />
115
  Wordpress CSV Importer plugin recognizes only the UTF-8 encoded characters. You can check on the UTF-8 encode with CSV Lint. Any chance if you are using Excel, we recommend you to use Google Sheets. Excel will miss some characters to be encoded to proper UTF-8.<br />
121
  The importer uploads images in the background for faster performance and it requires WP-Cron to be enabled. You can [easily configure WP-Cron](https://www.smackcoders.com/blog/enable-configure-wp-cron.html?utm_source=wp_org&utm_campaign=readme&utm_medium=faq) for smooth and speedy import. <br />
122
 
123
  6. What are the supported custom fields in FREE version? <br />
124
+ The importer supports [default WordPress Text and Text area fields](https://www.smackcoders.com/blog/adding-custom-fields-data-wordpress-free-wp-ultimate-csv-importer.html?utm_source=wordpress_org&utm_campaign=readme&utm_medium=faq). You can also import the Text & Text area fields created with custom codes in WordPress standards.
125
 
126
  For more FAQ, you can refer [here](https://www.smackcoders.com/wordpress-products-faq.html?utm_source=wp_org&utm_campaign=readme&utm_medium=faq).
127
 
128
  == Changelog ==
129
+ =5.6=
130
+ * Added: Compatibility for WordPress 5.0
131
+ = 5.3.7 =
132
+ * Removed: Registering custom field in Mapping section.
133
  = 5.3.6 =
134
  * Added: Compatibility for WordPress 4.9.8
135
  * Added: Import Post parent import with Post Title
500
  * Initial release version. Tested and found works well without any issues.
501
 
502
  == Upgrade Notice ==
503
+ = 5.6 =
504
+ * Upgrade now for WordPress 5.0 compatibility
505
+ = 5.3.7 =
506
+ * Upgrade now to get latest version of Ultimate CSV Importer
507
  = 5.3.6 =
508
  * Upgrade now to get Post parent import with Post title and compatibility for WordPress 4.9.8
509
  = 5.3.5 =
admin/views/form-mapping-configuration.php CHANGED
@@ -52,6 +52,7 @@ if($_POST) {
52
  $_POST = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING);
53
  $records['suggested_template'] = $_POST;
54
  $post_values = $uci_admin->GetPostValues(sanitize_key($_REQUEST['eventkey']));
 
55
  $result = array_merge($post_values[$_REQUEST['eventkey']], $records);
56
  $uci_admin->SetPostValues(sanitize_key($_REQUEST['eventkey']), $result);
57
  }
@@ -59,6 +60,7 @@ if($_POST) {
59
  $eventKey = sanitize_key($_REQUEST['eventkey']);
60
  $get_records = $uci_admin->GetPostValues($eventKey);
61
  $import_type = $get_records[$eventKey]['import_file']['posttype'];
 
62
  if(!empty($get_records[$eventKey]['mapping_config']) && $get_records[$eventKey]['mapping_config']) {
63
  $mapping_screendata = $uci_admin->get_mapping_screendata( $import_type, $get_records[$eventKey]['mapping_config']);
64
  }
@@ -240,12 +242,12 @@ if(isset($_REQUEST['mapping_type']) && $_REQUEST['mapping_type'] == 'normal') {
240
  </table>
241
  <input type='hidden' id='<?php echo $widget_slug;?>_count' value= '<?php echo $CORE_count; ?>'>
242
  <?php
243
- if($widget_slug=='wordpress_custom_fields'|| $widget_slug=='acf_pro_fields'|| $widget_slug=='acf_fields' || $widget_slug=='types_custom_fields' || $widget_slug=='pods_custom_fields') { ?>
 
 
244
 
245
  <div class="customfield_btndiv">
246
- <div class="col-md-offset-9">
247
- <input type="button" class="customfield_btn smack-btn smack-btn-primary btn-radius" value="Add Custom Field" onclick="addCustomfield('<?php echo $plugin_file;?>','<?php echo $widget_slug;?>','<?php echo sanitize_title($_REQUEST["eventkey"]);?>')" >
248
- </div>
249
  </div>
250
  <?php } ?>
251
  </div>
@@ -262,6 +264,7 @@ if(isset($_REQUEST['mapping_type']) && $_REQUEST['mapping_type'] == 'normal') {
262
  </script>
263
  <?php
264
  }
 
265
  endif;
266
  $save_templatename = '';
267
  if($save_templatename == '' && $templateName == '') {
@@ -271,6 +274,7 @@ if(isset($_REQUEST['mapping_type']) && $_REQUEST['mapping_type'] == 'normal') {
271
  $filename = explode($file_extn, $filename);
272
  $templateName = $filename[0];
273
  }
 
274
  ?>
275
  </div>
276
  <div class="col-md-12 mt20">
52
  $_POST = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING);
53
  $records['suggested_template'] = $_POST;
54
  $post_values = $uci_admin->GetPostValues(sanitize_key($_REQUEST['eventkey']));
55
+
56
  $result = array_merge($post_values[$_REQUEST['eventkey']], $records);
57
  $uci_admin->SetPostValues(sanitize_key($_REQUEST['eventkey']), $result);
58
  }
60
  $eventKey = sanitize_key($_REQUEST['eventkey']);
61
  $get_records = $uci_admin->GetPostValues($eventKey);
62
  $import_type = $get_records[$eventKey]['import_file']['posttype'];
63
+
64
  if(!empty($get_records[$eventKey]['mapping_config']) && $get_records[$eventKey]['mapping_config']) {
65
  $mapping_screendata = $uci_admin->get_mapping_screendata( $import_type, $get_records[$eventKey]['mapping_config']);
66
  }
242
  </table>
243
  <input type='hidden' id='<?php echo $widget_slug;?>_count' value= '<?php echo $CORE_count; ?>'>
244
  <?php
245
+ if($widget_slug=='wordpress_custom_fields'|| $widget_slug=='acf_pro_fields'|| $widget_slug=='acf_fields' || $widget_slug=='types_custom_fields' || $widget_slug=='pods_custom_fields') {
246
+
247
+ ?>
248
 
249
  <div class="customfield_btndiv">
250
+
 
 
251
  </div>
252
  <?php } ?>
253
  </div>
264
  </script>
265
  <?php
266
  }
267
+
268
  endif;
269
  $save_templatename = '';
270
  if($save_templatename == '' && $templateName == '') {
274
  $filename = explode($file_extn, $filename);
275
  $templateName = $filename[0];
276
  }
277
+
278
  ?>
279
  </div>
280
  <div class="col-md-12 mt20">
assets/images/wp-ultimate-csv-importer-old.png ADDED
Binary file
assets/images/wp-ultimate-csv-importer.png CHANGED
Binary file
includes/class-uci-admin-ajax.php CHANGED
@@ -806,27 +806,32 @@ class SmackUCIAdminAjax {
806
 
807
  public static function sendmail(){
808
  if($_POST){
 
809
  $email = $_POST['email'];
810
  $url = get_option('siteurl');
811
  $site_name = get_option('blogname');
812
  $headers = "From: " . $site_name . "<$email>" . "\r\n";
813
  $headers.= 'MIME-Version: 1.0' . "\r\n";
814
- $headers.= "Content-type: text/html; charset=iso-8859-1 \r\n";
815
  $to = 'support@smackcoders.com';
816
  $subject = $_POST['query'];
817
  $message = "Site URL: " . $url . "\r\n";
818
  $message .= "Plugin Name: " . SM_UCI_SETTINGS . "\r\n";
819
- $message .= "Message: " . $_POST['message'] . "\r\n";
820
  //send email
821
  if(wp_mail($to, $subject, $message, $headers)) {
822
  echo 'Mail Sent!';
823
  } else {
824
  echo "Please draft a mail to support@smackcoders.com. If you doesn't get any acknowledgement within an hour!";
825
  } //This method sends the mail.
 
826
  die;
827
  }
828
  }
829
-
 
 
 
830
  public static function send_subscribe_email(){
831
  if($_POST){
832
  $email = $_POST['subscribe_email'];
806
 
807
  public static function sendmail(){
808
  if($_POST){
809
+ add_filter( 'wp_mail_content_type','SmackUCIAdminAjax::set_content_type' );
810
  $email = $_POST['email'];
811
  $url = get_option('siteurl');
812
  $site_name = get_option('blogname');
813
  $headers = "From: " . $site_name . "<$email>" . "\r\n";
814
  $headers.= 'MIME-Version: 1.0' . "\r\n";
815
+ $headers= array( "Content-type: text/html; charset=UTF-8");
816
  $to = 'support@smackcoders.com';
817
  $subject = $_POST['query'];
818
  $message = "Site URL: " . $url . "\r\n";
819
  $message .= "Plugin Name: " . SM_UCI_SETTINGS . "\r\n";
820
+ $message .= "Message: " ."\r\n" . $_POST['message'] . "\r\n";
821
  //send email
822
  if(wp_mail($to, $subject, $message, $headers)) {
823
  echo 'Mail Sent!';
824
  } else {
825
  echo "Please draft a mail to support@smackcoders.com. If you doesn't get any acknowledgement within an hour!";
826
  } //This method sends the mail.
827
+ remove_filter( 'wp_mail_content_type', 'SmackUCIAdminAjax::set_content_type' );
828
  die;
829
  }
830
  }
831
+ function set_content_type( $message ) {
832
+
833
+ return 'text/plain';
834
+ }
835
  public static function send_subscribe_email(){
836
  if($_POST){
837
  $email = $_POST['subscribe_email'];
includes/class-uci-helper.php CHANGED
@@ -727,6 +727,15 @@ class SmackUCIHelper {
727
  $commonMetaFields['CORECUSTFIELDS'][$val]['label'] = $val;
728
  $commonMetaFields['CORECUSTFIELDS'][$val]['name'] = $val;
729
  }
 
 
 
 
 
 
 
 
 
730
  return $commonMetaFields;
731
  }
732
 
@@ -1573,7 +1582,7 @@ class SmackUCIHelper {
1573
  //$myfile = fopen($filename, "w") or die("Unable to open file!");
1574
  //$post_values[$eventkey] = $values;
1575
  //$post_values = serialize($post_values);
1576
-
1577
  $myfile = fopen($filename, "w") or die("Unable to open file!");
1578
  $post_values[$eventKey] = $values;
1579
  $post_values = serialize($post_values);
727
  $commonMetaFields['CORECUSTFIELDS'][$val]['label'] = $val;
728
  $commonMetaFields['CORECUSTFIELDS'][$val]['name'] = $val;
729
  }
730
+
731
+ if(in_array('advanced-custom-fields-pro/acf.php',$this->get_active_plugins())){
732
+ $commonMetaFields = array();
733
+ return $commonMetaFields;
734
+ }
735
+ if(in_array('advanced-custom-fields/acf.php',$this->get_active_plugins())){
736
+ $commonMetaFields = array();
737
+ return $commonMetaFields;
738
+ }
739
  return $commonMetaFields;
740
  }
741
 
1582
  //$myfile = fopen($filename, "w") or die("Unable to open file!");
1583
  //$post_values[$eventkey] = $values;
1584
  //$post_values = serialize($post_values);
1585
+ chmod($uploadPath,0700);
1586
  $myfile = fopen($filename, "w") or die("Unable to open file!");
1587
  $post_values[$eventKey] = $values;
1588
  $post_values = serialize($post_values);
index.php CHANGED
@@ -2,7 +2,7 @@
2
  /******************************
3
  * Plugin Name: WP Ultimate CSV Importer
4
  * Description: Seamlessly create posts, custom posts, pages, media, SEO and more from your CSV data with ease.
5
- * Version: 5.3.6
6
  * Author: smackcoders
7
  * Author URI: http://www.smackcoders.com/wp-ultimate-csv-importer-pro.html?utm_source=plugin&utm_campaign=csv_importer_pro&utm_medium=wordpress
8
  * Text Domain: wp-ultimate-csv-importer
@@ -56,7 +56,7 @@ if ( ! class_exists( 'SM_WPUltimateCSVImporter' ) ) :
56
  */
57
  class SM_WPUltimateCSVImporter {
58
 
59
- public $version = '5.3.6';
60
 
61
  /**
62
  * The single instance of the class.
2
  /******************************
3
  * Plugin Name: WP Ultimate CSV Importer
4
  * Description: Seamlessly create posts, custom posts, pages, media, SEO and more from your CSV data with ease.
5
+ * Version: 5.6
6
  * Author: smackcoders
7
  * Author URI: http://www.smackcoders.com/wp-ultimate-csv-importer-pro.html?utm_source=plugin&utm_campaign=csv_importer_pro&utm_medium=wordpress
8
  * Text Domain: wp-ultimate-csv-importer
56
  */
57
  class SM_WPUltimateCSVImporter {
58
 
59
+ public $version = '5.6';
60
 
61
  /**
62
  * The single instance of the class.