PluginProbe
Export All Posts, Products, Orders & Users | WP Ultimate Exporter | WordPress CSV Export / 2.10
Export All Posts, Products, Orders & Users | WP Ultimate Exporter | WordPress CSV Export v2.10
3.0 2.24.2 2.24.1 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.7.8 1.7.9 2.0 2.0.1 2.1 2.1.1 2.1.2 2.10 2.11 2.12 2.13 2.14 2.15 2.16 2.16.1 2.16.2 All 96 releases
wp-ultimate-exporter / exportExtensions / WooComExport.php

WooComExport.php in Export All Posts, Products, Orders & Users | WP Ultimate Exporter | WordPress CSV Export 2.10, at exportExtensions/WooComExport.php

1,614 lines 84.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * WP Ultimate Exporter plugin file.
4 *
5 * Copyright (C) 2010-2020, Smackcoders Inc - info@smackcoders.com
6 */
7
8 namespace Smackcoders\SMEXP;
9 use Smackcoders\SMEXP\WC_Coupon;
10 if ( ! defined( 'ABSPATH' ) )
11 exit; // Exit if accessed directly
12
13 /**
14 * Class WooCommerceExport
15 * @package Smackcoders\WCSV
16 */
17
18 require_once dirname(__FILE__) . '/ElementorExport.php';
19
20
21 class WooCommerceExport extends ExportExtension{
22
23 protected static $instance = null,$mapping_instance,$export_handler,$export_instance,$post_export;
24 public $offset = 0;
25 public $limit = 1000;
26 public $totalRowCount;
27 public static function getInstance() {
28 if ( null == self::$instance ) {
29 self::$instance = new self;
30 WooCommerceExport::$export_instance = ExportExtension::getInstance();
31 WooCommerceExport::$post_export = PostExport::getInstance();
32 }
33 return self::$instance;
34 }
35
36 /**
37 * WooCommerceExport constructor.
38 */
39 public function __construct() {
40 $this->plugin = Plugin::getInstance();
41 }
42
43 /**
44 * Export woocommerce orders
45 * @param $id
46 * @param $type
47 * @param $optional
48 * @return bool
49 */
50 public function getCouponsData($id, $type, $optionalType){
51 $coupon_id = $id;
52 $c = new \WC_Coupon($coupon_id);
53 $DiscountType = $c->get_discount_type();
54 $CouponAmount = $c->get_amount();
55 $IndividualUse = $c->get_individual_use();
56 $ProductIDs = $c->get_product_ids();
57 $ExcludeProductIDs = $c->get_excluded_product_ids();
58 $UsageLimit = $c->get_usage_limit();
59 $UsageLimitPerUser = $c->get_usage_limit_per_user();
60 $LimitUsageToXItems = $c->get_limit_usage_to_x_items();
61 $ExpiryDate = $c->get_date_expires();
62 $FreeShipping = $c->get_free_shipping();
63 $ExcludeSaleItems = $c->get_exclude_sale_items();
64 $MinimumAmount = $c->get_minimum_amount();
65 $MaximumAmount = $c->get_maximum_amount();
66 $CustomerEmail = $c->get_email_restrictions();
67 $ExcludedProductCategories = $c->get_excluded_product_categories();
68 $ProductCategories = $c->get_product_categories();
69
70 $product_Ids = array();
71 $Exclude_Product_IDs =array();
72 $product_cat = array();
73 $exclude_cat = array();
74 $cus_email = array();
75 foreach ($ProductCategories as $p_IDs) {
76 $product_cat[] = $p_IDs;
77 }
78 foreach ($ExcludedProductCategories as $p_IDs) {
79 $exclude_cat[] = $p_IDs;
80 }
81
82 foreach ($CustomerEmail as $p_IDs) {
83 $cus_email[] = $p_IDs;
84 }
85
86 foreach ($ProductIDs as $p_IDs) {
87 $product_Ids[] = $p_IDs;
88 }
89 foreach($ExcludeProductIDs as $Exclude_PIds){
90 $Exclude_Product_IDs[] = $Exclude_PIds;
91 }
92
93 WooCommerceExport::$export_instance->data[$id]['exclude_product_categories'] = !empty($exclude_cat) ? implode(',', $exclude_cat) : '';
94 WooCommerceExport::$export_instance->data[$id]['customer_email'] = !empty($cus_email) ? implode(',', $cus_email) : '';
95 WooCommerceExport::$export_instance->data[$id]['product_categories'] = !empty($product_cat) ? implode(',', $product_cat) : '';
96
97
98
99 WooCommerceExport::$export_instance->data[$id]['discount_type'] = $DiscountType;
100 WooCommerceExport::$export_instance->data[$id]['coupon_amount'] = $CouponAmount;
101 WooCommerceExport::$export_instance->data[$id]['individual_use'] = $IndividualUse ? 'yes' : 'no';
102 WooCommerceExport::$export_instance->data[$id]['usage_limit'] = $UsageLimit;
103 WooCommerceExport::$export_instance->data[$id]['usage_limit_per_user'] = $UsageLimitPerUser;
104 WooCommerceExport::$export_instance->data[$id]['limit_usage_to_x_items'] = $LimitUsageToXItems;
105 WooCommerceExport::$export_instance->data[$id]['expiry_date'] = $ExpiryDate ? $ExpiryDate->date('Y-m-d H:i:s') : null;
106 WooCommerceExport::$export_instance->data[$id]['free_shipping'] = $FreeShipping ? 'yes' : 'no';
107 WooCommerceExport::$export_instance->data[$id]['exclude_sale_items'] = $ExcludeSaleItems ? 'yes' : 'no';
108 WooCommerceExport::$export_instance->data[$id]['minimum_amount'] = $MinimumAmount;
109 WooCommerceExport::$export_instance->data[$id]['maximum_amount'] = $MaximumAmount;
110 // Handle the product IDs and excluded product IDs with implode only if they are not empty
111 WooCommerceExport::$export_instance->data[$id]['product_ids'] = !empty($product_Ids) ? implode(',', $product_Ids) : '';
112 WooCommerceExport::$export_instance->data[$id]['exclude_product_ids'] = !empty($Exclude_Product_IDs) ? implode(',', $Exclude_Product_IDs) : '';
113
114 }
115 public function getWooComOrderData($id, $type, $optional)
116 {
117 $order = wc_get_order($id);
118 $order_data = $order->get_data();
119 $orderid = self::$export_instance->data[$id]['ID'];
120 WooCommerceExport::$export_instance->data[$id]['ORDERID'] = $orderid;
121 //fetch the order data
122 $date_created_object = $order_data['date_created'];
123 $formatted_date_time = $date_created_object->date('m/d/Y H:i:s');
124 WooCommerceExport::$export_instance->data[$id]['order_date'] = $formatted_date_time;
125 $customer_note = $order_data['customer_note'];
126 WooCommerceExport::$export_instance->data[$id]['customer_note'] = $customer_note;
127 $billing_details = $order_data['billing'];
128 $order_status = $order_data['status'];
129 WooCommerceExport::$export_instance->data[$id]['order_status'] = 'wc-'.$order_status;
130 $_billing_first_name = $billing_details['first_name'];
131 WooCommerceExport::$export_instance->data[$id]['_billing_first_name'] = $_billing_first_name;
132 $_billing_last_name = $billing_details['last_name'];
133 WooCommerceExport::$export_instance->data[$id]['_billing_last_name'] = $_billing_last_name;
134 $_billing_company = $billing_details['company'];
135 WooCommerceExport::$export_instance->data[$id]['_billing_company'] = $_billing_company;
136 $_billing_address_1 = $billing_details['address_1'];
137 WooCommerceExport::$export_instance->data[$id]['_billing_address_1'] = $_billing_address_1;
138 $_billing_address_2 = $billing_details['address_2'];
139 WooCommerceExport::$export_instance->data[$id]['_billing_address_2'] = $_billing_address_2;
140 $_billing_city = $billing_details['city'];
141 WooCommerceExport::$export_instance->data[$id]['_billing_city'] = $_billing_city;
142 $_billing_state = $billing_details['state'];
143 WooCommerceExport::$export_instance->data[$id]['_billing_state'] = $_billing_state;
144 $_billing_postcode = $billing_details['postcode'];
145 WooCommerceExport::$export_instance->data[$id]['_billing_postcode'] = $_billing_postcode;
146 $_billing_country = $billing_details['country'];
147 WooCommerceExport::$export_instance->data[$id]['_billing_country'] = $_billing_country;
148 $_order_currency = $order_data['currency'];
149 WooCommerceExport::$export_instance->data[$id]['_order_currency'] = $_order_currency;
150 $_order_shipping_tax = $order_data['shipping_tax'];
151 WooCommerceExport::$export_instance->data[$id]['_order_shipping_tax'] = $_order_shipping_tax;
152 $_order_shipping = $order->get_shipping_total();
153 WooCommerceExport::$export_instance->data[$id]['_order_shipping'] = $_order_shipping;
154 $_order_tax = $order_data['cart_tax'];
155 WooCommerceExport::$export_instance->data[$id]['_order_tax'] = $_order_tax;
156 $_customer_user = $order_data['customer_id'];
157 if($_customer_user != 0){
158 $user_data = get_userdata($_customer_user);
159 $user_email = $user_data->user_email;
160 WooCommerceExport::$export_instance->data[$id]['_customer_user'] = $user_email ;
161 }
162 $_billing_email = $billing_details['email'];
163 WooCommerceExport::$export_instance->data[$id]['_billing_email'] = $_billing_email;
164
165 $_billing_phone = $billing_details['phone'];
166 WooCommerceExport::$export_instance->data[$id]['_billing_phone'] = $_billing_phone;
167
168 $_shipping_first_name = $order_data['shipping']['first_name'];
169 WooCommerceExport::$export_instance->data[$id]['_shipping_first_name'] = $_shipping_first_name;
170
171 $_shipping_last_name = $order_data['shipping']['last_name'];
172 WooCommerceExport::$export_instance->data[$id]['_shipping_last_name'] = $_shipping_last_name;
173
174 $_shipping_company = $order_data['shipping']['company'];
175 WooCommerceExport::$export_instance->data[$id]['_shipping_company'] = $_shipping_company;
176
177 $_shipping_address_1 = $order_data['shipping']['address_1'];
178 WooCommerceExport::$export_instance->data[$id]['_shipping_address_1'] = $_shipping_address_1;
179
180 $_shipping_address_2 = $order_data['shipping']['address_2'];
181 WooCommerceExport::$export_instance->data[$id]['_shipping_address_2'] = $_shipping_address_2;
182
183 $_shipping_city = $order_data['shipping']['city'];
184 WooCommerceExport::$export_instance->data[$id]['_shipping_city'] = $_shipping_city;
185
186 $_shipping_state = $order_data['shipping']['state'];
187 WooCommerceExport::$export_instance->data[$id]['_shipping_state'] = $_shipping_state;
188
189 $_shipping_postcode = $order_data['shipping']['postcode'];
190 WooCommerceExport::$export_instance->data[$id]['_shipping_postcode'] = $_shipping_postcode;
191
192 $_shipping_country = $order_data['shipping']['country'];
193 WooCommerceExport::$export_instance->data[$id]['_shipping_country'] = $_shipping_country;
194
195 $_shipping_phone = $order_data['shipping']['phone'];
196 WooCommerceExport::$export_instance->data[$id]['_shipping_phone'] = $_shipping_phone;
197
198 $_order_total = $order_data['total'];
199 WooCommerceExport::$export_instance->data[$id]['_order_total'] = $_order_total;
200
201 $_cart_discount = $order_data['discount_total'];
202 WooCommerceExport::$export_instance->data[$id]['_cart_discount'] = $_cart_discount;
203
204 $_cart_discount_tax = $order_data['discount_tax'];
205 WooCommerceExport::$export_instance->data[$id]['_cart_discount_tax'] = $_cart_discount_tax;
206
207 $_payment_method = $order_data['payment_method'];
208 WooCommerceExport::$export_instance->data[$id]['_payment_method'] = $_payment_method;
209
210 $_recorded_sales= $order_data['recorded_sales'];
211 if($_recorded_sales > 0){
212 $_recorded_sales = 'yes';
213 }else{
214 $_recorded_sales = 'no';
215 }
216 WooCommerceExport::$export_instance->data[$id]['recorded_sales'] = $_recorded_sales;
217
218 $_payment_method_title = $order_data['payment_method_title'];
219 WooCommerceExport::$export_instance->data[$id]['_payment_method_title'] = $_payment_method_title;
220
221 $_transaction_id = $order_data['transaction_id'];
222 WooCommerceExport::$export_instance->data[$id]['_transaction_id'] = $_transaction_id;
223 $line_items = $order->get_items();
224 $mycoupon = $order->get_coupons();
225
226 if (!empty($mycoupon)) {
227 foreach ($mycoupon as $coupon) {
228 $coupon_code = $coupon->get_code();
229 }
230 }
231 if(!empty($line_items)){
232 foreach ($line_items as $item_id => $item) {
233 $item_names[] = $item->get_name();
234 $product_type[] = $item->get_type();
235 $variation_id[] = $item->get_variation_id();
236 $product_id[] = $item->get_product_id();
237 $subtotal[] = $item->get_subtotal();
238 $subtotal_tax[] = $item->get_subtotal_tax();
239 $total[] = $item->get_total();
240 $total_tax[] = $item->get_total_tax();
241 $item_tax_data[] = $item->get_taxes();
242 if (!empty($item_tax_data) && is_array($item_tax_data)) {
243 if(!empty($item_tax_data[0]['total']) || !empty($item_tax_data[0]['subtotal'])){
244 $line_tax[] = implode(',', $item_tax_data[0]['total']);
245 $line_tax[] = implode(',', $item_tax_data[0]['subtotal']);
246 }else{
247 $line_tax = array();
248 }
249 }
250 $tax_class[] = $item->get_tax_class();
251 $quantity[] = $item->get_quantity();
252 }
253 if (!empty($coupon_code)) {
254 $item_names[] = $coupon_code;
255 $product_type[] = 'coupon';
256 }
257 //itemdata
258 self::$export_instance->data[$id]['item_name'] = implode(',', $item_names);
259 self::$export_instance->data[$id]['item_type'] = implode(',', $product_type);
260 self::$export_instance->data[$id]['item_variation_id'] = implode(',', $variation_id);
261 self::$export_instance->data[$id]['item_product_id'] = implode(',', $product_id);
262 self::$export_instance->data[$id]['item_line_subtotal'] = implode(',', $subtotal);
263 self::$export_instance->data[$id]['item_line_subtotal_tax'] = implode(',', $subtotal_tax);
264 self::$export_instance->data[$id]['item_line_total'] = implode(',', $total);
265 self::$export_instance->data[$id]['item_line_tax'] = implode(',', $total_tax);
266 self::$export_instance->data[$id]['item_line_tax_data'] = implode(',', $line_tax);
267 self::$export_instance->data[$id]['item_tax_class'] = implode(',', $tax_class);
268 self::$export_instance->data[$id]['item_qty'] = implode(',', $quantity);
269 }
270 //fee data
271 $fees = $order->get_fees();
272 if(!empty($fees)){
273 foreach ($fees as $fee) {
274 $fee_name[] = $fee->get_name();
275 $fee_type[] = $fee->get_type(); // Assuming there's a get_type() method; check the documentation
276 $fee_tax_class[] = $fee->get_tax_class();
277 $fee_line_total[] = $fee->get_total();
278 $fee_line_tax[] = $fee->get_total_tax();
279 // $fee_line_subtotal[] = $fee->get_subtotal();
280 // $fee_line_subtotal_tax[] = $fee->get_subtotal_tax();
281 $tax_data = $fee->get_taxes();
282 if(!empty($tax_data['total'])){
283 $fee_line_tax_data[] = $tax_data['total'];
284 }else{
285 $fee_line_tax_data = array();
286 }
287 }
288 //fee data
289 self::$export_instance->data[$id]['fee_name'] = implode(',', $fee_name);
290 self::$export_instance->data[$id]['fee_type'] = implode(',', $fee_type);
291 //self::$export_instance->data[$id]['fee_line_subtotal'] = implode(',', $fee_line_subtotal);
292 //self::$export_instance->data[$id]['fee_line_subtotal_tax'] = implode(',', $fee_line_subtotal_tax);
293 self::$export_instance->data[$id]['fee_line_total'] = implode(',', $fee_line_total);
294 self::$export_instance->data[$id]['fee_line_tax'] = implode(',', $fee_line_tax);
295 self::$export_instance->data[$id]['fee_line_tax_data'] = implode(',',$fee_line_tax_data );
296 self::$export_instance->data[$id]['fee_tax_class'] = implode(',', $fee_tax_class);
297 }
298 //shipment data fetch
299 $shipping_methods = $order->get_shipping_methods();
300 if(!empty($shipping_methods)){
301 foreach ($shipping_methods as $shipping_method) {
302 $shipment_name[] = $shipping_method->get_method_title();
303 $shipment_method_id[] = $shipping_method->get_method_id();
304 $shipment_cost[] = $shipping_method->get_total();
305 $shipment_taxe_data = $shipping_method->get_taxes();
306 if(!empty($shipment_taxe_data['total'])){
307 $shipment_taxes[] = $shipment_taxe_data['total'];
308 }else{
309 $shipment_taxes = array();
310 }
311 }
312 // shipment data
313 self::$export_instance->data[$id]['shipment_name'] = implode(',', $shipment_name);
314 self::$export_instance->data[$id]['shipment_method_id'] = implode(',', $shipment_method_id);
315 self::$export_instance->data[$id]['shipment_cost'] = implode(',', $shipment_cost);
316 self::$export_instance->data[$id]['shipment_taxes'] = implode(',', $shipment_taxes);
317 }
318
319 if(is_plugin_active('advanced-product-fields-for-woocommerce/advanced-product-fields-for-woocommerce.php') ) {
320 $this->getPPOMData($id,$product_id);
321 }
322 if (is_plugin_active('woo-extra-product-options/woo-extra-product-options.php')) {
323 $this->getEPOData($id,$product_id);
324 }
325
326 if ( is_plugin_active( 'yith-woocommerce-order-tracking-premium/init.php' ) ) {
327 self::$export_instance->data[$id]['ywot_tracking_code'] = $order->get_meta('ywot_tracking_code', true);
328 self::$export_instance->data[$id]['ywot_tracking_postcode'] = $order->get_meta('ywot_tracking_postcode', true);
329 self::$export_instance->data[$id]['ywot_carrier_id'] = $order->get_meta('ywot_carrier_id', true);
330 self::$export_instance->data[$id]['ywot_pick_up_date'] = $order->get_meta('ywot_pick_up_date', true);
331 self::$export_instance->data[$id]['ywot_estimated_delivery_date'] = $order->get_meta('ywot_estimated_delivery_date', true);
332 self::$export_instance->data[$id]['ywot_picked_up'] = $order->get_meta('ywot_picked_up', true);
333 }
334
335
336 }
337
338 /**
339 * Code for PPOM export
340 * @param $id
341 * @param $product_id
342 */
343 public function getPPOMData($order_id, $product_ids)
344 {
345
346 global $wpdb;
347 $table_name = $wpdb->prefix . 'nm_personalized';
348
349 // Fetch all the PPOM field setups from the `wp_nm_personalized` table
350 $field_setups = $wpdb->get_results( "SELECT * FROM $table_name" );
351
352 if ( !empty( $field_setups ) ) {
353
354 foreach ( $field_setups as $setup ) {
355 $meta_data = json_decode( $setup->the_meta, true ); // Unserialize the field meta data
356
357
358 // Display the unserialized field data if available
359 if ( is_array( $meta_data ) ) {
360
361 foreach ( $meta_data as $key => $field ) {
362 $pro_meta_fields[$field['title']] = $field['data_name'];
363 }
364
365
366 }
367 }
368
369 }
370
371
372
373 // Get order items for the specified order ID
374 $order_items = wc_get_order( $order_id )->get_items();
375
376 foreach ( $order_items as $item_id => $item ) {
377 // Get the meta data for each order item
378 $item_meta = wc_get_order_item_meta( $item_id, '', false );
379
380 foreach ( $item_meta as $meta_key => $meta_value ) {
381
382 if ( array_key_exists($meta_key, $pro_meta_fields)) { // Change this condition based on your actual meta key format
383
384 self::$export_instance->data[$order_id][$meta_key] = $meta_value[0]; // Store each field key-value pair
385
386 }
387 }
388 }
389
390
391 }
392 public function getEPOData($order_id, $product_ids)
393 {
394 global $wpdb;
395
396 // Fetch all EPO field setups from the `wp_woocommerce_order_itemmeta` table
397 $table_name = $wpdb->prefix . 'woocommerce_order_itemmeta';
398
399 $epo_data = $wpdb->get_results( $wpdb->prepare(
400 "SELECT * FROM $table_name WHERE order_item_id IN (SELECT order_item_id FROM {$wpdb->prefix}woocommerce_order_items WHERE order_id = %d)",
401 $order_id
402 ) );
403
404 $pro_meta_fields = [];
405
406 if ( !empty( $epo_data ) ) {
407 foreach ( $epo_data as $data ) {
408 if ( is_serialized( $data->meta_value ) ) {
409 $meta_data = unserialize( $data->meta_value );
410 } else {
411 $meta_data = $data->meta_value;
412 }
413
414 if ( is_array( $meta_data ) ) {
415 foreach ( $meta_data as $key => $field ) {
416 if (isset($field['title']) && isset($field['data_name'])) {
417 $pro_meta_fields[$field['title']] = $field['data_name'];
418 } else {
419 }
420 }
421 } else {
422 $pro_meta_fields[$data->meta_key] = $meta_data;
423 }
424 }
425 }
426
427
428 $order_items = wc_get_order($order_id)->get_items();
429
430 foreach ($order_items as $item_id => $item) {
431 $item_meta = wc_get_order_item_meta($item_id, '', false);
432
433 foreach ($item_meta as $meta_key => $meta_value) {
434 if (array_key_exists($meta_key, $pro_meta_fields)) {
435 if (is_array($meta_value) && isset($meta_value[0])) {
436 self::$export_instance->data[$order_id][$meta_key] = $meta_value[0];
437 } else {
438 }
439 }
440 }
441 }
442 }
443 /**
444 * Code for Woocommerce Refund export
445 * @param $id
446 * @param $type
447 * @param $optionalType
448 */
449 public function getWooComCustomerUser($id, $type, $optionalType)
450 {
451 global $wpdb;
452 $parent = WooCommerceExport::$export_instance->data[$id]['post_parent'];
453 $query = $wpdb->prepare("SELECT post_id,meta_key,meta_value FROM {$wpdb->prefix}postmeta where post_id = %d", $parent);
454 $result = $wpdb->get_results($query);
455 if(!empty($result)){
456 foreach ($result as $key => $value) {
457 if($value->meta_key == '_customer_user'){
458 $cus_user = $value->meta_value;
459 }
460 }
461 }
462 WooCommerceExport::$export_instance->data[$id]['customer_user'] = $cus_user;
463 }
464
465 /**
466 * Export woocommerce product and variation
467 * @param $id
468 * @param $type
469 * @param $optionalType
470 */
471 public function getVariationData($id, $type, $optionalType)
472 {
473 $variations_data = wc_get_product($id);
474 $variation_datas = $variations_data->get_data();
475 $variations[] = wc_get_product($id);
476 foreach ($variations as $attr_key => $variation) {
477 $parent_id = $variation->get_parent_id();
478 $parent_product = wc_get_product($parent_id);
479 $parent_sku = $parent_product->get_sku();
480 $variation_sku = $variation->get_sku();
481 $variation_id = $variation->get_id();
482 $featured_image_id = $variation->get_image_id();
483 $featured_image_url = wp_get_attachment_image_url($featured_image_id, 'full');
484 $product_attributes = $parent_product->get_attributes();
485 $attribute_name = $att_values = $is_visible = $is_variation = $position = $is_taxonomy = [];
486
487 foreach ($product_attributes as $attribute_key => $attribute) {
488 $attribute_name[] = str_replace('pa_', '', $attribute['name']);
489 $taxonomy_name = $attribute['taxonomy'];
490 $attribute_options = $attribute['options'];
491 $term_names = [];
492 foreach ($attribute_options as $term_key => $term_id) {
493 $term = get_term_by('id', $term_id, $taxonomy_name);
494 if (!empty($term->name)) {
495 $term_names[] = $term->name;
496 }
497 }
498 if (!empty($term_names)) {
499 $att_values[] = implode('|', $term_names); // Combine term names with |
500 }
501 $is_visible[] = $attribute['is_visible'];
502 $is_variation[] = $attribute['is_variation'];
503 $position[] = $attribute['position'];
504 }
505 $attachment_meta = wp_get_attachment_metadata($featured_image_id);
506 $product_caption = isset($attachment_meta['image_meta']['caption']) ? $attachment_meta['image_meta']['caption'] : '';
507 $product_alt_text = get_post_meta($featured_image_id, '_wp_attachment_image_alt', true);
508 $product_description = get_post_field('post_content', $featured_image_id);
509
510 $product_title = $parent_product->get_title();
511 $is_featured = get_post_meta($parent_product->get_id(), 'featured', true) ? '1' : '0';
512 $downloadable = $variation->is_downloadable() ? 'yes' : 'no';
513 if ($variation->is_downloadable()) {
514 $download_limit = $variation->get_download_limit();
515 $download_expiry = $variation->get_download_expiry();
516 $downloadable_files = [];
517 $download_type = [];
518 $downloads = $variation->get_downloads();
519 foreach ($downloads as $download) {
520 $file_string = $download['name'].','.$download['file'];
521 $downloadable_files[] = $file_string;
522 }
523 $download_file_str = implode('|', $downloadable_files);
524 WooCommerceExport::$export_instance->data[$id]['downloadable_files'] = $download_file_str ?? '';
525 WooCommerceExport::$export_instance->data[$id]['download_limit'] = $download_limit ?? '';
526 WooCommerceExport::$export_instance->data[$id]['download_expiry'] = $download_expiry ?? '';
527 }
528 $price = $variation->get_price();
529 $sale_price_dates_from = $variation->get_date_on_sale_from();
530 $sale_price_dates_to = $variation->get_date_on_sale_to();
531 $regular_price = $variation->get_regular_price();
532 $sale_price = $variation->get_sale_price();
533 $purchase_note = $variation->get_purchase_note();
534 $default_attributes = $variation->get_default_attributes();
535 $attribute_default = [];
536 foreach ($default_attributes as $def_attribute_key => $def_attribute_value) {
537 $attribute_default[] = str_replace('pa_', '', $def_attribute_key) . '|' . $def_attribute_value;
538 }
539 $custom_attributes = $variation->get_attributes();
540 $attribute_names = [];
541 foreach ($custom_attributes as $cus_attribute_key => $cus_attribute_value) {
542 if(strpos($cus_attribute_value,'-')!== false){
543 $cus_attribute_value = str_replace('-',' ',$cus_attribute_value);
544 }
545 $attribute_names[] = str_replace('pa_', '', $cus_attribute_key) . '|' . $cus_attribute_value;
546 }
547 $tax_status = $variation->get_tax_status();
548 $tax_status_mapping = array('taxable' => 1 , 'shipping' => 2, 'none' => 3);
549 $is_virtual = $variation->is_virtual() ? 'yes' : 'no';
550 if(!$variation->is_virtual()){
551 $weight = $variation->get_weight();
552 $length = $variation->get_length();
553 $width = $variation->get_width();
554 $height = $variation->get_height();
555 }
556 $manages_stock = $variation->managing_stock() ? 'yes' : 'no';
557 $stock_status = $variation->get_stock_status();
558 $sold_individually = $variation->get_sold_individually();
559 if($variation->managing_stock()){
560 $stock_qty = $variation->get_stock_quantity();
561 $low_stock_amount = $variation->get_low_stock_amount();
562 $backorders = $variation->get_backorders();
563 switch ($backorders) {
564 case 'no':
565 $backorders_no= '1';
566 break;
567
568 case 'notify':
569 $backorders_no= '2';
570 break;
571
572 case 'yes':
573 $backorders_no = '3';
574 break;
575
576 default:
577 $backorders_no = '';
578 break;
579 }
580 }
581 $var_description = $variation->get_description();
582 $var_class_id = $variation->get_shipping_class_id();
583 $shipping_class_term = get_term($var_class_id, 'product_shipping_class');
584 }
585 WooCommerceExport::$export_instance->data[$id]['PARENTSKU'] = $parent_sku ;
586 WooCommerceExport::$export_instance->data[$id]['VARIATIONSKU'] = $variation_sku;
587 WooCommerceExport::$export_instance->data[$id]['VARIATIONID'] = $variation_id;
588 WooCommerceExport::$export_instance->data[$id]['product_attribute_name'] = implode('|',$attribute_name);
589 WooCommerceExport::$export_instance->data[$id]['product_attribute_value'] = implode(',', $att_values);
590 WooCommerceExport::$export_instance->data[$id]['product_attribute_visible'] = implode('|', $is_visible);
591 WooCommerceExport::$export_instance->data[$id]['product_attribute_variation'] = implode('|', $is_variation);
592 WooCommerceExport::$export_instance->data[$id]['product_attribute_position'] = implode('|', $position);
593
594 WooCommerceExport::$export_instance->data[$id]['product_caption'] = $product_caption ?? '';
595 WooCommerceExport::$export_instance->data[$id]['product_alt_text'] = $product_alt_text ?? '';
596 WooCommerceExport::$export_instance->data[$id]['product_description'] = $product_description ?? '';
597
598 WooCommerceExport::$export_instance->data[$id]['product_title'] = $product_title ?? '';
599 WooCommerceExport::$export_instance->data[$id]['featured'] = $is_featured ?? '';
600
601 WooCommerceExport::$export_instance->data[$id]['price'] = $price ?? '';
602 WooCommerceExport::$export_instance->data[$id]['sale_price_dates_from'] = $sale_price_dates_from ?? '';
603 WooCommerceExport::$export_instance->data[$id]['sale_price_dates_to'] = $sale_price_dates_to ?? '';
604 WooCommerceExport::$export_instance->data[$id]['regular_price'] = $regular_price ?? '';
605 WooCommerceExport::$export_instance->data[$id]['sale_price'] = $sale_price ?? '';
606 WooCommerceExport::$export_instance->data[$id]['purchase_note'] = $purchase_note ?? '';
607
608 WooCommerceExport::$export_instance->data[$id]['default_attributes'] = implode(',',$attribute_default) ?? '';
609 WooCommerceExport::$export_instance->data[$id]['custom_attributes'] = implode(',',$attribute_names) ?? '';
610 WooCommerceExport::$export_instance->data[$id]['_downloadable'] = $downloadable ?? '';
611
612 WooCommerceExport::$export_instance->data[$id]['tax_class'] = $variation_datas['tax_class'] ?? '';
613 WooCommerceExport::$export_instance->data[$id]['tax_status'] = array_key_exists($tax_status,$tax_status_mapping) ? $tax_status_mapping[$tax_status] : '' ;
614
615 WooCommerceExport::$export_instance->data[$id]['weight'] = $weight ?? '';
616 WooCommerceExport::$export_instance->data[$id]['length'] = $length ?? '';
617 WooCommerceExport::$export_instance->data[$id]['width'] = $width ?? '';
618 WooCommerceExport::$export_instance->data[$id]['height'] = $height ?? '';
619
620 WooCommerceExport::$export_instance->data[$id]['virtual'] = $is_virtual ?? '';
621
622 WooCommerceExport::$export_instance->data[$id]['manage_stock'] = $manages_stock ?? '';
623 WooCommerceExport::$export_instance->data[$id]['_stock'] = $stock_qty ?? '';
624 WooCommerceExport::$export_instance->data[$id]['_stock_status'] = $stock_status ?? '';
625 WooCommerceExport::$export_instance->data[$id]['_low_stock_threshold'] = $low_stock_amount ?? '';
626 WooCommerceExport::$export_instance->data[$id]['_stock_qty'] = $stock_qty ?? '';
627 WooCommerceExport::$export_instance->data[$id]['backorders'] = $backorders_no;
628 WooCommerceExport::$export_instance->data[$id]['sold_individually'] = ($sold_individually > 0) ? 'yes' : 'no';
629 WooCommerceExport::$export_instance->data[$id]['_thumbnail_id'] = $featured_image_url ?? '';
630
631 WooCommerceExport::$export_instance->data[$id]['variation_description'] = $var_description ?? '';
632 WooCommerceExport::$export_instance->data[$id]['variation_shipping_class'] = $shipping_class_term ? $shipping_class_term->name : '';
633 }
634 public function getProductData($id, $type, $optionalType)
635 {
636 $product = wc_get_product($id);
637 $product_datas = $product->get_data();
638 $product_sku = $product->get_sku();
639 WooCommerceExport::$export_instance->data[$id]['PRODUCTSKU'] = $product_sku;
640 $product_attributes = $product->get_attributes();
641 if (!empty($product_attributes)) {
642 foreach ($product_attributes as $attribute_key => $attribute) {
643 $attribute_name[] = str_replace('pa_', '', $attribute['name']);
644 $taxonomy_name = $attribute['taxonomy'];
645 $attribute_options = $attribute['options'];
646 $term_names = $att_values = [];
647 foreach ($attribute_options as $term_key => $term_id) {
648 $term = get_term_by('id', $term_id, $taxonomy_name);
649 if (!empty($term->name)) {
650 $term_names[] = $term->name;
651 }
652 }
653 if (!empty($term_names)) {
654 $att_values[] = implode('|', $term_names);
655 }
656 $is_visible[] = $attribute['is_visible'];
657 $is_variation[] = $attribute['is_variation'];
658 $position[] = $attribute['position'];
659 $is_taxonomy[] = $attribute['is_taxonomy'];
660 }
661 WooCommerceExport::$export_instance->data[$id]['product_attribute_name'] = implode('|', $attribute_name);
662 WooCommerceExport::$export_instance->data[$id]['product_attribute_value'] = implode(',', $att_values);
663 WooCommerceExport::$export_instance->data[$id]['product_attribute_visible'] = implode('|', $is_visible);
664 WooCommerceExport::$export_instance->data[$id]['product_attribute_variation'] = implode('|', $is_variation);
665 WooCommerceExport::$export_instance->data[$id]['product_attribute_position'] = implode('|', $position);
666 WooCommerceExport::$export_instance->data[$id]['product_attribute_taxonomy'] = implode('|', $is_taxonomy);
667 }
668
669
670 $get_catalog_visibility = $product->get_catalog_visibility();
671 $visibility_mapping = array('visible' => '1','catalog' => '2','search' => '3','hidden' => '4');
672 WooCommerceExport::$export_instance->data[$id]['visibility'] = array_key_exists($get_catalog_visibility,$visibility_mapping) ? $visibility_mapping[$get_catalog_visibility] : '';
673
674 $tax_status = $product->get_tax_status();
675 $tax_status_mapping = array('taxable' => 1 , 'shipping' => 2, 'none' => 3);
676 WooCommerceExport::$export_instance->data[$id]['tax_status'] = array_key_exists($tax_status,$tax_status_mapping) ? $tax_status_mapping[$tax_status] : '' ;
677
678 $product_type = $product->get_type();
679 $product_type_mapping = array('simple' => 1 , 'grouped' => 2, 'external' => 3, 'variable' => 4 , 'subscription' => 5 , 'variable-subscription' => 6 ,'bundle' => 7);
680 WooCommerceExport::$export_instance->data[$id]['product_type'] = array_key_exists($product_type,$product_type_mapping) ? $product_type_mapping[$product_type] : '' ;
681
682 if (has_term('featured', 'product_visibility', $id)) {
683 WooCommerceExport::$export_instance->data[$id]['featured_product'] = '1';
684 }
685 WooCommerceExport::$export_instance->data[$id]['tax_class'] = $product_datas['tax_class'] ?? '';
686 if (method_exists($product, 'get_file_paths')) {
687 $file_paths = $product->get_file_paths();
688 WooCommerceExport::$export_instance->data[$id]['_file_paths'] = isset($file_paths) ? $file_paths : '';
689 } else {
690 WooCommerceExport::$export_instance->data[$id]['_file_paths'] = '';
691 }
692 $edit_last = get_post_meta($id, '_edit_last', true);
693 WooCommerceExport::$export_instance->data[$id]['_edit_last'] = $edit_last ?? '';
694 $edit_lock = get_post_meta($id, '_edit_lock', true);
695 WooCommerceExport::$export_instance->data[$id]['_edit_lock'] = $edit_lock ?? '';
696 $thumbnail_id = get_post_thumbnail_id($product->get_id());
697 $attachment_url = wp_get_attachment_url($thumbnail_id);
698 WooCommerceExport::$export_instance->data[$id]['_thumbnail_id'] = $attachment_url ?? '';
699 WooCommerceExport::$export_instance->data[$id]['manage_stock'] = $product->get_manage_stock() ? '1' : '';
700 $stock_quantity = $product->get_stock_quantity();
701 $stock_status = $product->get_stock_status();
702 $low_stock_threshold = $product->get_low_stock_amount();
703 $total_sales = $product->get_total_sales();
704 WooCommerceExport::$export_instance->data[$id]['_stock'] = $stock_quantity ?? '';
705 WooCommerceExport::$export_instance->data[$id]['_stock_status'] = $stock_status ?? '';
706 WooCommerceExport::$export_instance->data[$id]['_low_stock_threshold'] = $low_stock_threshold ?? '';
707 WooCommerceExport::$export_instance->data[$id]['_stock_qty'] = $stock_quantity ?? '';
708 WooCommerceExport::$export_instance->data[$id]['_total_sales'] = $total_sales ?? '';
709 $downloadable = $product->is_downloadable() ? 'yes' : 'no';
710 $virtual = $product->is_virtual() ? 'yes' : 'no';
711 $regular_price = $product->get_regular_price();
712 $sale_price = $product->get_sale_price();
713 $purchase_note = $product->get_purchase_note();
714
715 WooCommerceExport::$export_instance->data[$id]['_downloadable'] = $downloadable ?? '';
716 WooCommerceExport::$export_instance->data[$id]['_virtual'] = $virtual ?? '';
717 WooCommerceExport::$export_instance->data[$id]['_regular_price'] = $regular_price ?? '';
718 WooCommerceExport::$export_instance->data[$id]['_sale_price'] = $sale_price ?? '';
719 WooCommerceExport::$export_instance->data[$id]['_purchase_note'] = $purchase_note ?? '';
720
721 $weight = $product->get_weight();
722 $length = $product->get_length();
723 $width = $product->get_width();
724 $height = $product->get_height();
725 $upsell_ids = $product->get_upsell_ids();
726 $upsell_product_names = [];
727 foreach ($upsell_ids as $up_id) {
728 $upsell_product = wc_get_product($up_id);
729 $upsell_product_names[] = $upsell_product ? $upsell_product->get_name() : '';
730 }
731 $cross_sell_ids = $product->get_cross_sell_ids();
732 $cross_sell_product_names = [];
733 foreach ($cross_sell_ids as $cross_id) {
734 $cross_sell_product = wc_get_product($cross_id);
735 $cross_sell_product_names[] = $cross_sell_product ? $cross_sell_product->get_name() : '';
736 }
737 WooCommerceExport::$export_instance->data[$id]['weight'] = $weight ?? '';
738 WooCommerceExport::$export_instance->data[$id]['length'] = $length ?? '';
739 WooCommerceExport::$export_instance->data[$id]['width'] = $width ?? '';
740 WooCommerceExport::$export_instance->data[$id]['height'] = $height ?? '';
741 WooCommerceExport::$export_instance->data[$id]['upsell_ids'] = implode(',', $upsell_product_names) ?? '';
742 WooCommerceExport::$export_instance->data[$id]['crosssell_ids'] = implode(',', $cross_sell_product_names) ?? '';
743
744 $grouping_product_ids = []; // Initialize an array to store child product IDs
745 if ($product->is_type('grouped')) {
746 $children = $product->get_children();
747 foreach ($children as $child_id) {
748 $child = wc_get_product($child_id);
749 if (!empty($child)) {
750 $grouping_product_ids[] = $child_id;
751 }
752 }
753 }
754 $grouping_product_ids_string = implode(',', $grouping_product_ids);
755 WooCommerceExport::$export_instance->data[$id]['grouping_product'] = $grouping_product_ids_string;
756
757 $sale_price_dates_from = $product->get_date_on_sale_from();
758 $sale_price_dates_to = $product->get_date_on_sale_to();
759 $sold_individually = $product->get_sold_individually();
760 $backorders = $product->get_backorders();
761 switch ($backorders) {
762 case 'no':
763 $backorders_no= '1';
764 break;
765
766 case 'notify':
767 $backorders_no= '2';
768 break;
769
770 case 'yes':
771 $backorders_no = '3';
772 break;
773
774 default:
775 $backorders_no = '';
776 break;
777 }
778 // WooCommerceExport::$export_instance->data[$id]['grouping_product'] = implode(',',$grouping_products);
779 WooCommerceExport::$export_instance->data[$id]['sale_price_dates_from'] = $sale_price_dates_from ?? '';
780 WooCommerceExport::$export_instance->data[$id]['sale_price_dates_to'] = $sale_price_dates_to ?? '';
781 WooCommerceExport::$export_instance->data[$id]['sold_individually'] = ($sold_individually > 0) ? 'yes' : 'no';
782 WooCommerceExport::$export_instance->data[$id]['backorders'] = $backorders_no;
783 $product_url = ($product->is_type('external')) ? $product->get_product_url() : '';
784 $button_text = ($product->is_type('external')) ? $product->single_add_to_cart_text() : '';
785 $featured =get_post_meta($product->get_id(), 'featured', true) ? '1' : '0';
786 WooCommerceExport::$export_instance->data[$id]['product_url'] = $product_url;
787 WooCommerceExport::$export_instance->data[$id]['button_text'] = $button_text;
788 WooCommerceExport::$export_instance->data[$id]['featured'] = $featured;
789 $downloadable_files = [];
790 $download_type = [];
791 if(($product->is_type('variable'))){
792 $download_limits = [];
793 $download_expiries = [];
794 $variations = $product->get_children();
795 foreach ($variations as $variation_id) {
796 $variation = wc_get_product($variation_id);
797 // Check if the variation is downloadable
798 if ($variation->is_downloadable()) {
799 $downloads = $variation->get_downloads();
800 foreach ($downloads as $download) {
801 $file_url = $download->get_file(); // Get the file URL
802 $file_name = $download->get_name(); // Get the file name
803 $file_string = $file_name.','.$file_url;
804 $downloadable_files[] = $file_string;
805 if (strpos($file_url, 'http') === 0) {
806 $download_type[] = 'external'; // If URL starts with http, it's an external URL
807 } else {
808 $download_type[] = 'file'; // Otherwise, it's a file URL
809 }
810
811 }
812 $download_limit = $variation->get_download_limit(); // Default is -1 for unlimited
813 $download_expiry = $variation->get_download_expiry(); // Default is -1 for no expiry
814 // Store the values
815 $download_limits[] = $download_limit;
816 $download_expiries[] = $download_expiry;
817
818 }
819 $download_limit = !empty($download_limit) ? implode('|', $download_limits) : '';
820 $download_expiry = !empty($download_expiry) ? implode('|', $download_expiries) : '';
821 $download_type_str = !empty($download_type) ? implode('|', $download_type) : '';
822 $download_file_str = !empty($downloadable_files) ? implode('|', $downloadable_files) : '';
823 }
824 }else{
825 $downloads = $product->get_downloads();
826 foreach ($downloads as $download) {
827 $file_string = $download['name'].','.$download['file'];
828 $downloadable_files[] = $file_string;
829 if (strpos($download['file'], 'http') === 0) {
830 $download_type[] = 'external'; // If URL starts with http, it's an external URL
831 } else {
832 $download_type[] = 'file'; // Otherwise, it's a file URL
833 }
834 }
835 $download_type_str = !empty($download_type) ? implode('|', $download_type) : '';
836 $download_file_str = !empty($downloadable_files) ? implode('|', $downloadable_files) : '';
837
838 $download_limit = $product->get_download_limit();
839 $download_expiry = $product->get_download_expiry();
840 }
841
842 WooCommerceExport::$export_instance->data[$id]['downloadable_files'] = $download_file_str;
843 WooCommerceExport::$export_instance->data[$id]['download_limit'] = ($download_limit > -1) ? $download_limit : '';
844 WooCommerceExport::$export_instance->data[$id]['download_expiry'] = ($download_expiry > -1) ? $download_expiry : '';
845 WooCommerceExport::$export_instance->data[$id]['download_type'] = $download_type_str;
846
847 $subscription_period = get_post_meta($id, '_subscription_period', true);
848 $subscription_period_interval = get_post_meta($id, '_subscription_period_interval', true);
849 $subscription_length = get_post_meta($id, '_subscription_length', true);
850 $subscription_trial_period = get_post_meta($id, '_subscription_trial_period', true);
851 $subscription_trial_length = get_post_meta($id, '_subscription_trial_length', true);
852 $subscription_price = get_post_meta($id, '_subscription_price', true);
853 $subscription_sign_up_fee = get_post_meta($id, '_subscription_sign_up_fee', true);
854
855 WooCommerceExport::$export_instance->data[$id]['_subscription_period'] = $subscription_period ?? '';
856 WooCommerceExport::$export_instance->data[$id]['_subscription_period_interval'] = $subscription_period_interval ?? '';
857 WooCommerceExport::$export_instance->data[$id]['_subscription_length'] = $subscription_length ?? '';
858 WooCommerceExport::$export_instance->data[$id]['_subscription_trial_period'] = $subscription_trial_period ?? '';
859 WooCommerceExport::$export_instance->data[$id]['_subscription_trial_length'] = $subscription_trial_length ?? '';
860 WooCommerceExport::$export_instance->data[$id]['_subscription_price'] = $subscription_price ?? '';
861 WooCommerceExport::$export_instance->data[$id]['_subscription_sign_up_fee'] = $subscription_sign_up_fee ?? '';
862 // Retrieve barcode details
863 if(is_plugin_active('yith-woocommerce-barcodes-premium/init.php' )){
864 $barcode_protocol = get_post_meta($id, '_ywbc_barcode_protocol', true);
865 $barcode_value = get_post_meta($id, '_ywbc_barcode_value', true);
866 $barcode_display_value = get_post_meta($id, '_ywbc_barcode_display_value', true);
867 WooCommerceExport::$export_instance->data[$id]['_ywbc_barcode_display_value'] = $barcode_display_value ?? '';
868 WooCommerceExport::$export_instance->data[$id]['_ywbc_barcode_value'] = $barcode_value ?? '';
869 WooCommerceExport::$export_instance->data[$id]['_ywbc_barcode_protocol'] = $barcode_protocol ?? '';
870 }
871
872
873 //woocommerce-product-bundles plugin
874 //woocommerce-product-bundles plugin
875 if (is_plugin_active('woocommerce-product-bundles/woocommerce-product-bundles.php')) {
876 // Get the bundle product
877 $bundle_product = wc_get_product($id);
878
879 if ($bundle_product && $bundle_product->is_type('bundle')) {
880 // Initialize default values
881 $bundle_items = array();
882 $optional_values = array();
883 $quantity_min = array();
884 $quantity_max = array();
885 $price_values = array();
886 $discount_values = array();
887 $product_values = array();
888 $cart_values = array();
889 $order_values = array();
890 $product_price_values = array();
891 $cart_price_values = array();
892 $order_price_values = array();
893 $thumb_values = array();
894 $override_values = array();
895 $description_values = array();
896 $override_title_values = array();
897 $override_description_values = array();
898
899 // Get bundle settings
900 $min_bundle_size = $bundle_product->get_min_bundle_size();
901 $max_bundle_size = $bundle_product->get_max_bundle_size();
902 $edit_in_cart = $bundle_product->get_editable_in_cart() ? 'Yes' : 'No';
903 $layout = $bundle_product->get_layout(); // Assuming this method exists
904 $get_mode = $bundle_product->get_group_mode();
905 if($get_mode == 'noindent'){
906 $item_grouping = 'flat';
907 }else if($get_mode == 'parent'){
908 $item_grouping = 'grouped';
909 }else{
910 $item_grouping = '';
911 }
912 foreach ($bundle_product->get_bundled_items() as $bundled_item) {
913 // Get bundled item product
914 $bundled_product = $bundled_item->get_product();
915 $bundle_items[] = $bundled_product->get_name();
916
917 // Retrieve settings for each bundled item
918 $optional_values[] = method_exists($bundled_item, 'is_optional') && $bundled_item->is_optional() ? 'Yes' : 'No';
919 $quantity_min[] = method_exists($bundled_item, 'get_min_quantity') ? $bundled_item->get_min_quantity() : '';
920 $quantity_max[] = method_exists($bundled_item, 'get_max_quantity') ? $bundled_item->get_max_quantity() : '';
921 $price_values[] = method_exists($bundled_item, 'is_priced_individually') && $bundled_item->is_priced_individually() ? 'Yes' : 'No';
922 $discount_values[] = method_exists($bundled_item, 'get_discount') ? $bundled_item->get_discount() : '';
923 $product_values[] = method_exists($bundled_item, 'get_single_product_visibility') && $bundled_item->get_single_product_visibility() ? 'Yes' : 'No';
924 $cart_values[] = method_exists($bundled_item, 'get_cart_visibility') && $bundled_item->get_cart_visibility() ? 'Yes' : 'No';
925 $order_values[] = method_exists($bundled_item, 'get_order_visibility') && $bundled_item->get_order_visibility() ? 'Yes' : 'No';
926 $product_price_values[] = method_exists($bundled_item, 'get_single_product_price_visibility') && $bundled_item->get_single_product_price_visibility() ? 'Yes' : 'No';
927 $cart_price_values[] = method_exists($bundled_item, 'get_cart_price_visibility') && $bundled_item->get_cart_price_visibility() ? 'Yes' : 'No';
928 $order_price_values[] = method_exists($bundled_item, 'get_order_price_visibility') && $bundled_item->get_order_price_visibility() ? 'Yes' : 'No';
929 $thumb_values[] = method_exists($bundled_item, 'get_hide_thumbnail') && $bundled_item->get_hide_thumbnail() ? 'Yes' : 'No';
930 $override_values[] = method_exists($bundled_item, 'get_override_title') && $bundled_item->get_override_title() ? 'Yes' : 'No';
931 $description_values[] = method_exists($bundled_item, 'get_override_description') && $bundled_item->get_override_description() ? 'Yes' : 'No';
932 $override_title_values[] = method_exists($bundled_item, 'get_override_title_value') ? $bundled_item->get_override_title_value() : '';
933 $override_description_values[] = method_exists($bundled_item, 'get_override_description_value') ? $bundled_item->get_override_description_value() : '';
934 }
935
936 // Prepare export data
937 WooCommerceExport::$export_instance->data[$id]['product_bundle_items'] = implode('|', $bundle_items) ?? '';
938 WooCommerceExport::$export_instance->data[$id]['optional'] = implode('|', $optional_values) ?? '';
939 WooCommerceExport::$export_instance->data[$id]['quantity_min'] = implode('|', $quantity_min) ?? '';
940 WooCommerceExport::$export_instance->data[$id]['quantity_max'] = implode('|', $quantity_max) ?? '';
941 WooCommerceExport::$export_instance->data[$id]['priced_individually'] = implode('|', $price_values) ?? '';
942 WooCommerceExport::$export_instance->data[$id]['discount'] = implode('|', $discount_values) ?? '';
943 WooCommerceExport::$export_instance->data[$id]['single_product_visibility'] = implode('|', $product_values) ?? '';
944 WooCommerceExport::$export_instance->data[$id]['cart_visibility'] = implode('|', $cart_values) ?? '';
945 WooCommerceExport::$export_instance->data[$id]['order_visibility'] = implode('|', $order_values) ?? '';
946 WooCommerceExport::$export_instance->data[$id]['single_product_price_visibility'] = implode('|', $product_price_values) ?? '';
947 WooCommerceExport::$export_instance->data[$id]['cart_price_visibility'] = implode('|', $cart_price_values) ?? '';
948 WooCommerceExport::$export_instance->data[$id]['order_price_visibility'] = implode('|', $order_price_values) ?? '';
949 WooCommerceExport::$export_instance->data[$id]['hide_thumbnail'] = implode('|', $thumb_values) ?? '';
950 WooCommerceExport::$export_instance->data[$id]['override_title'] = implode('|', $override_values) ?? '';
951 WooCommerceExport::$export_instance->data[$id]['override_description'] = implode('|', $description_values) ?? '';
952 WooCommerceExport::$export_instance->data[$id]['override_title_value'] = implode('|', $override_title_values) ?? '';
953 WooCommerceExport::$export_instance->data[$id]['override_description_value'] = implode('|', $override_description_values) ?? '';
954 WooCommerceExport::$export_instance->data[$id]['pb_sale_price'] = $bundle_product->get_sale_price() ?? '';
955 WooCommerceExport::$export_instance->data[$id]['pb_regular_price'] = $bundle_product->get_regular_price() ?? '';
956 WooCommerceExport::$export_instance->data[$id]['min_bundle_size'] = $min_bundle_size ?? '';
957 WooCommerceExport::$export_instance->data[$id]['max_bundle_size'] = $max_bundle_size ?? '';
958 WooCommerceExport::$export_instance->data[$id]['edit_in_cart'] = $edit_in_cart ?? '';
959 WooCommerceExport::$export_instance->data[$id]['layout'] = $layout ?? '';
960 WooCommerceExport::$export_instance->data[$id]['item_grouping'] = $item_grouping ?? '';
961 }
962 }
963
964 }
965
966 /**
967 * Fetch Terms & Taxonomies
968 * @param $mode
969 * @param $module
970 * @param $optionalType
971 * @return array
972 */
973 public function FetchTaxonomies($module, $optionalType, $mode = null) {
974
975 global $wpdb;
976 $terms_table = $wpdb->prefix."terms";
977 $terms_taxo_table = $wpdb->prefix."term_taxonomy";
978 self::$export_instance->generateHeaders($module, $optionalType);
979 $taxonomy = $optionalType;
980 $query = $wpdb->prepare("SELECT * FROM $terms_table t INNER JOIN $terms_taxo_table tax ON `tax`.term_id = `t`.term_id WHERE `tax`.taxonomy = %s ", $taxonomy);
981
982 $get_all_taxonomies = $wpdb->get_results($query);
983 self::$export_instance->totalRowCount = count($get_all_taxonomies);
984 if(!empty($get_all_taxonomies)) {
985 foreach( $get_all_taxonomies as $termKey => $termValue ) {
986 $termID = $termValue->term_id;
987 $termMeta = get_term_meta($termID);
988 //wpsc_meta data starts
989 if(in_array('wp-e-commerce/wp-shopping-cart.php', self::$export_instance->get_active_plugins())) {
990 $wpsc_query = $wpdb->prepare("select meta_key,meta_value from {$wpdb->prefix}wpsc_meta where object_id = %d AND object_type = %s", $termID, 'wpsc_category');
991 $wpsc_meta = $wpdb->get_results($wpsc_query,ARRAY_A);
992 foreach($wpsc_meta as $mk => $mv){
993 if($mv['meta_key'] == 'image'){
994 if($mv['meta_value']){
995 $udir = wp_upload_dir();
996 $img_path = $udir['baseurl'] . "/wpsc/category_images/".$mv['meta_value'];
997 self::$export_instance->data[$termID]['category_image'] = $img_path;
998 }else{
999 self::$export_instance->data[$termID]['category_image'] = '';
1000 }
1001 }elseif($mv['meta_key'] == 'display_type'){
1002 self::$export_instance->data[$termID]['catelog_view'] = $mv['meta_value'];
1003 }elseif($mv['meta_key'] == 'uses_billing_address'){
1004 self::$export_instance->data[$termID]['address_calculate'] = $mv['meta_value']; }elseif($mv['meta_key'] == 'image_width'){
1005 self::$export_instance->data[$termID]['category_image_width'] = $mv['meta_value']; }elseif($mv['meta_key'] == 'image_height'){
1006 self::$export_instance->data[$termID]['category_image_height'] = $mv['meta_value']; }else{
1007 self::$export_instance->data[$termID][$mv['meta_key']] = $mv['meta_value'];
1008 }
1009 }
1010 }
1011 //wpsc_meta data ends
1012 //woocommerce meta data starts
1013 if(in_array('woocommerce/woocommerce.php', self::$export_instance->get_active_plugins())){
1014 if(isset($termMeta['thumbnail_id'][0])){
1015 $thum_id = $termMeta['thumbnail_id'][0];
1016 self::$export_instance->data[$termID]['image'] = self::$export_instance->getAttachment($thum_id);
1017 }
1018 if(!empty($termMeta['display_type'][0])){
1019 self::$export_instance->data[$termID]['display_type'] = $termMeta['display_type'][0];
1020 }
1021 if(!empty($termMeta['cat_meta'][0])){
1022 $cat_meta = unserialize($termMeta['cat_meta'][0]);
1023 self::$export_instance->data[$termID]['top_content'] = $cat_meta['cat_header'];
1024 self::$export_instance->data[$termID]['bottom_content'] = $cat_meta['cat_footer'];
1025 }
1026 }
1027 //woocommerce meta data ends
1028 $termName = $termValue->name;
1029 $termSlug = $termValue->slug;
1030 $termDesc = $termValue->description;
1031 $termParent = $termValue->parent;
1032 if($termParent == 0) {
1033 self::$export_instance->data[$termID]['name'] = $termName;
1034 } else {
1035 $termParentName = get_cat_name( $termParent );
1036 self::$export_instance->data[$termID]['name'] = $termParentName . '|' . $termName;
1037 }
1038 self::$export_instance->data[$termID]['slug'] = $termSlug;
1039 self::$export_instance->data[$termID]['description'] = $termDesc;
1040 self::$export_instance->data[$termID]['TERMID'] = $termID;
1041 self::$export_instance->data[$termID]['parent'] = $termParent;
1042 self::$export_instance->getWPMLData($termID,$optionalType,$module);
1043
1044 WooCommerceExport::$post_export->getPostsMetaDataBasedOnRecordId($termID, $module, $optionalType);
1045
1046 if(in_array('wordpress-seo/wp-seo.php', self::$export_instance->get_active_plugins())) {
1047 $seo_yoast_taxonomies = get_option( 'wpseo_taxonomy_meta' );
1048 if ( isset( $seo_yoast_taxonomies[$optionalType] ) ) {
1049 self::$export_instance->data[ $termID ]['title'] = $seo_yoast_taxonomies[$optionalType][$termID]['wpseo_title'];
1050 self::$export_instance->data[ $termID ]['meta_desc'] = $seo_yoast_taxonomies[$optionalType][$termID]['wpseo_desc'];
1051 self::$export_instance->data[ $termID ]['canonical'] = $seo_yoast_taxonomies[$optionalType][$termID]['wpseo_canonical'];
1052 self::$export_instance->data[ $termID ]['bctitle'] = $seo_yoast_taxonomies[$optionalType][$termID]['wpseo_bctitle'];
1053 self::$export_instance->data[ $termID ]['meta-robots-noindex'] = $seo_yoast_taxonomies[$optionalType][$termID]['wpseo_noindex'];
1054 self::$export_instance->data[ $termID ]['sitemap-include'] = $seo_yoast_taxonomies[$optionalType][$termID]['wpseo_sitemap_include'];
1055 self::$export_instance->data[ $termID ]['opengraph-title'] = $seo_yoast_taxonomies[$optionalType][$termID]['wpseo_opengraph-title'];
1056 self::$export_instance->data[ $termID ]['opengraph-description'] = $seo_yoast_taxonomies[$optionalType][$termID]['wpseo_opengraph-description'];
1057 self::$export_instance->data[ $termID ]['opengraph-image'] = $seo_yoast_taxonomies[$optionalType][$termID]['wpseo_opengraph-image'];
1058 self::$export_instance->data[ $termID ]['twitter-title'] = $seo_yoast_taxonomies[$optionalType][$termID]['wpseo_twitter-title'];
1059 self::$export_instance->data[ $termID ]['twitter-description'] = $seo_yoast_taxonomies[$optionalType][$termID]['wpseo_twitter-description'];
1060 self::$export_instance->data[ $termID ]['twitter-image'] = $seo_yoast_taxonomies[$optionalType][$termID]['wpseo_twitter-image'];
1061 self::$export_instance->data[ $termID ]['focus_keyword'] = $seo_yoast_taxonomies[$optionalType][$termID]['wpseo_focuskw'];
1062
1063 }
1064 }
1065 }
1066 }
1067
1068 $result = self::$export_instance->finalDataToExport(self::$export_instance->data , $module);
1069 if($mode == null)
1070 self::$export_instance->proceedExport($result);
1071 else
1072 return $result;
1073 }
1074
1075 public function getCourseData($id)
1076 {
1077 global $wpdb;
1078
1079 $get_section_details = $wpdb->get_results("SELECT section_id, section_name, section_description FROM {$wpdb->prefix}learnpress_sections WHERE section_course_id = $id ", ARRAY_A);
1080 $section_names = '';
1081 $section_descriptions = '';
1082 $get_lesson_name = '';
1083 $get_lesson_description = '';
1084 $get_lesson_duration = '';
1085 $get_lesson_preview = '';
1086 $get_quiz_name = '';
1087 $get_quiz_description = '';
1088 $get_quiz_meta = [];
1089
1090 foreach($get_section_details as $section_details){
1091 $section_names .= $section_details['section_name'] . '|';
1092 $section_descriptions .= $section_details['section_description'] . '|';
1093
1094 $section_id = $section_details['section_id'];
1095 $get_section_item_details = $wpdb->get_results("SELECT item_id, item_type FROM {$wpdb->prefix}learnpress_section_items WHERE section_id = $section_id ", ARRAY_A);
1096
1097 $lesson_name = '';
1098 $lesson_description = '';
1099 $quiz_name = '';
1100 $quiz_description = '';
1101 $lesson_duration = '';
1102 $lesson_preview = '';
1103 $quiz_metas = [];
1104
1105 foreach($get_section_item_details as $section_item_details){
1106 $section_item_id = $section_item_details['item_id'];
1107 if($section_item_details['item_type'] == 'lp_lesson'){
1108 $lesson_name .= $wpdb->get_var("SELECT post_title FROM {$wpdb->prefix}posts WHERE ID = $section_item_id ") . ', ';
1109 $lesson_description .= $wpdb->get_var("SELECT post_content FROM {$wpdb->prefix}posts WHERE ID = $section_item_id "). ', ';
1110 $lesson_duration .= $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $section_item_id AND meta_key = '_lp_duration' ") . ', ';
1111 $lesson_preview .= $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $section_item_id AND meta_key = '_lp_preview' ") . ', ';
1112 }
1113 elseif($section_item_details['item_type'] == 'lp_quiz'){
1114 $quiz_name .= $wpdb->get_var("SELECT post_title FROM {$wpdb->prefix}posts WHERE ID = $section_item_id ") . ', ';
1115 $quiz_description .= $wpdb->get_var("SELECT post_content FROM {$wpdb->prefix}posts WHERE ID = $section_item_id "). ', ';
1116
1117 $quiz_meta = $wpdb->get_results("SELECT meta_key, meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $section_item_id AND meta_key LIKE '_lp_%' ", ARRAY_A);
1118 foreach($quiz_meta as $quiz_meta_values){
1119 $quiz_key = $quiz_meta_values['meta_key'];
1120 $quiz_value = $quiz_meta_values['meta_value'] . ', ';
1121
1122 if($quiz_key != '_lp_hidden_questions'){
1123 if($quiz_key == '_lp_retake_count'){
1124 $quiz_key = '_lp_quiz_retake_count';
1125 }
1126 $quiz_metas[$quiz_key] = $quiz_value;
1127 }
1128 }
1129 }
1130 }
1131
1132 $get_lesson_name .= rtrim($lesson_name, ', ') . '|';
1133 $get_lesson_description .= rtrim($lesson_description, ', ') . '|';
1134 $get_quiz_name .= rtrim($quiz_name, ', ') . '|';
1135 $get_quiz_description .= rtrim($quiz_description, ', ') . '|';
1136 $get_lesson_duration .= rtrim($lesson_duration, ', ') . '|';
1137 $get_lesson_preview .= rtrim($lesson_preview, ', ') . '|';
1138
1139 foreach($quiz_metas as $quiz_meta_keys => $quiz_meta_values){
1140 $get_quiz_meta[$quiz_meta_keys] = rtrim($quiz_meta_values, ', ') . '|';
1141 }
1142 }
1143
1144 WooCommerceExport::$export_instance->data[$id]['curriculum_name'] = rtrim($section_names, '|');
1145 WooCommerceExport::$export_instance->data[$id]['curriculum_description'] = rtrim($section_descriptions, '|');
1146 WooCommerceExport::$export_instance->data[$id]['lesson_name'] = rtrim($get_lesson_name, '|');
1147 WooCommerceExport::$export_instance->data[$id]['lesson_description'] = rtrim($get_lesson_description, '|');
1148 WooCommerceExport::$export_instance->data[$id]['quiz_name'] = rtrim($get_quiz_name, '|');
1149 WooCommerceExport::$export_instance->data[$id]['quiz_description'] = rtrim($get_quiz_description, '|');
1150 WooCommerceExport::$export_instance->data[$id]['_lp_lesson_duration'] = rtrim($get_lesson_duration, '|');
1151 WooCommerceExport::$export_instance->data[$id]['_lp_preview'] = rtrim($get_lesson_preview, '|');
1152
1153 foreach($get_quiz_meta as $get_quiz_meta_keys => $get_quiz_meta_values){
1154 WooCommerceExport::$export_instance->data[$id][$get_quiz_meta_keys] = rtrim($get_quiz_meta_values, '|');
1155 }
1156 }
1157
1158 public function getLessonData($id){
1159 global $wpdb;
1160 $lesson_duration = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id AND meta_key = '_lp_duration' ");
1161 WooCommerceExport::$export_instance->data[$id]['_lp_lesson_duration'] = $lesson_duration;
1162
1163 $get_section_id = $wpdb->get_var("SELECT section_id FROM {$wpdb->prefix}learnpress_section_items WHERE item_id = $id AND item_type = 'lp_lesson' ");
1164 if(!empty($get_section_id)){
1165 $get_section_name = $wpdb->get_var("SELECT section_name FROM {$wpdb->prefix}learnpress_sections WHERE section_id = $get_section_id ");
1166 $get_section_course_id = $wpdb->get_var("SELECT section_course_id FROM {$wpdb->prefix}learnpress_sections WHERE section_id = $get_section_id ");
1167
1168 WooCommerceExport::$export_instance->data[$id]['curriculum_name'] = $get_section_name;
1169 WooCommerceExport::$export_instance->data[$id]['course_id'] = $get_section_course_id;
1170 }
1171 }
1172
1173 public function getQuizData($id){
1174 global $wpdb;
1175 $quiz_retake_count = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id AND meta_key = '_lp_retake_count' ");
1176 WooCommerceExport::$export_instance->data[$id]['_lp_quiz_retake_count'] = $quiz_retake_count;
1177
1178 $get_section_id = $wpdb->get_var("SELECT section_id FROM {$wpdb->prefix}learnpress_section_items WHERE item_id = $id AND item_type = 'lp_quiz' ");
1179 if(!empty($get_section_id)){
1180 $get_section_name = $wpdb->get_var("SELECT section_name FROM {$wpdb->prefix}learnpress_sections WHERE section_id = $get_section_id ");
1181 $get_section_course_id = $wpdb->get_var("SELECT section_course_id FROM {$wpdb->prefix}learnpress_sections WHERE section_id = $get_section_id ");
1182
1183 WooCommerceExport::$export_instance->data[$id]['curriculum_name'] = $get_section_name;
1184 WooCommerceExport::$export_instance->data[$id]['course_id'] = $get_section_course_id;
1185 }
1186
1187 $get_question_title = '';
1188 $get_question_content = '';
1189 $get_question_mark = '';
1190 $get_question_explanation = '';
1191 $get_question_hint = '';
1192 $get_question_type = '';
1193 $get_option_value = '';
1194
1195 $get_question_ids = $wpdb->get_results("SELECT question_id FROM {$wpdb->prefix}learnpress_quiz_questions WHERE quiz_id = $id ", ARRAY_A);
1196 foreach($get_question_ids as $question_ids){
1197 $question_id = $question_ids['question_id'];
1198 $get_question_title .= $wpdb->get_var("SELECT post_title FROM {$wpdb->prefix}posts WHERE ID = $question_id ") . ',';
1199 $get_question_content .= $wpdb->get_var("SELECT post_content FROM {$wpdb->prefix}posts WHERE ID = $question_id ") . ',';
1200
1201 $get_question_mark .= $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $question_id AND meta_key = '_lp_mark' ") . ', ';
1202 $get_question_explanation .= $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $question_id AND meta_key = '_lp_explanation' ") . ',';
1203 $get_question_hint .= $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $question_id AND meta_key = '_lp_hint' ") . ',';
1204 $get_question_type .= $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $question_id AND meta_key = '_lp_type' ") . ',';
1205
1206 $get_question_options = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}learnpress_question_answers WHERE question_id = $question_id ", ARRAY_A);
1207 $option_value = '';
1208 foreach($get_question_options as $question_option){
1209 if(empty($question_option['is_true'])){
1210 $question_option['is_true'] = 'no';
1211 }
1212
1213 $option_value .= $question_option['title'] .'|'. $question_option['is_true'] . '->';
1214 }
1215 $get_option_value .= rtrim($option_value, '->') . ',';
1216 }
1217
1218 WooCommerceExport::$export_instance->data[$id]['question_title'] = rtrim($get_question_title, ',');
1219 WooCommerceExport::$export_instance->data[$id]['question_description'] = rtrim($get_question_content, ',');
1220 WooCommerceExport::$export_instance->data[$id]['_lp_mark'] = rtrim($get_question_mark, ', ');
1221 WooCommerceExport::$export_instance->data[$id]['_lp_explanation'] = rtrim($get_question_explanation, ',');
1222 WooCommerceExport::$export_instance->data[$id]['_lp_hint'] = rtrim($get_question_hint, ',');
1223 WooCommerceExport::$export_instance->data[$id]['_lp_type'] = rtrim($get_question_type, ',');
1224 WooCommerceExport::$export_instance->data[$id]['question_options'] = rtrim($get_option_value, ',');
1225
1226 }
1227
1228 public function getQuestionData($id){
1229 global $wpdb;
1230 $get_quiz_id = $wpdb->get_var("SELECT quiz_id FROM {$wpdb->prefix}learnpress_quiz_questions WHERE question_id = $id ");
1231
1232 $get_question_options = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}learnpress_question_answers WHERE question_id = $id ", ARRAY_A);
1233 $option_value = '';
1234 foreach($get_question_options as $question_options){
1235 if(empty($question_options['is_true'])){
1236 $question_options['is_true'] = 'no';
1237 }
1238 $option_value .= $question_options['title'] .'|'. $question_options['is_true'] . '->';
1239 }
1240
1241 if(!empty($get_quiz_id)){
1242 $get_section_id = $wpdb->get_var("SELECT section_id FROM {$wpdb->prefix}learnpress_section_items WHERE item_id = $get_quiz_id AND item_type = 'lp_quiz' ");
1243 if(!empty($get_section_id)){
1244 $get_section_name = $wpdb->get_var("SELECT section_name FROM {$wpdb->prefix}learnpress_sections WHERE section_id = $get_section_id ");
1245 $get_section_course_id = $wpdb->get_var("SELECT section_course_id FROM {$wpdb->prefix}learnpress_sections WHERE section_id = $get_section_id ");
1246
1247 WooCommerceExport::$export_instance->data[$id]['curriculum_name'] = $get_section_name;
1248 WooCommerceExport::$export_instance->data[$id]['course_id'] = $get_section_course_id;
1249 }
1250 WooCommerceExport::$export_instance->data[$id]['quiz_id'] = $get_quiz_id;
1251 }
1252
1253 WooCommerceExport::$export_instance->data[$id]['question_options'] = rtrim($option_value, '->');
1254 }
1255
1256 public function getOrderData($id){
1257 global $wpdb;
1258
1259 $order_status = $wpdb->get_var("SELECT post_status FROM {$wpdb->prefix}posts WHERE ID = $id ");
1260 $order_date = $wpdb->get_var("SELECT post_date FROM {$wpdb->prefix}posts WHERE ID = $id ");
1261 $order_total = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id AND meta_key = '_order_total' ");
1262 $order_subtotal = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id AND meta_key = '_order_subtotal' ");
1263 $user_id = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id AND meta_key = '_user_id' ");
1264
1265 $get_order_items = $wpdb->get_results("SELECT order_item_id FROM {$wpdb->prefix}learnpress_order_items WHERE order_id = $id ",ARRAY_A);
1266 $course_id = '';
1267 $item_quantity = '';
1268 $item_total = '';
1269 $item_subtotal = '';
1270 foreach($get_order_items as $get_order_values){
1271 $order_item_id = $get_order_values['order_item_id'];
1272
1273 $course_id .= $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}learnpress_order_itemmeta WHERE learnpress_order_item_id = $order_item_id AND meta_key = '_course_id' ") . ', ';
1274 $item_quantity .= $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}learnpress_order_itemmeta WHERE learnpress_order_item_id = $order_item_id AND meta_key = '_quantity' ") . ', ';
1275 $item_total .= $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}learnpress_order_itemmeta WHERE learnpress_order_item_id = $order_item_id AND meta_key = '_subtotal' ") . ', ';
1276 $item_subtotal .= $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}learnpress_order_itemmeta WHERE learnpress_order_item_id = $order_item_id AND meta_key = '_total' ") . ', ';
1277 }
1278
1279 WooCommerceExport::$export_instance->data[$id]['order_status'] = $order_status;
1280 WooCommerceExport::$export_instance->data[$id]['order_date'] = $order_date;
1281 WooCommerceExport::$export_instance->data[$id]['_order_total'] = $order_total;
1282 WooCommerceExport::$export_instance->data[$id]['_order_subtotal'] = $order_subtotal;
1283 WooCommerceExport::$export_instance->data[$id]['user_id'] = $user_id;
1284 WooCommerceExport::$export_instance->data[$id]['item_id'] = rtrim($course_id, ', ');
1285 WooCommerceExport::$export_instance->data[$id]['item_quantity'] = rtrim($item_quantity, ', ');
1286 WooCommerceExport::$export_instance->data[$id]['_item_total'] = rtrim($item_total, ', ');
1287 WooCommerceExport::$export_instance->data[$id]['_item_subtotal'] = rtrim($item_subtotal, ', ');
1288 }
1289
1290 public function elementor_export($id){
1291 $elementorExport = new ElementorExport;
1292 $variable= $elementorExport->templateExport();
1293 if(!empty($variable)){
1294 foreach($variable as $key=>$value){
1295 if ($value['ID'] == $id) {
1296 WooCommerceExport::$export_instance->data[$id]['ID'] = $id;
1297 WooCommerceExport::$export_instance->data[$id]['Template title'] = $value['Template title'];
1298 WooCommerceExport::$export_instance->data[$id]['Template content'] = $value['Template content'];
1299 WooCommerceExport::$export_instance->data[$id]['Style'] = $value['Style'];
1300 WooCommerceExport::$export_instance->data[$id]['Template type'] = $value['Template type'];
1301 WooCommerceExport::$export_instance->data[$id]['Created time'] = $value['Created time'];
1302 WooCommerceExport::$export_instance->data[$id]['Created by'] = $value['Created by'];
1303 WooCommerceExport::$export_instance->data[$id]['Template status'] = $value['Template status'];
1304 WooCommerceExport::$export_instance->data[$id]['Category'] = $value['Category'];
1305 }
1306 }
1307 }
1308 }
1309
1310 public function getCourseDataMasterLMS($id) {
1311 global $wpdb;
1312
1313 $get_item_details = $wpdb->get_results("SELECT item_id, item_title
1314 FROM {$wpdb->prefix}stm_lms_curriculum_log WHERE course_id = $id", ARRAY_A);
1315
1316
1317 $curicullam = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='curriculum' ");
1318 $curicullam_array = explode(',', $curicullam);
1319 foreach ($curicullam_array as &$value) {
1320 if (ctype_digit($value)) {
1321 $value = '';
1322 }
1323 }
1324 $curicullam = implode(',', $curicullam_array);
1325 $curicullam = trim($curicullam, ',');
1326 $curicullam_withoutId = preg_replace('/,{2,}/', ',', $curicullam);
1327
1328 $faq = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='faq' ");
1329 $faq_array = json_decode($faq, true);
1330 $faq_output = '';
1331 foreach ($faq_array as $faq_item) {
1332 $faq_output .= 'question:' . $faq_item['question'] . ',answer:' . $faq_item['answer'] . ' | ';
1333 }
1334 $faq_output = rtrim($faq_output, ' | ');
1335
1336
1337 $course_files_pack = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='course_files_pack' ");
1338 $course_files_pack_array = json_decode($course_files_pack, true);
1339 $course_files_pack_output = '';
1340 foreach ($course_files_pack_array as $course_files_pack_item) {
1341 $course_files_pack_output .= 'course_files_label:' . $course_files_pack_item['course_files_label'];
1342 }
1343 $status_dates = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='status_dates' ");
1344 $status_dates_start = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='status_dates_start' ");
1345 $views = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='views'");
1346 $duration_info = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='duration_info'");
1347 $featured = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='featured'");
1348 $level = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='level'");
1349 $current_students = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='current_students'");
1350 $video_duration = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='video_duration'");
1351 $price = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='price'");
1352 $sale_price = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='sale_price'");
1353 $status = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='status'");
1354 $expiration_course = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='expiration_course'");
1355 $not_membership = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='not_membership'");
1356 $end_time = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='end_time'");
1357 $announcement = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='announcement'");
1358 $course_files_pack = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='course_files_pack'");
1359 $status_dates_end = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='status_dates_end' ");
1360 $status_dates_start = date('Y-m-d', $status_dates_start/1000);
1361 $status_dates_end = date('Y-m-d', $status_dates_end/1000);
1362 $status_dates_array = explode(',', $status_dates);
1363 $status_dates_formatted = array();
1364
1365 foreach ($status_dates_array as $date) {
1366 $status_dates_formatted[] = date('Y-m-d', $date/1000);
1367 }
1368
1369 $status_dates_formatted_str = implode(',', $status_dates_formatted);
1370
1371 $get_lesson_id = '';
1372 $get_lesson_name = '';
1373 $get_quiz_id = '';
1374 $get_quiz_name = '';
1375
1376 foreach ($get_item_details as $item_details) {
1377 $item_id = $item_details['item_id'];
1378
1379 $lesson_id = '';
1380 $lesson_name = '';
1381 $quiz_id = '';
1382 $quiz_name = '';
1383
1384 $get_section_item_details = $wpdb->get_results("SELECT distinct item_id, item_type FROM {$wpdb->prefix}stm_lms_curriculum_log WHERE item_id = $item_id ", ARRAY_A);
1385
1386 foreach ($get_section_item_details as $section_item_details) {
1387 if ($section_item_details['item_type'] == 'stm-lessons') {
1388 $lesson_id .= $item_id . ', ';
1389 $lesson_name .= $wpdb->get_var("SELECT distinct post_title FROM {$wpdb->prefix}posts WHERE ID = $item_id ") . ',';
1390 } else if ($section_item_details['item_type'] == 'stm-quizzes') {
1391 $quiz_id .= $item_id . ', ';
1392 $quiz_name .= $wpdb->get_var("SELECT distinct post_title FROM {$wpdb->prefix}posts WHERE ID = $item_id ") . ',';
1393 }
1394 }
1395
1396 $get_lesson_id .= rtrim($lesson_id, ', ') . '|';
1397 $get_lesson_name .= rtrim($lesson_name, ',') . '|';
1398 $get_quiz_id .= rtrim($quiz_id, ', ') . '|';
1399 $get_quiz_name .= rtrim($quiz_name, ',') . '|';
1400
1401 $get_lesson_id = str_replace('||', '|', $get_lesson_id);
1402 $get_lesson_name = str_replace('||', '|', $get_lesson_name);
1403 $get_quiz_id = str_replace('||', '|', $get_quiz_id);
1404 $get_quiz_name = str_replace('||', '|', $get_quiz_name);
1405 }
1406
1407 WooCommerceExport::$export_instance->data[$id]['lesson_id'] = $get_lesson_id;
1408 WooCommerceExport::$export_instance->data[$id]['lesson_name'] = $get_lesson_name;
1409 WooCommerceExport::$export_instance->data[$id]['quiz_id'] = $get_quiz_id;
1410 WooCommerceExport::$export_instance->data[$id]['quiz_name'] = $get_quiz_name;
1411 WooCommerceExport::$export_instance->data[$id]['status_dates'] = $status_dates_formatted_str;
1412 WooCommerceExport::$export_instance->data[$id]['status_dates_start'] = $status_dates_start;
1413 WooCommerceExport::$export_instance->data[$id]['status_dates_end'] = $status_dates_end;
1414 WooCommerceExport::$export_instance->data[$id]['curriculum'] = $curicullam_withoutId;
1415 WooCommerceExport::$export_instance->data[$id]['video_duration'] = $video_duration;
1416 WooCommerceExport::$export_instance->data[$id]['views'] = $views;
1417 WooCommerceExport::$export_instance->data[$id]['price'] = $price;
1418 WooCommerceExport::$export_instance->data[$id]['sale_price'] = $sale_price;
1419 WooCommerceExport::$export_instance->data[$id]['status'] = $status;
1420 WooCommerceExport::$export_instance->data[$id]['expiration_course'] = $expiration_course;
1421 WooCommerceExport::$export_instance->data[$id]['not_membership'] = $not_membership;
1422 WooCommerceExport::$export_instance->data[$id]['end_time'] = $end_time;
1423 WooCommerceExport::$export_instance->data[$id]['announcement'] = $announcement;
1424 WooCommerceExport::$export_instance->data[$id]['course_files_pack'] = $course_files_pack;
1425 WooCommerceExport::$export_instance->data[$id]['duration_info'] = $duration_info;
1426 WooCommerceExport::$export_instance->data[$id]['featured'] = $featured;
1427 WooCommerceExport::$export_instance->data[$id]['level'] = $level;
1428 WooCommerceExport::$export_instance->data[$id]['current_students'] = $current_students;
1429 WooCommerceExport::$export_instance->data[$id]['faq'] = $faq_output;
1430 WooCommerceExport::$export_instance->data[$id]['course_files_pack'] = $course_files_pack_output;
1431
1432 }
1433
1434 public function getQuestionDataMasterLMS($id) {
1435
1436 global $wpdb;
1437 $type = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='type' ");
1438 $answers = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='answers' ");
1439 $question_explanation = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='question_explanation' ");
1440 $question = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='question' ");
1441 $question_hint = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='question_hint' ");
1442 $question_view_type = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='question_view_type' ");
1443 $image = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='image' ");
1444 $answers = unserialize($answers);
1445 $answers_string = '';
1446 foreach ($answers as $answer) {
1447 $answers_string .= $answer['text'] . ',' . $answer['isTrue'] . '|';
1448 }
1449
1450 WooCommerceExport::$export_instance->data[$id]['type'] = $type;
1451 WooCommerceExport::$export_instance->data[$id]['answers'] = rtrim($answers_string);
1452 WooCommerceExport::$export_instance->data[$id]['question_explanation'] = $question_explanation;
1453 WooCommerceExport::$export_instance->data[$id]['question'] = $question;
1454 WooCommerceExport::$export_instance->data[$id]['question_hint'] = $question_hint;
1455 WooCommerceExport::$export_instance->data[$id]['question_view_type'] = $question_view_type;
1456 WooCommerceExport::$export_instance->data[$id]['image'] = $image;
1457 }
1458 public function orderDataMasterLMS($id) {
1459 global $wpdb;
1460 $status = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='status' ");
1461
1462 WooCommerceExport::$export_instance->data[$id]['status'] = $status;
1463 }
1464 public function quizzDataMasterLMS($id) {
1465 global $wpdb;
1466 $duration = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='duration' ");
1467 $thumbnail_id = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='thumbnail_id' ");
1468 $lesson_excerpt = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='lesson_excerpt' ");
1469 $quiz_style = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='quiz_style' ");
1470 $correct_answer = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='correct_answer' ");
1471 $passing_grade = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='passing_grade' ");
1472 $re_take_cut = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='re_take_cut' ");
1473 $random_questions = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='random_questions' ");
1474 $questions = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='questions' ");
1475
1476 WooCommerceExport::$export_instance->data[$id]['duration'] = $duration;
1477 WooCommerceExport::$export_instance->data[$id]['thumbnail_id'] = $thumbnail_id;
1478 WooCommerceExport::$export_instance->data[$id]['lesson_excerpt'] = $lesson_excerpt;
1479 WooCommerceExport::$export_instance->data[$id]['quiz_style'] = $quiz_style;
1480 WooCommerceExport::$export_instance->data[$id]['correct_answer'] = $correct_answer;
1481 WooCommerceExport::$export_instance->data[$id]['passing_grade'] = $passing_grade;
1482 WooCommerceExport::$export_instance->data[$id]['re_take_cut'] = $re_take_cut;
1483 WooCommerceExport::$export_instance->data[$id]['random_questions'] = $random_questions;
1484 WooCommerceExport::$export_instance->data[$id]['questions'] = $questions;
1485 }
1486
1487 public function getLessonDataMasterLMS($id)
1488 {
1489 global $wpdb;
1490 $type = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='type'");
1491 $duration = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='duration' ");
1492 $preview = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='preview' ");
1493 $lesson_excerpt = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='lesson_excerpt' ");
1494 $_thumbnail_id = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='_thumbnail_id' ");
1495 $video_type = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='video_type' ");
1496 $lesson_youtube_url = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='lesson_youtube_url' ");
1497 $presto_player_idx = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='presto_player_idx' ");
1498 $lesson_video = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='lesson_video' ");
1499 $lesson_video_poster = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='lesson_video_poster' ");
1500 $lesson_video_width = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='lesson_video_width' ");
1501 $lesson_shortcode = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='lesson_shortcode' ");
1502 $lesson_embed_ctx = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='lesson_embed_ctx' ");
1503 $lesson_stream_url = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='lesson_stream_url' ");
1504 $lesson_vimeo_url = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='lesson_vimeo_url' ");
1505 $lesson_ext_link_url = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='lesson_ext_link_url' ");
1506 $lesson_files_pack = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id and meta_key='lesson_files_pack' ");
1507
1508 $lesson_files_pack_array = json_decode($lesson_files_pack, true);
1509 $lesson_files_pack_output = '';
1510 foreach ($lesson_files_pack_array as $lesson_files_pack_item) {
1511 if (!empty($lesson_files_pack_item['closed_tab'])) {
1512 $lesson_files_pack_output .= 'closed_tab:' . $lesson_files_pack_item['closed_tab'] . ',';
1513 }
1514 $lesson_files_pack_output .= 'lesson_files_label:' . $lesson_files_pack_item['lesson_files_label'] . ',';
1515 $lesson_files_pack_output = rtrim($lesson_files_pack_output, ','); }
1516
1517 WooCommerceExport::$export_instance->data[$id]['type'] = $type;
1518 WooCommerceExport::$export_instance->data[$id]['duration'] = $duration;
1519 WooCommerceExport::$export_instance->data[$id]['preview'] = $preview;
1520 WooCommerceExport::$export_instance->data[$id]['lesson_excerpt'] = $lesson_excerpt;
1521 WooCommerceExport::$export_instance->data[$id]['_thumbnail_id'] = $_thumbnail_id;
1522 WooCommerceExport::$export_instance->data[$id]['video_type'] = $video_type;
1523 WooCommerceExport::$export_instance->data[$id]['lesson_youtube_url'] = $lesson_youtube_url;
1524 WooCommerceExport::$export_instance->data[$id]['presto_player_idx'] = $presto_player_idx;
1525 WooCommerceExport::$export_instance->data[$id]['lesson_video'] = $lesson_video;
1526 WooCommerceExport::$export_instance->data[$id]['lesson_video_poster'] = $lesson_video_poster;
1527 WooCommerceExport::$export_instance->data[$id]['lesson_video_width'] = $lesson_video_width;
1528 WooCommerceExport::$export_instance->data[$id]['lesson_shortcode'] = $lesson_shortcode;
1529 WooCommerceExport::$export_instance->data[$id]['lesson_embed_ctx'] = $lesson_embed_ctx;
1530 WooCommerceExport::$export_instance->data[$id]['lesson_stream_url'] = $lesson_stream_url;
1531 WooCommerceExport::$export_instance->data[$id]['lesson_vimeo_url'] = $lesson_vimeo_url;
1532 WooCommerceExport::$export_instance->data[$id]['lesson_ext_link_url'] = $lesson_ext_link_url;
1533 WooCommerceExport::$export_instance->data[$id]['lesson_files_pack'] = $lesson_files_pack_output;
1534 }
1535
1536
1537 public function getMenuData($term_id){
1538 global $wpdb;
1539 $term_name = get_term( $term_id )->name;
1540 $get_object_ids = $wpdb->get_results("SELECT p.* FROM {$wpdb->prefix}posts AS p
1541 LEFT JOIN {$wpdb->prefix}term_relationships AS tr ON tr.object_id = p.ID
1542 LEFT JOIN {$wpdb->prefix}term_taxonomy AS tt ON tt.term_taxonomy_id = tr.term_taxonomy_id
1543 WHERE p.post_type = 'nav_menu_item'
1544 AND tt.term_id = $term_id ", ARRAY_A);
1545
1546 $menu_item_types = '';
1547 $menu_object_ids = '';
1548 $menu_objects = '';
1549 $menu_urls = '';
1550 foreach($get_object_ids as $object_ids){
1551 $object_id = $object_ids['ID'];
1552
1553 $get_object_meta = $wpdb->get_results("SELECT meta_key , meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $object_id", ARRAY_A);
1554 $object_meta_key = array_column($get_object_meta, 'meta_key');
1555 $object_meta_value = array_column($get_object_meta, 'meta_value');
1556 $object_array = array_combine($object_meta_key, $object_meta_value);
1557
1558 $menu_item_type = $object_array['_menu_item_type'];
1559 $menu_item_object = $object_array['_menu_item_object'];
1560 $menu_object_item_id = $object_array['_menu_item_object_id'];
1561
1562 if(($menu_item_type == 'post_type') && ($menu_item_object == 'post' || $menu_item_object == 'page')){
1563 $menu_object_item_title = $wpdb->get_var("SELECT post_title FROM {$wpdb->prefix}posts WHERE ID = $menu_object_item_id AND post_type = '$menu_item_object' ");
1564 }
1565 elseif($menu_item_type == 'custom' && $menu_item_object == 'custom'){
1566 $menu_object_item_title = $wpdb->get_var("SELECT post_title FROM {$wpdb->prefix}posts WHERE ID = $menu_object_item_id AND post_type = 'nav_menu_item' ");
1567 }
1568 elseif($menu_item_type == 'taxonomy'){
1569 $category_data = get_term_by('id', $menu_object_item_id, $menu_item_object);
1570 $menu_object_item_title = $category_data->name;
1571 }
1572 else{
1573 $menu_object_item_title = $menu_object_item_id;
1574 }
1575
1576 $menu_item_types .= $menu_item_type . ',';
1577 $menu_object_ids .= $menu_object_item_title . ',';
1578 $menu_objects .= $menu_item_object . ',';
1579 $menu_urls .= $object_array['_menu_item_url'] . ',';
1580 }
1581
1582 WooCommerceExport::$export_instance->data[$term_id]['menu_title'] = $term_name;
1583 WooCommerceExport::$export_instance->data[$term_id]['_menu_item_type'] = rtrim($menu_item_types, ',');
1584 WooCommerceExport::$export_instance->data[$term_id]['_menu_item_object_id'] = rtrim($menu_object_ids, ',');
1585 WooCommerceExport::$export_instance->data[$term_id]['_menu_item_object'] = rtrim($menu_objects, ',');
1586 WooCommerceExport::$export_instance->data[$term_id]['_menu_item_url'] = rtrim($menu_urls, ',');
1587
1588 $get_nav_options = get_option("nav_menu_options");
1589 if(!empty($get_nav_options['auto_add'])){
1590 if(in_array($term_id, $get_nav_options['auto_add'])){
1591 WooCommerceExport::$export_instance->data[$term_id]['menu_auto_add'] = 'yes';
1592 }else{
1593 WooCommerceExport::$export_instance->data[$term_id]['menu_auto_add'] = 'no';
1594 }
1595 }
1596 else{
1597 WooCommerceExport::$export_instance->data[$term_id]['menu_auto_add'] = 'no';
1598 }
1599
1600 $get_navigation_locations = get_nav_menu_locations();
1601 foreach($get_navigation_locations as $nav_keys => $nav_values){
1602 if($nav_values == $term_id){
1603 WooCommerceExport::$export_instance->data[$term_id][$nav_keys] = 'yes';
1604 }else{
1605 WooCommerceExport::$export_instance->data[$term_id][$nav_keys] = 'no';
1606 }
1607 }
1608 }
1609
1610 }
1611
1612 global $woocom_exp_class;
1613 $woocom_exp_class = WooCommerceExport::getInstance();
1614