Changeset 3370271
- Timestamp:
- 09/30/2025 09:20:28 AM (6 months ago)
- Location:
- baselinker-woo/tags/1.0.27
- Files:
-
- 2 added
- 4 copied
-
. (added)
-
baselinker.php (copied) (copied from baselinker-woo/tags/1.0.26/baselinker.php) (17 diffs)
-
languages (added)
-
languages/baselinker-woo-pl_PL.mo (copied) (copied from baselinker-woo/tags/1.0.26/languages/baselinker-woo-pl_PL.mo)
-
languages/baselinker-woo-pl_PL.po (copied) (copied from baselinker-woo/tags/1.0.26/languages/baselinker-woo-pl_PL.po)
-
readme.txt (copied) (copied from baselinker-woo/tags/1.0.26/readme.txt) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
baselinker-woo/tags/1.0.27/baselinker.php
r3307067 r3370271 2 2 /** 3 3 * @package BaseLinker 4 * @version 1.0.2 64 * @version 1.0.27 5 5 */ 6 6 /* … … 11 11 Domain Path: /languages 12 12 Author: BaseLinker 13 Version: 1.0.2 613 Version: 1.0.27 14 14 Author URI: http://baselinker.com/ 15 15 License: GPLv3 or later … … 23 23 function baselinker_version($data) 24 24 { 25 return '1.0.2 6';25 return '1.0.27'; 26 26 } 27 27 … … 75 75 $shipments = get_children($q); 76 76 77 if ( count($shipments))77 if (!empty($shipments)) 78 78 { 79 79 $shipment = array_shift($shipments); … … 125 125 function baselinker_query_by_order_number($args, $request) 126 126 { 127 if (isset($request['order_number']) and ( intval($request['order_number']) or $request['order_number'] == '%'))127 if (isset($request['order_number']) and (!empty(intval($request['order_number'])) or $request['order_number'] == '%')) 128 128 { 129 129 $args['meta_key'] = isset($request['order_number_meta']) ? $request['order_number_meta'] : '_order_number'; … … 196 196 { 197 197 $cutoff_limit = (int)$data['limit']; 198 199 if ($cutoff_limit < $args['limit']) 200 { 201 $args['limit'] = $cutoff_limit; 202 } 203 } 204 205 if (!empty($data['cutoff'])) 206 { 207 $cutoff_limit = (int)$data['cutoff']; 208 } 209 210 if (isset($data['order']) and preg_match('/^(asc|desc)$/i', $data['order'])) 211 { 212 $args['order'] = strtoupper($data['order']); 213 } 214 215 if (isset($data['orderby']) and preg_match('/^(ID|name|none|date|modified)$/', $data['orderby'])) 216 { 217 $args['orderby'] = $data['orderby']; 218 } 219 else 220 { 221 $args['orderby'] = 'ID'; 222 $args['order'] = 'desc'; 198 223 } 199 224 200 225 if (isset($data['offset'])) 201 226 { 202 $page = ceil(( $data['offset']+1)/100);227 $page = ceil(((int)$data['offset']+1)/$args['limit']); 203 228 unset($data['offset']); 204 229 } 205 230 206 if (isset($data['lang']) )231 if (isset($data['lang']) and preg_match('/^\w+/', $data['lang'])) 207 232 { 208 233 $args['lang'] = $data['lang']; 209 234 } 210 235 211 if (isset($data['exclude']) )212 { 213 $args['exclude'] = $data['exclude'];214 } 215 216 if (isset($data['include']) )217 { 218 $args['include'] = $data['include'];219 } 220 221 if (isset($data['type']) )236 if (isset($data['exclude']) and preg_match('/^\d[\d,]*$/', $data['exclude'])) 237 { 238 $args['exclude'] = explode(',', $data['exclude']); 239 } 240 241 if (isset($data['include']) and preg_match('/^\d[\d,]*$/', $data['include'])) 242 { 243 $args['include'] = explode(',', $data['include']); 244 } 245 246 if (isset($data['type']) and in_array($data['type'], ['external', 'grouped', 'simple', 'variable'])) 222 247 { 223 248 $args['type'] = $data['type']; … … 226 251 if (isset($data['parent'])) 227 252 { 228 $args['parent'] = $data['parent'];253 $args['parent'] = (int)$data['parent']; 229 254 } 230 255 231 256 if (isset($data['status'])) 232 257 { 233 $args['status'] = $data['status'];258 $args['status'] = preg_replace('/[^\w\s]/', '', $data['status']); 234 259 } 235 260 … … 239 264 } 240 265 241 if (isset($data['category_id']) and (int)$data['category_id'] )266 if (isset($data['category_id']) and (int)$data['category_id'] > 0) 242 267 { 243 268 foreach (baselinker_category_list($data) as $cat) … … 249 274 } 250 275 } 276 } 277 278 if (!empty($data['min_stock'])) 279 { 280 $args['min_stock'] = $data['min_stock']; 281 } 282 283 if (!empty($data['max_stock'])) 284 { 285 $args['max_stock'] = $data['max_stock']; 286 } 287 288 if (!empty($data['min_price'])) 289 { 290 $args['min_price'] = $data['min_price']; 291 } 292 293 if (!empty($data['max_price'])) 294 { 295 $args['max_price'] = $data['max_price']; 251 296 } 252 297 … … 263 308 do { 264 309 $args['page'] = $page; 265 266 310 $res = wc_get_products($args); 267 311 … … 357 401 while ($variations_subset = array_splice($variation_ids, 0, 100)) 358 402 { 359 $prod_variations = baselinker_product_list(array('include' => $variations_subset, 'type' => 'variation', 'limit' => 100));403 $prod_variations = baselinker_product_list(array('include' => implode(',', $variations_subset), 'type' => 'variation', 'limit' => $args['limit'])); 360 404 361 405 foreach ($prod_variations as $vid => $v) … … 445 489 $dimensions = array(); 446 490 447 if ( $dim = (int)$variation->get_width())491 if (($dim = (int)$variation->get_width()) > 0) 448 492 { 449 493 $dimensions['width'] = $dim; 450 494 } 451 495 452 if ( $dim = (int)$variation->get_length())496 if (($dim = (int)$variation->get_length()) > 0) 453 497 { 454 498 $dimensions['length'] = $dim; 455 499 } 456 500 457 if ( $dim = (int)$variation->get_height())501 if (($dim = (int)$variation->get_height()) > 0) 458 502 { 459 503 $dimensions['height'] = $dim; … … 539 583 } 540 584 541 // quantity brackets542 $min_stock = $request->get_param('min_stock');543 $max_stock = $request->get_param('max_stock');544 545 if (isset($min_stock) or isset($max_stock))546 {547 $args['post_type'] = array('product', 'product_variation');548 $args['meta_query'][] = array(549 'key' => '_stock',550 'value' => array(isset($min_stock) ? (int)$min_stock : 0, isset($max_stock) ? (int)$max_stock : 99999999),551 'compare' => 'BETWEEN',552 'type' => 'numeric',553 );554 555 }556 557 585 // categories excluded in baselinker 558 586 if ($cats_exclude = $request->get_param('categories_exclude')) … … 579 607 } 580 608 609 function baselinker_custom_query_vars($query, $query_vars) 610 { 611 // quantity brackets 612 if (!empty($query_vars['min_stock']) or !empty($query_vars['max_stock'])) 613 { 614 $min_stock = $query_vars['min_stock'] ?? null; 615 $max_stock = $query_vars['max_stock'] ?? null; 616 617 $query['meta_query'][] = [ 618 'key' => '_stock', 619 'value' => [isset($min_stock) ? (int)$min_stock : 0, isset($max_stock) ? (int)$max_stock : 99999999], 620 'compare' => 'BETWEEN', 621 'type' => 'numeric', 622 ]; 623 } 624 625 // price brackets 626 if (!empty($query_vars['min_price']) or !empty($query_vars['max_price'])) 627 { 628 $min_price = $query_vars['min_price'] ?? null; 629 $max_price = $query_vars['max_price'] ?? null; 630 631 $query['meta_query'][] = [ 632 'key' => '_price', 633 'value' => [isset($min_price) ? (float)$min_price : 0, isset($max_price) ? (float)$max_price : 99999999], 634 'compare' => 'BETWEEN', 635 'type' => 'numeric', 636 ]; 637 } 638 639 return $query; 640 } 641 581 642 582 643 // defining additional REST API endpoints 583 644 add_action('rest_api_init', function() { 584 585 645 register_rest_route('bl/v2', '/shipping_methods/', array('methods' => 'GET', 'callback' => 'baselinker_shipping_methods', 'permission_callback' => '__return_true')); 586 646 register_rest_route('wc-bl/v2', '/product_list/', array('methods' => 'GET', 'callback' => 'baselinker_product_list', 'permission_callback' => 'baselinker_authenticate')); … … 592 652 593 653 add_action('before_woocommerce_init', function() { 594 595 654 if (class_exists(\Automattic\WooCommerce\Utilities\FeaturesUtil::class)) 596 655 { … … 600 659 601 660 add_action('plugins_loaded', function() { 602 603 661 load_plugin_textdomain('baselinker-woo', FALSE, basename(dirname(__FILE__)) . '/languages/'); 604 662 }); … … 609 667 add_filter('woocommerce_rest_prepare_product_object', 'baselinker_prepare_product', 20, 3); 610 668 add_filter('woocommerce_rest_product_object_query', 'baselinker_product_object_query', 10, 2); 669 add_filter('woocommerce_product_data_store_cpt_get_products_query', 'baselinker_custom_query_vars', 10, 2 ); 611 670 ?> -
baselinker-woo/tags/1.0.27/readme.txt
r3306762 r3370271 2 2 Plugin Name: Base (formerly BaseLinker) - 300+ marketplaces, 150+ carriers & PIM & OMS & WMS in one 3 3 Contributors: baselinker 4 Stable tag: 1.0.2 65 Tested up to: 6.8. 14 Stable tag: 1.0.27 5 Tested up to: 6.8.2 6 6 Requires at least: 4.5.0 7 7 Requires Plugins: woocommerce
Note: See TracChangeset
for help on using the changeset viewer.