CTX Feed – WooCommerce Product Feed Manager Plugin - Version 3.0.20

Version Description

Download this release

Release Info

Developer wahid0003
Plugin Icon 128x128 CTX Feed – WooCommerce Product Feed Manager Plugin
Version 3.0.20
Comparing to
See all releases

Code changes from version 3.0.19 to 3.0.20

README.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://webappick.com
4
  Tags:woocommerce,google product feed,facebook product feed,woocommerce product feed,woocommerce,
5
  Requires at least: 3.6
6
  Tested Up To: 5.1
7
- Stable tag: 3.0.19
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -299,6 +299,10 @@ Using pro version:
299
 
300
  == Changelog ==
301
 
 
 
 
 
302
  = 3.0.19(2019-04-14) =
303
  * Added: MyShopping.com.au template added
304
 
4
  Tags:woocommerce,google product feed,facebook product feed,woocommerce product feed,woocommerce,
5
  Requires at least: 3.6
6
  Tested Up To: 5.1
7
+ Stable tag: 3.0.20
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
299
 
300
  == Changelog ==
301
 
302
+ = 3.0.20(2019-04-16) =
303
+ * Fixed: Myshopping.com.au XML Category tag issue fixed
304
+ * Fixed: Myshopping.com.au recommended attributes added
305
+
306
  = 3.0.19(2019-04-14) =
307
  * Added: MyShopping.com.au template added
308
 
admin/partials/myshopping.com.au/add-feed.php CHANGED
@@ -25,7 +25,7 @@
25
  </td>
26
  <td>
27
  <input type="text" name="mattributes[]" autocomplete="off" required
28
- class="wf_validate_attr wf_mattributes wf_mattr" value="code"/>
29
  </td>
30
  <td>
31
  <input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
@@ -74,7 +74,7 @@
74
  </td>
75
  <td>
76
  <input type="text" name="mattributes[]" autocomplete="off" required
77
- class="wf_validate_attr wf_mattributes wf_mattr" value="id"/>
78
  </td>
79
  <td>
80
  <input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
@@ -123,7 +123,7 @@
123
  </td>
124
  <td>
125
  <input type="text" name="mattributes[]" autocomplete="off" required
126
- class="wf_validate_attr wf_mattributes wf_mattr" value="title"/>
127
  </td>
128
  <td>
129
  <input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
@@ -173,7 +173,7 @@
173
  </td>
174
  <td>
175
  <input type="text" name="mattributes[]" autocomplete="off" required
176
- class="wf_validate_attr wf_mattributes wf_mattr" value="description"/>
177
  </td>
178
  <td>
179
  <input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
@@ -223,7 +223,7 @@
223
  </td>
224
  <td>
225
  <input type="text" name="mattributes[]" autocomplete="off" required
226
- class="wf_validate_attr wf_mattributes wf_mattr" value="link"/>
227
  </td>
228
  <td>
229
  <input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
@@ -237,7 +237,7 @@
237
  <td>
238
  <select name="attributes[]" required="required"
239
  class="wf_validate_attr wf_attr wf_attributes">
240
- <?php echo $product->attributeDropdown('link'); ?>
241
  </select>
242
  <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
243
  style=" display: none;"/>
@@ -273,7 +273,7 @@
273
  </td>
274
  <td>
275
  <input type="text" name="mattributes[]" autocomplete="off" required
276
- class="wf_validate_attr wf_mattributes wf_mattr" value="image_link"/>
277
  </td>
278
  <td>
279
  <input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
@@ -287,7 +287,7 @@
287
  <td>
288
  <select name="attributes[]" required="required"
289
  class="wf_validate_attr wf_attr wf_attributes">
290
- <?php echo $product->attributeDropdown('image'); ?>
291
  </select>
292
  <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
293
  style=" display: none;"/>
@@ -323,7 +323,7 @@
323
  </td>
324
  <td>
325
  <input type="text" name="mattributes[]" autocomplete="off" required
326
- class="wf_validate_attr wf_mattributes wf_mattr" value="price"/>
327
  </td>
328
  <td>
329
  <input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
@@ -337,7 +337,7 @@
337
  <td>
338
  <select name="attributes[]" required="required"
339
  class="wf_validate_attr wf_attr wf_attributes">
340
- <?php echo $product->attributeDropdown('price'); ?>
341
  </select>
342
  <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
343
  style=" display: none;"/>
@@ -373,7 +373,7 @@
373
  </td>
374
  <td>
375
  <input type="text" name="mattributes[]" autocomplete="off" required
