Ultimate CSV Importer - Version 5.1.1

Version Description

Download this release

Release Info

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

Code changes from version 5.1 to 5.1.1

Readme.txt CHANGED
@@ -3,26 +3,26 @@ Contributors: smackcoders, smacksupport
3
  Donate link: https://www.paypal.me/smackcoders
4
  Tags: csv importer, import csv, import woocommerce, import marketpress, import seo by yoast, import all in one seo, scheduled import, import remote file, export woocommerce, import types fields, import acf fields, Events Manager
5
  Requires at least: 4.0
6
- Tested up to: 4.7.1
7
- Stable tag: 5.1
8
- Version: 5.1
9
  Author: smackcoders
10
  Author URI: http://profiles.wordpress.org/smackcoders/
11
  License: GPLv2 or later
12
  WP Ultimate CSV Importer enables to import Post types, images from external URL and export all Post Types as CSV file.
13
 
14
  == Description ==
15
- WP Ultimate CSV Importer is an import and export tool that helps to a build WordPress site at the drop of a hat by importing Post, Page, Custom Post, Users, Comments, WordPress Custom Fields & [CustomPress fields](http://www.smackcoders.com/blog/adding-custom-fields-data-wordpress-free-wp-ultimate-csv-importer.html?utm_source=wordpress_org&utm_campaign=change_log&utm_medium=readme), Reviews of WP Customer Reviews and SEO fields of All in One SEO. The plugin supports export and import of all Custom Post Types. The import is for selective modules, but the export is for all the core modules along with few third party plugins.
16
 
17
- The image can be imported from external URL like Google image, pixabay, shutterstock, etc,. The images are imported in the background with the help of WP-CRON to enhance the performance. You can [easily configure your WP-Cron](http://www.smackcoders.com/blog/enable-configure-wp-cron.html?utm_source=wordpress_org&utm_campaign=change_log&utm_medium=readme) for faster import.
18
 
19
  Please show your support for WP Ultimate CSV Importer by giving it a [rating](https://wordpress.org/support/view/plugin-reviews/wp-ultimate-csv-importer?rate=5#postform) :)
20
 
21
  = Modules supported in Import and Export =
22
  * Core Modules - Post, Page, Custom Post, Comments and Users.
23
  * Custom Post - CPT UI, CustomPress and default WordPress Custom Post.
24
- * Custom Field - CustomPress, WordPress default Text & Textarea fields.
25
- * SEO field - All in One SEO.
26
  * Reviews - WP Customer Reviews
27
 
28
  = Modules supported in Export =
@@ -33,11 +33,11 @@ Please show your support for WP Ultimate CSV Importer by giving it a [rating](ht
33
  = Highlighted Feature =
34
  * High performance rocket speed import.
35
  * Imports image from an external URLs.
 
36
  * WordPress core custom fields can be dynamically registered on the flow of import.
37
  * Import static & dynamic content on the flow of import.
38
  * Post type import with terms & taxonomies with any of depth of parent-child values.
39
  * Send email to newly imported User with auto generated password information.
40
- * Insert dynamic or static content on the flow of import.
41
  * Can be used in WordPress multisite.
42
  * Post Type import along with multi category & multi tag.
43
  * CSV with any delimiter in UTF-8 format can be imported.
@@ -51,13 +51,13 @@ Please show your support for WP Ultimate CSV Importer by giving it a [rating](ht
51
  [youtube https://www.youtube.com/watch?v=GbDlQcbnNJY]
52
 
53
  = Ultimate CSV Importer PRO =
54
- Ultimate CSV Importer PRO has all the features of WP Ultimate CSV Importer and it is extended with a lot of features that enables to [import](https://goo.gl/RzUvq), schedule, [update](https://goo.gl/RzUvq) and [export](https://www.youtube.com/watch?v=0YA0au4cXW0) both CSV and XML files. The import details over a year is in dashboard chart to easily track the site updates in a fraction of a second. Any changes like modifying existing content or appending new content can be done in simple update flow. You can also update or import periodically with scheduler. The update or schedule is done with the templates which is created with mapped fields in the mapping section of the import. The export option enables to export the imported modules as CSV based on the filters.
55
 
56
  = Supported Modules To Import and Export =
57
  * Core Module - Post, Page, Custom Post, Comments, Category, Tags, Users, Customer Reviews.
58
  * eCommerce Products – WooCommerce, MarketPress, WP e-Commerce & eShop.
59
- * SEO field - All in One SEO and Yoast SEO.
60
- * Multilingual - WPML & qTranslate X
61
  * Image - NextGEN Gallery
62
  * Events Management - Events Manager FREE & Pro
63
  * Custom fields – CustomPress, ACF, Types, Pods, CCTM & WordPress default Text & Textarea fields.
@@ -74,17 +74,17 @@ Ultimate CSV Importer PRO has all the features of WP Ultimate CSV Importer and i
74
  * Imported modules can be managed in the File manager.
75
  * Detailed logs are maintained in the Log manager.
76
  * Duplicate handling with any of the WordPress field.
77
- * Import all the supported features of WP Ultimate CSV Importer with [Rest API](http://www.smackcoders.com/documentation/wp-ultimate-csv-importer-rest-api.html?utm_source=wordpress_org&utm_campaign=pro_feature_highlights&utm_medium=readme).
78
- * Extendable for your needs with [API](https://www.smackcoders.com/documentation/docs/api/classes/SmackUCI_API.html?utm_source=wordpress_org&utm_campaign=pro_feature_highlights&utm_medium=readme).
79
 
80
  = Helpful Links =
81
- [Documentation](https://goo.gl/Ben1cP).
82
 
83
- You can try the [live demo](https://goo.gl/H3V59Z) or request for free trial by clicking Try Now in [WordPress Ultimate CSV Importer](https://goo.gl/F8Wz4v) page to generate your own WordPress test environment.
84
 
85
- Read our [blog](https://goo.gl/2TDZW4) to know more about the new [features](https://goo.gl/BwEzHy) of our WordPress plugins.
86
 
87
- [FAQ](https://goo.gl/eH7BHT) and [Troubleshooting tips](https://wordpress.org/support/topic/tips-to-trouble-shoot-wp-ultimate-csv-importer-issues-1)
88
 
89
  == Installation ==
90
  1. Extract the wp-ultimate-csv-importer.zip in wordpress/wp-content/plugins using FTP or with plugin install in wp-admin.
@@ -92,7 +92,7 @@ Read our [blog](https://goo.gl/2TDZW4) to know more about the new [features](htt
92
 
93
  == Screenshots ==
94
  1. Dashboard view of the importer
95
- 2. Upload section of CSV/XML.
96
  3. Mapping view of the uploaded CSV/XML fields with WordPress fields
97
  4. Detailed real-time log.
98
  5. Settings with php.ini details.
@@ -102,27 +102,32 @@ Read our [blog](https://goo.gl/2TDZW4) to know more about the new [features](htt
102
  == Frequently Asked Questions ==
103
  = Common Issues =
104
  <b>1. How to solve auto_prepend_file and auto_append_file error?</b><br />
105
- * Check your phpinfo.php. Ensure that auto_prepend_file and auto_append_file options are disabled.
106
- * If not, you can disable it in php.ini settings file. You can also do it in .htaccess file
107
  * Create a .htaccess file in the root and set the following values.<br />
108
  * php_value auto_prepend_file none<br />
109
  * php_value auto_append_file none<br />
110
  This will solve your issue or get support from hosting if you didn’t have sufficient permission.
111
 
112
  <b>2. Why my featured images not getting uploaded?</b><br />
113
- The importer uploads images in the background for faster performance and it requires WP-Cron to be enabled. You can [easily configure WP-Cron](http://www.smackcoders.com/blog/enable-configure-wp-cron.html?utm_source=wordpress_org&utm_campaign=faq&utm_medium=readme) for smooth and speedy import.
114
 
115
- <b>3. What are the supported custom fields in FREE version?</b>
116
- The importer supports [default WordPress Text and Text area fields](http://www.smackcoders.com/blog/adding-custom-fields-data-wordpress-free-wp-ultimate-csv-importer.html?utm_source=wordpress_org&utm_campaign=faq&utm_medium=readme) of Types, Pods, etc,.. You can also import the Text & Text area fields created with custom codes in WordPress standards.
117
 
118
- For more FAQ, you can refer [here](https://goo.gl/eH7BHT).
119
 
120
  == Changelog ==
 
 
 
 
 
 
121
  = 5.1 =
122
  * Added: Language Support for German, French, Italian, Spanish, Dutch & Russian.
123
  * Added: Restriction to show “Admin dashboard widget” only for users with Admin role. [Solved](https://wordpress.org/support/topic/admin-dashboard-widget-is-showing-to-all-users)
124
- * Added: Notice to enable wp-cron to populate the feature images. [Solved](https://wordpress.org/support/topic/version-5-03-issues).
125
- * Added: Notice to [enable wp-cron](https://goo.gl/woslxy) to populate the feature images. [Solved](https://wordpress.org/support/topic/version-5-03-issues).
126
  * Added: Warning messages to notify when uploads directory is missing, insufficient permission to access and uploaded file size exceeds your server limits.
127
  * Added: Duplicate handling feature to skip the duplicate records.
128
  * Added: Canonical URL support in All in One SEO data import.
@@ -433,6 +438,8 @@ For more FAQ, you can refer [here](https://goo.gl/eH7BHT).
433
  * Initial release version. Tested and found works well without any issues.
434
 
435
  == Upgrade Notice ==
 
 
436
  = 5.1 =
437
  * Upgrade now for 6 language support, duplicate handling and more.
438
  = 5.0.3 =
@@ -566,4 +573,4 @@ For more FAQ, you can refer [here](https://goo.gl/eH7BHT).
566
  = 1.0.1 =
567
  * Added features to import multiple tags and categories with different delimiters.
568
  = 1.0.0 =
569
- * Initial release of plugin.
3
  Donate link: https://www.paypal.me/smackcoders
4
  Tags: csv importer, import csv, import woocommerce, import marketpress, import seo by yoast, import all in one seo, scheduled import, import remote file, export woocommerce, import types fields, import acf fields, Events Manager
5
  Requires at least: 4.0
6
+ Tested up to: 4.7.2
7
+ Stable tag: 5.1.1
8
+ Version: 5.1.1
9
  Author: smackcoders
10
  Author URI: http://profiles.wordpress.org/smackcoders/
11
  License: GPLv2 or later
12
  WP Ultimate CSV Importer enables to import Post types, images from external URL and export all Post Types as CSV file.
13
 
14
  == Description ==
15
+ WP Ultimate CSV Importer is an import and export tool that helps to build a WordPress site at the drop of a hat by importing Post, Page, Custom Post, Users, Comments, [WordPress Custom Fields](http://www.smackcoders.com/blog/adding-custom-fields-data-wordpress-free-wp-ultimate-csv-importer.html?utm_source=web&utm_campaign=wp_org&utm_medium=readme) & [CustomPress fields](http://www.smackcoders.com/blog/custompress-import.html?utm_source=web&utm_campaign=wp_org&utm_medium=readme), Reviews of WP Customer Reviews and SEO fields of All in One SEO. The plugin supports export and import of all Custom Post Types. The import is for selective modules, but the export is for all the core modules along with few third party plugins.
16
 
17
+ The image can be imported from external URL like Google image, pixabay, shutterstock, etc,. The images are imported in the background with the help of WP-CRON to enhance the performance. You can [easily configure your WP-Cron](http://www.smackcoders.com/blog/enable-configure-wp-cron.html?utm_source=web&utm_campaign=wp_org&utm_medium=readme) for faster import.
18
 
19
  Please show your support for WP Ultimate CSV Importer by giving it a [rating](https://wordpress.org/support/view/plugin-reviews/wp-ultimate-csv-importer?rate=5#postform) :)
20
 
21
  = Modules supported in Import and Export =
22
  * Core Modules - Post, Page, Custom Post, Comments and Users.
23
  * Custom Post - CPT UI, CustomPress and default WordPress Custom Post.
24
+ * Custom Field - CustomPress, [WordPress default Text & Textarea fields of Types, Pods, etc,](http://www.smackcoders.com/blog/adding-custom-fields-data-wordpress-free-wp-ultimate-csv-importer.html?utm_source=web&utm_campaign=wp_org&utm_medium=readme).
25
+ * SEO field - Free version of All in One SEO.
26
  * Reviews - WP Customer Reviews
27
 
28
  = Modules supported in Export =
33
  = Highlighted Feature =
34
  * High performance rocket speed import.
35
  * Imports image from an external URLs.
36
+ * Optimized database with enhanced duplicate handling.
37
  * WordPress core custom fields can be dynamically registered on the flow of import.
38
  * Import static & dynamic content on the flow of import.
39
  * Post type import with terms & taxonomies with any of depth of parent-child values.
40
  * Send email to newly imported User with auto generated password information.
 
41
  * Can be used in WordPress multisite.
42
  * Post Type import along with multi category & multi tag.
43
  * CSV with any delimiter in UTF-8 format can be imported.
51
  [youtube https://www.youtube.com/watch?v=GbDlQcbnNJY]
52
 
53
  = Ultimate CSV Importer PRO =
54
+ Ultimate CSV Importer PRO has all the features of WP Ultimate CSV Importer and it is extended with a lot of features that enables to import, schedule, update and export CSV files. The import details over a year is in dashboard chart to easily track the site updates in a fraction of a second. Any changes like modifying existing content or appending new content can be done in simple update flow. You can also update or import periodically with scheduler. The update or schedule is done with the templates which is created with mapped fields in the mapping section of the import. The export option enables to export the imported modules as CSV based on the filters.
55
 
56
  = Supported Modules To Import and Export =
57
  * Core Module - Post, Page, Custom Post, Comments, Category, Tags, Users, Customer Reviews.
58
  * eCommerce Products – WooCommerce, MarketPress, WP e-Commerce & eShop.
59
+ * SEO field - Free & Pro version of All in One SEO and Yoast SEO.
60
+ * Multilingual - WPML & [qTranslate X](http://www.smackcoders.com/blog/import-marketpress-pro-event-manager-and-more.html?utm_source=web&utm_campaign=readme&utm_medium=wp_org)
61
  * Image - NextGEN Gallery
62
  * Events Management - Events Manager FREE & Pro
63
  * Custom fields – CustomPress, ACF, Types, Pods, CCTM & WordPress default Text & Textarea fields.
74
  * Imported modules can be managed in the File manager.
75
  * Detailed logs are maintained in the Log manager.
76
  * Duplicate handling with any of the WordPress field.
77
+ * Import all the supported features of WP Ultimate CSV Importer with [Rest API](http://www.smackcoders.com/document/wp-ultimate-csv-importer-rest-api.html?utm_source=web&utm_campaign=readme&utm_medium=wp_org).
78
+ * Extendable for your needs with [API](https://www.smackcoders.com/document/docs/api/classes/SmackUCI_API.html?utm_source=web&utm_campaign=readme&utm_medium=wp_org).
79
 
80
  = Helpful Links =
81
+ [Documentation](http://www.smackcoders.com/documentation/ultimate-csv-importer-pro/how-to-import-csv?utm_source=web&utm_campaign=readme&utm_medium=wp_org).
82
 
83
+ You can try the [live demo](http://demo.smackcoders.com/wp-ultimate-csv-importer/wp-admin?utm_source=web&utm_campaign=readme&utm_medium=wp_org) or request for free trial by clicking Try Now in [WordPress Ultimate CSV Importer](http://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.
84
 
85
+ Read our [blog](http://www.smackcoders.com/blog/category/wordpress-products?utm_source=web&utm_campaign=readme&utm_medium=wp_org) to know more about the new [features](http://www.smackcoders.com/wp-ultimate-csv-importer-pro/features.html?utm_source=web&utm_campaign=readme&utm_medium=wp_org) of our WordPress plugins.
86
 
87
+ [FAQ](http://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)
88
 
89
  == Installation ==
90
  1. Extract the wp-ultimate-csv-importer.zip in wordpress/wp-content/plugins using FTP or with plugin install in wp-admin.
92
 
93
  == Screenshots ==
94
  1. Dashboard view of the importer
95
+ 2. Upload section of CSV.
96
  3. Mapping view of the uploaded CSV/XML fields with WordPress fields
97
  4. Detailed real-time log.
98
  5. Settings with php.ini details.
102
  == Frequently Asked Questions ==
103
  = Common Issues =
104
  <b>1. How to solve auto_prepend_file and auto_append_file error?</b><br />
105
+ * Check your phpinfo.php. Ensure that auto_prepend_file and auto_append_file options are disabled.<br />
106
+ * If not, you can disable it in php.ini settings file. You can also do it in .htaccess file.<br />
107
  * Create a .htaccess file in the root and set the following values.<br />
108
  * php_value auto_prepend_file none<br />
109
  * php_value auto_append_file none<br />
110
  This will solve your issue or get support from hosting if you didn’t have sufficient permission.
111
 
112
  <b>2. Why my featured images not getting uploaded?</b><br />
113
+ The importer uploads images in the background for faster performance and it requires WP-Cron to be enabled. You can [easily configure WP-Cron](http://www.smackcoders.com/blog/enable-configure-wp-cron.html?utm_source=wp_org&utm_campaign=readme&utm_medium=faq) for smooth and speedy import.
114
 
115
+ <b>3. What are the supported custom fields in FREE version?</b><br />
116
+ The importer supports [default WordPress Text and Text area fields](http://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.
117
 
118
+ For more FAQ, you can refer [here](http://www.smackcoders.com/wordpress-products-faq.html?utm_source=wp_org&utm_campaign=readme&utm_medium=faq).
119
 
120
  == Changelog ==
121
+ = 5.1.1 =
122
+ * Fixed: Broken when SCRIPT_DEBUG is true. [Solved](https://wordpress.org/support/topic/broken-when-script_debug-is-true/).
123
+ * Fixed: Issue in duplicate handling to skip the duplicate records.
124
+ * Added: Missing font "glyphicons-halflings-regular.woff2".
125
+ * Removed: Unwanted console warnings.
126
+ * Added: Compatibility for WordPress 4.7.2.
127
  = 5.1 =
128
  * Added: Language Support for German, French, Italian, Spanish, Dutch & Russian.
129
  * Added: Restriction to show “Admin dashboard widget” only for users with Admin role. [Solved](https://wordpress.org/support/topic/admin-dashboard-widget-is-showing-to-all-users)
130
+ * Added: Notice to [enable wp-cron](http://www.smackcoders.com/blog/enable-configure-wp-cron.html?utm_source=wp_org&utm_campaign=readme&utm_medium=change_log) to populate the feature images. [Solved](https://wordpress.org/support/topic/version-5-03-issues).
 
131
  * Added: Warning messages to notify when uploads directory is missing, insufficient permission to access and uploaded file size exceeds your server limits.
132
  * Added: Duplicate handling feature to skip the duplicate records.
133
  * Added: Canonical URL support in All in One SEO data import.
438
  * Initial release version. Tested and found works well without any issues.
439
 
440
  == Upgrade Notice ==
441
+ = 5.1.1 =
442
+ * Upgrade now to get the fix for duplicate handling feature.
443
  = 5.1 =
444
  * Upgrade now for 6 language support, duplicate handling and more.
445
  = 5.0.3 =
573
  = 1.0.1 =
574
  * Added features to import multiple tags and categories with different delimiters.
575
  = 1.0.0 =
576
+ * Initial release of plugin.
admin/class-uci-admin.php CHANGED
@@ -67,7 +67,7 @@ class SmackUCIAdmin extends SmackUCIHelper {
67
  add_submenu_page(SM_UCI_SLUG, SM_UCI_NAME, esc_html__('Import / Update','wp-ultimate-csv-importer'), 'manage_options', 'sm-uci-import', array(__CLASS__, 'sm_uci_screens'));
68
  add_submenu_page(SM_UCI_SLUG, SM_UCI_NAME, esc_html__('Managers','wp-ultimate-csv-importer'), 'manage_options', 'sm-uci-managers', array(__CLASS__, 'sm_uci_screens'));
69
  add_submenu_page(SM_UCI_SLUG, SM_UCI_NAME, esc_html__('Export','wp-ultimate-csv-importer'), 'manage_options', 'sm-uci-export', array(__CLASS__, 'sm_uci_screens'));
70
- add_submenu_page(SM_UCI_SLUG, SM_UCI_NAME, esc_html__('Settings','wp-ultimate-csv-importer'), 'manage_sm_uci_settings', 'sm-uci-settings', array(__CLASS__, 'sm_uci_screens'));
71
  add_submenu_page(SM_UCI_SLUG, SM_UCI_NAME, esc_html__('Support','wp-ultimate-csv-importer'), 'manage_options', 'sm-uci-support', array(__CLASS__, 'sm_uci_screens'));
72
  unset($submenu[SM_UCI_SLUG][0]);
73
  }
67
  add_submenu_page(SM_UCI_SLUG, SM_UCI_NAME, esc_html__('Import / Update','wp-ultimate-csv-importer'), 'manage_options', 'sm-uci-import', array(__CLASS__, 'sm_uci_screens'));
68
  add_submenu_page(SM_UCI_SLUG, SM_UCI_NAME, esc_html__('Managers','wp-ultimate-csv-importer'), 'manage_options', 'sm-uci-managers', array(__CLASS__, 'sm_uci_screens'));
69
  add_submenu_page(SM_UCI_SLUG, SM_UCI_NAME, esc_html__('Export','wp-ultimate-csv-importer'), 'manage_options', 'sm-uci-export', array(__CLASS__, 'sm_uci_screens'));
70
+ add_submenu_page(SM_UCI_SLUG, SM_UCI_NAME, esc_html__('Settings','wp-ultimate-csv-importer'), 'manage_options', 'sm-uci-settings', array(__CLASS__, 'sm_uci_screens'));
71
  add_submenu_page(SM_UCI_SLUG, SM_UCI_NAME, esc_html__('Support','wp-ultimate-csv-importer'), 'manage_options', 'sm-uci-support', array(__CLASS__, 'sm_uci_screens'));
72
  unset($submenu[SM_UCI_SLUG][0]);
73
  }
assets/fonts/glyphicons-halflings-regular.woff2 ADDED
Binary file
assets/js/ultimate-importer.js CHANGED
@@ -1832,9 +1832,11 @@ function enable_media_seo_headers(key) {
1832
 
1833
  function enable_mapping_fields(prefix, row_no, id) {
1834
  var selected_option = jQuery('#'+ id + ' option:selected').val();
1835
- document.getElementById(prefix + "_num_" + row_no).checked = false;
1836
  if(selected_option != '--select--')
1837
- document.getElementById(prefix + "_num_" + row_no).checked = true;
 
 
1838
  }
1839
 
1840
  jQuery(function () {
1832
 
1833
  function enable_mapping_fields(prefix, row_no, id) {
1834
  var selected_option = jQuery('#'+ id + ' option:selected').val();
1835
+ jQuery('#' + prefix + "_num_" + row_no).iCheck('uncheck');
1836
  if(selected_option != '--select--')
1837
+ jQuery('#' + prefix + "_num_" + row_no).iCheck('check');
1838
+ if(selected_option == '--select--')
1839
+ jQuery('#' + prefix + "_num_" + row_no).iCheck('uncheck');
1840
  }
1841
 
1842
  jQuery(function () {
includes/class-uci-helper.php CHANGED
@@ -1854,7 +1854,7 @@ class SmackUCIHelper {
1854
  break;
1855
  case 'WPeCommerce':
1856
  case 'WPeCommerceCoupons':
1857
- # Note: Removed data import for WP-eCommerce fields
1858
  break;
1859
  case 'MarketPress':
1860
  # Note: Removed data import for MarketPress fields
@@ -1864,6 +1864,9 @@ class SmackUCIHelper {
1864
  break;
1865
  default:
1866
  $conditions = $duplicateHandling['conditions'];
 
 
 
1867
  $duplicate_action = $duplicateHandling['action'];
1868
  // Assign post type
1869
  $data_array['post_type'] = $this->import_post_types( $importType, $this->event_information['import_as'] );
@@ -1872,12 +1875,8 @@ class SmackUCIHelper {
1872
  endif;
1873
  $is_update = false;
1874
  if($mode != 'Insert' && !empty($conditions)):
1875
- if (in_array('ID', $conditions)) {
1876
- $whereCondition = " ID = '{$data_array['ID']}'";
1877
- $duplicate_check_query = "select ID from $wpdb->posts where ($whereCondition) and (post_type = '{$data_array['post_type']}') and (post_status != 'trash') order by ID DESC";
1878
- $is_update = true;
1879
- } elseif (in_array('post_title', $conditions)) {
1880
- $whereCondition = " post_title = '{$data_array['post_title']}'";
1881
  $duplicate_check_query = "select ID from $wpdb->posts where ($whereCondition) and (post_type = '{$data_array['post_type']}') and (post_status != 'trash') order by ID DESC";
1882
  $is_update = true;
1883
  }
@@ -1978,12 +1977,11 @@ class SmackUCIHelper {
1978
  $ID_result = $wpdb->get_results($duplicate_check_query);
1979
  if (is_array($ID_result) && !empty($ID_result)) {
1980
  $retID = $ID_result[0]->ID;
1981
- $data_array['ID'] = $retID;
1982
- wp_update_post($data_array);
1983
- $mode_of_affect = 'Updated';
1984
- $_SESSION[$eventKey]['summary']['updated'][] = $retID;
1985
- $this->setUpdatedRowCount($this->getUpdatedRowCount() + 1);
1986
- $uci_admin->detailed_log[$uci_admin->processing_row_id]['Message'] = 'Updated ' . $data_array['post_type'] . ' ID: ' . $retID . ', ' . $assigned_author;
1987
  } else {
1988
  $retID = wp_insert_post($data_array);
1989
  if(is_wp_error($retID) || $retID == '') {
@@ -2014,15 +2012,15 @@ class SmackUCIHelper {
2014
  $shortcodes = array();
2015
  $media_handle = isset($duplicateHandling['media_handling']) ? $duplicateHandling['media_handling'] : array();
2016
  /* Page template */
2017
- if($data_array['post_type'] == 'page') {
2018
- if(isset($data_array['wp_page_template'])) {
2019
- $page_template = $data_array['wp_page_template'];
2020
- }
2021
- else {
2022
- $page_template = "";
2023
- }
2024
- update_post_meta($retID, '_wp_page_template', $page_template);
2025
- }
2026
 
2027
  #TODO: Need to import the media for scheduler
2028
  /* Set Featured Image */
@@ -2039,16 +2037,6 @@ class SmackUCIHelper {
2039
  update_option( 'smack_featured_' . $retID, $featured_image_info );
2040
  }
2041
  }
2042
- // Media handling on the inline images
2043
- /*if ( !empty($data_array['post_content']) ) {
2044
- $shortcodes = $this->capture_shortcodes($data_array['post_content'], $retID, 'Inline', $media_handle);
2045
- if(!empty($media_handle['download_img_tag_src']) && $media_handle['download_img_tag_src'] == 'on'){
2046
- $this->convert_local_image_src($data_array['post_content'], $retID, $media_handle);
2047
- }
2048
- if(!empty($shortcodes)) {
2049
- $this->convert_shortcode_to_image($shortcodes, $retID, 'Inline', $media_handle, $eventKey);
2050
- }
2051
- }*/
2052
  $uci_admin->detailed_log[$uci_admin->processing_row_id]['Status'] = $data_array['post_status'];
2053
  $returnArr['ID'] = $retID;
2054
  $returnArr['MODE'] = $mode_of_affect;
@@ -2057,8 +2045,8 @@ class SmackUCIHelper {
2057
  }
2058
  break;
2059
  }
2060
- }//Import type Not a ticket
2061
-
2062
  if($importType == 'ticket') {
2063
  $data_array['post_type'] = 'ticket';
2064
  $retID = $data_array['ID'];
@@ -2826,146 +2814,6 @@ class SmackUCIHelper {
2826
  }
2827
  }
2828
  return $shortcodelist;
2829
-
2830
- }
2831
-
2832
- public function convert_shortcode_to_image($shortcodelist,$postID,$shortcode_mode,$media_handle,$eventkey){
2833
- global $wpdb;
2834
- /* Image available in media */
2835
- $useexistingimages = 'false';
2836
- if(!empty($media_handle['imageprocess']) && $media_handle['imageprocess'] == 'duplicateimageoption'){
2837
- $useexistingimages = 'true';
2838
- }
2839
- if(is_array($shortcodelist) && !empty($shortcodelist)) {
2840
- foreach($shortcodelist as $postID => $shortcodes) {
2841
- $get_post_content = $wpdb->get_results($wpdb->prepare("select post_content from $wpdb->posts where ID = %d",$postID));
2842
- $post_content = $get_post_content[0]->post_content;
2843
- foreach($shortcodes as $shortcode) {
2844
- if($shortcode_mode == 'Inline') {
2845
- $get_inlineimage_val = substr($shortcode, "13", -1);
2846
- $image_attribute = explode('|',$get_inlineimage_val);
2847
- $get_inlineimage_val = $image_attribute[0];
2848
- } else if($shortcode_mode == 'Featured') {
2849
- $get_inlineimage_val = substr($shortcode, "15", -1);
2850
- }
2851
- $uploadDir = wp_upload_dir();
2852
- $inlineimageDir = $uploadDir['basedir'] .'/smack_uci_uploads/imports/'.$eventkey. '/inline_zip_uploads';
2853
- $inlineimageURL = $uploadDir['baseurl'] .'/smack_uci_uploads/imports/'.$eventkey. '/inline_zip_uploads';
2854
- $get_media_settings = get_option('uploads_use_yearmonth_folders');
2855
- if ($get_media_settings == 1) {
2856
- $dirname = date('Y') . '/' . date('m');
2857
- $full_path = $uploadDir['basedir'] . '/' . $dirname;
2858
- $baseurl = $uploadDir['baseurl'] . '/' . $dirname;
2859
- } else {
2860
- $full_path = $uploadDir['basedir'];
2861
- $baseurl = $uploadDir['baseurl'];
2862
- }
2863
- $wp_media_path = $full_path;
2864
- $inlineimageDirpath = $inlineimageDir;
2865
- $imagelist = $this->scanDirectories($inlineimageDirpath);
2866
- if(empty($imagelist)) {
2867
-
2868
- }else{
2869
- $currentLoc = '';
2870
- foreach($imagelist as $imgwithloc) {
2871
- if(strpos($imgwithloc, $get_inlineimage_val)){
2872
- $currentLoc = $imgwithloc;
2873
- }
2874
- }
2875
- $exploded_currentLoc = explode("inline_zip_uploads", $currentLoc);
2876
- if(!empty($exploded_currentLoc))
2877
- $inlimg_curr_loc = isset($exploded_currentLoc[1]) ? $exploded_currentLoc[1] : '';
2878
- $inlineimageURL = $inlineimageURL . $inlimg_curr_loc;
2879
- if ($useexistingimages == 'false') {
2880
- $get_inlineimage_val = wp_unique_filename($wp_media_path, trim($get_inlineimage_val));
2881
- }
2882
- $this->get_images_from_url($inlineimageURL, $wp_media_path, $get_inlineimage_val);
2883
- $wp_media_path = $wp_media_path . "/" . $get_inlineimage_val;
2884
- if (@getimagesize($wp_media_path)) {
2885
- $inline_file ['guid'] = $baseurl . "/" . $get_inlineimage_val;
2886
- $inline_file ['post_title'] = $get_inlineimage_val;
2887
- $inline_file ['post_content'] = '';
2888
- $inline_file ['post_status'] = 'attachment';
2889
- $wp_upload_dir = wp_upload_dir();
2890
- $attachment = array('guid' => $inline_file ['guid'], 'post_mime_type' => 'image/jpeg', 'post_title' => preg_replace('/\.[^.]+$/', '', @basename($inline_file ['guid'])), 'post_content' => '', 'post_status' => 'inherit');
2891
- if ($get_media_settings == 1) {
2892
- $generate_attachment = $dirname . '/' . $get_inlineimage_val;
2893
- } else {
2894
- $generate_attachment = $get_inlineimage_val;
2895
- }
2896
- $uploadedImage = $wp_upload_dir['path'] . '/' . $get_inlineimage_val;
2897
- $real_image_name = $attachment['post_title'];
2898
- //duplicate check for media
2899
- global $wpdb;
2900
- $existing_attachment = array();
2901
- $query = $wpdb->get_results($wpdb->prepare("select post_title from $wpdb->posts where post_type = %s and post_mime_type = %s",'attachment','image/jpeg'));
2902
- if ( ! empty( $query ) ) {
2903
- foreach($query as $key){
2904
- $existing_attachment[] = $key->post_title;
2905
- }
2906
- }
2907
- //duplicate check for media
2908
- if($shortcode_mode == 'Inline'){
2909
- if(!empty($media_handle['imageprocess']) && $media_handle['imageprocess'] == 'duplicateimageoption') {
2910
- if(!in_array($attachment['post_title'] ,$existing_attachment)){
2911
- $attach_id = wp_insert_attachment($attachment, $generate_attachment, $postID);
2912
- $attach_data = wp_generate_attachment_metadata($attach_id, $uploadedImage);
2913
- wp_update_attachment_metadata($attach_id, $attach_data);
2914
- }
2915
- }else{
2916
- $attach_id = wp_insert_attachment($attachment, $generate_attachment, $postID);
2917
- $attach_data = wp_generate_attachment_metadata($attach_id, $uploadedImage);
2918
- wp_update_attachment_metadata($attach_id, $attach_data);
2919
- }
2920
- //set_post_thumbnail($postID, $attach_id);
2921
- }
2922
-
2923
- if($shortcode_mode == 'Featured'){
2924
- //$query2 = $wpdb->get_results("select ID from $wpdb->posts where post_title = '$real_image_name' and post_type = 'attachment'");
2925
- if(!empty($media_handle['imageprocess']) && $media_handle['imageprocess'] == 'duplicateimageoption') {
2926
- if( !in_array($attachment['post_title'] ,$existing_attachment)){
2927
- $attach_id = wp_insert_attachment($attachment, $generate_attachment, $postID);
2928
- $attach_data = wp_generate_attachment_metadata($attach_id, $uploadedImage);
2929
- wp_update_attachment_metadata($attach_id, $attach_data);
2930
- set_post_thumbnail($postID, $attach_id);
2931
- }else{
2932
- $query2 = $wpdb->get_results($wpdb->prepare("select ID from $wpdb->posts where post_title = %s and post_type = %s",$real_image_name,'attachment'));
2933
- foreach($query2 as $key2){
2934
- $attach_id = $key2->ID;
2935
- }
2936
- set_post_thumbnail($postID, $attach_id);
2937
- }
2938
- }else{
2939
- $attach_id = wp_insert_attachment($attachment, $generate_attachment, $postID);
2940
- $attach_data = wp_generate_attachment_metadata($attach_id, $uploadedImage);
2941
- wp_update_attachment_metadata($attach_id, $attach_data);
2942
- set_post_thumbnail($postID, $attach_id);
2943
-
2944
- }
2945
- }
2946
- if($shortcode_mode == 'Inline') {
2947
- $oldWord = $shortcode;
2948
- // $newWord = '<img src="' . $inline_file['guid'] . '" />';
2949
- $imgattr1 = isset($image_attribute[1]) ? $image_attribute[1] : '' ;
2950
- $imgattr2 = isset($image_attribute[2]) ? $image_attribute[2] : '' ;
2951
- $imgattr3 = isset($image_attribute[3]) ? $image_attribute[3] : '' ;
2952
- $newWord = '<img src="' . $inline_file['guid'] . '" '.$imgattr1.' '.$imgattr2.' '.$imgattr3.' />';
2953
- $post_content = str_replace($oldWord , $newWord , $post_content);
2954
- }
2955
- }else{
2956
-
2957
- $inline_file = false;
2958
- }
2959
- }
2960
- }
2961
- if($shortcode_mode == 'Inline') {
2962
- $update_content['ID'] = $postID;
2963
- $update_content['post_content'] = $post_content;
2964
- wp_update_post($update_content);
2965
- }
2966
- }
2967
- }
2968
-
2969
  }
2970
 
2971
  public function scanDirectories($rootDir, $allData=array()){
@@ -2993,27 +2841,6 @@ class SmackUCIHelper {
2993
  return $allData;
2994
  }
2995
 
2996
- public function convert_local_image_src($content, $post_id, $media_handle) {
2997
- if(trim($content) != '') {
2998
- $doc = new DOMDocument();
2999
- @$doc->loadHTML( mb_convert_encoding( $content, 'HTML-ENTITIES', 'UTF-8' ) );
3000
-
3001
- $searchNode = $doc->getElementsByTagName( "img" );
3002
- if ( ! empty( $searchNode ) ) {
3003
- foreach ( $searchNode as $searchNode ) {
3004
- $orig_img_src = $searchNode->getAttribute( 'src' );
3005
- $attachid = $this->set_featureimage( $orig_img_src, $post_id, $media_handle );
3006
- $new_img_src = wp_get_attachment_url( $attachid );
3007
- $searchNode->setAttribute( 'src', $new_img_src );
3008
- }
3009
- $post_content = $doc->saveHTML();
3010
- $update_content['ID'] = $post_id;
3011
- $update_content['post_content'] = $post_content;
3012
- wp_update_post( $update_content );
3013
- }
3014
- }
3015
- }
3016
-
3017
  /**
3018
  * @param $f_img
3019
  * @param $post_id
1854
  break;
1855
  case 'WPeCommerce':
1856
  case 'WPeCommerceCoupons':
1857
+ # Note: Removed data import for WP-eCommerce fields
1858
  break;
1859
  case 'MarketPress':
1860
  # Note: Removed data import for MarketPress fields
1864
  break;
1865
  default:
1866
  $conditions = $duplicateHandling['conditions'];
1867
+ if(isset($duplicateHandling['is_duplicate_handle']) && $duplicateHandling['is_duplicate_handle'] == 'on') {
1868
+ $duplicateHandling['action'] = 'Skip';
1869
+ }
1870
  $duplicate_action = $duplicateHandling['action'];
1871
  // Assign post type
1872
  $data_array['post_type'] = $this->import_post_types( $importType, $this->event_information['import_as'] );
1875
  endif;
1876
  $is_update = false;
1877
  if($mode != 'Insert' && !empty($conditions)):
1878
+ if( !empty($conditions[0]) ) {
1879
+ $whereCondition = " " . $conditions[0] . " = '{$data_array[$conditions[0]]}'";
 
 
 
 
1880
  $duplicate_check_query = "select ID from $wpdb->posts where ($whereCondition) and (post_type = '{$data_array['post_type']}') and (post_status != 'trash') order by ID DESC";
1881
  $is_update = true;
1882
  }
1977
  $ID_result = $wpdb->get_results($duplicate_check_query);
1978
  if (is_array($ID_result) && !empty($ID_result)) {
1979
  $retID = $ID_result[0]->ID;
1980
+ $mode_of_affect = 'Skipped';
1981
+ $_SESSION[$eventKey]['summary']['skipped'][] = $retID;
1982
+ $this->setSkippedRowCount($this->getSkippedRowCount() + 1);
1983
+ $uci_admin->detailed_log[$uci_admin->processing_row_id]['Message'] = 'Skipped ' . $data_array['post_type'] . ' ID: ' . $retID . ', Due to the duplicate found!';
1984
+ return array( 'MODE' => $mode, 'ERROR_MSG' => 'Skipped ' . $data_array['post_type'] . ' ID: ' . $retID . ', Due to the duplicate found!' );
 
1985
  } else {
1986
  $retID = wp_insert_post($data_array);
1987
  if(is_wp_error($retID) || $retID == '') {
2012
  $shortcodes = array();
2013
  $media_handle = isset($duplicateHandling['media_handling']) ? $duplicateHandling['media_handling'] : array();
2014
  /* Page template */
2015
+ if($data_array['post_type'] == 'page') {
2016
+ if(isset($data_array['wp_page_template'])) {
2017
+ $page_template = $data_array['wp_page_template'];
2018
+ }
2019
+ else {
2020
+ $page_template = "";
2021
+ }
2022
+ update_post_meta($retID, '_wp_page_template', $page_template);
2023
+ }
2024
 
2025
  #TODO: Need to import the media for scheduler
2026
  /* Set Featured Image */
2037
  update_option( 'smack_featured_' . $retID, $featured_image_info );
2038
  }
2039
  }
 
 
 
 
 
 
 
 
 
 
2040
  $uci_admin->detailed_log[$uci_admin->processing_row_id]['Status'] = $data_array['post_status'];
2041
  $returnArr['ID'] = $retID;
2042
  $returnArr['MODE'] = $mode_of_affect;
2045
  }
2046
  break;
2047
  }
2048
+ }
2049
+ //Import type Not a ticket
2050
  if($importType == 'ticket') {
2051
  $data_array['post_type'] = 'ticket';
2052
  $retID = $data_array['ID'];
2814
  }
2815
  }
2816
  return $shortcodelist;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2817
  }
2818
 
2819
  public function scanDirectories($rootDir, $allData=array()){
2841
  return $allData;
2842
  }
2843
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2844
  /**
2845
  * @param $f_img
2846
  * @param $post_id
includes/class-uci-install.php CHANGED
@@ -116,7 +116,6 @@ class SmackUCIInstall {
116
  if ( is_null( $current_uci_version ) && apply_filters( 'sm_uci_enable_setup_wizard', true ) ) {
117
  self::create_options(); // Create option data on the initial stage
118
  self::create_tables(); // Create tables on the fresh install
119
- self::create_capabilities(); // Create capabilities to the import feasibility
120
  #self::create_cron_jobs(); // Create default cron jobs
121
  self::create_files(); // Create needed files on the fresh installation
122
  }
@@ -318,42 +317,6 @@ class SmackUCIInstall {
318
  return $tables;
319
  }
320
 
321
- /**
322
- * Create capabilities.
323
- */
324
- public static function create_capabilities() {
325
- // Add capability for administrator roles
326
- $role = get_role( 'administrator' );
327
- $role->add_cap( 'manage_sm_uci_pro');
328
- $role->add_cap( 'manage_sm_uci_settings');
329
-
330
- // Add capability for editor roles
331
- $e_role = get_role( 'editor' );
332
- $e_role->add_cap( 'manage_sm_uci_pro');
333
-
334
- // Add capability for author roles
335
- $a_role = get_role( 'author' );
336
- $a_role->add_cap( 'manage_sm_uci_pro');
337
- }
338
-
339
- /**
340
- * woocommerce_remove_roles function.
341
- */
342
- public static function remove_capabilities() {
343
- // Remove capability for administrator roles
344
- $role = get_role( 'administrator' );
345
- $role->remove_cap( 'manage_sm_uci_pro');
346
- $role->remove_cap( 'manage_sm_uci_settings');
347
-
348
- // Remove capability for editor roles
349
- $e_role = get_role( 'editor' );
350
- $e_role->remove_cap( 'manage_sm_uci_pro');
351
-
352
- // Remove capability for author roles
353
- $a_role = get_role( 'author' );
354
- $a_role->remove_cap( 'manage_sm_uci_pro');
355
- }
356
-
357
  /**
358
  * Todo: add PHP docs
359
  */
@@ -432,11 +395,11 @@ class SmackUCIInstall {
432
  public static function plugin_row_meta( $links, $file ) {
433
  if ( $file == SM_UCI_PLUGIN_BASENAME ) {
434
  $row_meta = array(
435
- 'upgrade_to_csv_pro' => '<a href="' . esc_url( apply_filters( 'upgrade_to_csv_pro_url', 'https://goo.gl/gbS3fs' ) ) . '" title="' . esc_attr( __( 'Upgrade to Pro', 'wp-ultimate-csv-importer' ) ) . '" target="_blank">' . __( 'Upgrade to Pro', 'wp-ultimate-csv-importer' ) . '</a>',
436
- 'docs' => '<a href="' . esc_url( apply_filters( 'sm_uci_docs_url', 'https://goo.gl/hyU5G1' ) ) . '" title="' . esc_attr( __( 'View WP Ultimate CSV Importer Pro Documentation', 'wp-ultimate-csv-importer' ) ) . '" target="_blank">' . __( 'Docs', 'wp-ultimate-csv-importer' ) . '</a>',
437
- 'videos' => '<a href="' . esc_url( apply_filters( 'sm_uci_videos_url', 'https://goo.gl/RzUvqS' ) ) . '" title="' . esc_attr( __( 'View Videos For WP Ultimate CSV Importer Pro', 'wp-ultimate-csv-importer' ) ) . '" target="_blank">' . __( 'Videos', 'wp-ultimate-csv-importer' ) . '</a>',
438
  'support' => '<a href="' . esc_url( apply_filters( 'sm_uci_support_url', admin_url() . 'admin.php?page=sm-uci-support' ) ) . '" title="' . esc_attr( __( 'Contact Support', 'wp-ultimate-csv-importer' ) ) . '" target="_blank">' . __( 'Support', 'wp-ultimate-csv-importer' ) . '</a>',
439
- 'free_trail' => '<a href="' . esc_url( apply_filters( 'sm_uci_support_url', 'https://goo.gl/gbS3fs' ) ) . '" title="' . esc_attr( __( 'Get your free trail', 'wp-ultimate-csv-importer' ) ) . '" target="_blank">' . __( 'Free Trail', 'wp-ultimate-csv-importer' ) . '</a>',
440
  );
441
  unset( $links['edit'] );
442
  //unset($links['View details']);
@@ -467,14 +430,15 @@ class SmackUCIInstall {
467
  }
468
 
469
  public static function important_cron_notice() {
470
- ?>
471
- <div class="notice notice-error">
472
- <p style="margin-top: 10px"><strong><?php echo esc_html__('Notice:','wp-ultimate-csv-importer');?> </strong> <?php echo esc_html__('To populate Featured images, Please make sure that CRON is enabled in your server.','wp-ultimate-csv-importer');?></p>
473
- </div>
474
- <?php
475
- }
476
-
477
-
 
478
 
479
  public static function wp_ultimate_csv_importer_notice() {
480
  $get_notice = get_option('smack_uci_rating_notice');
116
  if ( is_null( $current_uci_version ) && apply_filters( 'sm_uci_enable_setup_wizard', true ) ) {
117
  self::create_options(); // Create option data on the initial stage
118
  self::create_tables(); // Create tables on the fresh install
 
119
  #self::create_cron_jobs(); // Create default cron jobs
120
  self::create_files(); // Create needed files on the fresh installation
121
  }
317
  return $tables;
318
  }
319
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
320
  /**
321
  * Todo: add PHP docs
322
  */
395
  public static function plugin_row_meta( $links, $file ) {
396
  if ( $file == SM_UCI_PLUGIN_BASENAME ) {
397
  $row_meta = array(
398
+ 'upgrade_to_csv_pro' => '<a style="font-weight: bold;color: #d54e21;font-size: 105%;" href="' . esc_url( apply_filters( 'upgrade_to_csv_pro_url', 'http://www.smackcoders.com/wp-ultimate-csv-importer-pro.html?utm_source=plugin&utm_campaign=csv_importer_free&utm_medium=wordpress' ) ) . '" title="' . esc_attr( __( 'Upgrade to Pro', 'wp-ultimate-csv-importer' ) ) . '" target="_blank">' . __( 'Upgrade to Pro', 'wp-ultimate-csv-importer' ) . '</a>',
399
+ 'docs' => '<a href="' . esc_url( apply_filters( 'sm_uci_docs_url', 'http://www.smackcoders.com/documentation/ultimate-csv-importer-pro/how-to-import-csv?utm_source=plugin&utm_campaign=csv_importer_pro&utm_medium=wordpress' ) ) . '" title="' . esc_attr( __( 'View WP Ultimate CSV Importer Pro Documentation', 'wp-ultimate-csv-importer' ) ) . '" target="_blank">' . __( 'Docs', 'wp-ultimate-csv-importer' ) . '</a>',
400
+ 'videos' => '<a href="' . esc_url( apply_filters( 'sm_uci_videos_url', 'https://www.youtube.com/embed/GbDlQcbnNJY?utm_source=plugin&utm_campaign=csv_importer_free&utm_medium=wordpress' ) ) . '" title="' . esc_attr( __( 'View Videos For WP Ultimate CSV Importer Pro', 'wp-ultimate-csv-importer' ) ) . '" target="_blank">' . __( 'Videos', 'wp-ultimate-csv-importer' ) . '</a>',
401
  'support' => '<a href="' . esc_url( apply_filters( 'sm_uci_support_url', admin_url() . 'admin.php?page=sm-uci-support' ) ) . '" title="' . esc_attr( __( 'Contact Support', 'wp-ultimate-csv-importer' ) ) . '" target="_blank">' . __( 'Support', 'wp-ultimate-csv-importer' ) . '</a>',
402
+ 'free_trial' => '<a href="' . esc_url( apply_filters( 'sm_uci_support_url', 'http://www.smackcoders.com/wp-ultimate-csv-importer-pro.html?utm_source=plugin&utm_campaign=csv_importer_free&utm_medium=wordpress' ) ) . '" title="' . esc_attr( __( 'Get your free trial', 'wp-ultimate-csv-importer' ) ) . '" target="_blank">' . __( 'Free Trial', 'wp-ultimate-csv-importer' ) . '</a>',
403
  );
404
  unset( $links['edit'] );
405
  //unset($links['View details']);
430
  }
431
 
432
  public static function important_cron_notice() {
433
+ $get_notice = get_option('smack_uci_enable_cron_notice');
434
+ if($get_notice != 'off') {
435
+ ?>
436
+ <div class="notice notice-error is-dismissible" onclick="dismiss_notices('enable_cron_notice');">
437
+ <p style="margin-top: 10px"><strong><?php echo esc_html__( 'Notice:', 'wp-ultimate-csv-importer' ); ?> </strong> <?php echo esc_html__( 'To populate Featured images, Please make sure that CRON is enabled in your server.', 'wp-ultimate-csv-importer' ); ?></p>
438
+ </div>
439
+ <?php
440
+ }
441
+ }
442
 
443
  public static function wp_ultimate_csv_importer_notice() {
444
  $get_notice = get_option('smack_uci_rating_notice');
index.php CHANGED
@@ -2,12 +2,12 @@
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.1
6
  * Author: smackcoders
 
 
7
  * Text Domain: wp-ultimate-csv-importer
8
- * Domain Path: /languages
9
- * Plugin URI: https://goo.gl/kKWPui
10
- * Author URI: https://goo.gl/kKWPui
11
  */
12
 
13
  /*********************************************************************************
@@ -57,7 +57,7 @@ if ( ! class_exists( 'SM_WPUltimateCSVImporter' ) ) :
57
  */
58
  class SM_WPUltimateCSVImporter {
59
 
60
- public $version = '5.1';
61
 
62
  /**
63
  * The single instance of the class.
@@ -121,6 +121,12 @@ if ( ! class_exists( 'SM_WPUltimateCSVImporter' ) ) :
121
  private function init_hooks() {
122
  register_activation_hook( __FILE__, array( 'SmackUCIInstall', 'install' ) );
123
  add_action( 'plugins_loaded', array( $this, 'init' ), 0 );
 
 
 
 
 
 
124
  add_action('wp_dashboard_setup', array($this,'uci_pro_add_dashboard_widgets'));
125
  add_action('smack_uci_email_scheduler', array('SmackUCIEmailScheduler', 'send_login_credentials_to_users'));
126
  add_action('smack_uci_image_scheduler', array('SmackUCIMediaScheduler', 'populateFeatureImages'));
@@ -180,9 +186,13 @@ if ( ! class_exists( 'SM_WPUltimateCSVImporter' ) ) :
180
  include_once ( 'includes/class-uci-email-scheduler.php' );
181
  include_once ( 'includes/class-uci-media-scheduler.php' );
182
  #SmackUCIMediaScheduler::populateFeatureImages();
183
- # Register / Enqueue the plugin scripts & style
 
 
 
184
  $uciPages = array('sm-uci-dashboard', 'sm-uci-import', 'sm-uci-managers', 'sm-uci-export', 'sm-uci-settings', 'sm-uci-support');
185
  if (isset($_REQUEST['page']) && in_array(sanitize_text_field($_REQUEST['page']), $uciPages)) {
 
186
  wp_enqueue_style( 'ultimate-css', plugins_url( 'assets/css/ultimate-importer.css', __FILE__ ) );
187
  wp_enqueue_style( 'boot.css', plugins_url( 'assets/css/bootstrap.css', __FILE__ ) );
188
  wp_enqueue_style( 'Icomoon Icons', plugins_url( 'assets/css/icomoon.css', __FILE__ ) );
@@ -190,44 +200,45 @@ if ( ! class_exists( 'SM_WPUltimateCSVImporter' ) ) :
190
  wp_enqueue_style( 'jquery-fileupload.css', plugins_url( 'assets/css/jquery.fileupload.css', __FILE__ ) );
191
  wp_enqueue_style( 'jquery-style', plugins_url( 'assets/css/jquery-ui.css', __FILE__ ) );
192
  wp_enqueue_style('icheck', plugins_url('assets/css/icheck/green.css', __FILE__));
 
 
 
 
 
 
 
 
 
 
 
193
  wp_enqueue_script( 'icheck-js', plugins_url( 'assets/js/icheck.min.js', __FILE__ ) );
194
  wp_enqueue_script( 'file-download-js', plugins_url( 'assets/js/jquery.fileDownload.js', __FILE__ ) );
195
  wp_register_script( 'ultimate-importer-js', plugins_url( 'assets/js/ultimate-importer.js', __FILE__ ) );
196
- wp_enqueue_script( 'jquery' );
197
  wp_enqueue_script( 'ultimate-importer-js' );
198
  wp_register_script( 'bootstrap-datepicker-js', plugins_url( 'assets/js/bootstrap-datepicker.js', __FILE__ ) );
199
  wp_enqueue_script( 'bootstrap-datepicker-js' );
200
- wp_enqueue_style( 'bootstrap-datepicker-css', plugins_url('assets/css/bootstrap-datepicker.css', __FILE__ ) );
201
  wp_enqueue_script( 'jquery-ui-dialog' );
202
  wp_enqueue_script( 'file-tree', plugins_url( 'assets/js/jqueryfiletree.js', __FILE__ ) );
203
- wp_enqueue_style( 'file-tree-css', plugins_url( 'assets/css/jqueryfiletree.css', __FILE__ ) );
204
  wp_localize_script( 'ultimate-importer-js', 'uci_importer', array(
205
- 'adminurl' => admin_url(),
206
- 'siteurl' => site_url(),
207
- 'requestpage' => $_REQUEST['page'],
208
- 'db_orphanedMsg' => __('no of Orphaned Post/Page meta has been removed.', 'wp-ultimate-csv-importer'),
209
- 'db_tagMsg' => __('no of Unassigned tags has been removed.', 'wp-ultimate-csv-importer'),
210
- 'db_revisionMsg' => __('no of Post/Page revisions has been removed.', 'wp-ultimate-csv-importer'),
211
- 'db_draftMSg' => __('no of Auto drafted Post/Page has been removed.', 'wp-ultimate-csv-importer'),
212
- 'db_trashMsg' => __('no of Post/Page in trash has been removed.', 'wp-ultimate-csv-importer'),
213
- 'db_spamMsg' => __('no of Spam comments has been removed.', 'wp-ultimate-csv-importer'),
214
- 'db_commentTrashMsg' => __('no of Comments in trash has been removed.', 'wp-ultimate-csv-importer'),
215
- 'db_unapprovedMsg' => __('no of Unapproved comments has been removed.', 'wp-ultimate-csv-importer'),
216
- 'db_pingbackMsg' => __('no of Pingback comments has been removed.', 'wp-ultimate-csv-importer'),
217
- 'db_trackbackMsg' => __('no of Trackback comments has been removed.', 'wp-ultimate-csv-importer'),
218
- ) );
219
- // WaitMe CSS & JS for blur the page and show the progressing loader
220
- wp_enqueue_style('waitme-css', plugins_url('assets/css/waitMe.css', __FILE__));
221
- wp_enqueue_style('sweet-alert-css', plugins_url('assets/css/sweetalert.css', __FILE__));
222
- wp_enqueue_style('custom-style', plugins_url('assets/css/custom-style.css', __FILE__));
223
- //new files include
224
- //wp_enqueue_style('custom-new-style', plugins_url('assets/css/custom-new-style.css', __FILE__));
225
- wp_enqueue_style( 'bootstrap-select-css', plugins_url( 'assets/css/bootstrap-select.css', __FILE__ ));
226
- wp_register_script('bootstrap-js', plugins_url('assets/js/bootstrap.js', __FILE__));
227
  wp_enqueue_script('bootstrap-js');
228
- wp_register_script('bootstrap-select-js', plugins_url('assets/js/bootstrap-select.js', __FILE__));
229
  wp_enqueue_script('bootstrap-select-js');
230
- //new files include close
231
  wp_register_script('waitme-js', plugins_url('assets/js/waitMe.js', __FILE__));
232
  wp_enqueue_script('waitme-js');
233
  // Sweet Alert Js
@@ -240,12 +251,10 @@ if ( ! class_exists( 'SM_WPUltimateCSVImporter' ) ) :
240
  wp_enqueue_script( 'chart-utils-js', plugins_url('assets/js/chart-js/utils.js', __FILE__) );
241
  wp_enqueue_script( 'uci-dashboard', plugins_url('assets/js/chart-js/Chart.bundle.js', __FILE__) );
242
  wp_enqueue_script( 'uci-dashboard-chart', plugins_url( 'assets/js/chart-js/dashchart.js', __FILE__ ) );
243
-
244
  }
245
-
 
246
  }
247
- //new files include
248
- wp_enqueue_style('custom-new-style', plugins_url('assets/css/custom-new-style.css', __FILE__));
249
  }
250
 
251
  /**
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.1.1
6
  * Author: smackcoders
7
+ * Plugin URI: http://www.smackcoders.com/wp-ultimate-csv-importer-pro.html?utm_source=plugin&utm_campaign=csv_importer_pro&utm_medium=wordpress
8
+ * Author URI: http://www.smackcoders.com/wp-ultimate-csv-importer-pro.html?utm_source=plugin&utm_campaign=csv_importer_pro&utm_medium=wordpress
9
  * Text Domain: wp-ultimate-csv-importer
10
+ * Domain Path: /languages/
 
 
11
  */
12
 
13
  /*********************************************************************************
57
  */
58
  class SM_WPUltimateCSVImporter {
59
 
60
+ public $version = '5.1.1';
61
 
62
  /**
63
  * The single instance of the class.
121
  private function init_hooks() {
122
  register_activation_hook( __FILE__, array( 'SmackUCIInstall', 'install' ) );
123
  add_action( 'plugins_loaded', array( $this, 'init' ), 0 );
124
+ add_action( 'init', array( $this, 'smack_uci_enqueue_scripts') );
125
+ /* add_action( 'wp_default_scripts', function( $scripts ) {
126
+ if ( ! empty( $scripts->registered['jquery'] ) ) {
127
+ $scripts->registered['jquery']->deps = array_diff( $scripts->registered['jquery']->deps, array( 'jquery-migrate' ) );
128
+ }
129
+ } ); */
130
  add_action('wp_dashboard_setup', array($this,'uci_pro_add_dashboard_widgets'));
131
  add_action('smack_uci_email_scheduler', array('SmackUCIEmailScheduler', 'send_login_credentials_to_users'));
132
  add_action('smack_uci_image_scheduler', array('SmackUCIMediaScheduler', 'populateFeatureImages'));
186
  include_once ( 'includes/class-uci-email-scheduler.php' );
187
  include_once ( 'includes/class-uci-media-scheduler.php' );
188
  #SmackUCIMediaScheduler::populateFeatureImages();
189
+ }
190
+
191
+ public function smack_uci_enqueue_scripts() {
192
+ // Register / Enqueue the plugin scripts & style
193
  $uciPages = array('sm-uci-dashboard', 'sm-uci-import', 'sm-uci-managers', 'sm-uci-export', 'sm-uci-settings', 'sm-uci-support');
194
  if (isset($_REQUEST['page']) && in_array(sanitize_text_field($_REQUEST['page']), $uciPages)) {
195
+ // Ultimate CSV Importer Styles
196
  wp_enqueue_style( 'ultimate-css', plugins_url( 'assets/css/ultimate-importer.css', __FILE__ ) );
197
  wp_enqueue_style( 'boot.css', plugins_url( 'assets/css/bootstrap.css', __FILE__ ) );
198
  wp_enqueue_style( 'Icomoon Icons', plugins_url( 'assets/css/icomoon.css', __FILE__ ) );
200
  wp_enqueue_style( 'jquery-fileupload.css', plugins_url( 'assets/css/jquery.fileupload.css', __FILE__ ) );
201
  wp_enqueue_style( 'jquery-style', plugins_url( 'assets/css/jquery-ui.css', __FILE__ ) );
202
  wp_enqueue_style('icheck', plugins_url('assets/css/icheck/green.css', __FILE__));
203
+ wp_enqueue_style( 'bootstrap-datepicker-css', plugins_url('assets/css/bootstrap-datepicker.css', __FILE__ ) );
204
+ wp_enqueue_style( 'file-tree-css', plugins_url( 'assets/css/jqueryfiletree.css', __FILE__ ) );
205
+ // WaitMe CSS & JS for blur the page and show the progressing loader
206
+ wp_enqueue_style('waitme-css', plugins_url('assets/css/waitMe.css', __FILE__));
207
+ wp_enqueue_style('sweet-alert-css', plugins_url('assets/css/sweetalert.css', __FILE__));
208
+ wp_enqueue_style('custom-style', plugins_url('assets/css/custom-style.css', __FILE__));
209
+ //new files include
210
+ //wp_enqueue_style('custom-new-style', plugins_url('assets/css/custom-new-style.css', __FILE__));
211
+ wp_enqueue_style( 'bootstrap-select-css', plugins_url( 'assets/css/bootstrap-select.css', __FILE__ ));
212
+ // Ultimate CSV Importer Scripts
213
+ wp_enqueue_script( 'jquery' );
214
  wp_enqueue_script( 'icheck-js', plugins_url( 'assets/js/icheck.min.js', __FILE__ ) );
215
  wp_enqueue_script( 'file-download-js', plugins_url( 'assets/js/jquery.fileDownload.js', __FILE__ ) );
216
  wp_register_script( 'ultimate-importer-js', plugins_url( 'assets/js/ultimate-importer.js', __FILE__ ) );
 
217
  wp_enqueue_script( 'ultimate-importer-js' );
218
  wp_register_script( 'bootstrap-datepicker-js', plugins_url( 'assets/js/bootstrap-datepicker.js', __FILE__ ) );
219
  wp_enqueue_script( 'bootstrap-datepicker-js' );
 
220
  wp_enqueue_script( 'jquery-ui-dialog' );
221
  wp_enqueue_script( 'file-tree', plugins_url( 'assets/js/jqueryfiletree.js', __FILE__ ) );
 
222
  wp_localize_script( 'ultimate-importer-js', 'uci_importer', array(
223
+ 'adminurl' => admin_url(),
224
+ 'siteurl' => site_url(),
225
+ 'requestpage' => $_REQUEST['page'],
226
+ 'db_orphanedMsg' => __('no of Orphaned Post/Page meta has been removed.', 'wp-ultimate-csv-importer'),
227
+ 'db_tagMsg' => __('no of Unassigned tags has been removed.', 'wp-ultimate-csv-importer'),
228
+ 'db_revisionMsg' => __('no of Post/Page revisions has been removed.', 'wp-ultimate-csv-importer'),
229
+ 'db_draftMSg' => __('no of Auto drafted Post/Page has been removed.', 'wp-ultimate-csv-importer'),
230
+ 'db_trashMsg' => __('no of Post/Page in trash has been removed.', 'wp-ultimate-csv-importer'),
231
+ 'db_spamMsg' => __('no of Spam comments has been removed.', 'wp-ultimate-csv-importer'),
232
+ 'db_commentTrashMsg' => __('no of Comments in trash has been removed.', 'wp-ultimate-csv-importer'),
233
+ 'db_unapprovedMsg' => __('no of Unapproved comments has been removed.', 'wp-ultimate-csv-importer'),
234
+ 'db_pingbackMsg' => __('no of Pingback comments has been removed.', 'wp-ultimate-csv-importer'),
235
+ 'db_trackbackMsg' => __('no of Trackback comments has been removed.', 'wp-ultimate-csv-importer'),
236
+ ) );
237
+ wp_register_script('bootstrap-js', plugins_url('assets/js/bootstrap.js', __FILE__));
 
 
 
 
 
 
 
238
  wp_enqueue_script('bootstrap-js');
239
+ wp_register_script('bootstrap-select-js', plugins_url('assets/js/bootstrap-select.js', __FILE__));
240
  wp_enqueue_script('bootstrap-select-js');
241
+ //new files include close
242
  wp_register_script('waitme-js', plugins_url('assets/js/waitMe.js', __FILE__));
243
  wp_enqueue_script('waitme-js');
244
  // Sweet Alert Js
251
  wp_enqueue_script( 'chart-utils-js', plugins_url('assets/js/chart-js/utils.js', __FILE__) );
252
  wp_enqueue_script( 'uci-dashboard', plugins_url('assets/js/chart-js/Chart.bundle.js', __FILE__) );
253
  wp_enqueue_script( 'uci-dashboard-chart', plugins_url( 'assets/js/chart-js/dashchart.js', __FILE__ ) );
 
254
  }
255
+ //new files include
256
+ wp_enqueue_style('custom-new-style', plugins_url('assets/css/custom-new-style.css', __FILE__));
257
  }
 
 
258
  }
259
 
260
  /**
languages/wp-ultimate-csv-importer-de_DE.mo CHANGED
Binary file
languages/wp-ultimate-csv-importer-de_DE.po CHANGED
@@ -102,11 +102,11 @@ msgid "Support"
102
  msgstr "Unterstützen"
103
 
104
  #: includes/class-uci-install.php:439
105
- msgid "Get your free trail"
106
  msgstr "Erhalten Sie Ihre freie Spur"
107
 
108
  #: includes/class-uci-install.php:439
109
- msgid "Free Trail"
110
  msgstr "Kostenlose Testversion"
111
 
112
  #: includes/class-uci-install.php:453
102
  msgstr "Unterstützen"
103
 
104
  #: includes/class-uci-install.php:439
105
+ msgid "Get your free trial"
106
  msgstr "Erhalten Sie Ihre freie Spur"
107
 
108
  #: includes/class-uci-install.php:439
109
+ msgid "Free Trial"
110
  msgstr "Kostenlose Testversion"
111
 
112
  #: includes/class-uci-install.php:453
languages/wp-ultimate-csv-importer-es_ES.mo CHANGED
Binary file
languages/wp-ultimate-csv-importer-es_ES.po CHANGED
@@ -102,11 +102,11 @@ msgid "Support"
102
  msgstr "Apoyo"
103
 
104
  #: includes/class-uci-install.php:439
105
- msgid "Get your free trail"
106
  msgstr "Obtenga su ruta gratis"
107
 
108
  #: includes/class-uci-install.php:439
109
- msgid "Free Trail"
110
  msgstr "Prueba gratis"
111
 
112
  #: includes/class-uci-install.php:453
102
  msgstr "Apoyo"
103
 
104
  #: includes/class-uci-install.php:439
105
+ msgid "Get your free trial"
106
  msgstr "Obtenga su ruta gratis"
107
 
108
  #: includes/class-uci-install.php:439
109
+ msgid "Free Trial"
110
  msgstr "Prueba gratis"
111
 
112
  #: includes/class-uci-install.php:453
languages/wp-ultimate-csv-importer-fr_FR.mo CHANGED
Binary file
languages/wp-ultimate-csv-importer-fr_FR.po CHANGED
@@ -102,11 +102,11 @@ msgid "Support"
102
  msgstr "Soutien"
103
 
104
  #: includes/class-uci-install.php:439
105
- msgid "Get your free trail"
106
  msgstr "Obtenez votre itinéraire gratuit"
107
 
108
  #: includes/class-uci-install.php:439
109
- msgid "Free Trail"
110
  msgstr "Essai gratuit"
111
 
112
  #: includes/class-uci-install.php:453
102
  msgstr "Soutien"
103
 
104
  #: includes/class-uci-install.php:439
105
+ msgid "Get your free trial"
106
  msgstr "Obtenez votre itinéraire gratuit"
107
 
108
  #: includes/class-uci-install.php:439
109
+ msgid "Free Trial"
110
  msgstr "Essai gratuit"
111
 
112
  #: includes/class-uci-install.php:453
languages/wp-ultimate-csv-importer-it_IT.mo CHANGED
Binary file
languages/wp-ultimate-csv-importer-it_IT.po CHANGED
@@ -102,11 +102,11 @@ msgid "Support"
102
  msgstr "Supporto"
103
 
104
  #: includes/class-uci-install.php:439
105
- msgid "Get your free trail"
106
  msgstr "Ottenere il vostro percorso gratuito"
107
 
108
  #: includes/class-uci-install.php:439
109
- msgid "Free Trail"
110
  msgstr "Prova gratuita"
111
 
112
  #: includes/class-uci-install.php:453
102
  msgstr "Supporto"
103
 
104
  #: includes/class-uci-install.php:439
105
+ msgid "Get your free trial"
106
  msgstr "Ottenere il vostro percorso gratuito"
107
 
108
  #: includes/class-uci-install.php:439
109
+ msgid "Free Trial"
110
  msgstr "Prova gratuita"
111
 
112
  #: includes/class-uci-install.php:453
languages/wp-ultimate-csv-importer-nl_NL.mo CHANGED
Binary file
languages/wp-ultimate-csv-importer-nl_NL.po CHANGED
@@ -102,11 +102,11 @@ msgid "Support"
102
  msgstr "Ondersteuning"
103
 
104
  #: includes/class-uci-install.php:439
105
- msgid "Get your free trail"
106
- msgstr "Haal je gratis trail"
107
 
108
  #: includes/class-uci-install.php:439
109
- msgid "Free Trail"
110
  msgstr "Free Trial"
111
 
112
  #: includes/class-uci-install.php:453
102
  msgstr "Ondersteuning"
103
 
104
  #: includes/class-uci-install.php:439
105
+ msgid "Get your free trial"
106
+ msgstr "Haal je gratis trial"
107
 
108
  #: includes/class-uci-install.php:439
109
+ msgid "Free Trial"
110
  msgstr "Free Trial"
111
 
112
  #: includes/class-uci-install.php:453
languages/wp-ultimate-csv-importer-ru_RU.mo CHANGED
Binary file
languages/wp-ultimate-csv-importer-ru_RU.po CHANGED
@@ -102,11 +102,11 @@ msgid "Support"
102
  msgstr "Поддержка"
103
 
104
  #: includes/class-uci-install.php:439
105
- msgid "Get your free trail"
106
  msgstr "Получите ваш бесплатный след"
107
 
108
  #: includes/class-uci-install.php:439
109
- msgid "Free Trail"
110
  msgstr "Бесплатная пробная версия"
111
 
112
  #: includes/class-uci-install.php:453
102
  msgstr "Поддержка"
103
 
104
  #: includes/class-uci-install.php:439
105
+ msgid "Get your free trial"
106
  msgstr "Получите ваш бесплатный след"
107
 
108
  #: includes/class-uci-install.php:439
109
+ msgid "Free Trial"
110
  msgstr "Бесплатная пробная версия"
111
 
112
  #: includes/class-uci-install.php:453
uninstall.php CHANGED
@@ -50,7 +50,6 @@ class SmackUCIUnInstall {
50
  require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
51
  // Roles + caps.
52
  #include_once ( 'includes/class-uci-install.php' );
53
- SmackUCIInstall::remove_capabilities();
54
  SmackUCIInstall::remove_options();
55
  $ucisettings = get_option('sm_uci_pro_settings');
56
  $droptable = isset($ucisettings['drop_table']) ? $ucisettings['drop_table'] : '';
50
  require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
51
  // Roles + caps.
52
  #include_once ( 'includes/class-uci-install.php' );
 
53
  SmackUCIInstall::remove_options();
54
  $ucisettings = get_option('sm_uci_pro_settings');
55
  $droptable = isset($ucisettings['drop_table']) ? $ucisettings['drop_table'] : '';