Flexible Checkout Fields for WooCommerce – WooCommerce Checkout Manager - Version 2.5.7

Version Description

  • 2020-10-01 =
  • Fixed saving field values to User Metadata from Order section
  • Added escaping output for field label
Download this release

Release Info

Developer wpdesk
Plugin Icon wp plugin Flexible Checkout Fields for WooCommerce – WooCommerce Checkout Manager
Version 2.5.7
Comparing to
See all releases

Code changes from version 2.5.6 to 2.5.7

classes/plugin.php CHANGED
@@ -293,20 +293,23 @@ class Flexible_Checkout_Fields_Plugin extends \FcfVendor\WPDesk\PluginBuilder\Pl
293
  'section' => 'billing',
294
  'tab' => 'fields_billing',
295
  'tab_title' => __( 'Billing', 'flexible-checkout-fields' ),
296
- 'custom_section' => false
 
297
  ),
298
  'shipping' => array(
299
  'section' => 'shipping',
300
  'tab' => 'fields_shipping',
301
  'tab_title' => __( 'Shipping', 'flexible-checkout-fields' ),
302
- 'custom_section' => false
 
303
  ),
304
  'order' => array(
305
  'section' => 'order',
306
  'tab' => 'fields_order',
307
  'tab_title' => __( 'Order', 'flexible-checkout-fields' ),
308
- 'custom_section' => false
309
- )
 
310
  );
311
 
312
  $all_sections = unserialize( serialize( $sections ) );
@@ -550,6 +553,11 @@ class Flexible_Checkout_Fields_Plugin extends \FcfVendor\WPDesk\PluginBuilder\Pl
550
  }
551
  if ( isset( $field['label'] ) ) {
552
  $new[ $key ][ $field['name'] ]['label'] = stripcslashes( wpdesk__( $field['label'], 'flexible-checkout-fields' ) );
 
 
 
 
 
553
  }
554
  if ( isset( $field['placeholder'] ) ) {
555
  $new[ $key ][ $field['name'] ]['placeholder'] = wpdesk__( $field['placeholder'], 'flexible-checkout-fields' );
293
  'section' => 'billing',
294
  'tab' => 'fields_billing',
295
  'tab_title' => __( 'Billing', 'flexible-checkout-fields' ),
296
+ 'custom_section' => false,
297
+ 'user_meta' => true,
298
  ),
299
  'shipping' => array(
300
  'section' => 'shipping',
301
  'tab' => 'fields_shipping',
302
  'tab_title' => __( 'Shipping', 'flexible-checkout-fields' ),
303
+ 'custom_section' => false,
304
+ 'user_meta' => true,
305
  ),
306
  'order' => array(
307
  'section' => 'order',
308
  'tab' => 'fields_order',
309
  'tab_title' => __( 'Order', 'flexible-checkout-fields' ),
310
+ 'custom_section' => false,
311
+ 'user_meta' => false,
312
+ ),
313
  );
314
 
315
  $all_sections = unserialize( serialize( $sections ) );
553
  }
554
  if ( isset( $field['label'] ) ) {
555
  $new[ $key ][ $field['name'] ]['label'] = stripcslashes( wpdesk__( $field['label'], 'flexible-checkout-fields' ) );
556
+
557
+ // Support for fields rendered by WooCommerce
558
+ if ( isset( $field['type'] ) && in_array( $field['type'], array( 'text', 'textarea', 'select' ), true ) ) {
559
+ $new[ $key ][ $field['name'] ]['label'] = wp_kses_post( $new[ $key ][ $field['name'] ]['label'] );
560
+ }
561
  }
