CTX Feed – WooCommerce Product Feed Manager Plugin - Version 3.0.32

Version Description

Download this release

Release Info

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

Code changes from version 3.0.31 to 3.0.32

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.2
7
- Stable tag: 3.0.31
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -303,6 +303,9 @@ Using pro version:
303
 
304
  == Changelog ==
305
 
 
 
 
306
  = 3.0.31(2019-05-13) =
307
  * Added: billiger.de template added
308
 
4
  Tags:woocommerce,google product feed,facebook product feed,woocommerce product feed,woocommerce,
5
  Requires at least: 3.6
6
  Tested Up To: 5.2
7
+ Stable tag: 3.0.32
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
303
 
304
  == Changelog ==
305
 
306
+ = 3.0.32(2019-05-16) =
307
+ * Shipping Cost Comment attribute added for idealo template
308
+
309
  = 3.0.31(2019-05-13) =
310
  * Added: billiger.de template added
311
 
admin/partials/templates/idealo_add-feed.php CHANGED
@@ -868,6 +868,55 @@
868
  <i class="delRow dashicons dashicons-trash"></i>
869
  </td>
870
  </tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
871
  </tbody>
872
  <tfoot>
873
  <tr>
868
  <i class="delRow dashicons dashicons-trash"></i>
869
  </td>
870
  </tr>
871
+ <tr>
872
+ <td>
873
+ <i class="wf_sortedtable dashicons dashicons-menu"></i>
874
+ </td>
875
+ <td>
876
+ <input type="text" name="mattributes[]" autocomplete="off" required
877
+ class="wf_validate_attr wf_mattributes wf_mattr" value="Shipping cost comment" />
878
+ </td>
879
+ <td>
880
+ <input type="text" name="prefix[]" autocomplete="off" class="wf_ps"/>
881
+ </td>
882
+ <td>
883
+ <select name="type[]" class="attr_type wfnoempty">
884
+ <option value="attribute"> <?php echo _e('Attribute', 'woo-feed'); ?></option>
885
+ <option selected value="pattern"> <?php echo _e('Pattern', 'woo-feed'); ?></option>
886
+ </select>
887
+ </td>
888
+ <td>
889
+ <select name="attributes[]" required="required" style=" display: none;"
890
+ class="wf_validate_attr wf_attr wf_attributes">
891
+ <?php echo $product->attributeDropdown(); ?>
892
+ </select>
893
+ <input type="text" value="" name="default[]" autocomplete="off" class="wf_default wf_attributes"
894
+ />
895
+ </td>
896
+ <td>
897
+ <input type="text" name="suffix[]" autocomplete="off" class="wf_ps"/>
898
+ </td>
899
+ <td>
900
+ <select name="output_type[][]" class="outputType wfnoempty">
901
+ <option value="1">Default</option>
902
+ <option value="2">Strip Tags</option>
903
+ <option value="3">UTF-8 Encode</option>
904
+ <option value="4">htmlentities</option>
905
+ <option value="5">Integer</option>
906
+ <option value="6">Price</option>
907
+ <option value="7">Remove Space</option><option value="10">Remove ShortCodes</option><option value="9">Remove Special Character</option>
908
+ <option value="8">CDATA</option>
909
+ </select>
910
+ <i class="dashicons dashicons-editor-expand expandType"></i>
911
+ <i style="display: none;" class="dashicons dashicons-editor-contract contractType"></i>
912
+ </td>
913
+ <td>
914
+ <input type="text" name="limit[]" class="wf_ps"/>
915
+ </td>
916
+ <td>
917
+ <i class="delRow dashicons dashicons-trash"></i>
918
+ </td>
919
+ </tr>
920
  </tbody>
921
  <tfoot>
922
  <tr>
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.31';
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.32';
74
 
75
  $this->load_dependencies();
76
  $this->set_locale();
includes/classes/class-woo-feed-products.php CHANGED
@@ -142,26 +142,10 @@ class Woo_Feed_Products
142
  $query = new WC_Product_Query( $arg );
143
  $products = $query->get_products();
144
 