376
- class="wf_validate_attr wf_mattributes wf_mattr" value="categories"/>
377
  </td>
378
  <td>
379
  <input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
@@ -387,7 +387,7 @@
387
  <td>
388
  <select name="attributes[]" required="required"
389
  class="wf_validate_attr wf_attr wf_attributes">
390
- <?php echo $product->attributeDropdown('product_type'); ?>
391
  </select>
392
  <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
393
  style=" display: none;"/>
@@ -423,7 +423,106 @@
423
  </td>
424
  <td>
425
  <input type="text" name="mattributes[]" autocomplete="off" required
426
- class="wf_validate_attr wf_mattributes wf_mattr" value="brand"/>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
427
  </td>
428
  <td>
429
  <input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
@@ -437,7 +536,7 @@
437
  <td>
438
  <select name="attributes[]" required="required"
439
  class="wf_validate_attr wf_attr wf_attributes">
440
- <?php echo $product->attributeDropdown('brand'); ?>
441
  </select>
442
  <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
443
  style=" display: none;"/>
25
  </td>
26
  <td>
27
  <input type="text" name="mattributes[]" autocomplete="off" required
28
+ class="wf_validate_attr wf_mattributes wf_mattr" value="Code"/>
29
  </td>
30
  <td>
31
  <input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
74
  </td>
75
  <td>
76
  <input type="text" name="mattributes[]" autocomplete="off" required
77
+ class="wf_validate_attr wf_mattributes wf_mattr" value="Id"/>
78
  </td>
79
  <td>
80
  <input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
123
  </td>
124
  <td>
125
  <input type="text" name="mattributes[]" autocomplete="off" required
126
+ class="wf_validate_attr wf_mattributes wf_mattr" value="Name"/>
127
  </td>
128
  <td>
129
  <input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
173
  </td>
174
  <td>
175
  <input type="text" name="mattributes[]" autocomplete="off" required
176
+ class="wf_validate_attr wf_mattributes wf_mattr" value="Description"/>
177
  </td>
178
  <td>
179
  <input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
223
  </td>
224
  <td>
225
  <input type="text" name="mattributes[]" autocomplete="off" required
226
+ class="wf_validate_attr wf_mattributes wf_mattr" value="Category"/>
227
  </td>
228
  <td>
229
  <input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
237
  <td>
238
  <select name="attributes[]" required="required"
239
  class="wf_validate_attr wf_attr wf_attributes">
240
+ <?php echo $product->attributeDropdown('product_type'); ?>
241
  </select>
242
  <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
243
  style=" display: none;"/>
273
  </td>
274
  <td>
275
  <input type="text" name="mattributes[]" autocomplete="off" required
276
+ class="wf_validate_attr wf_mattributes wf_mattr" value="Price"/>
277
  </td>
278
  <td>
279
  <input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
287
  <td>
288
  <select name="attributes[]" required="required"
289
  class="wf_validate_attr wf_attr wf_attributes">
290
+ <?php echo $product->attributeDropdown('price'); ?>
291
  </select>
292
  <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
293
  style=" display: none;"/>
323
  </td>
324
  <td>
325
  <input type="text" name="mattributes[]" autocomplete="off" required
326
+ class="wf_validate_attr wf_mattributes wf_mattr" value="Product_URL"/>
327
  </td>
328
  <td>
329
  <input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
337
  <td>
338
  <select name="attributes[]" required="required"
339
  class="wf_validate_attr wf_attr wf_attributes">
340
+ <?php echo $product->attributeDropdown('link'); ?>
341
  </select>
342
  <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
343
  style=" display: none;"/>
373
  </td>
374
  <td>
375
  <input type="text" name="mattributes[]" autocomplete="off" required
376
+ class="wf_validate_attr wf_mattributes wf_mattr" value="Image_URL"/>
377
  </td>
378
  <td>
379
  <input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
387
  <td>
388
  <select name="attributes[]" required="required"
389
  class="wf_validate_attr wf_attr wf_attributes">
390
+ <?php echo $product->attributeDropdown('image'); ?>
391
  </select>
392
  <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
393
  style=" display: none;"/>
423
  </td>
424
  <td>
425
  <input type="text" name="mattributes[]" autocomplete="off" required
