Product Feed PRO for WooCommerce - Version 7.9.8

Version Description

  • Solved an issue with multiple filters including empty filters that resulted in too many products in the feed
Download this release

Release Info

Developer jorisverwater
Plugin Icon 128x128 Product Feed PRO for WooCommerce
Version 7.9.8
Comparing to
See all releases

Code changes from version 7.9.7 to 7.9.8

classes/class-get-products.php CHANGED
@@ -4419,8 +4419,8 @@ class WooSEA_Get_Products {
4419
  $pr_array['attribute'] = "raw_categories";
4420
  }
4421
 
4422
-
4423
  if(array_key_exists($pr_array['attribute'], $product_data)){
 
4424
  foreach ($product_data as $pd_key => $pd_value){
4425
  // Check is there is a rule on specific attributes
4426
 
@@ -4462,7 +4462,9 @@ class WooSEA_Get_Products {
4462
  break;
4463
  case($pr_array['condition'] = "!="):
4464
  if (($old_value == $pr_array['criteria']) && ($pr_array['than'] == "exclude")){
4465
- $allowed = 1;
 
 
4466
  } elseif (($old_value == $pr_array['criteria']) && ($pr_array['than'] == "include_only")){
4467
  $allowed = 0;
4468
  }
@@ -4530,7 +4532,9 @@ class WooSEA_Get_Products {
4530
  case($pr_array['condition'] = "contains"):
4531
  if ((preg_match('/'.$pr_array['criteria'].'/', $v))){
4532
  if($pr_array['than'] == "include_only"){
4533
- $allowed = 1;
 
 
4534
  } else {
4535
  $allowed = 0;
4536
  }
@@ -4541,7 +4545,9 @@ class WooSEA_Get_Products {
4541
  case($pr_array['condition'] = "containsnot"):
4542
  if ((!preg_match('/'.$pr_array['criteria'].'/', $v))){
4543
  if($pr_array['than'] == "include_only"){
4544
- $allowed = 1;
 
 
4545
  } else {
4546
  $allowed = 0;
4547
  }
@@ -4552,7 +4558,9 @@ class WooSEA_Get_Products {
4552
  case($pr_array['condition'] = "="):
4553
  if (($v == $pr_array['criteria'])){
4554
  if($pr_array['than'] == "include_only"){
4555
- $allowed = 1;
 
 
4556
  } else {
4557
  $allowed = 0;
4558
  }
@@ -4563,7 +4571,9 @@ class WooSEA_Get_Products {
4563
  case($pr_array['condition'] = "!="):
4564
  if (($v != $pr_array['criteria'])){
4565
  if($pr_array['than'] == "include_only"){
4566
- $allowed = 1;
 
 
4567
  } else {
4568
  $allowed = 0;
4569
  }
@@ -4572,7 +4582,9 @@ class WooSEA_Get_Products {
4572
  case($pr_array['condition'] = ">"):
4573
  if (($v > $pr_array['criteria'])){
4574
  if($pr_array['than'] == "include_only"){
4575
- $allowed = 1;
 
 
4576
  } else {
4577
  $allowed = 0;
4578
  }
@@ -4581,7 +4593,9 @@ class WooSEA_Get_Products {
4581
  case($pr_array['condition'] = ">="):
4582
  if (($v >= $pr_array['criteria'])){
4583
  if($pr_array['than'] == "include_only"){
4584
- $allowed = 1;
 
 
4585
  } else {
4586
  $allowed = 0;
4587
  }
@@ -4590,7 +4604,9 @@ class WooSEA_Get_Products {
4590
  case($pr_array['condition'] = "<"):
4591
  if (($v < $pr_array['criteria'])){
4592
  if($pr_array['than'] == "include_only"){
4593
- $allowed = 1;
 
 
4594
  } else {
4595
  $allowed = 0;
4596
  }
@@ -4599,7 +4615,9 @@ class WooSEA_Get_Products {
4599
  case($pr_array['condition'] = "=<"):
4600
  if (($v <= $pr_array['criteria'])){
4601
  if($pr_array['than'] == "include_only"){
4602
- $allowed = 1;
 
 
4603
  } else {
4604
  $allowed = 0;
4605
  }
@@ -4608,7 +4626,9 @@ class WooSEA_Get_Products {
4608
  case($pr_array['condition'] = "empty"):
4609
  if (strlen($v) < 1){
4610
  if($pr_array['than'] == "include_only"){
4611
- $allowed = 1;
 
 
4612
  } else {
4613
  $allowed = 0;
4614
  }
@@ -4623,12 +4643,16 @@ class WooSEA_Get_Products {
4623
  if($pr_array['than'] == "include_only"){
4624
  $allowed = 0;
4625
  } else {
4626
- $allowed = 1;
 
 
4627
  }
4628
  break;
4629
  case($pr_array['condition'] = "containsnot"):
4630
  if($pr_array['than'] == "include_only"){
4631
- $allowed = 1;
 
 
4632
  } else {
4633
  $allowed = 0;
4634
  }
@@ -4637,12 +4661,16 @@ class WooSEA_Get_Products {
4637
  if($pr_array['than'] == "include_only"){
4638
  $allowed = 0;
4639
  } else {
4640
- $allowed = 1;
 
 
4641
  }
4642
  break;
4643
  case($pr_array['condition'] = "!="):
4644
  if($pr_array['than'] == "include_only"){
4645
- $allowed = 1;
 
 
4646
  } else {
4647
  $allowed = 0;
4648
  }
@@ -4677,7 +4705,9 @@ class WooSEA_Get_Products {
4677
  break;
4678
  case($pr_array['condition'] = "empty"):
4679
  if($pr_array['than'] == "include_only"){
4680
- $allowed = 1;
 
 
4681
  } else {
4682
  $allowed = 0;
4683
  }
@@ -4771,7 +4801,9 @@ class WooSEA_Get_Products {
4771
  } elseif ((!preg_match('/'.$pr_array['criteria'].'/', $pd_value)) && ($pr_array['than'] == "include_only")){
4772
  $allowed = 0;
4773
  } elseif ((preg_match('/'.$pr_array['criteria'].'/', $pd_value)) && ($pr_array['than'] == "include_only")){
4774
- $allowed = 1;
 
 
4775
  }
4776
  break;
4777
  case($pr_array['condition'] = "containsnot"):
@@ -4787,12 +4819,16 @@ class WooSEA_Get_Products {
4787
  } elseif (($pr_array['criteria'] != "$pd_value") && ($pr_array['than'] == "include_only")){
4788
  $found = strpos($pd_value,$pr_array['criteria']);
4789
  if ($found !== false) {
4790
- $allowed = 1;
 
 
4791
  } else {
4792
  $allowed = 0;
4793
  }
4794
  } elseif (($pr_array['criteria'] == "$pd_value") && ($pr_array['than'] == "include_only")){
4795
- $allowed = 1;
 
 
4796
  } elseif ((preg_match('/'.$pr_array['criteria'].'/', $pd_value)) && ($pr_array['than'] == "exclude")){
4797
  $allowed = 0;
4798
  } elseif ((preg_match('/'.$pr_array['criteria'].'/', $pd_value)) && ($pr_array['than'] == "include_only")){
@@ -4801,7 +4837,9 @@ class WooSEA_Get_Products {
4801
  break;
4802
  case($pr_array['condition'] = "!="):
4803
  if (($pr_array['criteria'] == "$pd_value") && ($pr_array['than'] == "exclude")){
4804
- $allowed = 1;
 
 
4805
  } elseif (($pr_array['criteria'] == "$pd_value") && ($pr_array['than'] == "include_only")){
4806
  $allowed = 0;
4807
  } elseif (($pr_array['criteria'] != "$pd_value") && ($pr_array['than'] == "exclude")){
@@ -4844,7 +4882,9 @@ class WooSEA_Get_Products {
4844
  if ((strlen($pd_value) < 1) && ($pr_array['than'] == "exclude")){
4845
  $allowed = 0;
4846
  } elseif ((strlen($pd_value) > 0) && ($pr_array['than'] == "exclude")){
4847
- $allowed = 1;
 
 
4848
  } elseif ((strlen($pd_value) > 0) && ($pr_array['than'] == "include_only")){
4849
  $allowed = 0;
4850
  }
4419
  $pr_array['attribute'] = "raw_categories";
4420
  }
4421
 
 
4422
  if(array_key_exists($pr_array['attribute'], $product_data)){
4423
+
4424
  foreach ($product_data as $pd_key => $pd_value){
4425
  // Check is there is a rule on specific attributes
4426
 
4462
  break;
4463
  case($pr_array['condition'] = "!="):
4464
  if (($old_value == $pr_array['criteria']) && ($pr_array['than'] == "exclude")){
4465
+ if($allowed <> 0){
4466
+ $allowed = 1;
4467
+ }
4468
  } elseif (($old_value == $pr_array['criteria']) && ($pr_array['than'] == "include_only")){
4469
  $allowed = 0;
4470
  }
4532
  case($pr_array['condition'] = "contains"):
4533
  if ((preg_match('/'.$pr_array['criteria'].'/', $v))){
4534
  if($pr_array['than'] == "include_only"){
4535
+ if($allowed <> 0){
4536
+ $allowed = 1;
4537
+ }
4538
  } else {
4539
  $allowed = 0;
4540
  }
4545
  case($pr_array['condition'] = "containsnot"):
4546
  if ((!preg_match('/'.$pr_array['criteria'].'/', $v))){
4547
  if($pr_array['than'] == "include_only"){
4548
+ if($allowed <> 0){
4549
+ $allowed = 1;
4550
+ }
4551
  } else {
4552
  $allowed = 0;
4553
  }
4558
  case($pr_array['condition'] = "="):
4559
  if (($v == $pr_array['criteria'])){
4560
  if($pr_array['than'] == "include_only"){
4561
+ if($allowed <> 0){
4562
+ $allowed = 1;
4563
+ }
4564
  } else {
4565
  $allowed = 0;
4566
  }
4571
  case($pr_array['condition'] = "!="):
4572
  if (($v != $pr_array['criteria'])){
4573
  if($pr_array['than'] == "include_only"){
4574
+ if($allowed <> 0){
4575
+ $allowed = 1;
4576
+ }
4577
  } else {
4578
  $allowed = 0;
4579
  }
4582
  case($pr_array['condition'] = ">"):
4583
  if (($v > $pr_array['criteria'])){
4584
  if($pr_array['than'] == "include_only"){
4585
+ if($allowed <> 0){
4586
+ $allowed = 1;
4587
+ }
4588
  } else {
4589
  $allowed = 0;
4590
  }
4593
  case($pr_array['condition'] = ">="):
4594
  if (($v >= $pr_array['criteria'])){
4595
  if($pr_array['than'] == "include_only"){
4596
+ if($allowed <> 0){
4597
+ $allowed = 1;
4598
+ }
4599
  } else {
4600
  $allowed = 0;
4601
  }
4604
  case($pr_array['condition'] = "<"):
4605
  if (($v < $pr_array['criteria'])){
4606
  if($pr_array['than'] == "include_only"){
4607
+ if($allowed <> 0){
4608
+ $allowed = 1;
4609
+ }
4610
  } else {
4611
  $allowed = 0;
4612
  }
4615
  case($pr_array['condition'] = "=<"):
4616
  if (($v <= $pr_array['criteria'])){
4617
  if($pr_array['than'] == "include_only"){
4618
+ if($allowed <> 0){
4619
+ $allowed = 1;
4620
+ }
4621
  } else {
4622
  $allowed = 0;
4623
  }
4626
  case($pr_array['condition'] = "empty"):
4627
  if (strlen($v) < 1){
4628
  if($pr_array['than'] == "include_only"){
4629
+ if($allowed <> 0){
4630
+ $allowed = 1;
4631
+ }
4632
  } else {
4633
  $allowed = 0;
4634
  }
4643
  if($pr_array['than'] == "include_only"){
4644
  $allowed = 0;
4645
  } else {
4646
+ if($allowed <> 0){
4647
+ $allowed = 1;
4648
+ }
4649
  }
4650
  break;
4651
  case($pr_array['condition'] = "containsnot"):
4652
  if($pr_array['than'] == "include_only"){
4653
+ if($allowed <> 0){
4654
+ $allowed = 1;
4655
+ }
4656
  } else {
4657
  $allowed = 0;
4658
  }
4661
  if($pr_array['than'] == "include_only"){
4662
  $allowed = 0;
4663
  } else {
4664
+ if($allowed <> 0){
4665
+ $allowed = 1;
4666
+ }
4667
  }
4668
  break;
4669
  case($pr_array['condition'] = "!="):
4670
  if($pr_array['than'] == "include_only"){
4671
+ if($allowed <> 0){
4672
+ $allowed = 1;
4673
+ }
4674
  } else {
4675
  $allowed = 0;
4676
  }
4705
  break;
4706
  case($pr_array['condition'] = "empty"):
4707
  if($pr_array['than'] == "include_only"){
4708
+ if($allowed <> 0){
4709
+ $allowed = 1;
4710
+ }
4711
  } else {
4712
  $allowed = 0;
4713
  }
4801
  } elseif ((!preg_match('/'.$pr_array['criteria'].'/', $pd_value)) && ($pr_array['than'] == "include_only")){
4802
  $allowed = 0;
4803
  } elseif ((preg_match('/'.$pr_array['criteria'].'/', $pd_value)) && ($pr_array['than'] == "include_only")){
4804
+ if($allowed <> 0){
4805
+ $allowed = 1;
4806
+ }
4807
  }
4808
  break;
4809
  case($pr_array['condition'] = "containsnot"):
4819
  } elseif (($pr_array['criteria'] != "$pd_value") && ($pr_array['than'] == "include_only")){
4820
  $found = strpos($pd_value,$pr_array['criteria']);
4821
  if ($found !== false) {
4822
+ if($allowed <> 0){
4823
+ $allowed = 1;
4824
+ }
4825
  } else {
4826
  $allowed = 0;
4827
  }
4828
  } elseif (($pr_array['criteria'] == "$pd_value") && ($pr_array['than'] == "include_only")){
4829
+ if($allowed <> 0){
4830
+ $allowed = 1;
4831
+ }
4832
  } elseif ((preg_match('/'.$pr_array['criteria'].'/', $pd_value)) && ($pr_array['than'] == "exclude")){
4833
  $allowed = 0;
4834
  } elseif ((preg_match('/'.$pr_array['criteria'].'/', $pd_value)) && ($pr_array['than'] == "include_only")){
4837
  break;
4838
  case($pr_array['condition'] = "!="):
4839
  if (($pr_array['criteria'] == "$pd_value") && ($pr_array['than'] == "exclude")){
4840
+ if($allowed <> 0){
4841
+ $allowed = 1;
4842
+ }
4843
  } elseif (($pr_array['criteria'] == "$pd_value") && ($pr_array['than'] == "include_only")){
4844
  $allowed = 0;
4845
  } elseif (($pr_array['criteria'] != "$pd_value") && ($pr_array['than'] == "exclude")){
4882
  if ((strlen($pd_value) < 1) && ($pr_array['than'] == "exclude")){
4883
  $allowed = 0;
4884
  } elseif ((strlen($pd_value) > 0) && ($pr_array['than'] == "exclude")){
4885
+ if($allowed <> 0){
4886
+ $allowed = 1;
4887
+ }
4888
  } elseif ((strlen($pd_value) > 0) && ($pr_array['than'] == "include_only")){
4889
  $allowed = 0;
4890
  }
js/woosea_key.js CHANGED
@@ -27,7 +27,7 @@ jQuery(document).ready(function($) {
27
  var license_key = $('#license-key').val();
28
 
29
  jQuery.ajax({
30
- url: 'https://www.adtribes.io/check/license.php?key=' + license_key + '&email=' + license_email + '&domain=' + root_domain + '&version=7.9.7',
31
  jsonp: 'callback',
32
  dataType: 'jsonp',
33
  type: 'GET',
27
  var license_key = $('#license-key').val();
28
 
29
  jQuery.ajax({
30
+ url: 'https://www.adtribes.io/check/license.php?key=' + license_key + '&email=' + license_email + '&domain=' + root_domain + '&version=7.9.8',
31
  jsonp: 'callback',
32
  dataType: 'jsonp',
33
  type: 'GET',
readme.txt CHANGED
@@ -5,7 +5,7 @@ License URI: http://www.gnu.org/licenses/gpl.html
5
  Tags: Product Feed, Google Shopping, Google Shopping Feed, WooCommerce Product Feed, WooCommerce Product Feed PRO, Bing Shopping, Bing product feed, Bing remarking, Google Merchant Feed, Google DRM Feed, Google Dynamic Remarketing Feed, Facebook feed, Google feed, Bing feed, Facebook Product Feed, Facebook Dynamic remarketing, Data Feed, WooCommerce Feed, XML product feed, CSV product feed, TSV, TXT product feed, comparison shopping engines, comparison shopping websites, vergelijk.nl, vergelijk.be, vertaa.fi, beslist.nl, kieskeurig.nl, bol.com, raketten, pricerunner, pricegrabber, Buy, leGuide, Kelkoo, Twenga, Yandex, Etsy, Dealtime, Shopzilla, Billiger, Google Product Review feed
6
  Requires at least: 4.5
7
  Tested up to: 5.4
8
- Stable tag: 7.9.7
9
 
10
  == Description ==
11
 
@@ -312,6 +312,9 @@ Questions left or unanswered? Please do not hesitate to contact us at support@ad
312
 
313
  === Changelog ===
314
 
 
 
 
315
  = 7.9.7 (2020-04-18) =
316
  * Removed double Facebook Pixel Purchase event for the eWay Gateway
317
 
@@ -2537,6 +2540,9 @@ Questions left or unanswered? Please do not hesitate to contact us at support@ad
2537
 
2538
  == Upgrade Notice ==
2539
 
 
 
 
2540
  = 7.9.7 =
2541
  Removed double Facebook Pixel Purchase event for the eWay Gateway
2542
 
5
  Tags: Product Feed, Google Shopping, Google Shopping Feed, WooCommerce Product Feed, WooCommerce Product Feed PRO, Bing Shopping, Bing product feed, Bing remarking, Google Merchant Feed, Google DRM Feed, Google Dynamic Remarketing Feed, Facebook feed, Google feed, Bing feed, Facebook Product Feed, Facebook Dynamic remarketing, Data Feed, WooCommerce Feed, XML product feed, CSV product feed, TSV, TXT product feed, comparison shopping engines, comparison shopping websites, vergelijk.nl, vergelijk.be, vertaa.fi, beslist.nl, kieskeurig.nl, bol.com, raketten, pricerunner, pricegrabber, Buy, leGuide, Kelkoo, Twenga, Yandex, Etsy, Dealtime, Shopzilla, Billiger, Google Product Review feed
6
  Requires at least: 4.5
7
  Tested up to: 5.4
8
+ Stable tag: 7.9.8
9
 
10
  == Description ==
11
 
312
 
313
  === Changelog ===
314
 
315
+ = 7.9.8 (2020-04-19) =
316
+ * Solved an issue with multiple filters including empty filters that resulted in too many products in the feed
317
+
318
  = 7.9.7 (2020-04-18) =
319
  * Removed double Facebook Pixel Purchase event for the eWay Gateway
320
 
2540
 
2541
  == Upgrade Notice ==
2542
 
2543
+ = 7.9.8 =
2544
+ * Solved an issue with multiple filters including empty filters that resulted in too many products in the feed
2545
+
2546
  = 7.9.7 =
2547
  Removed double Facebook Pixel Purchase event for the eWay Gateway
2548
 
woocommerce-sea.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * Plugin Name: Product Feed PRO for WooCommerce
4
- * Version: 7.9.7
5
  * Plugin URI: https://www.adtribes.io/support/?utm_source=wpadmin&utm_medium=plugin&utm_campaign=woosea_product_feed_pro
6
  * Description: Configure and maintain your WooCommerce product feeds for Google Shopping, Facebook, Remarketing, Bing, Yandex, Comparison shopping websites and over a 100 channels more.
7
  * Author: AdTribes.io
@@ -48,7 +48,7 @@ if (!defined('ABSPATH')) {
48
  * Plugin versionnumber, please do not override.
49
  * Define some constants
50
  */
51
- define( 'WOOCOMMERCESEA_PLUGIN_VERSION', '7.9.7' );
52
  define( 'WOOCOMMERCESEA_PLUGIN_NAME', 'woocommerce-product-feed-pro' );
53
  define( 'WOOCOMMERCESEA_PLUGIN_NAME_SHORT', 'woo-product-feed-pro' );
54
 
@@ -4274,7 +4274,7 @@ function woosea_license_valid(){
4274
 
4275
  if(!empty($license_information['license_key'])){
4276
  $curl = curl_init();
4277
- $url = "https://www.adtribes.io/check/license.php?key=$license_information[license_key]&email=$license_information[license_email]&domain=$domain&version=7.9.7";
4278
 
4279
  curl_setopt_array($curl, array(
4280
  CURLOPT_RETURNTRANSFER => 1,
1
  <?php
2
  /**
3
  * Plugin Name: Product Feed PRO for WooCommerce
4
+ * Version: 7.9.8
5
  * Plugin URI: https://www.adtribes.io/support/?utm_source=wpadmin&utm_medium=plugin&utm_campaign=woosea_product_feed_pro
6
  * Description: Configure and maintain your WooCommerce product feeds for Google Shopping, Facebook, Remarketing, Bing, Yandex, Comparison shopping websites and over a 100 channels more.
7
  * Author: AdTribes.io
48
  * Plugin versionnumber, please do not override.
49
  * Define some constants
50
  */
51
+ define( 'WOOCOMMERCESEA_PLUGIN_VERSION', '7.9.8' );
52
  define( 'WOOCOMMERCESEA_PLUGIN_NAME', 'woocommerce-product-feed-pro' );
53
  define( 'WOOCOMMERCESEA_PLUGIN_NAME_SHORT', 'woo-product-feed-pro' );
54
 
4274
 
4275
  if(!empty($license_information['license_key'])){
4276
  $curl = curl_init();
4277
+ $url = "https://www.adtribes.io/check/license.php?key=$license_information[license_key]&email=$license_information[license_email]&domain=$domain&version=7.9.8";
4278
 
4279
  curl_setopt_array($curl, array(
4280
  CURLOPT_RETURNTRANSFER => 1,