145
- // $upload_dir = wp_upload_dir();
146
- // $error_log_path = $upload_dir['basedir'] . '/woo-feed/error_log.txt';
147
- // $error_log_file = fopen($error_log_path, "a");
148
- // $no_product_error_thrown = false;
149
-
150
- // if(count($products) < 1)
151
- // {
152
- // fwrite($error_log_file, "[". date("Y-m-d H:i:s", time()) ."] NOTICE [8] No products found.\n");
153
- // $no_product_error_thrown = true;
154
- // }
155
-
156
  $this->pi = 1; # Product Index
157
  foreach ( $products as $key => $productId ) {
158
  $prod=wc_get_product($productId);
159
 
160
- // if(!$prod && !is_object($prod)){
161
- // fwrite($error_log_file, "[". date("Y-m-d H:i:s", time()) ."] NOTICE [8] The product is not an object. Product ID: ". $productId ."\n");
162
- // continue;
163
- // }
164
-
165
  $id = $prod->get_id();
166
 
167
  if($getIDs){
@@ -179,11 +163,6 @@ class Woo_Feed_Products
179
 
180
  $simple = new WC_Product_Simple( $id );
181
 
182
- // if($simple->get_status()!="publish"){
183
- // fwrite($error_log_file, "[". date("Y-m-d H:i:s", time()) ."] NOTICE [". E_NOTICE ."] A product was found to be unpublished. Skipping. Product id: " . $simple->get_id() . "\n");
184
- // continue;
185
- // }
186
-
187
  $this->productsList[ $this->pi ]["id"] = $simple->get_id();
188
  $this->productsList[ $this->pi ]["title"] = $simple->get_name();
189
  $this->productsList[ $this->pi ]["description"] = $this->remove_short_codes($simple->get_description());
@@ -270,11 +249,6 @@ class Woo_Feed_Products
270
 
271
  $external = new WC_Product_External( $id );
272
 
273
- // if($external->get_status()!="publish"){
274
- // fwrite($error_log_file, "[". date("Y-m-d H:i:s", time()) ."] NOTICE [". E_NOTICE ."] A product was found to be unpublished. Skipping. Product id: " . $external->get_id() . "\n");
275
- // continue;
276
- // }
277
-
278
  $this->productsList[ $this->pi ]["id"] = $external->get_id();
279
  $this->productsList[ $this->pi ]["title"] = $external->get_name();
280
  $this->productsList[ $this->pi ]["description"] = $this->remove_short_codes($external->get_description());
@@ -360,11 +334,6 @@ class Woo_Feed_Products
360
 
361
  $grouped = new WC_Product_Grouped( $id );
362
 
363
- // if($grouped->get_status()!="publish"){
364
- // fwrite($error_log_file, "[". date("Y-m-d H:i:s", time()) ."] NOTICE [". E_NOTICE ."] A product was found to be unpublished. Skipping. Product id: " . $grouped->get_id() . "\n");
365
- // continue;
366
- // }
367
-
368
  $this->productsList[ $this->pi ]["id"] = $grouped->get_id();
369
  $this->productsList[ $this->pi ]["title"] = $grouped->get_name();
370
  $this->productsList[ $this->pi ]["description"] = $this->remove_short_codes($grouped->get_description());
@@ -449,12 +418,6 @@ class Woo_Feed_Products
449
 
450
  $variable = new WC_Product_Variable( $id );
451
 
452
- // if($variable->get_status()!="publish"){
453
- // fwrite($error_log_file, "[". date("Y-m-d H:i:s", time()) ."] NOTICE [". E_NOTICE ."] A product was found to be unpublished. Skipping. Product id: " . $variable->get_id() . "\n");
454
- // continue;
455
- // }
456
-
457
-
458
  $this->productsList[ $this->pi ]["id"] = $variable->get_id();
459
  $this->productsList[ $this->pi ]["title"] = $variable->get_name();
460
  $this->productsList[ $this->pi ]["description"] = $this->remove_short_codes($variable->get_description());
@@ -556,17 +519,6 @@ class Woo_Feed_Products
556
  continue;
557
  }
558
 
559
-
560
- // if($parent->get_status()!= "publish")
561
- // {
562
- // fwrite($error_log_file, "[". date("Y-m-d H:i:s", time()) ."] NOTICE [". E_NOTICE ."] A product was found to be unpublished. Skipping. Product id: " . $variation->get_id() . "\n");
563
- // continue;
564
- // }
565
-
566
- $parentInfo=$variation->get_parent_data();
567
- $variationTitle= $parentInfo['title'];
568
-
569
-
570
  # Set Variation Description
571
  $description=$variation->get_description();
572
  if(empty($description)){
@@ -686,13 +638,6 @@ class Woo_Feed_Products
686
  update_option("wf_check_duplicate",$this->idExist);
687
  }
688
 
689
- // if(!$no_product_error_thrown && ($this->productsList == "" || count($this->productsList) == 0))
690
- // {
691
- // fwrite($error_log_file, "[". date("Y-m-d H:i:s", time()) ."] NOTICE [8] No products found.\n");
692
- // }
693
- //
694
- // fclose($error_log_file);
695
-
696
  return $this->productsList;
697
  }