426
+ class="wf_validate_attr wf_mattributes wf_mattr" value="Brand"/>
427
+ </td>
428
+ <td>
429
+ <input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
430
+ </td>
431
+ <td>
432
+ <select name="type[]" class="attr_type wfnoempty">
433
+ <option value="attribute"> <?php echo _e('Attribute', 'woo-feed'); ?></option>
434
+ <option value="pattern"> <?php echo _e('Pattern', 'woo-feed'); ?></option>
435
+ </select>
436
+ </td>
437
+ <td>
438
+ <select name="attributes[]" required="required"
439
+ class="wf_validate_attr wf_attr wf_attributes">
440
+ <?php echo $product->attributeDropdown(); ?>
441
+ </select>
442
+ <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
443
+ style=" display: none;"/>
444
+ </td>
445
+ <td>
446
+ <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
447
+ </td>
448
+ <td>
449
+ <select name="output_type[][]" class="outputType wfnoempty">
450
+ <option value="1">Default</option>
451
+ <option value="2">Strip Tags</option>
452
+ <option value="3">UTF-8 Encode</option>
453
+ <option value="4">htmlentities</option>
454
+ <option value="5">Integer</option>
455
+ <option value="6">Price</option>
456
+ <option value="7">Remove Space</option><option value="10">Remove ShortCodes</option><option value="9">Remove Special Character</option>
457
+ <option value="8">CDATA</option>
458
+ </select>
459
+ <i class="dashicons dashicons-editor-expand expandType"></i>
460
+ <i style="display: none;" class="dashicons dashicons-editor-contract contractType"></i>
461
+ </td>
462
+ <td>
463
+ <input type="text" name="limit[]" class="wf_ps"/>
464
+ </td>
465
+ <td>
466
+ <i class="delRow dashicons dashicons-trash"></i>
467
+ </td>
468
+ </tr>
469
+ <tr>
470
+ <td>
471
+ <i class="wf_sortedtable dashicons dashicons-menu"></i>
472
+ </td>
473
+ <td>
474
+ <input type="text" name="mattributes[]" autocomplete="off" required
475
+ class="wf_validate_attr wf_mattributes wf_mattr" value="InStock"/>
476
+ </td>
477
+ <td>
478
+ <input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
479
+ </td>
480
+ <td>
481
+ <select name="type[]" class="attr_type wfnoempty">
482
+ <option value="attribute"> <?php echo _e('Attribute', 'woo-feed'); ?></option>
483
+ <option value="pattern" selected> <?php echo _e('Pattern', 'woo-feed'); ?></option>
484
+ </select>
485
+ </td>
486
+ <td>
487
+ <select name="attributes[]" required="required"
488
+ class="wf_validate_attr wf_attr wf_attributes" style=" display: none;">
489
+ <?php echo $product->attributeDropdown(); ?>
490
+ </select>
491
+ <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
492
+ value="Y" />
493
+ </td>
494
+ <td>
495
+ <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
496
+ </td>
497
+ <td>
498
+ <select name="output_type[][]" class="outputType wfnoempty">
499
+ <option value="1">Default</option>
500
+ <option value="2">Strip Tags</option>
501
+ <option value="3">UTF-8 Encode</option>
502
+ <option value="4">htmlentities</option>
503
+ <option value="5">Integer</option>
504
+ <option value="6">Price</option>
505
+ <option value="7">Remove Space</option><option value="10">Remove ShortCodes</option><option value="9">Remove Special Character</option>
506
+ <option value="8">CDATA</option>
507
+ </select>
508
+ <i class="dashicons dashicons-editor-expand expandType"></i>
509
+ <i style="display: none;" class="dashicons dashicons-editor-contract contractType"></i>
510
+ </td>
511
+ <td>
512
+ <input type="text" name="limit[]" class="wf_ps"/>
513
+ </td>
514
+ <td>
515
+ <i class="delRow dashicons dashicons-trash"></i>
516
+ </td>
517
+ </tr>
518
+
519
+ <tr>
520
+ <td>
521
+ <i class="wf_sortedtable dashicons dashicons-menu"></i>
522
+ </td>
523
+ <td>
524
+ <input type="text" name="mattributes[]" autocomplete="off" required
525
+ class="wf_validate_attr wf_mattributes wf_mattr" value="MPN"/>
526
  </td>
527
  <td>
528
  <input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
536
  <td>
537
  <select name="attributes[]" required="required"
538
  class="wf_validate_attr wf_attr wf_attributes">
539
+ <?php echo $product->attributeDropdown(); ?>
540
  </select>
541
  <input type="text" name="default[]" autocomplete="off" class="wf_default wf_attributes"
542
  style=" display: none;"/>
includes/class-woo-feed.php CHANGED
@@ -70,7 +70,7 @@ class Woo_Feed
70
  public function __construct()