562
  if ( isset( $field['placeholder'] ) ) {
563
  $new[ $key ][ $field['name'] ]['placeholder'] = wpdesk__( $field['placeholder'], 'flexible-checkout-fields' );
classes/user-meta.php CHANGED
@@ -41,6 +41,23 @@ class Flexible_Checkout_Fields_User_Meta {
41
  return false;
42
  }
43
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
  /**
45
  * Update customer meta data.
46
  *
@@ -51,7 +68,7 @@ class Flexible_Checkout_Fields_User_Meta {
51
  $settings = $this->plugin->get_settings();
52
  if ( ! empty( $settings ) ) {
53
  foreach ( $settings as $key => $type ) {
54
- if ( ! $this->is_fcf_section( $key ) ) {
55
  continue;
56
  }
57
  foreach ( $type as $field ) {
41
  return false;
42
  }
43
 
44
+ /**
45
+ * Is allowed section to be stored in User Metadata?
46
+ *
47
+ * @param string $settings_section Key of fields section.
48
+ *
49
+ * @return bool Status of section, returns true if no data.
50
+ */
51
+ private function is_section_allowed_for_usermeta( $settings_section ) {
52
+ $sections = $this->plugin->sections;
53
+ foreach ( $sections as $section ) {
54
+ if ( isset( $section['section'] ) && $section['section'] === $settings_section ) {
55
+ return ( ! isset( $section['user_meta'] ) || $section['user_meta'] );
56
+ }
57
+ }
58
+ return true;
59
+ }
60
+
61
  /**
62
  * Update customer meta data.
63
  *
68
  $settings = $this->plugin->get_settings();
69
  if ( ! empty( $settings ) ) {
70
  foreach ( $settings as $key => $type ) {
71
+ if ( ! $this->is_fcf_section( $key ) || ! $this->is_section_allowed_for_usermeta( $key ) ) {
72
  continue;
73
  }
74
  foreach ( $type as $field ) {
flexible-checkout-fields.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Flexible Checkout Fields
4
  Plugin URI: https://www.wpdesk.net/products/flexible-checkout-fields-pro-woocommerce/
5
  Description: Manage your WooCommerce checkout fields. Change order, labels, placeholders and add new fields.
6
- Version: 2.5.6
7
  Author: WP Desk
8
  Author URI: https://www.wpdesk.net/
9
  Text Domain: flexible-checkout-fields
@@ -39,7 +39,7 @@ if ( ! defined( 'ABSPATH' ) ) {
39
 
40
 
41
  /* THIS VARIABLE CAN BE CHANGED AUTOMATICALLY */
42
- $plugin_version = '2.5.6';
43
 
44
  define( 'FLEXIBLE_CHECKOUT_FIELDS_VERSION', $plugin_version );
45
 
3
  Plugin Name: Flexible Checkout Fields
4
  Plugin URI: https://www.wpdesk.net/products/flexible-checkout-fields-pro-woocommerce/
5
  Description: Manage your WooCommerce checkout fields. Change order, labels, placeholders and add new fields.
6
+ Version: 2.5.7
7
  Author: WP Desk
8
  Author URI: https://www.wpdesk.net/
9
  Text Domain: flexible-checkout-fields
39
 
40
 
41
  /* THIS VARIABLE CAN BE CHANGED AUTOMATICALLY */
42
+ $plugin_version = '2.5.7';
43
 
44
  define( 'FLEXIBLE_CHECKOUT_FIELDS_VERSION', $plugin_version );
45
 
lang/flexible-checkout-fields.pot CHANGED
@@ -7,8 +7,8 @@ msgstr ""
7
  "MIME-Version: 1.0\n"
8
  "Content-Type: text/plain; charset=UTF-8\n"
9
  "Content-Transfer-Encoding: 8bit\n"
10
- "POT-Creation-Date: 2020-09-23T20:17:24+00:00\n"
11
- "PO-Revision-Date: 2020-09-23T20:17:24+00:00\n"
12
  "Language: \n"
13
  "X-Poedit-Basepath: ..\n"
14
  "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
@@ -129,105 +129,105 @@ msgstr ""
129
  msgid "Billing"
130
  msgstr ""
131
 
132
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:301
133
  msgid "Shipping"
134
  msgstr ""
135
 
136
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:307
137
  msgid "Order"
138
  msgstr ""
139
 
140
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:321
141
  msgid "Single Line Text"
142
  msgstr ""
143
 
144
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:325
145
  msgid "Paragraph Text"
146
  msgstr ""
147
 
148
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:333
149
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:338
150
  msgid "Checkbox"
151
  msgstr ""
152
 
153
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:343
154
  msgid "Radio button"
155
  msgstr ""
156
 
157
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:348
158
  msgid "Select (Drop Down)"
159
  msgstr ""
160
 
161
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:353
162
  msgid "Multi-select"
163
  msgstr ""
164
 
165
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:358
166
  msgid "Date"
167
  msgstr ""
168
 
169
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:363
170
  msgid "Time"
171
  msgstr ""
172
 
173
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:368
174
  msgid "Color Picker"
175
  msgstr ""
176
 
177
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:373
178
  msgid "Headline"
179
  msgstr ""
180
 
181
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:378
182
  msgid "HTML"
183
  msgstr ""
184
 
185
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:383
186
  msgid "File Upload"
187
  msgstr ""
188
 
189
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:947
190
  msgid "Advanced"
191
  msgstr ""
192
 
193
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1023
194
  msgid "Uploading file..."
195
  msgstr ""
196
 
197
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1070
198
  msgid "Close"
199
  msgstr ""
200
 
201
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1071
202
  msgid "Today"
203
  msgstr ""
204
 
205
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1074
206
  msgid "Next"
207
  msgstr ""
208
 
209
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1075
210
  msgid "Previous"
211
  msgstr ""
212
 
213
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1103
214
  #: /builds/wpdesk/flexible-checkout-fields/classes/settings.php:165
215
  #: /builds/wpdesk/flexible-checkout-fields/vendor_prefixed/wpdesk/wp-builder/src/Plugin/AbstractPlugin.php:198
216
  #: /builds/wpdesk/flexible-checkout-fields/vendor_prefixed/wpdesk/wp-wpdesk-helper/src/Page/SettingsPage.php:46
217
  msgid "Settings"
218
  msgstr ""
219
 
220
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1105
221
  #: /builds/wpdesk/flexible-checkout-fields/vendor_prefixed/wpdesk/wp-builder/src/Plugin/AbstractPlugin.php:194
222
  msgid "Docs"
223
  msgstr ""
224
 
225
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1106
226
  #: /builds/wpdesk/flexible-checkout-fields/vendor_prefixed/wpdesk/wp-builder/src/Plugin/AbstractPlugin.php:191
227
  msgid "Support"
228
  msgstr ""
229
 
230
- #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1112
231
  msgid "Upgrade"
232
  msgstr ""
233
 
7
  "MIME-Version: 1.0\n"
8
  "Content-Type: text/plain; charset=UTF-8\n"
9
  "Content-Transfer-Encoding: 8bit\n"
10
+ "POT-Creation-Date: 2020-10-01T20:17:18+00:00\n"
11
+ "PO-Revision-Date: 2020-10-01T20:17:18+00:00\n"
12
  "Language: \n"
13
  "X-Poedit-Basepath: ..\n"
14
  "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
129
  msgid "Billing"
130
  msgstr ""
131
 
132
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:302
133
  msgid "Shipping"
134
  msgstr ""
135
 
136
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:309
137
  msgid "Order"
138
  msgstr ""
139
 
140
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:324
141
  msgid "Single Line Text"
142
  msgstr ""
143
 
144
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:328
145
  msgid "Paragraph Text"
146
  msgstr ""
147
 
148
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:336
149
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:341
150
  msgid "Checkbox"
151
  msgstr ""
152
 
153
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:346
154
  msgid "Radio button"
155
  msgstr ""
156
 
157
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:351
158
  msgid "Select (Drop Down)"
159
  msgstr ""
160
 
161
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:356
162
  msgid "Multi-select"
163
  msgstr ""
164
 
165
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:361
166
  msgid "Date"
167
  msgstr ""
168
 
169
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:366
170
  msgid "Time"
171
  msgstr ""
172
 
173
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:371
174
  msgid "Color Picker"
175
  msgstr ""
176
 
177
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:376
178
  msgid "Headline"
179
  msgstr ""
180
 
181
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:381
182
  msgid "HTML"
183
  msgstr ""
184
 
185
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:386
186
  msgid "File Upload"
187
  msgstr ""
188
 
189
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:955
190
  msgid "Advanced"
191
  msgstr ""
192
 
193
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1031
194
  msgid "Uploading file..."
195
  msgstr ""
196
 
197
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1078
198
  msgid "Close"
199
  msgstr ""
200
 
201
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1079
202
  msgid "Today"
203
  msgstr ""
204
 
205
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1082
206
  msgid "Next"
207
  msgstr ""
208
 
209
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1083
210
  msgid "Previous"
211
  msgstr ""
212
 
213
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1111
214
  #: /builds/wpdesk/flexible-checkout-fields/classes/settings.php:165
215
  #: /builds/wpdesk/flexible-checkout-fields/vendor_prefixed/wpdesk/wp-builder/src/Plugin/AbstractPlugin.php:198
216
  #: /builds/wpdesk/flexible-checkout-fields/vendor_prefixed/wpdesk/wp-wpdesk-helper/src/Page/SettingsPage.php:46
217
  msgid "Settings"
218
  msgstr ""
219
 
220
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1113
221
  #: /builds/wpdesk/flexible-checkout-fields/vendor_prefixed/wpdesk/wp-builder/src/Plugin/AbstractPlugin.php:194
222
  msgid "Docs"
223
  msgstr ""
224
 
225
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1114
226
  #: /builds/wpdesk/flexible-checkout-fields/vendor_prefixed/wpdesk/wp-builder/src/Plugin/AbstractPlugin.php:191
227
  msgid "Support"
228
  msgstr ""
229
 
230
+ #: /builds/wpdesk/flexible-checkout-fields/classes/plugin.php:1120
231
  msgid "Upgrade"
232
  msgstr ""
233
 
readme.txt CHANGED
@@ -5,7 +5,7 @@ Donate link: https://www.wpdesk.net/flexible-checkout-fields-woocommerce/
5
  Tags: woocommerce checkout fields, woocommerce custom fields, woocommerce checkout manager, woocommerce checkout editor, woocommerce fields manager, woocommerce fields editor, woocommerce custom checkout fields, woocommerce checkout options, woocommerce checkout pro, woocommerce custom sections, woocommerce file upload
6
  Requires at least: 4.5
7
  Tested up to: 5.5
8
- Stable tag: 2.5.6
9
  Requires PHP: 5.6
10
  License: GPLv3 or later
11
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
@@ -187,6 +187,10 @@ If you are upgrading from the old WooCommerce Checkout Fields version (1.1, wooc
187
 
188
  == Changelog ==
189
 
 
 
 
 
190
  = 2.5.6 - 2020-09-23 =
191
  * Added notice of planned change of required PHP version to 7.0
192
 
5
  Tags: woocommerce checkout fields, woocommerce custom fields, woocommerce checkout manager, woocommerce checkout editor, woocommerce fields manager, woocommerce fields editor, woocommerce custom checkout fields, woocommerce checkout options, woocommerce checkout pro, woocommerce custom sections, woocommerce file upload
6
  Requires at least: 4.5
7
  Tested up to: 5.5
8
+ Stable tag: 2.5.7
9
  Requires PHP: 5.6
10
  License: GPLv3 or later
11
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
187
 
188
  == Changelog ==
189
 
190
+ = 2.5.7 - 2020-10-01 =
191
+ * Fixed saving field values to User Metadata from Order section
192
+ * Added escaping output for field label
193
+
194
  = 2.5.6 - 2020-09-23 =
195
  * Added notice of planned change of required PHP version to 7.0
196
 
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit11f35d127879ae0edc2b68739cf4167a::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInit563aba94c0807c982aca6a3ee4d87eb8::getLoader();
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit11f35d127879ae0edc2b68739cf4167a
6
  {
7
  private static $loader;
8
 
@@ -19,15 +19,15 @@ class ComposerAutoloaderInit11f35d127879ae0edc2b68739cf4167a
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInit11f35d127879ae0edc2b68739cf4167a', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInit11f35d127879ae0edc2b68739cf4167a', 'loadClassLoader'));
25
 
26
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
27
  if ($useStaticLoader) {
28
  require_once __DIR__ . '/autoload_static.php';
29
 
30
- call_user_func(\Composer\Autoload\ComposerStaticInit11f35d127879ae0edc2b68739cf4167a::getInitializer($loader));
31
  } else {
32
  $map = require __DIR__ . '/autoload_namespaces.php';
33
  foreach ($map as $namespace => $path) {
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInit563aba94c0807c982aca6a3ee4d87eb8
6
  {
7
  private static $loader;
8
 
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInit563aba94c0807c982aca6a3ee4d87eb8', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInit563aba94c0807c982aca6a3ee4d87eb8', 'loadClassLoader'));
25
 
26
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
27
  if ($useStaticLoader) {
28
  require_once __DIR__ . '/autoload_static.php';
29
 
30
+ call_user_func(\Composer\Autoload\ComposerStaticInit563aba94c0807c982aca6a3ee4d87eb8::getInitializer($loader));
31
  } else {
32
  $map = require __DIR__ . '/autoload_namespaces.php';
33
  foreach ($map as $namespace => $path) {
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInit11f35d127879ae0edc2b68739cf4167a
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'P' =>
@@ -280,9 +280,9 @@ class ComposerStaticInit11f35d127879ae0edc2b68739cf4167a
280
  public static function getInitializer(ClassLoader $loader)
281
  {
282
  return \Closure::bind(function () use ($loader) {
283
- $loader->prefixLengthsPsr4 = ComposerStaticInit11f35d127879ae0edc2b68739cf4167a::$prefixLengthsPsr4;
284
- $loader->prefixDirsPsr4 = ComposerStaticInit11f35d127879ae0edc2b68739cf4167a::$prefixDirsPsr4;
285
- $loader->classMap = ComposerStaticInit11f35d127879ae0edc2b68739cf4167a::$classMap;
286
 
287
  }, null, ClassLoader::class);
288
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInit563aba94c0807c982aca6a3ee4d87eb8
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'P' =>
280
  public static function getInitializer(ClassLoader $loader)
281
  {
282
  return \Closure::bind(function () use ($loader) {
283
+ $loader->prefixLengthsPsr4 = ComposerStaticInit563aba94c0807c982aca6a3ee4d87eb8::$prefixLengthsPsr4;
284
+ $loader->prefixDirsPsr4 = ComposerStaticInit563aba94c0807c982aca6a3ee4d87eb8::$prefixDirsPsr4;
285
+ $loader->classMap = ComposerStaticInit563aba94c0807c982aca6a3ee4d87eb8::$classMap;
286
 
287
  }, null, ClassLoader::class);
288
  }