698
 
142
  $query = new WC_Product_Query( $arg );
143
  $products = $query->get_products();
144
 
 
 
 
 
 
 
 
 
 
 
 
145
  $this->pi = 1; # Product Index
146
  foreach ( $products as $key => $productId ) {
147
  $prod=wc_get_product($productId);
148
 
 
 
 
 
 
149
  $id = $prod->get_id();
150
 
151
  if($getIDs){
163
 
164
  $simple = new WC_Product_Simple( $id );
165
 
 
 
 
 
 
166
  $this->productsList[ $this->pi ]["id"] = $simple->get_id();
167
  $this->productsList[ $this->pi ]["title"] = $simple->get_name();
168
  $this->productsList[ $this->pi ]["description"] = $this->remove_short_codes($simple->get_description());
249
 
250
  $external = new WC_Product_External( $id );
251
 
 
 
 
 
 
252
  $this->productsList[ $this->pi ]["id"] = $external->get_id();
253
  $this->productsList[ $this->pi ]["title"] = $external->get_name();
254
  $this->productsList[ $this->pi ]["description"] = $this->remove_short_codes($external->get_description());
334
 
335
  $grouped = new WC_Product_Grouped( $id );
336
 
 
 
 
 
 
337
  $this->productsList[ $this->pi ]["id"] = $grouped->get_id();
338
  $this->productsList[ $this->pi ]["title"] = $grouped->get_name();
339
  $this->productsList[ $this->pi ]["description"] = $this->remove_short_codes($grouped->get_description());
418
 
419
  $variable = new WC_Product_Variable( $id );
420
 
 
 
 
 
 
 
421
  $this->productsList[ $this->pi ]["id"] = $variable->get_id();
422
  $this->productsList[ $this->pi ]["title"] = $variable->get_name();
423
  $this->productsList[ $this->pi ]["description"] = $this->remove_short_codes($variable->get_description());
519
  continue;
520
  }
521
 
 
 
 
 
 
 
 
 
 
 
 
522
  # Set Variation Description
523
  $description=$variation->get_description();
524
  if(empty($description)){
638
  update_option("wf_check_duplicate",$this->idExist);
639
  }
640
 
 
 
 
 
 
 
 
641
  return $this->productsList;
642
  }
643
 
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.31
20
  * Author: WebAppick
21
  * Author URI: https://webappick.com/
22
  * License: GPL v2
@@ -85,73 +85,6 @@ function run_woo_feed()
85
 
86
  run_woo_feed();
87
 
