Changeset 3480860
- Timestamp:
- 03/12/2026 06:52:03 AM (3 weeks ago)
- Location:
- gratisfaction-all-in-one-loyalty-contests-referral-program-for-woocommerce/trunk
- Files:
-
- 3 edited
-
grconnect.php (modified) (22 diffs)
-
includes/grwoo-api.php (modified) (4 diffs)
-
readme.txt (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
gratisfaction-all-in-one-loyalty-contests-referral-program-for-woocommerce/trunk/grconnect.php
r3419727 r3480860 3 3 /** 4 4 * @package Gratisfaction Connect 5 * @version 4.6. 05 * @version 4.6.1 6 6 */ 7 7 /* … … 9 9 Plugin URI: http://appsmav.com 10 10 Description: Loyalty + Referral + Rewards + Birthdays and Anniversaries + Giveaways + Sweepstakes. 11 Version: 4.6. 011 Version: 4.6.1 12 12 Author: Appsmav 13 13 Author URI: http://appsmav.com … … 53 53 const REDEEM_COUPON = 'GRPAYPOINTS'; 54 54 55 public static $_plugin_version = '4.6. 0';55 public static $_plugin_version = '4.6.1'; 56 56 public static $_callback_url = 'https://gratisfaction.appsmav.com/'; 57 57 public static $_api_version = 'newapi/v2/'; … … 882 882 } 883 883 884 $param['coupon_lines'] = []; 885 $coupons_data_lines = $order->get_items('coupon'); 886 if (!empty($coupons_data_lines)) { 887 foreach ($coupons_data_lines as $item_data) { 888 $param['coupon_lines'][] = self::sanitize_data_for_api($item_data->get_data()); 889 } 890 } 891 884 892 // Check points redeemed for this order - PayByPoints 885 893 $gr_applied_points = get_post_meta($order_id, 'gr_applied_points', true); … … 899 907 $param['line_items'] = []; 900 908 foreach ($order->get_items('line_item') as $key => $item) { 901 $param['line_items'][] = self::sanitize_ refund_data_for_api($item->get_data()); // Only product_id & total are required now909 $param['line_items'][] = self::sanitize_data_for_api($item->get_data()); // Only product_id & total are required now 902 910 } 903 911 … … 919 927 } 920 928 921 $refundData[$key]['refund'] = self::sanitize_ refund_data_for_api($refund->get_data());929 $refundData[$key]['refund'] = self::sanitize_data_for_api($refund->get_data()); 922 930 923 931 $refund_items = $refund->get_items(); … … 928 936 } 929 937 930 $refundData[$key]['line_items'][$item_id] = self::sanitize_ refund_data_for_api($item->get_data());938 $refundData[$key]['line_items'][$item_id] = self::sanitize_data_for_api($item->get_data()); 931 939 } 932 940 } … … 1060 1068 } 1061 1069 1070 $param['coupon_lines'] = []; 1071 $coupons_data_lines = $order->get_items('coupon'); 1072 if (!empty($coupons_data_lines)) { 1073 foreach ($coupons_data_lines as $item_data) { 1074 $param['coupon_lines'][] = self::sanitize_data_for_api($item_data->get_data()); 1075 } 1076 } 1077 1062 1078 $param['discount'] = $order->get_total_discount(); 1063 1079 $param['subtotal'] = $order->get_subtotal(); … … 1070 1086 $param['line_items'] = []; 1071 1087 foreach ($order->get_items('line_item') as $key => $item) { 1072 $param['line_items'][] = self::sanitize_ refund_data_for_api($item->get_data());1088 $param['line_items'][] = self::sanitize_data_for_api($item->get_data()); 1073 1089 } 1074 1090 … … 1525 1541 $param['line_items'] = []; 1526 1542 foreach ($order->get_items('line_item') as $key => $item) { 1527 $param['line_items'][] = self::sanitize_ refund_data_for_api($item->get_data()); // TODO: Only product_id & total are required now1543 $param['line_items'][] = self::sanitize_data_for_api($item->get_data()); // TODO: Only product_id & total are required now 1528 1544 } 1529 1545 … … 1535 1551 continue; 1536 1552 } 1537 $refundData[$key]['refund'] = self::sanitize_ refund_data_for_api($refund->get_data());1553 $refundData[$key]['refund'] = self::sanitize_data_for_api($refund->get_data()); 1538 1554 $refund_items = $refund->get_items(); 1539 1555 if (!empty($refund_items) && is_array($refund_items)) { … … 1542 1558 continue; 1543 1559 } 1544 $refundData[$key]['line_items'][$item_id] = self::sanitize_ refund_data_for_api($item->get_data());1560 $refundData[$key]['line_items'][$item_id] = self::sanitize_data_for_api($item->get_data()); 1545 1561 } 1546 1562 } … … 1612 1628 1613 1629 // Sanitize refund data to handle WC_DateTime objects 1614 $param = self::sanitize_ refund_data_for_api($param);1630 $param = self::sanitize_data_for_api($param); 1615 1631 1616 1632 $api_response = $this->callGrConnectApi($param, $urlApi); … … 1686 1702 add_action('wp_ajax_check_settings', [$this, 'gr_ajax_check_settings']); 1687 1703 add_action('wp_ajax_check_login', [$this, 'gr_ajax_check_login']); 1688 add_action('wp_ajax_check_autologin', array( &$this, 'gr_ajax_check_autologin'));1704 add_action('wp_ajax_check_autologin', array($this, 'gr_ajax_check_autologin')); 1689 1705 } catch (Exception $ex) { 1690 1706 … … 1929 1945 $response = wp_remote_post($url,array('body'=> $param,'timeout' => 10)); 1930 1946 if (is_array($response) && !empty($response['body'])) { 1931 $resp = json_decode($response['body'], true);1947 $resp = appsmav_json_decode($response['body'], true); 1932 1948 } else { 1933 1949 $resp['error'] = 1; … … 4089 4105 4090 4106 // Check if valid array and status matches 4091 if (is_array($ipLocArr) && !empty($ipLocArr['geoplugin_request']) && 4092 isset($ipLocArr['geoplugin_status']) && 4107 if (is_array($ipLocArr) && isset($ipLocArr['geoplugin_request'], $ipLocArr['geoplugin_status']) && 4093 4108 $ipLocArr['geoplugin_request'] == $ip && 4094 4109 appsmav_in_array($ipLocArr['geoplugin_status'], array(200, 206))) { 4095 4110 $ip_details['ip'] = empty($ipLocArr['geoplugin_request']) ? $ip : $ipLocArr['geoplugin_request']; 4096 $ip_details['city'] = empty($ipLocArr['geoplugin_city']) ? null : $ipLocArr['geoplugin_city'];4097 $ip_details['region_name'] = empty($ipLocArr['geoplugin_regionName']) ? null : $ipLocArr['geoplugin_regionName'];4098 $ip_details['country_code'] = empty($ipLocArr['geoplugin_countryCode']) ? 'US' : $ipLocArr['geoplugin_countryCode'];4111 $ip_details['city'] = (isset($ipLocArr['geoplugin_city']) && $ipLocArr['geoplugin_city'] !== '') ? $ipLocArr['geoplugin_city'] : null; 4112 $ip_details['region_name'] = (isset($ipLocArr['geoplugin_regionName']) && $ipLocArr['geoplugin_regionName'] !== '') ? $ipLocArr['geoplugin_regionName'] : null; 4113 $ip_details['country_code'] = (isset($ipLocArr['geoplugin_countryCode']) && $ipLocArr['geoplugin_countryCode'] !== '') ? $ipLocArr['geoplugin_countryCode'] : 'US'; 4099 4114 } 4100 4115 } … … 4210 4225 $grCampIdArr = get_option('grconnect_secret'); 4211 4226 $grCampId = !empty($grCampIdArr) ? $grCampIdArr : ''; 4212 $paramSalt = array();4227 $paramSalt = $params = array(); 4213 4228 $paramSalt['id_site'] = $params['id_site'] = $grAppId; 4214 4229 $paramSalt['points'] = $params['points'] = 0; … … 4248 4263 $params['redeem_points'] = !empty($param['redeem_points']) ? $param['redeem_points'] : 0; 4249 4264 $params['redeem_charges'] = !empty($param['redeem_charges']) ? $param['redeem_charges'] : 0; 4265 $params['coupon_lines'] = !empty($param['coupon_lines']) ? $param['coupon_lines'] : []; 4250 4266 $params['payload'] = get_option('grconnect_payload', 0); 4251 4267 $params['created_date'] = !empty($param['created_date']) ? $param['created_date'] : ''; … … 4911 4927 { 4912 4928 // Set up the settings for this plugin 4913 add_action('comment_post', array( &$this, 'send_comment_to_appsmav'));4914 add_action('wp', array( &$this, 'init_page_load'));4929 add_action('comment_post', array($this, 'send_comment_to_appsmav')); 4930 add_action('wp', array($this, 'init_page_load')); 4915 4931 } catch (Exception $ex) { 4916 4932 … … 4922 4938 * Sanitize refund data to handle WC_DateTime objects and other non-serializable data Works on PHP 5.4+ 4923 4939 */ 4924 public static function sanitize_ refund_data_for_api($data) {4940 public static function sanitize_data_for_api($data) { 4925 4941 try { 4926 4942 if (is_array($data)) { … … 4934 4950 // Handle stdClass objects 4935 4951 elseif ($value instanceof stdClass) { 4936 $data[$key] = self::sanitize_ refund_data_for_api(get_object_vars($value));4952 $data[$key] = self::sanitize_data_for_api(get_object_vars($value)); 4937 4953 } 4938 4954 // Handle WooCommerce data objects 4939 4955 elseif (method_exists($value, 'get_data')) { 4940 $data[$key] = self::sanitize_ refund_data_for_api($value->get_data());4956 $data[$key] = self::sanitize_data_for_api($value->get_data()); 4941 4957 } 4942 4958 // Handle objects with __toString method … … 4954 4970 } 4955 4971 elseif (is_array($value)) { 4956 $data[$key] = self::sanitize_ refund_data_for_api($value);4972 $data[$key] = self::sanitize_data_for_api($value); 4957 4973 } 4958 4974 } -
gratisfaction-all-in-one-loyalty-contests-referral-program-for-woocommerce/trunk/includes/grwoo-api.php
r3419727 r3480860 552 552 $data = array( 553 553 'error' => 0, 554 'order' => GR_Connect::sanitize_ refund_data_for_api($order->get_data()),554 'order' => GR_Connect::sanitize_data_for_api($order->get_data()), 555 555 'currency' => $curShop, 556 556 'total' => $total, … … 570 570 $param['line_items'] = []; 571 571 foreach ($order->get_items('line_item') as $key => $item) { 572 $param['line_items'][] = GR_Connect::sanitize_ refund_data_for_api($item->get_data());572 $param['line_items'][] = GR_Connect::sanitize_data_for_api($item->get_data()); 573 573 } 574 574 … … 580 580 continue; 581 581 } 582 $refundData[$key]['refund'] = GR_Connect::sanitize_ refund_data_for_api($refund->get_data());582 $refundData[$key]['refund'] = GR_Connect::sanitize_data_for_api($refund->get_data()); 583 583 $refund_items = $refund->get_items(); 584 584 if (!empty($refund_items) && is_array($refund_items)) { … … 587 587 continue; 588 588 } 589 $refundData[$key]['line_items'][$item_id] = GR_Connect::sanitize_ refund_data_for_api($item->get_data());589 $refundData[$key]['line_items'][$item_id] = GR_Connect::sanitize_data_for_api($item->get_data()); 590 590 } 591 591 } -
gratisfaction-all-in-one-loyalty-contests-referral-program-for-woocommerce/trunk/readme.txt
r3419727 r3480860 4 4 Donate link: https://appsmav.com 5 5 Requires at least: 3.0.1 6 Tested up to: 6. 87 Stable tag: 4.6. 06 Tested up to: 6.9 7 Stable tag: 4.6.1 8 8 License: GPLv2 or later 9 9 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 254 254 255 255 == Changelog == 256 = 4.6.1 = 257 Improvements and bug fixes 258 WordPress version 6.9 release compatibility 259 256 260 = 4.6.0 = 257 261 Improvements and bug fixes in block pages … … 632 636 633 637 == Upgrade Notice == 634 = 4.6.0 = 635 Improvements and bug fixes in block pages 638 = 4.6.1 = 639 Improvements and bug fixes 640 WordPress version 6.9 release compatibility
Note: See TracChangeset
for help on using the changeset viewer.