function logs_detail() { $total_post = get_option('post_product'); $LAIDKey = get_option('linksync_laid'); update_option('linksync_sycning_status', 'completed'); linksync_class::add('Product Sync Woo to Vend', 'success', $total_post . ' Product synced', $LAIDKey); }
function linksync_DeleteProduct($post_id) { $pro_object = new WC_Product($post_id); if ($pro_object->post->post_type == 'product') { $testMode = get_option('linksync_test'); $LAIDKey = get_option('linksync_laid'); $apicall = new linksync_class($LAIDKey, $testMode); if (!defined('ABSPATH')) { define('ABSPATH', dirname(__FILE__) . '/'); } include_once ABSPATH . 'wp-includes/post.php'; $product_sku = get_post_meta($post_id, '_sku', true); if (!empty($product_sku)) { $apicall->linksync_deleteProduct($product_sku); } } }
<?php if (!defined('ABSPATH')) { exit; // Exit if accessed directly } $product_type = get_option('product_sync_type_QBO'); if (get_option('linksync_status') == 'Active') { if ($product_type == 'two_way' || $product_type == 'wc_to_QB') { //check the post type (Product) if (isset($_POST['post_type']) && $_POST['post_type'] == 'product') { global $wpdb; $taxsetup = false; $testMode = get_option('linksync_test'); $LAIDKey = get_option('linksync_laid'); $apicall = new linksync_class($LAIDKey, $testMode); if ($apicall->lastresponse['result'] == 'success') { if ($_POST['post_status'] != 'trash') { if (@empty($_POST['_sku'])) { $_POST['_sku'] = 'sku_' . $_POST['post_ID']; update_post_meta($_POST['post_ID'], '_sku', 'sku_' . $_POST['post_ID']); } $product['sku'] = html_entity_decode($_POST['_sku']); //SKU(unique Key/Numbers) //check for the product status ->publish or draft $product['active'] = isset($_POST['post_status']) && $_POST['post_status'] == 'draft' ? 0 : 1; #prices //if the Product is update if ($_POST['action'] == 'editpost') { # only for POST ( Product type) if ($_POST['original_post_status'] == 'publish' || $_POST['original_post_status'] == 'pending') {
<?php $apicall = new linksync_class($LAIDKey, $testMode); if (isset($_POST['save_product_sync_setting'])) { if (isset($_POST['product_sync_type_QBO']) && !empty($_POST['product_sync_type_QBO'])) { update_option('product_sync_type_QBO', $_POST['product_sync_type_QBO']); } if (isset($_POST['ps_name_title'])) { if ($_POST['ps_name_title'] == 'on') { update_option('ps_name_title', $_POST['ps_name_title']); } else { update_option('ps_name_title', 'off'); } } else { update_option('ps_name_title', 'off'); } //Pending if (isset($_POST['ps_pending'])) { if ($_POST['ps_pending'] == 'on') { update_option('ps_pending', $_POST['ps_pending']); } else { update_option('ps_pending', 'off'); } } else { update_option('ps_pending', 'off'); } // Price if (isset($_POST['ps_price'])) { if ($_POST['ps_price'] == 'on') { update_option('ps_price', $_POST['ps_price']); if (isset($_POST['excluding_tax'])) {
} } if (isset($_POST['in_woo']) && !empty($_POST['in_woo'])) { $laids = get_option('linksync_laid'); foreach ($_POST['product_sku'] as $product_id => $product_sku) { if (!empty($product_sku)) { $count = wp_delete_post($product_id); //use the product Id and delete the product if ($count) { $method = "Success"; $message = 'Product Sku:' . $product_sku . ', Product Id in Woo:' . $product_id; } else { $method = "Error"; $message = "Unable to Delete Product"; } linksync_class::add('Product Deleted(In Woo Store):Clean Up', $method, $message, $laids); } } } $class1 = 'error'; $class2 = 'updated'; $message_resp = "Clean up Run Successfully!!"; } else { $class1 = 'updated'; $class2 = 'error'; $message_resp = "No Product(s) Selected !!"; } ?> <script> linksync_jQuery1('#response').removeClass("<?php echo $class1;
<?php $apicall = new linksync_class($LAIDKey, $testMode); if (isset($_POST['save_product_sync_setting'])) { if (isset($_POST['product_sync_type']) && !empty($_POST['product_sync_type'])) { update_option('product_sync_type', $_POST['product_sync_type']); if ($_POST['product_sync_type'] == 'vend_to_wc-way') { if (isset($_POST['ps_quantity'])) { if ($_POST['ps_quantity'] == 'on') { if (empty($_POST['outlet'])) { $message['result'] = 'error'; $message['message'] = 'You didn\'t select any outlet !'; } else { $message['result'] = 'success'; } } else { $message['result'] = 'success'; } } else { $message['result'] = 'success'; } } elseif ($_POST['product_sync_type'] == 'wc_to_vend' || $_POST['product_sync_type'] == 'two_way') { $message['result'] = 'success'; } else { $message['result'] = 'success'; } } if (isset($message['result']) && $message['result'] == 'success') { update_option('prod_update_suc', NULL); update_option('prod_last_page', NULL); update_option('product_detail', NULL);
update_option('prod_last_page', NULL); update_option('product_detail', NULL); } } if (isset($products['errorCode']) || !isset($products) || empty($products)) { update_option('prod_update_suc', get_option('prod_update_suc')); } if (isset($products['pagination']['results']) && $products['pagination']['results'] != 0) { linksync_class::add('Product Sync Vend to Woo', 'success', $products['pagination']['results'] . ' Product(s) synced.', $LAIDKey); } $message['message'] .= 'Product Sync:Complete Successfully!!'; } else { $message['message'] .= '<span style="color:#d54e21;">Product Sync has been Disabled Or Not Selected</span>'; } } else { linksync_class::add('Webhook Triggered', 'error', 'Invalid Request', ''); # Error to be loggged } fflush($fp); // flush output before releasing the lock flock($fp, LOCK_UN); // release the lock } else { echo "Couldn't get the lock!"; } if (isset($message['message']) && !empty($message['message'])) { update_option('product_detail', NULL); echo json_encode($message); exit; } exit;
function order_product_post() { global $wpdb; $testMode = get_option('linksync_test'); $LAIDKey = get_option('linksync_laid'); $apicall = new linksync_class($LAIDKey, $testMode); if (isset($_REQUEST['key']) && !empty($_REQUEST['key'])) { $orderId = wc_get_orderid_by_order_key($_REQUEST['key']); } else { $orderId = $_POST['ID']; } //Checking for already sent Order $sentOrderIds = get_option('linksync_sent_order_id'); if (isset($sentOrderIds)) { if (!empty($sentOrderIds)) { $order_id_array = unserialize($sentOrderIds); } else { $order_id_array = array(); } if (!in_array($orderId, $order_id_array)) { update_option('linksync_sent_order_id', serialize(array_merge($order_id_array, array($orderId)))); $taxsetup = false; $product = array(); $order = new WC_Order($orderId); //Ordered product(s) $items = $order->get_items(); foreach ($items as $item) { $product = array(); $product_id = $item['product_id']; $query = mysql_query("SELECT post_status,post_content FROM `" . $wpdb->prefix . "posts` WHERE ID='" . $product_id . "'"); if (mysql_num_rows($query) != 0) { $result = mysql_fetch_assoc($query); if (isset($result) && !empty($result)) { if ($result['post_status'] != 'trash') { $post_detail = get_post_meta($product_id); if (@empty($post_detail['_sku'][0])) { $post_detail['_sku'][0] = 'sku_' . $product_id; } $post_detail['_sku'][0] = linksync_removespaces_sku_orderProduct($post_detail['_sku'][0]); update_post_meta($product_id, '_sku', $post_detail['_sku'][0]); $product['sku'] = html_entity_decode($post_detail['_sku'][0]); //SKU(unique Key) //product status ->publish $product['active'] = isset($result['post_status']) && $result['post_status'] == 'publish' ? 1 : 0; // Price with Tax if (get_option('woocommerce_calc_taxes') == 'yes') { if (get_option('linksync_woocommerce_tax_option') == 'on') { if (get_option('woocommerce_prices_include_tax') == 'yes') { $excluding_tax = 'off'; } else { $excluding_tax = 'on'; } } else { $excluding_tax = get_option('excluding_tax'); } } else { $excluding_tax = get_option('excluding_tax'); } $display_retail_price_tax_inclusive = get_option('linksync_tax_inclusive'); if (get_option('ps_price') == 'on') { if (isset($post_detail['_tax_status'][0]) && $post_detail['_tax_status'][0] == 'taxable') { # Product with TAX $taxname = empty($post_detail['_tax_class'][0]) ? 'standard-tax' : $post_detail['_tax_class'][0]; $response_taxes = linksyn_get_tax_details($taxname); // echo"<pre>"; print_r($response_taxes); if ($response_taxes['result'] == 'success') { $product['tax_name'] = html_entity_decode($response_taxes['data']['tax_name']); $product['tax_rate'] = $response_taxes['data']['tax_rate']; $taxsetup = true; } } if ($excluding_tax == 'on') { # https://www.evernote.com/shard/s144/sh/e63f527b-903f-4002-8f00-313ff0652290/d9c1e0ce5a95800a if ($taxsetup) { if (isset($post_detail['_regular_price'][0]) && !empty($post_detail['_regular_price'][0])) { //cost price:_regular_price $regular_price = (double) $post_detail['_regular_price'][0]; // Get Tax_value $tax_rate = (double) $product['tax_rate']; $tax_value = (double) ($regular_price * $tax_rate); /* For excluding tax (both Woo Tax Excluding and Vend Tax Excluding) * display_retail_price_tax_inclusive 1, sell_price = Woo Final price + tax * For display_retail_price_tax_inclusive 0, sell_price = Woo Final price */ if ($display_retail_price_tax_inclusive == '1') { $price = $post_detail['_regular_price'][0] + $tax_value; } elseif ($display_retail_price_tax_inclusive == '0') { $price = $post_detail['_regular_price'][0]; } //sell price:_regular_price $product['sell_price'] = str_replace(',', '', $price); $product['list_price'] = str_replace(',', '', $price); $product['tax_value'] = $tax_value; } } else { // excluding tax off and tax not enabled in woocomerce if (isset($post_detail['_regular_price'][0]) && !empty($post_detail['_regular_price'][0])) { //cost price:_regular_price //sell price:_regular_price $product['sell_price'] = str_replace(',', '', $post_detail['_regular_price'][0]); $product['list_price'] = str_replace(',', '', $post_detail['_regular_price'][0]); } } } else { // No effect on price if (isset($post_detail['_regular_price'][0]) && !empty($post_detail['_regular_price'][0])) { $regular_price = (double) $post_detail['_regular_price'][0]; // Get Tax_value $tax_rate = (double) $product['tax_rate']; $tax_value = $regular_price - $regular_price / (1 + $tax_rate); if ($display_retail_price_tax_inclusive == '1') { } elseif ($display_retail_price_tax_inclusive == '0') { $post_detail['_regular_price'][0] = $post_detail['_regular_price'][0] - $tax_value; } //sell price:_regular_price $product['sell_price'] = str_replace(',', '', $post_detail['_regular_price'][0]); $product['list_price'] = str_replace(',', '', $post_detail['_regular_price'][0]); } } } if (isset($post_detail['_stock_status'][0]) && $post_detail['_stock_status'][0] == 'instock') { $product['quantity'] = isset($post_detail['_stock'][0]) ? $post_detail['_stock'][0] : 0; } #Name/Title Check if (get_option('ps_name_title') == 'on') { $product['name'] = html_entity_decode($item['name']); } #Description if (get_option('ps_description') == 'on') { $product['description'] = html_entity_decode($result['post_content']); } $product['includes_tax'] = isset($post_detail['_tax_status'][0]) && $post_detail['_tax_status'][0] == 'taxable' ? true : false; #---Outlet---Product----# if (get_option('ps_quantity') == 'on') { if (get_option('ps_wc_to_vend_outlet') == 'on') { $getoutlets = get_option('wc_to_vend_outlet_detail'); if (isset($getoutlets) && !empty($getoutlets)) { $outlet = explode('|', $getoutlets); if (isset($post_detail['_stock'][0]) && !empty($post_detail['_stock'][0])) { $product['outlets'] = array(array('name' => html_entity_decode($outlet[0]), 'quantity' => $post_detail['_stock'][0])); } } } } else { $product['outlets'] = array(array('quantity' => NULL)); } #qunantity // #Tags if (get_option('ps_tags') == 'on') { //To get the Detail of the Tags and Category of the product using product id(Post ID) $tags_query = "SELECT " . $wpdb->prefix . "terms.name FROM `" . $wpdb->prefix . "term_taxonomy` JOIN " . $wpdb->prefix . "terms ON(" . $wpdb->prefix . "terms.term_id=" . $wpdb->prefix . "term_taxonomy.term_id) JOIN " . $wpdb->prefix . "term_relationships ON(" . $wpdb->prefix . "term_relationships.term_taxonomy_id=" . $wpdb->prefix . "term_taxonomy.term_taxonomy_id) WHERE " . $wpdb->prefix . "term_taxonomy.`taxonomy`='product_tag' AND " . $wpdb->prefix . "term_relationships.object_id='" . $product_id . "'"; $result_tags = mysql_query($tags_query) or die(mysql_error()); // if (!$result_tags) // die("Error In Connection : " . mysql_error() . " Line No. " . __LINE__); if (mysql_num_rows($result_tags) != 0) { $tags_product_type = array(); while ($row_tags = mysql_fetch_assoc($result_tags)) { $tags_product_type[] = array('name' => html_entity_decode($row_tags['name'])); } } if (isset($tags_product_type) && !empty($tags_product_type)) { $product['tags'] = $tags_product_type; } //To free an array to use futher unset($tags_product_type); } #brands if (get_option('ps_brand') == 'on') { //To get the Detail of the Tags and Category of the product using product id(Post ID) $brands_query = "SELECT " . $wpdb->prefix . "terms.name FROM `" . $wpdb->prefix . "term_taxonomy` JOIN " . $wpdb->prefix . "terms ON(" . $wpdb->prefix . "terms.term_id=" . $wpdb->prefix . "term_taxonomy.term_id) JOIN " . $wpdb->prefix . "term_relationships ON(" . $wpdb->prefix . "term_relationships.term_taxonomy_id=" . $wpdb->prefix . "term_taxonomy.term_taxonomy_id) WHERE " . $wpdb->prefix . "term_taxonomy.`taxonomy`='product_brand' AND " . $wpdb->prefix . "term_relationships.object_id='" . $product_id . "'"; $result_brands = mysql_query($brands_query) or die(mysql_error()); if (mysql_num_rows($result_brands) != 0) { while ($row_brands = mysql_fetch_assoc($result_brands)) { $brands[] = array('name' => html_entity_decode($row_brands['name'])); } } if (!empty($brands)) { $product['brands'] = $brands; } //To free an array to use futher unset($brands); } #Variants product $variants_data = get_posts(array('post_type' => 'product_variation', 'post_parent' => $product_id)); if (isset($variants_data) && !empty($variants_data)) { $total_var_product = 0; foreach ($variants_data as $variant_data) { $option = array(1 => 'one', 2 => 'two', 3 => 'three', 4 => 'four', 5 => 'five', 6 => 'six', 7 => 'seven', 8 => 'eight', 9 => 'nine', 10 => 'ten'); $variants_detail = get_post_meta($variant_data->ID); if (@empty($variants_detail['_sku'][0])) { $variants_detail['_sku'][0] = 'sku_' . $variant_data->ID; } $variants_detail['_sku'][0] = linksync_removespaces_sku_orderProduct($variants_detail['_sku'][0]); update_post_meta($variant_data->ID, '_sku', $variants_detail['_sku'][0]); $variant['sku'] = html_entity_decode($variants_detail['_sku'][0]); //SKU(unique Key) #Name/Title Check if (get_option('ps_name_title') == 'on') { $variant['name'] = html_entity_decode($variant_data->post_title); } #quantity if (@$variants_detail['_stock_status'][0] == 'instock') { $variant['quantity'] = @$variants_detail['_stock'][0]; } // Price with Tax if (get_option('ps_price') == 'on') { if (isset($variants_detail['_tax_status'][0]) && $variants_detail['_tax_status'][0] == 'taxable') { # Product with TAX $taxname = empty($variants_detail['_tax_class'][0]) ? 'standard-tax' : $variants_detail['_tax_class'][0]; $response_taxes = linksyn_get_tax_details($taxname); if ($response_taxes['result'] == 'success') { $variant['tax_name'] = html_entity_decode($response_taxes['data']['tax_name']); $variant['tax_rate'] = $response_taxes['data']['tax_rate']; $taxsetup = true; } } if ($excluding_tax == 'on') { # https://www.evernote.com/shard/s144/sh/e63f527b-903f-4002-8f00-313ff0652290/d9c1e0ce5a95800a if ($taxsetup) { if (isset($variants_detail['_regular_price'][0]) && !empty($variants_detail['_regular_price'][0])) { //cost price:_regular_price $regular_price = (double) $variants_detail['_regular_price'][0]; // Get Tax_value $tax_rate = (double) $variant['tax_rate']; $tax_value = (double) ($regular_price * $tax_rate); //sell price:_regular_price if ($display_retail_price_tax_inclusive == '1') { $price_variant = $variants_detail['_regular_price'][0] + $tax_value; } elseif ($display_retail_price_tax_inclusive == '0') { $price_variant = $variants_detail['_regular_price'][0]; } $variant['sell_price'] = str_replace(',', '', $price_variant); $variant['list_price'] = str_replace(',', '', $price_variant); $variant['tax_value'] = $tax_value; } } else { // excluding tax off and tax not enabled in woocomerce if (isset($variants_detail['_regular_price'][0]) && !empty($variants_detail['_regular_price'][0])) { //sell price:_regular_price $variant['sell_price'] = str_replace(',', '', $variants_detail['_regular_price'][0]); $variant['list_price'] = str_replace(',', '', $variants_detail['_regular_price'][0]); } } } else { // No effect on price if (isset($variants_detail['_regular_price'][0]) && !empty($variants_detail['_regular_price'][0])) { $regular_price = (double) $variants_detail['_regular_price'][0]; // Get Tax_value $tax_rate = (double) $variant['tax_rate']; $tax_value = $regular_price - $regular_price / (1 + $tax_rate); if ($display_retail_price_tax_inclusive == '1') { } elseif ($display_retail_price_tax_inclusive == '0') { $variants_detail['_regular_price'][0] = $variants_detail['_regular_price'][0] - $tax_value; } //sell price:_regular_price $variant['sell_price'] = str_replace(',', '', $variants_detail['_regular_price'][0]); $variant['list_price'] = str_replace(',', '', $variants_detail['_regular_price'][0]); $variant['tax_value'] = $tax_value; } } } // ATTRIBUTE && VARIANTS $attributes_select = mysql_query("SELECT * FROM `" . $wpdb->prefix . "woocommerce_attribute_taxonomies`") or die(mysql_error()); $check = 1; // $variants_detail['attribute_pa_' . strtolower($attributes['attribute_name'])][0] if (mysql_num_rows($attributes_select) != 0) { $keys = array_keys($variants_detail); if (false !== stripos(implode("\n", $keys), "attribute_pa_")) { while ($attributes = mysql_fetch_assoc($attributes_select)) { if (isset($variants_detail['attribute_pa_' . strtolower($attributes['attribute_name'])]) && !empty($variants_detail['attribute_pa_' . strtolower($attributes['attribute_name'])])) { $attribute_name = str_replace('pa_', '', $attributes['attribute_name']); $attribute_query = mysql_query("SELECT attribute_label FROM `" . $wpdb->prefix . "woocommerce_attribute_taxonomies` WHERE `attribute_name` = '" . $attribute_name . "'"); if (mysql_num_rows($attribute_query) != 0) { $attribute_name_result = mysql_fetch_assoc($attribute_query); $name = $attribute_name_result['attribute_label']; } $variant['option_' . $option[$check] . '_name'] = isset($name) ? $name : ''; $query = mysql_query("SELECT name FROM `" . $wpdb->base_prefix . "terms` WHERE `slug` = '" . $variants_detail['attribute_pa_' . strtolower($attributes['attribute_name'])][0] . "'"); if (mysql_num_rows($query) != 0) { $attribute_value = mysql_fetch_assoc($query); $value = $attribute_value['name']; } $variant['option_' . $option[$check] . '_value'] = isset($value) ? $value : ''; $check++; } } } else { if (isset($post_detail['_product_attributes'][0]) && !empty($post_detail['_product_attributes'][0])) { $_product_attributes = unserialize($post_detail['_product_attributes'][0]); foreach ($_product_attributes as $attribute_value) { $attributeName = $attribute_value['name']; $_attribute = explode('|', $attribute_value['value']); $value = trim($_attribute[$total_var_product]); $variant['option_' . $option[$check] . '_name'] = isset($attributeName) ? $attributeName : ''; $variant['option_' . $option[$check] . '_value'] = isset($value) ? $value : ''; $check++; } } } } else { if (isset($post_detail['_product_attributes'][0]) && !empty($post_detail['_product_attributes'][0])) { $_product_attributes = unserialize($post_detail['_product_attributes'][0]); foreach ($_product_attributes as $attribute_value) { $attributeName = $attribute_value['name']; $_attribute = explode('|', $attribute_value['value']); $value = trim($_attribute[$total_var_product]); $variant['option_' . $option[$check] . '_name'] = isset($attributeName) ? $attributeName : ''; $variant['option_' . $option[$check] . '_value'] = isset($value) ? $value : ''; $check++; } } } #qunantity-----UPDATE--variant--- if (get_option('ps_quantity') == 'on') { if (get_option('ps_wc_to_vend_outlet') == 'on') { $getoutlets = get_option('wc_to_vend_outlet_detail'); if (isset($getoutlets) && !empty($getoutlets)) { $outlets = explode('|', $getoutlets); if (isset($variants_detail['_stock'][0]) && !empty($variants_detail['_stock'][0])) { $variant['outlets'] = array(array('name' => $outlets[0], 'quantity' => $variants_detail['_stock'][0])); } else { $variant['outlets'] = array(array('name' => html_entity_decode($outlets[0]), 'quantity' => NULL)); } } else { $variant['outlets'] = NULL; } } } else { $variant['outlets'] = array(array('quantity' => NULL)); } $product['variants'][] = $variant; $total_var_product++; } } $data = json_encode($product); $response = $apicall->linksync_postProduct($data); linksync_class::add('Product Sync Woo to Vend', 'success', 'Product synced SKU:' . $product['sku'], $LAIDKey); } } } } } } }
linksync_jQuery1('#response').removeClass('error').addClass('updated').html("<?php echo $response; ?> ").fadeIn().delay(3000).fadeOut(4000); </script> <?php } if (isset($_POST['apikey_delete'])) { $api_key = explode('|', $_POST['id']); $table_name = $wpdb->prefix . 'linksync_laidKey'; $where = array('id' => $api_key[0]); if ($wpdb->delete($table_name, $where, $where_format = null)) { if (get_option('linksync_laid') == $api_key[1]) { update_option('linksync_laid', ''); linksync_class::releaseOptions(); } } } ?> <div id="tiptip_holder" style="margin:187px 1px 1px 643px !important;display: none;" class="tip_top"> <div id="tiptip_arrow" style="margin-left: 74.5px; margin-top: 47px;"><div id="tiptip_arrow_inner"></div></div> <div id="tiptip_content">The linksync API Key is a unique key that's created when you link two apps via the linksync dashboard. You need a valid API Key for this linkysnc extension to work. </div> </div> <div id="myModal" class="reveal-modal"> <form method="POST" name="f1" action=""> <center><span style="color: #0074a2;font-size: 18px;">Enter the API Key</span></center> <hr> <div style="float: left;font-size: 14px;color: #0074a2; text-align: right; margin-top: 4px;">API Key*:</div> <div style="float: left;margin-left: 10px;">
public function importOrderToWoocommerce($orders) { if (isset($orders) && !empty($orders)) { $order_status = get_option('order_vend_to_wc'); //Order Status from order config setting foreach ($orders['orders'] as $order) { if (isset($order['id']) && !empty($order['id'])) { $OrderIds = get_option("Vend_orderIDs"); if (isset($OrderIds) && !empty($OrderIds)) { $Ids = unserialize($OrderIds); } else { $Ids = array(); } if (!in_array($order['id'], $Ids)) { update_option('Vend_orderIDs', serialize(array_merge($Ids, array($order['id'])))); $order_data = array('post_name' => 'order-' . date('M-d-Y-hi-a'), 'post_type' => 'shop_order', 'post_title' => date('M d, Y @ h:i A'), 'post_excerpt' => 'Source: ' . ucfirst($order['source']) . ' Order #' . $order['orderId'], 'post_status' => $order_status, 'ping_status' => 'closed', 'comment_status' => 'open'); $order_id = wp_insert_post($order_data, true); // create order if (is_wp_error($order_id)) { $order->errors = $order_id; } else { if (isset($order['payment']['transactionNumber']) && !empty($order['payment']['transactionNumber'])) { add_post_meta($order_id, 'transaction_id', $order['payment']['transactionNumber'], true); } /* ---------------------------------------Payment Mapping --------------------------------- */ if (isset($order['payment']['retailer_payment_type_id']) && !empty($order['payment']['retailer_payment_type_id'])) { $all_payment = get_option('vend_to_wc_payments'); if (isset($all_payment) && !empty($all_payment)) { $explode_payment = explode(',', $all_payment); foreach ($explode_payment as $payments_method) { $payment_method = explode('|', $payments_method); if (in_array($order['payment']['retailer_payment_type_id'], $payment_method)) { $gatways = new WC_Payment_Gateways(); $payment = $gatways->get_available_payment_gateways(); $wocoomercepayment = $payment_method[1]; foreach ($payment as $payment_method_id => $payment_method_title) { if ($payment_method_title->title == $wocoomercepayment) { add_post_meta($order_id, '_payment_method_title', $wocoomercepayment, true); add_post_meta($order_id, '_payment_method', $payment_method_id, true); } } } } } } $customer_import = get_option('vend_to_wc_customer'); if (isset($customer_import) && $customer_import == 'customer_data') { if (isset($order['billingAddress'])) { add_post_meta($order_id, '_billing_first_name', isset($order['billingAddress']['firstName']) ? $order['billingAddress']['firstName'] : NULL, true); add_post_meta($order_id, '_billing_last_name', isset($order['billingAddress']['lastName']) ? $order['billingAddress']['lastName'] : NULL, true); add_post_meta($order_id, '_billing_company', isset($order['billingAddress']['company']) ? $order['billingAddress']['company'] : NULL, true); add_post_meta($order_id, '_billing_address_1', isset($order['billingAddress']['street1']) ? $order['billingAddress']['street1'] : NULL, true); add_post_meta($order_id, '_billing_address_2', isset($order['billingAddress']['street2']) ? $order['billingAddress']['street2'] : NULL, true); add_post_meta($order_id, '_billing_city', isset($order['billingAddress']['city']) ? $order['billingAddress']['city'] : NULL, true); add_post_meta($order_id, '_billing_postcode', isset($order['billingAddress']['postalCode']) ? $order['billingAddress']['postalCode'] : NULL, true); add_post_meta($order_id, '_billing_country', isset($order['billingAddress']['country']) ? $order['billingAddress']['country'] : NULL, true); add_post_meta($order_id, '_billing_state', isset($order['billingAddress']['state']) ? $order['billingAddress']['state'] : NULL, true); add_post_meta($order_id, '_billing_phone', isset($order['billingAddress']['phone']) ? $order['billingAddress']['phone'] : NULL, true); } if (isset($order['deliveryAddress'])) { add_post_meta($order_id, '_shipping_first_name', isset($order['deliveryAddress']['firstName']) ? $order['deliveryAddress']['firstName'] : NULL, true); add_post_meta($order_id, '_shipping_last_name', isset($order['deliveryAddress']['lastName']) ? $order['deliveryAddress']['lastName'] : NULL, true); add_post_meta($order_id, '_shipping_company', isset($order['deliveryAddress']['company']) ? $order['deliveryAddress']['company'] : NULL, true); add_post_meta($order_id, '_shipping_address_1', isset($order['deliveryAddress']['street1']) ? $order['deliveryAddress']['street1'] : NULL, true); add_post_meta($order_id, '_shipping_address_2', isset($order['deliveryAddress']['street2']) ? $order['deliveryAddress']['street2'] : NULL, true); add_post_meta($order_id, '_shipping_city', isset($order['deliveryAddress']['city']) ? $order['deliveryAddress']['city'] : NULL, true); add_post_meta($order_id, '_shipping_postcode', isset($order['deliveryAddress']['postalCode']) ? $order['deliveryAddress']['postalCode'] : NULL, true); add_post_meta($order_id, '_shipping_country', isset($order['deliveryAddress']['country']) ? $order['deliveryAddress']['country'] : NULL, true); add_post_meta($order_id, '_shipping_state', isset($order['deliveryAddress']['state']) ? $order['deliveryAddress']['state'] : NULL, true); } if (isset($order['primary_email'])) { require_once ABSPATH . 'wp-includes/user.php'; require_once ABSPATH . 'wp-includes/pluggable.php'; $user_email = $order['primary_email']; $user_name = $order['billingAddress']['firstName'] . ' ' . $order['billingAddress']['lastName']; $user_id = email_exists($user_email); $email_password = false; if (!$user_id) { $user_password = wp_generate_password(12, false); $user_id = wp_create_user($user_name, $user_password, $user_email); update_user_option($user_id, 'default_password_nag', true, true); $email_password = true; $message = " Username: {$user_name}\n Password: {$user_password}\n " . wp_login_url(); if (isset($order['billingAddress'])) { add_user_meta($user_id, 'billing_first_name', isset($order['billingAddress']['firstName']) ? $order['billingAddress']['firstName'] : NULL, true); add_user_meta($user_id, 'billing_last_name', isset($order['billingAddress']['lastName']) ? $order['billingAddress']['lastName'] : NULL, true); add_user_meta($user_id, 'billing_company', isset($order['billingAddress']['company']) ? $order['billingAddress']['company'] : NULL, true); add_user_meta($user_id, 'billing_address_1', isset($order['billingAddress']['street1']) ? $order['billingAddress']['street1'] : NULL, true); add_user_meta($user_id, 'billing_address_2', isset($order['billingAddress']['street2']) ? $order['billingAddress']['street2'] : NULL, true); add_user_meta($user_id, 'billing_city', isset($order['billingAddress']['city']) ? $order['billingAddress']['city'] : NULL, true); add_user_meta($user_id, 'billing_postcode', isset($order['billingAddress']['postalCode']) ? $order['billingAddress']['postalCode'] : NULL, true); add_user_meta($user_id, 'billing_country', isset($order['billingAddress']['country']) ? $order['billingAddress']['country'] : NULL, true); add_user_meta($user_id, 'billing_state', isset($order['billingAddress']['state']) ? $order['billingAddress']['state'] : NULL, true); add_user_meta($user_id, 'billing_phone', isset($order['billingAddress']['phone']) ? $order['billingAddress']['phone'] : NULL, true); } if (isset($order['deliveryAddress'])) { add_user_meta($user_id, 'shipping_first_name', isset($order['deliveryAddress']['firstName']) ? $order['deliveryAddress']['firstName'] : NULL, true); add_user_meta($user_id, 'shipping_last_name', isset($order['deliveryAddress']['lastName']) ? $order['deliveryAddress']['lastName'] : NULL, true); add_user_meta($user_id, 'shipping_company', isset($order['deliveryAddress']['company']) ? $order['deliveryAddress']['company'] : NULL, true); add_user_meta($user_id, 'shipping_address_1', isset($order['deliveryAddress']['street1']) ? $order['deliveryAddress']['street1'] : NULL, true); add_user_meta($user_id, 'shipping_address_2', isset($order['deliveryAddress']['street2']) ? $order['deliveryAddress']['street2'] : NULL, true); add_user_meta($user_id, 'shipping_city', isset($order['deliveryAddress']['city']) ? $order['deliveryAddress']['city'] : NULL, true); add_user_meta($user_id, 'shipping_postcode', isset($order['deliveryAddress']['postalCode']) ? $order['deliveryAddress']['postalCode'] : NULL, true); add_user_meta($user_id, 'shipping_country', isset($order['deliveryAddress']['country']) ? $order['deliveryAddress']['country'] : NULL, true); add_user_meta($user_id, 'shipping_state', isset($order['deliveryAddress']['state']) ? $order['deliveryAddress']['state'] : NULL, true); } wp_mail($user_email, 'Your username and password', $message); $user = new WP_User($user_id); $user->set_role('customer'); } add_post_meta($order_id, '_customer_user', $user_id); } } if (isset($order['total']) && !empty($order['total'])) { if (isset($order['total_tax'])) { $order['total'] = $order['total_tax'] + $order['total']; } add_post_meta($order_id, '_order_total', $order['total'], true); } if (isset($order['taxes_included']) && $order['taxes_included'] == true) { add_post_meta($order_id, '_order_tax', $order['total_tax'], true); } if (isset($order['updated_at']) && !empty($order['updated_at'])) { add_post_meta($order_id, '_completed_date', $order['updated_at'], true); } if (isset($order['id']) && !empty($order['id'])) { add_post_meta($order_id, '_vend_orderid', $order['id'], true); } if (isset($order['currency']) && !empty($order['currency'])) { add_post_meta($order_id, '_order_currency', $order['currency'], true); } // billing info if (isset($order['user_name']) && !empty($order['user_name'])) { add_post_meta($order_id, '_billing_email', $order['user_name'], true); } $i = 0; foreach ($order['products'] as $products) { $product_id = $this->isReferenceExists_order($products['sku']); if ($product_id['result'] == 'success' && !empty($product_id['data'])) { $product = new WC_Product($product_id['data']); if ($product->post->post_type == 'product_variation') { $variant_id = $product->id; $product->id = $product->post->post_parent; } $wcproduct = $product->post; if ($product) { // add item $item_id = wc_add_order_item($order_id, array('order_item_name' => $wcproduct->post_title, 'order_item_type' => 'line_item')); if ($item_id) { $line_tax = array(); $line_subtax = array(); // add item meta data if (isset($products['price']) && !empty($products['price'])) { $products['price'] = (double) ($products['price'] * $products['quantity']); } $line_total = (double) $products['price']; wc_add_order_item_meta($item_id, '_qty', $products['quantity']); //Product Order Quantity From Vend wc_add_order_item_meta($item_id, '_product_id', $product->id); wc_add_order_item_meta($item_id, '_line_total', $line_total); wc_add_order_item_meta($item_id, '_variation_id', isset($variant_id) ? $variant_id : ''); $result_tax_class = $this->linksync_tax_classes_vend_to_wc($products['taxId']); if ($result_tax_class['result'] == 'success') { $tax_class = $result_tax_class['tax_class']; } wc_add_order_item_meta($item_id, '_tax_class', isset($tax_class) ? $tax_class : ''); wc_add_order_item_meta($item_id, '_line_tax', $products['taxValue']); wc_add_order_item_meta($item_id, '_line_subtotal', $products['price']); wc_add_order_item_meta($item_id, '_line_subtotal_tax', $products['taxValue']); $line_tax['total'][1] = $products['taxValue']; $line_subtax['subtotal'][1] = $products['taxValue']; $line_tax_data = array_merge($line_tax, $line_subtax); wc_add_order_item_meta($item_id, '_line_tax_data', $line_tax_data); if (isset($variant_id) && !empty($variant_id)) { global $wpdb; $query = mysql_query("SELECT meta_key,meta_value FROM `" . $wpdb->prefix . "postmeta` WHERE post_id='" . $variant_id . "' AND meta_key LIKE 'attribute_pa_%'"); while ($result = mysql_fetch_assoc($query)) { $meta_key = str_replace('attribute_', '', $result['meta_key']); wc_add_order_item_meta($item_id, $meta_key, $result['meta_value']); } } } } else { $order->errors = 'Product SKU (' . $order->{$item_id} . ') not found.'; } } elseif ($products['sku'] == 'shipping') { $taxes = array(); // add item $shipping_id = wc_add_order_item($order_id, array('order_item_name' => $products['title'], 'order_item_type' => 'shipping')); if ($shipping_id) { wc_add_order_item_meta($shipping_id, 'cost', $products['price']); wc_add_order_item_meta($shipping_id, 'method_id', ''); wc_add_order_item_meta($shipping_id, 'taxes', ''); add_post_meta($order_id, '_order_shipping', $products['price']); add_post_meta($order_id, '_order_shipping_tax', $products['taxValue']); $shippping_tax_amount = $products['taxValue']; $taxes[1] = $products['taxValue']; wc_add_order_item_meta($shipping_id, 'taxes', $taxes); } } elseif ($products['sku'] == 'vend-discount') { add_post_meta($order_id, '_cart_discount', $products['price']); } /* ---------------------------------------Tax Mapping --------------------------------- */ if ($products['sku'] != 'shipping' || $products['sku'] != 'vend-discount') { if ($i == 0) { $tax_class_name = $this->linksync_tax_classes_vend_to_wc($products['taxId']); if ($tax_class_name['result'] == 'success') { // add item $tax_id = wc_add_order_item($order_id, array('order_item_name' => $tax_class_name['tax_class_name'] . '-' . $tax_class_name['tax_rate_id'], 'order_item_type' => 'tax')); if ($tax_id) { wc_add_order_item_meta($tax_id, 'rate_id', $tax_class_name['tax_rate_id']); wc_add_order_item_meta($tax_id, 'label', $tax_class_name['tax_class_name']); wc_add_order_item_meta($tax_id, 'compound', 0); $tax_amount = $order['total_tax']; wc_add_order_item_meta($tax_id, 'tax_amount', isset($tax_amount) ? $tax_amount : 0); wc_add_order_item_meta($tax_id, 'shipping_tax_amount', isset($shippping_tax_amount) ? $shippping_tax_amount : 0); } } $i++; } } } } linksync_class::add('Order Sync Vend to Woo', 'success', 'Vend Order no:' . $order['orderId'] . ', Woo Order no:' . $order_id, get_option('linksync_laid')); } } } } return true; }
padding-left: 25px; } </style> <script type="text/javascript" src="../wp-content/plugins/linksync/jquery-tiptip/jquery.tipTip.min.js"></script> <link rel="stylesheet" href="../wp-content/plugins/linksync/css/reveal.css"> <script type="text/javascript" src="../wp-content/plugins/linksync/jquery-tiptip/jquery.reveal.js"></script> <!--<link rel="stylesheet" id="woocommerce_admin_styles-css" href="../wp-content/plugins/linksync/css/admin.css" type="text/css" media="all">--> <div class="wrap"> <div id="response" style="padding: 15px; margin-top: 25px; display: none;"></div> <?php global $wpdb; $linksync = new linksync(); //Send log feature $testMode = get_option('linksync_test'); $LAIDKey = get_option('linksync_laid'); $apicall = new linksync_class($LAIDKey, $testMode); if (isset($_GET['setting']) && $_GET['page']) { if ($_GET['setting'] == 'logs' && $_GET['page'] == 'linksync') { if (isset($_POST['clearlog'])) { $empty = mysql_query("TRUNCATE TABLE `" . $wpdb->prefix . "linksync_log`"); if ($empty) { $response = "Logs Clear successfully!"; } else { $response = "Error:Unable to Clear Logs Details"; } ?> <script> jQuery('#response').removeClass('error').addClass('updated').html("<?php echo $response; ?> ").fadeIn().delay(3000).fadeOut(4000);
public static function checkForConnection($api_key) { global $wpdb; // Start - Saving API Key and Connecting to Server # On Save button clicking , it should be saved and connected as well. $LAIDKey = trim($api_key); $testMode = get_option('linksync_test'); if (isset($testMode) && $testMode == 'on') { $testMode = 'on'; } else { $testMode = 'off'; } update_option('linksync_test', $testMode); $apicall = new linksync_class($LAIDKey, $testMode); $result = $apicall->testConnection(); if (isset($result) && !empty($result)) { if (isset($result['errorCode']) && !empty($result['userMessage'])) { mysql_query("UPDATE `" . $wpdb->prefix . "linksync_laidKey` SET status='Invalid' WHERE api_key='{$LAIDKey}'"); update_option('linksync_status', "Inactive"); update_option('linksync_last_test_time', current_time('mysql')); update_option('linksync_connected_url', ""); update_option('linksync_connectedto', ''); update_option('linksync_connectionwith', ''); update_option('linksync_addedfile', ''); update_option('linksync_frequency', $result['userMessage']); linksync_class::add('checkAPI Key', 'Fail', $result['userMessage'], $LAIDKey); $class1 = 'updated'; $class2 = 'error'; $response['error'] = 'Connection Not Established because of ' . $result['userMessage']; } else { if (isset($result['app']) && !empty($result['app'])) { $app_name = self::appid_app($result['app']); if (isset($app_name) && !empty($app_name['success'])) { update_option('linksync_connectionwith', $app_name['success']); $app_name_status = 'Active'; } else { update_option('linksync_connectionwith', 'Supplied API Key not valid'); $checkKey = 'Supplied API Key not valid'; $app_name_status = 'Inactive'; } } if (isset($result['connected_app']) && !empty($result['connected_app'])) { $connected_app = self::appid_app($result['connected_app']); if (isset($connected_app) && !empty($connected_app['success'])) { update_option('linksync_connectedto', $connected_app['success']); $status = 'Active'; } else { update_option('linksync_connectedto', "The supplied API Key is not valid for use with linksync for WooCommerce."); $checkKey = 'Supplied API Key not valid for use with WooCommerce'; $status = 'Inactive'; } } if (isset($status) && isset($app_name_status) && $status == 'Active' && $app_name_status == 'Active') { // if (isset($result['connected_app_version']) && !empty($result['connected_app_version'])) {woocommerce/woocommerce.php $plugin_file = dirname(__FILE__) . '/linksync.php'; $plugin_data = get_plugin_data($plugin_file, $markup = true, $translate = true); $linksync_version = $plugin_data['Version']; update_option('linksync_version', $linksync_version); $webhook = $apicall->webhookConnection(content_url() . '/plugins/linksync/update.php?c=' . get_option('webhook_url_code'), $linksync_version, 'no'); if (isset($webhook) && !empty($webhook)) { if (isset($webhook['result']) && $webhook['result'] == 'success') { linksync_class::add('WebHookConnection', 'success', 'Connected to a file ' . content_url() . '/plugins/linksync/update.php?c=' . get_option('webhook_url_code'), $LAIDKey); update_option('linksync_addedfile', '<a href="' . content_url() . '/plugins/linksync/update.php?c=' . get_option('webhook_url_code') . '">' . content_url() . '/linksync/update.php?c=' . get_option('webhook_url_code') . '</a>'); } } //} if (isset($result['time']) && !empty($result['time'])) { $server_response = strtotime($result['time']); $server_time = time(); $time = $server_response - $server_time; linksync_class::add('Time Offset', 'success', 'Server Response:' . $result['time'] . ' Current Server Time:' . date("Y-m-d H:i:s") . ' Time Offset: ' . date("H:i:s", abs($time)), $LAIDKey); update_option('linksync_time_offset', $time); } if (get_option('linksync_connectionwith') == 'Vend' || get_option('linksync_connectedto') == 'Vend') { // Add Default setting into DB $response_outlets = $apicall->linksync_getOutlets(); if (@get_option('ps_outlet') == 'on') { #VEND TO WC if (isset($response_outlets) && !empty($response_outlets)) { if (isset($response_outlets['errorCode']) && !empty($response_outlets['userMessage'])) { update_option('ps_outlet_details', 'off'); $response_ = $response_outlets['userMessage']; linksync_class::add('linksync_getOutlets', 'fail', $response_, $LAIDKey); } else { foreach ($response_outlets['outlets'] as $key => $value) { $oulets["{$key}"] = $value['id']; } $ouletsdb = implode('|', $oulets); update_option('ps_outlet_details', $ouletsdb); update_option('ps_outlet', 'on'); } } else { $class2 = 'updated'; $class1 = 'error'; $response_ = 'Error in getting outlets'; echo "<br>"; echo "<span style='color:red';>" . $response_ . "</span>"; echo "<br>"; } } if (@get_option('ps_wc_to_vend_outlet') == 'on') { if (isset($response_outlets['errorCode']) && !empty($response_outlets['userMessage'])) { update_option('wc_to_vend_outlet_detail', 'off'); $response_ = $response_outlets['userMessage']; linksync_class::add('linksync_getOutlets', 'fail', $response_, $LAIDKey); } else { $two_way_wc_to_vend = $response_outlets['outlets'][0]['name'] . '|' . $response_outlets['outlets'][0]['id']; update_option('wc_to_vend_outlet_detail', $two_way_wc_to_vend); update_option('ps_wc_to_vend_outlet', 'on'); } } /* * display_retail_price_tax_inclusive(0 or 1) */ $vend_config = $apicall->getVendConfig(); if (isset($vend_config) && !empty($vend_config)) { if (!isset($vend_config['errorCode'])) { update_option('linksync_tax_inclusive', $vend_config['display_retail_price_tax_inclusive']); } else { update_option('linksync_tax_inclusive', ''); echo "<span style='color:red;font-weight:bold;'>Error in getting VEND Config : {$vend_config['userMessage']}</span><br>"; } } } mysql_query("UPDATE `" . $wpdb->prefix . "linksync_laidKey` SET status='connected' WHERE api_key='{$LAIDKey}'"); update_option('linksync_status', 'Active'); update_option('linksync_last_test_time', current_time('mysql')); update_option('linksync_connected_url', get_option('linksync_connected_url')); update_option('linksync_frequency', 'Valid API Key'); update_option('laid_message', isset($result['message']) ? $result['message'] : null); linksync_class::add('isConnected', 'success', 'Connected URL is ' . get_option('linksync_connected_url'), $LAIDKey); $class2 = 'updated'; $class1 = 'error'; update_option('linksync_laid', $LAIDKey); $response['success'] = 'Connection is established Successfully!!'; } else { mysql_query("UPDATE `" . $wpdb->prefix . "linksync_laidKey` SET status='Invalid' WHERE api_key='{$LAIDKey}'"); update_option('linksync_status', "Inactive"); update_option('linksync_last_test_time', current_time('mysql')); update_option('linksync_connected_url', get_option('linksync_connected_url')); update_option('linksync_addedfile', ''); update_option('linksync_connectedto', "The supplied API Key is not valid for use with linksync for WooCommerce."); update_option('linksync_connectionwith', 'Supplied API Key not valid'); update_option('linksync_frequency', 'Invalid API Key'); linksync_class::add('checkAPI Key', 'fail', 'Invalid API Key', '-'); $class1 = 'updated'; $class2 = 'error'; $response['error'] = "The supplied API Key is not valid for use with linksync for WooCommerce."; } } } else { mysql_query("UPDATE `" . $wpdb->prefix . "linksync_laidKey` SET status='Invalid' WHERE api_key='{$LAIDKey}'"); update_option('linksync_status', "Inactive"); update_option('linksync_last_test_time', current_time('mysql')); update_option('linksync_connected_url', get_option('linksync_connected_url')); update_option('linksync_addedfile', ''); update_option('linksync_connectedto', "The supplied API Key is not valid for use with linksync for WooCommerce."); update_option('linksync_connectionwith', 'Supplied API Key not valid'); update_option('linksync_frequency', 'Invalid API Key'); linksync_class::add('checkAPI Key', 'fail', 'Invalid API Key', '-'); $class1 = 'updated'; $class2 = 'error'; $response['error'] = "The supplied API Key is not valid for use with linksync for WooCommerce."; } return $response; }
<?php $LAIDKey = get_option('linksync_laid'); $testMode = get_option('linksync_test'); $apicall = new linksync_class($LAIDKey, $testMode); $gatway = new WC_Payment_Gateways(); # Get Payment Types for ($count_payment = 1; $count_payment <= 3; $count_payment++) { $payment = $apicall->linksync_getpaymentTypes(); if (isset($payment) && !empty($payment)) { break; } } # Get Taxes for ($count_taxes = 1; $count_taxes <= 3; $count_taxes++) { $taxes = $apicall->linksync_getTaxes(); if (isset($taxes) && !empty($taxes)) { break; } } #Get Order Status for ($count_order_Status = 1; $count_order_Status <= 3; $count_order_Status++) { $order_Status = $apicall->linksync_get_order_statuses(); if (isset($order_Status) && !empty($order_Status)) { break; } } if (isset($_POST['save_order_sync_setting'])) { //Woocommers To VEND if (isset($_POST['order_sync_type']) && !empty($_POST['order_sync_type'])) { update_option('order_sync_type', $_POST['order_sync_type']);
linksync_OrderjQuery('#order_sync_setting').slideDown(500); } else if (linksync_OrderjQuery("#QBO_to_wc_sync_id").is(":checked")) { linksync_OrderjQuery('#order_sync_QBO_to_wc').slideDown(500); linksync_OrderjQuery('#order_sync_wc_to_QBO').slideUp(500); linksync_OrderjQuery('#order_sync_setting').slideDown(500); } else { linksync_OrderjQuery('#order_sync_setting').slideDown(500); linksync_OrderjQuery('#order_sync_wc_to_QBO').slideDown(500); linksync_OrderjQuery('#order_sync_QBO_to_wc').slideDown(500); } }); }); </script><?php $LAIDKey = get_option('linksync_laid'); $testMode = get_option('linksync_test'); $apicall = new linksync_class($LAIDKey, $testMode); $gatway = new WC_Payment_Gateways(); $payment = $apicall->linksync_QuickBook_payment(); $taxes = $apicall->linksync_QuickBook_taxes(); $order_Status = $apicall->linksync_get_order_statuses(); if (isset($_POST['save_order_sync_setting'])) { //Woocommers To QBO if (isset($_POST['order_sync_type_QBO']) && !empty($_POST['order_sync_type_QBO'])) { update_option('order_sync_type_QBO', $_POST['order_sync_type_QBO']); } if (isset($_POST['order_status_wc_to_QBO'])) { $order_status_wc_to_QBO = implode('|', $_POST['order_status_wc_to_QBO']); update_option('order_status_wc_to_QBO', isset($order_status_wc_to_QBO) ? $order_status_wc_to_QBO : 'off'); } else { update_option('order_status_wc_to_QBO', 'off'); }