88
- //error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
89
- //
90
- //// error handler function
91
- //function woo_feed_myErrorHandler($errno, $errstr, $errfile, $errline)
92
- //{
93
- // if (!(error_reporting() & $errno)) {
94
- // // This error code is not included in error_reporting, so let it fall
95
- // // through to the standard PHP error handler
96
- // return false;
97
- // }
98
- //
99
- // $upload_dir = wp_upload_dir();
100
- // $woo_feed_path = $upload_dir['basedir'] . '/woo-feed';
101
- //
102
- // if(!file_exists($woo_feed_path))
103
- // {
104
- // mkdir($woo_feed_path, 0777);
105
- // }
106
- //
107
- // $log_file_path = $woo_feed_path . '/error_log.txt';
108
- //
109
- // $log_file = fopen($log_file_path, "a");
110
- //
111
- // switch ($errno) {
112
- // case E_ERROR:
113
- // fwrite($log_file, "[". date("Y-m-d H:i:s", time()) ."] FATAL ERROR [$errno] $errstr in $errfile, line no: $errline, PHP " . PHP_VERSION . " (" . PHP_OS . ")\n");
114
- // break;
115
- //
116
- // case E_WARNING:
117
- // // echo "<b>My WARNING</b> [$errno] $errstr<br />\n";
118
- // fwrite($log_file, "[". date("Y-m-d H:i:s", time()) ."] WARNING [$errno] $errstr in $errfile, line no: $errline\n");
119
- // break;
120
- //
121
- // case E_NOTICE:
122
- // // echo "<b>My NOTICE</b> [$errno] $errstr<br />\n";
123
- // fwrite($log_file, "[". date("Y-m-d H:i:s", time()) ."] NOTICE [$errno] $errstr in $errfile, line no: $errline\n");
124
- // break;
125
- //
126
- // default:
127
- // // echo "Unknown error type: [$errno] $errstr<br />\n";
128
- // fwrite($log_file, "Unkown error [". date("Y-m-d H:i:s", time()) ."] type: [$errno] $errstr in $errfile, line no: $errline\n");
129
- // break;
130
- // }
131
- //
132
- // fclose($log_file);
133
- // chmod($log_file_path, 0777);
134
- // /* Don't execute PHP internal error handler */
135
- // return true;
136
- //}
137
- //
138
- //
139
- //$error_debuggin_enabled = get_option('woo_feed_enable_error_debugging');
140
- //function fatalErrorShutdownHandler()
141
- //{
142
- // $last_error = error_get_last();
143
- // if ($last_error['type'] === E_ERROR) {
144
- // // fatal error
145
- // myErrorHandler(E_ERROR, $last_error['message'], $last_error['file'], $last_error['line']);
146
- // }
147
- //}
148
- //
149
- //if($error_debuggin_enabled == 'on')
150
- //{
151
- // set_error_handler("myErrorHandler");
152
- // register_shutdown_function('fatalErrorShutdownHandler');
153
- //}
154
-
155
  # Custom Cron Recurrences
156
  function custom_cron_job_custom_recurrence($schedules)
157
  {
@@ -912,15 +845,6 @@ function woo_feed_config_feed(){
912
  update_option("woo_feed_enable_error_debugging", "off");
913
  }
914
  }
915
- // $upload_dir = wp_upload_dir();
916
- // $error_debuggin_enabled = get_option('woo_feed_enable_error_debugging');
917
-
918
- // $error_file_path = $upload_dir['basedir'] . '/woo-feed/error_log.txt';
919
- // $errors = '';
920
- // if($error_debuggin_enabled == 'on' && file_exists($error_file_path))
921
- // {
922
- // $errors = file_get_contents($error_file_path);
923
- // }
924
 
925
  require plugin_dir_path(__FILE__) . 'admin/partials/woo-feed-config.php';
926
  }
@@ -1262,15 +1186,3 @@ function woo_feed_save_wpml_notice() {
1262
  }
1263
 
1264
 
1265
-
1266
- //$error_handler = set_error_handler("woo_feed_myErrorHandler");
1267
- //register_shutdown_function('woo_feed_fatalErrorShutdownHandler');
1268
- //function woo_feed_fatalErrorShutdownHandler()
1269
- //{
1270
- // $last_error = error_get_last();
1271
- // if ($last_error['type'] === E_ERROR) {
1272
- // // fatal error
1273
- // woo_feed_myErrorHandler(E_ERROR,$last_error['message'],$last_error['file'],$last_error['line']);
1274
- // }
1275
- //}
1276
-
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.32
20
  * Author: WebAppick
21
  * Author URI: https://webappick.com/
22
  * License: GPL v2
85
 
86
  run_woo_feed();
87
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
88
  # Custom Cron Recurrences
89
  function custom_cron_job_custom_recurrence($schedules)
90
  {
845
  update_option("woo_feed_enable_error_debugging", "off");
846
  }
847
  }
 
 
 
 
 
 
 
 
 
848
 
849
  require plugin_dir_path(__FILE__) . 'admin/partials/woo-feed-config.php';
850
  }
1186
  }
1187
 
1188