71
  {
72
  $this->woo_feed = 'woo-feed';
73
- $this->version = '3.0.19';
74
 
75
  $this->load_dependencies();
76
  $this->set_locale();
70
  public function __construct()
71
  {
72
  $this->woo_feed = 'woo-feed';
73
+ $this->version = '3.0.20';
74
 
75
  $this->load_dependencies();
76
  $this->set_locale();
includes/feeds/class-woo-feed-custom.php CHANGED
@@ -97,6 +97,10 @@ class Woo_Feed_Custom
97
  } elseif (strpos($value, "<![CDATA[") === false && !is_numeric(trim($value)) && !empty($value)) {
98
  $value = "<![CDATA[$value]]>";
99
  }
 
 
 
 
100
  return "
101
  $space<$attribute>$value</$attribute>";
102
  }
@@ -170,11 +174,7 @@ class Woo_Feed_Custom
170
  }
171
  else if($this->rules['provider'] == 'myshopping.com.au')
172
  {
173
- return "<products version=\"1.0\" standalone=\"yes\">
174
- <datetime>$datetime_now</datetime>
175
- <title>". get_bloginfo('name') ."</title>
176
- <link>". get_bloginfo('url') ."</link>
177
- <description>". get_bloginfo('description') ."</description>";
178
  }
179
  else if($this->rules['provider'] == 'stylight.com')
180
  {
@@ -288,13 +288,17 @@ class Woo_Feed_Custom
288
 
289
  public function get_footer($engine)
290
  {
291
- if(in_array($this->rules['provider'], ['fruugo.au','myshopping.com.au', 'stylight.com', 'nextad', 'skinflint.co.uk', 'comparer.be', 'dooyoo', 'hintaseuranta.fi', 'incurvy', 'kijiji.ca', 'marktplaats.nl', 'rakuten.de', 'shopalike.fr', 'spartoo.fi', 'webmarchand'])) {
292
  return "</products>";
293
  }
294
  else if($this->rules['provider'] == 'zap.co.il')
295
  {
296
  return "</STORE>";
297
  }
 
 
 
 
298
  else
299
  {
300
  return $engine->get_xml_feed_footer();
97
  } elseif (strpos($value, "<![CDATA[") === false && !is_numeric(trim($value)) && !empty($value)) {
98
  $value = "<![CDATA[$value]]>";
99
  }
100
+ if($this->rules['provider'] == 'myshopping.com.au' && $attribute == "Category")
101
+ {
102
+ return "$space<$attribute xml:space=\"preserve\">$value</$attribute>";
103
+ }
104
  return "
105
  $space<$attribute>$value</$attribute>";
106
  }
174
  }
175
  else if($this->rules['provider'] == 'myshopping.com.au')
176
  {
177
+ return "<productset>";
 
 
 
 
178
  }
179
  else if($this->rules['provider'] == 'stylight.com')
180
  {
288
 
289
  public function get_footer($engine)
290
  {
291
+ if(in_array($this->rules['provider'], ['fruugo.au', 'stylight.com', 'nextad', 'skinflint.co.uk', 'comparer.be', 'dooyoo', 'hintaseuranta.fi', 'incurvy', 'kijiji.ca', 'marktplaats.nl', 'rakuten.de', 'shopalike.fr', 'spartoo.fi', 'webmarchand'])) {
292
  return "</products>";
293
  }
294
  else if($this->rules['provider'] == 'zap.co.il')
295
  {
296
  return "</STORE>";
297
  }
298
+ else if($this->rules['provider'] == 'myshopping.com.au')
299
+ {
300
+ return "</productset>";
301
+ }
302
  else
303
  {
304
  return $engine->get_xml_feed_footer();
woo-feed.php CHANGED
@@ -16,7 +16,7 @@
16
  * Plugin Name: WooCommerce Product Feed
17
  * Plugin URI: https://webappick.com/
18
  * Description: This plugin generate WooCommerce product feed for Shopping Engines like Google Shopping,Facebook Product Feed,eBay,Amazon,Idealo and many more..
19
- * Version: 3.0.19
20
  * Author: WebAppick
21
  * Author URI: https://webappick.com/
22
  * License: GPL v2
16
  * Plugin Name: WooCommerce Product Feed
17
  * Plugin URI: https://webappick.com/
18
  * Description: This plugin generate WooCommerce product feed for Shopping Engines like Google Shopping,Facebook Product Feed,eBay,Amazon,Idealo and many more..
19
+ * Version: 3.0.20
20
  * Author: WebAppick
21
  * Author URI: https://webappick.com/
22
  * License: GPL v2