PluginProbe ʕ •ᴥ•ʔ
WP All Export – Drag & Drop Export to Any Custom CSV, XML & Excel / trunk
WP All Export – Drag & Drop Export to Any Custom CSV, XML & Excel vtrunk
trunk 0.9.0 0.9.1 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.2.0 1.2.1 1.2.10 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.10 1.4.11 1.4.12 1.4.13 1.4.14 1.4.15 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.5.0
wp-all-export / helpers / wp_all_export_prepare_template_csv.php
wp-all-export / helpers Last commit date
backward.php 2 months ago get_taxonomies_by_object_type.php 2 months ago pmxe_filter.php 2 months ago pmxe_functions.php 2 months ago pmxe_prepare_price.php 2 months ago pmxe_render_xml_attributes.php 2 months ago pmxe_render_xml_element.php 2 months ago pmxe_render_xml_text.php 2 months ago str_getcsv.php 2 months ago wp_all_export_check_children_assign.php 2 months ago wp_all_export_clear_xss.php 2 months ago wp_all_export_comments_clauses.php 2 months ago wp_all_export_generate_export_file.php 2 months ago wp_all_export_get_cpt_name.php 2 months ago wp_all_export_get_export_format.php 2 months ago wp_all_export_is_compatible.php 2 months ago wp_all_export_parse_field_name.php 2 months ago wp_all_export_posts_join.php 2 months ago wp_all_export_posts_where.php 2 months ago wp_all_export_pre_user_query.php 2 months ago wp_all_export_prepare_template_csv.php 2 months ago wp_all_export_prepare_template_xml.php 2 months ago wp_all_export_rand_char.php 2 months ago wp_all_export_remove_colons.php 2 months ago wp_all_export_remove_source.php 2 months ago wp_all_export_reverse_rules_html.php 2 months ago wp_all_export_rmdir.php 2 months ago wp_all_export_secure_file.php 2 months ago wp_all_export_terms_clauses.php 2 months ago wp_all_export_url_title.php 2 months ago wp_all_export_write_article.php 2 months ago wp_redirect_or_javascript.php 2 months ago
wp_all_export_prepare_template_csv.php
582 lines
1 <?php
2
3 // phpcs:ignoreFile WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound,WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound,WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFound -- legitimate plugin prefixes (pmxe/PMXE/wpae/Wpae/wp_all_export/wpallexport/XmlExport/CdataStrategy/VariableProductTitle/Soflyy/GF_Export); Plugin Check does not honor phpcs.xml prefix declaration
4 defined( 'ABSPATH' ) || exit;
5
6
7 function wp_all_export_prepare_template_csv($exportOptions, &$templateOptions)
8 {
9 if ($exportOptions['ids']){
10
11 $required_add_ons = array();
12
13 $cf_list = array();
14 $attr_list = array();
15 $taxs_list = array();
16 $acf_list = array();
17 $implode_delimiter = ($exportOptions['delimiter'] == ',') ? '|' : ',';
18
19 if ( ! empty($exportOptions['is_user_export']) ) $templateOptions['pmui']['import_users'] = 1;
20
21 foreach ($exportOptions['ids'] as $ID => $value) {
22 if (empty($exportOptions['cc_type'][$ID])) continue;
23 $element_name = strtolower((!empty($exportOptions['cc_name'][$ID])) ? preg_replace('/[^a-z0-9_]/i', '', $exportOptions['cc_name'][$ID]) : 'untitled_' . $ID);
24 switch ($exportOptions['cc_type'][$ID]) {
25 case 'id':
26 $templateOptions['unique_key'] = '{'. $element_name .'[1]}';
27 $templateOptions['tmp_unique_key'] = '{'. $element_name .'[1]}';
28 $templateOptions['single_product_id'] = '{'. $element_name .'[1]}';
29 break;
30 case 'title':
31 case 'content':
32 case 'author':
33 case 'parent':
34 case 'slug':
35 $templateOptions[$exportOptions['cc_type'][$ID]] = '{'. $element_name .'[1]}';
36 $templateOptions['is_update_' . $exportOptions['cc_type'][$ID]] = 1;
37 break;
38 case 'excerpt':
39 $templateOptions['post_excerpt'] = '{'. $element_name .'[1]}';
40 $templateOptions['is_update_' . $exportOptions['cc_type'][$ID]] = 1;
41 break;
42 case 'status':
43 $templateOptions['status_xpath'] = '{'. $element_name .'[1]}';
44 $templateOptions['is_update_status'] = 1;
45 break;
46 case 'date':
47 $templateOptions[$exportOptions['cc_type'][$ID]] = '{'. $element_name .'[1]}';
48 $templateOptions['is_update_dates'] = 1;
49 break;
50 case 'post_type':
51 if ( empty($exportOptions['cpt']) ){
52 $templateOptions['is_override_post_type'] = 1;
53 $templateOptions['post_type_xpath'] = '{'. $element_name .'[1]}';
54 }
55 break;
56 case 'cf':
57 if ( ! empty($exportOptions['cc_value'][$ID]) ){
58
59 if ( ! in_array($exportOptions['cc_value'][$ID], $cf_list)) $cf_list[] = $exportOptions['cc_value'][$ID];
60 $templateOptions['custom_name'][] = $exportOptions['cc_value'][$ID];
61 $templateOptions['custom_value'][] = '{'. $element_name .'[1]}';
62 $templateOptions['custom_format'][] = 0;
63
64 }
65 break;
66 case 'woo':
67
68 if ( ! empty($exportOptions['cc_value'][$ID]) )
69 {
70 if (empty($required_add_ons['PMWI_Plugin']))
71 {
72 $required_add_ons['PMWI_Plugin'] = array(
73 'name' => 'WooCommerce Add-On Pro',
74 'paid' => true,
75 'url' => 'http://www.wpallimport.com/woocommerce-product-import/?utm_source=export-plugin-free&utm_medium=upgrade-notice&utm_campaign=import-wooco-products-template'
76 );
77 }
78
79 if ( ! in_array($exportOptions['cc_label'][$ID], $cf_list)) $cf_list[] = $exportOptions['cc_label'][$ID];
80
81 switch ($exportOptions['cc_label'][$ID]) {
82 case '_visibility':
83 $templateOptions['is_product_visibility'] = 'xpath';
84 $templateOptions['single_product_visibility'] = '{'. $element_name .'[1]}';
85 break;
86 case '_stock_status':
87 $templateOptions['product_stock_status'] = 'xpath';
88 $templateOptions['single_product_stock_status'] = '{'. $element_name .'[1]}';
89 break;
90 case '_downloadable':
91 $templateOptions['is_product_downloadable'] = 'xpath';
92 $templateOptions['single_product_downloadable'] = '{'. $element_name .'[1]}';
93 break;
94 case '_virtual':
95 $templateOptions['is_product_virtual'] = 'xpath';
96 $templateOptions['single_product_virtual'] = '{'. $element_name .'[1]}';
97 break;
98 case '_price':
99 $templateOptions['single_product_regular_price'] = '{'. $element_name .'[1]}';
100 break;
101 case '_regular_price':
102 $templateOptions['single_product_regular_price'] = '{'. $element_name .'[1]}';
103 if ( ! in_array('_price', $cf_list)) $cf_list[] = '_price';
104 break;
105 case '_sale_price':
106 $templateOptions['single_product_sale_price'] = '{'. $element_name .'[1]}';
107 if ( ! in_array('_price', $cf_list)) $cf_list[] = '_price';
108 break;
109 case '_purchase_note':
110 $templateOptions['single_product_purchase_note'] = '{'. $element_name .'[1]}';
111 break;
112 case '_featured':
113 $templateOptions['is_product_featured'] = 'xpath';
114 $templateOptions['single_product_featured'] = '{'. $element_name .'[1]}';
115 break;
116 case '_weight':
117 $templateOptions['single_product_weight'] = '{'. $element_name .'[1]}';
118 break;
119 case '_length':
120 $templateOptions['single_product_length'] = '{'. $element_name .'[1]}';
121 break;
122 case '_width':
123 $templateOptions['single_product_width'] = '{'. $element_name .'[1]}';
124 break;
125 case '_height':
126 $templateOptions['single_product_height'] = '{'. $element_name .'[1]}';
127 break;
128 case '_sku':
129 $templateOptions['single_product_sku'] = '{'. $element_name .'[1]}';
130 $templateOptions['single_product_parent_id'] = '{parent_id[1]}';
131 break;
132 case '_sale_price_dates_from':
133 $templateOptions['single_sale_price_dates_from'] = '{'. $element_name .'[1]}';
134 break;
135 case '_sale_price_dates_to':
136 $templateOptions['single_sale_price_dates_to'] = '{'. $element_name .'[1]}';
137 break;
138 case '_sold_individually':
139 $templateOptions['product_sold_individually'] = 'xpath';
140 $templateOptions['single_product_sold_individually'] = '{'. $element_name .'[1]}';
141 break;
142 case '_manage_stock':
143 $templateOptions['is_product_manage_stock'] = 'xpath';
144 $templateOptions['single_product_manage_stock'] = '{'. $element_name .'[1]}';
145 break;
146 case '_stock':
147 $templateOptions['single_product_stock_qty'] = '{'. $element_name .'[1]}';
148 break;
149 case '_upsell_ids':
150 $templateOptions['single_product_up_sells'] = '{'. $element_name .'[1]}';
151 break;
152 case '_crosssell_ids':
153 $templateOptions['single_product_cross_sells'] = '{'. $element_name .'[1]}';
154 break;
155 case '_downloadable_files':
156 $templateOptions['single_product_files'] = '{'. $element_name .'_paths[1]}';
157 $templateOptions['single_product_files_names'] = '{'. $element_name .'_names[1]}';
158 break;
159 case '_download_limit':
160 $templateOptions['single_product_download_limit'] = '{'. $element_name .'[1]}';
161 break;
162 case '_download_expiry':
163 $templateOptions['single_product_download_expiry'] = '{'. $element_name .'[1]}';
164 break;
165 case '_download_type':
166 $templateOptions['single_product_download_type'] = '{'. $element_name .'[1]}';
167 break;
168 case '_product_url':
169 $templateOptions['single_product_url'] = '{'. $element_name .'[1]}';
170 break;
171 case '_button_text':
172 $templateOptions['single_product_button_text'] = '{'. $element_name .'[1]}';
173 break;
174 case '_tax_status':
175 $templateOptions['is_multiple_product_tax_status'] = 'no';
176 $templateOptions['single_product_tax_status'] = '{'. $element_name .'[1]}';
177 break;
178 case '_tax_class':
179 $templateOptions['is_multiple_product_tax_class'] = 'no';
180 $templateOptions['single_product_tax_class'] = '{'. $element_name .'[1]}';
181 break;
182 case '_backorders':
183 $templateOptions['product_allow_backorders'] = 'xpath';
184 $templateOptions['single_product_allow_backorders'] = '{'. $element_name .'[1]}';
185 break;
186 case 'attributes':
187
188 global $wp_taxonomies;
189
190 foreach ($wp_taxonomies as $key => $obj) { if (in_array($obj->name, array('nav_menu'))) continue;
191
192 if (strpos($obj->name, "pa_") === 0 and strlen($obj->name) > 3)
193 {
194 $attribute_name = preg_replace('/[^a-z0-9_]/i', '', $obj->name);
195 $templateOptions['attribute_name'][] = '{attributename' . $attribute_name .'[1]}';
196 $templateOptions['attribute_value'][] = '{attributevalue' . $attribute_name .'[1]}';
197 $templateOptions['in_variations'][] = "1";
198 $templateOptions['is_visible'][] = "1";
199 $templateOptions['is_taxonomy'][] = "1";
200 $templateOptions['create_taxonomy_in_not_exists'][] = "1";
201
202 $templateOptions['is_advanced'][] = "1";
203 $templateOptions['advanced_is_create_terms'][] = "yes";
204 $templateOptions['advanced_in_variations'][] = "xpath";
205 $templateOptions['advanced_is_visible'][] = "xpath";
206 $templateOptions['advanced_is_taxonomy'][] = "xpath";
207 $templateOptions['advanced_in_variations_xpath'][] = '{attributeinvariations' . $attribute_name .'[1]}';
208 $templateOptions['advanced_is_visible_xpath'][] = '{attributeisvisible' . $attribute_name .'[1]}';
209 $templateOptions['advanced_is_taxonomy_xpath'][] = '{attributeistaxonomy' . $attribute_name .'[1]}';
210
211 $attr_list[] = $obj->name;
212 }
213 }
214
215 global $wpdb;
216
217 $table_prefix = $wpdb->prefix;
218
219 // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared,WordPress.DB.DirectDatabaseQuery.DirectQuery,WordPress.DB.DirectDatabaseQuery.NoCaching,PluginCheck.Security.DirectDB.UnescapedDBParameter -- $table_prefix from $wpdb->prefix; LIKE values bound via prepare()
220 $attributes = $wpdb->get_results($wpdb->prepare("SELECT DISTINCT meta_key FROM {$table_prefix}postmeta
221 WHERE {$table_prefix}postmeta.meta_key LIKE %s AND {$table_prefix}postmeta.meta_key NOT LIKE %s", 'attribute_%', 'attribute_pa_%'));
222
223 if ( ! empty($attributes))
224 {
225 foreach ($attributes as $attribute)
226 {
227 $attribute_name = preg_replace('/[^a-z0-9_]/i', '', str_replace('attribute_', '', $attribute->meta_key));
228 $templateOptions['attribute_name'][] = '{attributename' . $attribute_name .'[1]}';
229 $templateOptions['attribute_value'][] = '{attributevalue' . $attribute_name .'[1]}';
230 $templateOptions['in_variations'][] = "1";
231 $templateOptions['is_visible'][] = "1";
232 $templateOptions['is_taxonomy'][] = "1";
233 $templateOptions['create_taxonomy_in_not_exists'][] = "1";
234
235 $templateOptions['is_advanced'][] = "1";
236 $templateOptions['advanced_is_create_terms'][] = "yes";
237 $templateOptions['advanced_in_variations'][] = "xpath";
238 $templateOptions['advanced_is_visible'][] = "xpath";
239 $templateOptions['advanced_is_taxonomy'][] = "xpath";
240 $templateOptions['advanced_in_variations_xpath'][] = '{attributeinvariations' . $attribute_name .'[1]}';
241 $templateOptions['advanced_is_visible_xpath'][] = '{attributeisvisible' . $attribute_name .'[1]}';
242 $templateOptions['advanced_is_taxonomy_xpath'][] = '{attributeistaxonomy' . $attribute_name .'[1]}';
243
244 $attr_list[] = str_replace('attribute_', '', $attribute->meta_key);
245 }
246 }
247
248 break;
249 default:
250 # code...
251 break;
252 }
253 }
254 break;
255
256 case 'acf':
257
258 if (empty($required_add_ons['PMAI_Plugin']))
259 {
260 $required_add_ons['PMAI_Plugin'] = array(
261 'name' => 'ACF Add-On Pro',
262 'paid' => true,
263 'url' => 'http://www.wpallimport.com/advanced-custom-fields/?utm_source=export-plugin-free&utm_medium=required-addons&utm_campaign=acf'
264 );
265 }
266
267 $field_options = unserialize($exportOptions['cc_options'][$ID]);
268
269 // add ACF group ID to the template options
270 if( ! in_array($field_options['group_id'], $templateOptions['acf'])){
271 $templateOptions['acf'][$field_options['group_id']] = 1;
272 }
273
274 $field_tpl_key = strtolower($element_name);
275
276 $acf_list[] = '[' . $field_options['name'] . '] ' . $field_options['label'];
277
278 switch ($field_options['type']) {
279 case 'textarea':
280 case 'wysiwyg':
281 case 'wp_wysiwyg':
282 $templateOptions['fields'][$field_options['key']] = '{' . $field_tpl_key . '[1]}';
283 break;
284 case 'text':
285 case 'number':
286 case 'email':
287 case 'password':
288 case 'url':
289 case 'oembed':
290 case 'image':
291 case 'file':
292 case 'date_picker':
293 case 'color_picker':
294 case 'acf_cf7':
295 case 'gravity_forms_field':
296 case 'limiter':
297 case 'date_time_picker':
298
299 $templateOptions['fields'][$field_options['key']] = '{' . $field_tpl_key . '[1]}';
300
301 break;
302 case 'post_object':
303 case 'page_link':
304 case 'user':
305
306 if ($field_options['multiple'])
307 {
308 if ($implode_delimiter == "|")
309 $templateOptions['fields'][$field_options['key']] = '[str_replace("|", ",",{' . $field_tpl_key . '[1]})]';
310 else
311 $templateOptions['fields'][$field_options['key']] = '{' . $field_tpl_key . '[1]}';
312 }
313 else
314 {
315 $templateOptions['fields'][$field_options['key']] = '{' . $field_tpl_key . '[1]}';
316 }
317
318 break;
319 case 'gallery':
320 case 'relationship':
321
322 if ($implode_delimiter == "|")
323 $templateOptions['fields'][$field_options['key']] = '[str_replace("|", ",",{' . $field_tpl_key . '[1]})]';
324 else
325 $templateOptions['fields'][$field_options['key']] = '{' . $field_tpl_key . '[1]}';
326
327 break;
328 case 'select':
329 case 'checkbox':
330
331 $templateOptions['is_multiple_field_value'][$field_options['key']] = 'no';
332
333 if ($implode_delimiter == "|")
334 $templateOptions['fields'][$field_options['key']] = '[str_replace("|", ",",{' . $field_tpl_key . '[1]})]';
335 else
336 $templateOptions['fields'][$field_options['key']] = '{' . $field_tpl_key . '[1]}';
337
338 break;
339 case 'radio':
340 case 'true_false':
341
342 $templateOptions['is_multiple_field_value'][$field_options['key']] = 'no';
343
344 $templateOptions['fields'][$field_options['key']] = '{' . $field_tpl_key . '[1]}';
345
346 break;
347 case 'location-field':
348 case 'google_map':
349
350 $templateOptions['fields'][$field_options['key']]['address'] = '{' . $field_tpl_key . '_address[1]}';
351 $templateOptions['fields'][$field_options['key']]['lat'] = '{' . $field_tpl_key . '_lat[1]}';
352 $templateOptions['fields'][$field_options['key']]['lng'] = '{' . $field_tpl_key . '_lng[1]}';
353
354 break;
355 case 'paypal_item':
356
357 $templateOptions['fields'][$field_options['key']]['item_name'] = '{' . $field_tpl_key . '_item_name[1]}';
358 $templateOptions['fields'][$field_options['key']]['item_description'] = '{' . $field_tpl_key . '_item_description[1]}';
359 $templateOptions['fields'][$field_options['key']]['price'] = '{' . $field_tpl_key . '_price[1]}';
360
361 break;
362 case 'taxonomy':
363
364 $taxonomy_options = array();
365
366 $single_term = new stdClass;
367 $single_term->item_id = 1;
368 $single_term->parent_id = NULL;
369 $single_term->xpath = '{' . $field_tpl_key . '[1]}';
370 $single_term->assign = false;
371
372 $taxonomy_options[] = $single_term;
373
374 $templateOptions['is_multiple_field_value'][$field_options['key']] = 'no';
375
376 $templateOptions['fields'][$field_options['key']] = json_encode($taxonomy_options);
377
378 break;
379 case 'repeater':
380
381 $templateOptions['fields'][$field_options['key']]['is_variable'] = 'csv';
382
383 $templateOptions['fields'][$field_options['key']]['separator'] = $implode_delimiter;
384
385 if (class_exists('acf')){
386
387 global $acf;
388
389 if ($acf and version_compare($acf->settings['version'], '5.0.0') >= 0){
390
391 $sub_fields = get_posts(array('posts_per_page' => -1, 'post_type' => 'acf-field', 'post_parent' => (( ! empty($field_options['id'])) ? $field_options['id'] : $field_options['ID']), 'post_status' => 'publish'));
392
393 if ( ! empty($sub_fields) ){
394
395 foreach ($sub_fields as $n => $sub_field){
396
397 $templateOptions['fields'][$field_options['key']]['rows']['1'][$sub_field->post_name] = '{' . $field_tpl_key . '_' . strtolower($sub_field->post_excerpt) . '[1]}';
398
399 }
400 }
401
402 } else{
403
404 if ( ! empty($field['sub_fields']))
405 {
406 foreach ($field['sub_fields'] as $n => $sub_field){
407
408 $templateOptions['fields'][$field_options['key']]['rows']['1'][$sub_field['key']] = '{' . $field_tpl_key . '_' . strtolower($sub_field['name']) . '[1]}';
409
410 }
411 }
412 }
413
414 }
415
416 break;
417 case 'flexible_content':
418
419 break;
420
421 default:
422
423 $templateOptions['fields'][$field_options['key']] = '{' . $field_tpl_key . '[1]}';
424
425 break;
426
427 }
428
429 break;
430
431 case 'attr':
432 //$element_name = 'woo_' . $element_name;
433
434 if ( ! empty($exportOptions['cc_value'][$ID]) and ! in_array($exportOptions['cc_value'][$ID], $attr_list) ) {
435
436 $templateOptions['attribute_name'][] = str_replace('pa_', '', $exportOptions['cc_value'][$ID]);
437 $templateOptions['attribute_value'][] = '{attribute_'. $element_name .'[1]}';
438 $templateOptions['in_variations'][] = "1";
439 $templateOptions['is_visible'][] = "1";
440 $templateOptions['is_taxonomy'][] = "1";
441 $templateOptions['create_taxonomy_in_not_exists'][] = "1";
442 $attr_list[] = $exportOptions['cc_value'][$ID];
443
444 }
445 break;
446 case 'cats':
447 if ( ! empty($exportOptions['cc_value'][$ID]) ){
448 switch ($exportOptions['cc_label'][$ID]) {
449 case 'product_type':
450 $templateOptions['is_multiple_product_type'] = 'no';
451 $templateOptions['single_product_type'] = '{'. $element_name .'[1]}';
452 break;
453 case 'product_shipping_class':
454 $templateOptions['is_multiple_product_shipping_class'] = 'no';
455 $templateOptions['single_product_shipping_class'] = '{'. $element_name .'[1]}';
456 break;
457 default:
458 $taxonomy = $exportOptions['cc_value'][$ID];
459 $templateOptions['tax_assing'][$taxonomy] = 1;
460
461 if (is_taxonomy_hierarchical($taxonomy)){
462 $templateOptions['tax_logic'][$taxonomy] = 'hierarchical';
463 $templateOptions['tax_hierarchical_logic_entire'][$taxonomy] = 1;
464 $templateOptions['multiple_term_assing'][$taxonomy] = 1;
465 $templateOptions['tax_hierarchical_delim'][$taxonomy] = '>';
466 $templateOptions['is_tax_hierarchical_group_delim'][$taxonomy] = 1;
467 $templateOptions['tax_hierarchical_group_delim'][$taxonomy] = $implode_delimiter;
468 $templateOptions['tax_hierarchical_xpath'][$taxonomy] = array('{'. $element_name .'[1]}');
469 }
470 else{
471 $templateOptions['tax_logic'][$taxonomy] = 'multiple';
472 $templateOptions['multiple_term_assing'][$taxonomy] = 1;
473 $templateOptions['tax_multiple_xpath'][$taxonomy] = '{'. $element_name .'[1]}';
474 $templateOptions['tax_multiple_delim'][$taxonomy] = $implode_delimiter;
475 }
476 $taxs_list[] = $taxonomy;
477 break;
478 }
479 }
480 break;
481 case 'media':
482 $templateOptions['download_featured_image'] = '{'. $element_name .'_images[1]}';
483 $templateOptions['download_featured_delim'] = $implode_delimiter;
484 $templateOptions['set_image_meta_title'] = 1;
485 $templateOptions['set_image_meta_caption'] = 1;
486 $templateOptions['set_image_meta_alt'] = 1;
487 $templateOptions['set_image_meta_description'] = 1;
488 $templateOptions['image_meta_title'] = '{'. $element_name .'_titles[1]}';
489 $templateOptions['image_meta_title_delim'] = $implode_delimiter;
490 $templateOptions['image_meta_caption'] = '{'. $element_name .'_captions[1]}';
491 $templateOptions['image_meta_caption_delim'] = $implode_delimiter;
492 $templateOptions['image_meta_alt'] = '{'. $element_name .'_alts[1]}';
493 $templateOptions['image_meta_alt_delim'] = $implode_delimiter;
494 $templateOptions['image_meta_description'] = '{'. $element_name .'_descriptions[1]}';
495 $templateOptions['image_meta_description_delim'] = $implode_delimiter;
496 $templateOptions['is_update_images'] = 1;
497 $templateOptions['update_images_logic'] = 'add_new';
498 break;
499 case 'attachments':
500 $templateOptions['attachments'] = '{'. $element_name .'_attachments[1]}';
501 $templateOptions['atch_delim'] = $implode_delimiter;
502 $templateOptions['is_update_attachments'] = 1;
503 break;
504
505 // Export Users
506 case 'user_login':
507 $templateOptions['pmui']['login'] = '{'. $element_name .'[1]}';
508 $templateOptions['is_update_login'] = 1;
509 break;
510 case 'user_pass':
511 $templateOptions['pmui']['pass'] = '{'. $element_name .'[1]}';
512 $templateOptions['is_update_password'] = 1;
513 break;
514 case 'user_nicename':
515 $templateOptions['pmui']['nicename'] = '{'. $element_name .'[1]}';
516 $templateOptions['is_update_nicename'] = 1;
517 break;
518 case 'user_email':
519 $templateOptions['pmui']['email'] = '{'. $element_name .'[1]}';
520 $templateOptions['is_update_email'] = 1;
521 break;
522 case 'user_registered':
523 $templateOptions['pmui']['registered'] = '{'. $element_name .'[1]}';
524 $templateOptions['is_update_registered'] = 1;
525 break;
526 case 'display_name':
527 $templateOptions['pmui']['display_name'] = '{'. $element_name .'[1]}';
528 $templateOptions['is_update_display_name'] = 1;
529 break;
530 case 'user_url':
531 $templateOptions['pmui']['url'] = '{'. $element_name .'[1]}';
532 $templateOptions['is_update_url'] = 1;
533 break;
534
535 case 'first_name':
536 $templateOptions['pmui']['first_name'] = '{'. $element_name .'[1]}';
537 $templateOptions['is_update_first_name'] = 1;
538 break;
539 case 'last_name':
540 $templateOptions['pmui']['last_name'] = '{'. $element_name .'[1]}';
541 $templateOptions['is_update_last_name'] = 1;
542 break;
543 case 'wp_capabilities':
544 $templateOptions['pmui']['role'] = '{'. $element_name .'[1]}';
545 $templateOptions['is_update_role'] = 1;
546 break;
547 case 'nickname':
548 $templateOptions['pmui']['nickname'] = '{'. $element_name .'[1]}';
549 $templateOptions['is_update_nickname'] = 1;
550 break;
551 case 'description':
552 $templateOptions['pmui']['description'] = '{'. $element_name .'[1]}';
553 $templateOptions['is_update_description'] = 1;
554 break;
555
556 default:
557
558 break;
559 }
560 }
561 if ( ! empty($cf_list) ){
562 $templateOptions['is_update_custom_fields'] = 1;
563 $templateOptions['custom_fields_list'] = $cf_list;
564 }
565 if ( ! empty($attr_list) ){
566 $templateOptions['is_update_attributes'] = 1;
567 $templateOptions['attributes_list'] = $attr_list;
568 $templateOptions['attributes_only_list'] = implode(',', $attr_list);
569 }
570 if ( ! empty($taxs_list) ){
571 $templateOptions['is_update_categories'] = 1;
572 $templateOptions['taxonomies_list'] = $taxs_list;
573 }
574 if ( ! empty($acf_list) ){
575 $templateOptions['is_update_acf'] = 1;
576 $templateOptions['acf_list'] = $acf_list;
577 }
578
579 $templateOptions['required_add_ons'] = $required_add_ons;
580
581 }
582 }