예제 #1
0
 if (isset($_POST['ps_delete'])) {
     if ($_POST['ps_delete'] == 'on') {
         update_option('ps_delete', 'on');
     } else {
         update_option('ps_delete', 'off');
     }
 } else {
     update_option('ps_delete', 'off');
 }
 update_option('prod_update_suc', NULL);
 update_option('prod_last_page', NULL);
 update_option('product_detail', NULL);
 if ($_POST['product_sync_type_QBO'] == 'two_way' || $_POST['product_sync_type_QBO'] == 'QB_to_wc-way') {
     // Set Import To Yes on the base of point 31
     update_option('product_import', 'yes');
     $result = $apicall->testConnection();
     $plugin_file = dirname(__FILE__) . '/linksync.php';
     $plugin_data = get_plugin_data($plugin_file, $markup = true, $translate = true);
     $linksync_version = $plugin_data['Version'];
     $webhook = $apicall->webhookConnection(plugins_url() . '/linksync/update.php?c=' . get_option('webhook_url_code'), $linksync_version, get_option('order_import'), 'yes');
     if (isset($webhook) && !empty($webhook)) {
         if (isset($webhook['result']) && $webhook['result'] == 'success') {
             $apicall->add('WebHookConnection', 'success', 'Connected to a file ' . plugins_url() . '/linksync/update.php?c=' . get_option('webhook_url_code'), $LAIDKey);
             update_option('linksync_addedfile', '<a href="' . plugins_url() . '/linksync/update.php?c=' . get_option('webhook_url_code') . '">' . plugins_url() . '/linksync/update.php?c=' . get_option('webhook_url_code') . '</a>');
         }
     } else {
         $apicall->add('WebHookConnection', 'fail', 'Product-Config File: Connected to a file ' . plugins_url() . '/linksync/update.php?c=' . get_option('webhook_url_code'), $LAIDKey);
     }
 } else {
     update_option('product_import', 'no');
     $result = $apicall->testConnection();
예제 #2
0
 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;
 }