Calculated Fields Form - Version 1.1.133

Version Description

  • Modifies dynamic transform on currency, numbers, and calculated fields.
  • Fixes an issue by evaluating custom scripts in cached forms when libraries like jQuery have not been still loaded (Professional, Developer, and Platinum versions).
Download this release

Release Info

Developer codepeople
Plugin Icon 128x128 Calculated Fields Form
Version 1.1.133
Comparing to
See all releases

Code changes from version 1.1.132 to 1.1.133

README.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: http://cff.dwbooster.com
4
  Tags: form,quote form,contact form,form builder,calculator,calculated,quote calculator,forms,form editor,advanced forms,payment calculator,payment,recurring payment,quote,fields,calculated field,price calculator,email,form design,paypal,equation editor,formula,equation,quote calculator,post,posts,plugin,widget,admin,sidebar,images,image,page,shortcode,products form,woocommerce,addons,layout,session,post,cookie,get,webhook,Dropbox,pdf,language
5
  Requires at least: 3.0.5
6
  Tested up to: 6.1
7
- Stable tag: 1.1.132
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -965,6 +965,11 @@ A: Please, follow the steps below:
965
 
966
  == Changelog ==
967
 
 
 
 
 
 
968
  = 1.1.132 =
969
 
970
  * Modifies the slider controls and dependencies.
@@ -1016,11 +1021,4 @@ A: Please, follow the steps below:
1016
 
1017
  = 1.1.124 =
1018
 
1019
- * Implements the Text Operations module.
1020
-
1021
- = 1.1.123 =
1022
-
1023
- * Implements two new operations CFFCOUNTIF and CFFFILTER.
1024
- * Fixes a minor issue in the advanced equations editor.
1025
- * Prevents involuntary endless loop using operands with |n modifier.
1026
- * Prevents third-party plugins affecting the redirection to the thank you page (Professional, Developer and Platinum distributions).
4
  Tags: form,quote form,contact form,form builder,calculator,calculated,quote calculator,forms,form editor,advanced forms,payment calculator,payment,recurring payment,quote,fields,calculated field,price calculator,email,form design,paypal,equation editor,formula,equation,quote calculator,post,posts,plugin,widget,admin,sidebar,images,image,page,shortcode,products form,woocommerce,addons,layout,session,post,cookie,get,webhook,Dropbox,pdf,language
5
  Requires at least: 3.0.5
6
  Tested up to: 6.1
7
+ Stable tag: 1.1.133
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
965
 
966
  == Changelog ==
967
 
968
+ = 1.1.133 =
969
+
970
+ * Modifies dynamic transform on currency, numbers, and calculated fields.
971
+ * Fixes an issue by evaluating custom scripts in cached forms when libraries like jQuery have not been still loaded (Professional, Developer, and Platinum versions).
972
+
973
  = 1.1.132 =
974
 
975
  * Modifies the slider controls and dependencies.
1021
 
1022
  = 1.1.124 =
1023
 
1024
+ * Implements the Text Operations module.
 
 
 
 
 
 
 
changelog.txt CHANGED
@@ -1,5 +1,10 @@
1
  == Changelog ==
2
 
 
 
 
 
 
3
  = 1.1.132 =
4
 
5
  * Modifies the slider controls and dependencies.
1
  == Changelog ==
2
 
3
+ = 1.1.133 =
4
+
5
+ * Modifies dynamic transform on currency, numbers, and calculated fields.
6
+ * Fixes an issue by evaluating custom scripts in cached forms when libraries like jQuery have not been still loaded (Professional, Developer, and Platinum versions).
7
+
8
  = 1.1.132 =
9
 
10
  * Modifies the slider controls and dependencies.
cp_calculatedfieldsf_free.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Calculated Fields Form
4
  Plugin URI: https://cff.dwbooster.com
5
  Description: Create forms with field values calculated based in other form field values.
6
- Version: 1.1.132
7
  Text Domain: calculated-fields-form
8
  Author: CodePeople
9
  Author URI: https://cff.dwbooster.com
@@ -15,7 +15,7 @@ if ( ! defined( 'WP_DEBUG' ) || true != WP_DEBUG ) {
15
  }
16
 
17
  // Defining main constants
18
- define( 'CP_CALCULATEDFIELDSF_VERSION', '1.1.132' );
19
  define( 'CP_CALCULATEDFIELDSF_MAIN_FILE_PATH', __FILE__ );
20
  define( 'CP_CALCULATEDFIELDSF_BASE_PATH', dirname( CP_CALCULATEDFIELDSF_MAIN_FILE_PATH ) );
21
  define( 'CP_CALCULATEDFIELDSF_BASE_NAME', plugin_basename( CP_CALCULATEDFIELDSF_MAIN_FILE_PATH ) );
3
  Plugin Name: Calculated Fields Form
4
  Plugin URI: https://cff.dwbooster.com
5
  Description: Create forms with field values calculated based in other form field values.
6
+ Version: 1.1.133
7
  Text Domain: calculated-fields-form
8
  Author: CodePeople
9
  Author URI: https://cff.dwbooster.com
15
  }
16
 
17
  // Defining main constants
18
+ define( 'CP_CALCULATEDFIELDSF_VERSION', '1.1.133' );
19
  define( 'CP_CALCULATEDFIELDSF_MAIN_FILE_PATH', __FILE__ );
20
  define( 'CP_CALCULATEDFIELDSF_BASE_PATH', dirname( CP_CALCULATEDFIELDSF_MAIN_FILE_PATH ) );
21
  define( 'CP_CALCULATEDFIELDSF_BASE_NAME', plugin_basename( CP_CALCULATEDFIELDSF_MAIN_FILE_PATH ) );
js/fbuilder-pro-public.jquery.js CHANGED
@@ -1,4 +1,4 @@
1
- $.fbuilder['version'] = '1.1.132';
2
  $.fbuilder['controls'] = $.fbuilder['controls'] || {};
3
  $.fbuilder['forms'] = $.fbuilder['forms'] || {};
4
 
@@ -49,11 +49,20 @@
49
  thousand = $.fbuilder.escapeSymbol($.trim((typeof thousand != 'undefined') ? thousand : ','));
50
  decimal = $.trim((!!!decimal || /^\s*$/.test(decimal)) ? '.': decimal);
51
 
52
- var t = (new String(value)).replace(new RegExp((/^\s*$/.test(thousand) ? '\,' : thousand)+'\(\\d{1,2}\)$' ), decimal+'$1')
53
- .replace( new RegExp(thousand, 'g'), '' )
54
- .replace( new RegExp($.fbuilder.escapeSymbol(decimal), 'g' ), '.' )
55
- .replace( /\s/g, '' ),
56
- p = /[+\-]?((\d+(\.\d+)?)|(\.\d+))(?:[eE][+\-]?\d+)?/.exec( t );
 
 
 
 
 
 
 
 
 
57
  return (p) ? ((/^0\d/.test(p[0])) ? p[0].substr(1) : p[0])*1 : $.fbuilder['parseValStr'](value, false, no_quotes);
58
  };
59
 
@@ -520,6 +529,11 @@
520
  IGNOREFIELD(items[i].name, items[i].form_identifier);
521
  }
522
 
 
 
 
 
 
523
  $(document).on(
524
  'change',
525
  '#fieldlist'+opt.identifier+' .depItemSel,'+'#fieldlist'+opt.identifier+' .depItem',
1
+ $.fbuilder['version'] = '1.1.133';
2
  $.fbuilder['controls'] = $.fbuilder['controls'] || {};
3
  $.fbuilder['forms'] = $.fbuilder['forms'] || {};
4
 
49
  thousand = $.fbuilder.escapeSymbol($.trim((typeof thousand != 'undefined') ? thousand : ','));
50
  decimal = $.trim((!!!decimal || /^\s*$/.test(decimal)) ? '.': decimal);
51
 
52
+ var p, _thousand = /^\s*$/.test(thousand) ? '\,' : thousand,
53
+ t = new String(value);
54
+
55
+ try {
56
+ if ( 1 == t.match(new RegExp( _thousand, 'g' ) ).length ) {
57
+ t = t.replace(new RegExp(_thousand+'\(\\d{1,2}\)$' ), decimal+'$1');
58
+ }
59
+ } catch(err){}
60
+
61
+ t = t.replace( new RegExp(thousand, 'g'), '' )
62
+ .replace( new RegExp($.fbuilder.escapeSymbol(decimal), 'g' ), '.' )
63
+ .replace( /\s/g, '' );
64
+ p = /[+\-]?((\d+(\.\d+)?)|(\.\d+))(?:[eE][+\-]?\d+)?/.exec( t );
65
+
66
  return (p) ? ((/^0\d/.test(p[0])) ? p[0].substr(1) : p[0])*1 : $.fbuilder['parseValStr'](value, false, no_quotes);
67
  };
68
 
529
  IGNOREFIELD(items[i].name, items[i].form_identifier);
530
  }
531
 
532
+ // Evaluate delayed script in cached forms:
533
+ $('script[type="cff-script"]').each(function(){
534
+ $(this).after(this.outerHTML.replace('cff-script','text/javascript')).remove();
535
+ });
536
+
537
  $(document).on(
538
  'change',
539
  '#fieldlist'+opt.identifier+' .depItemSel,'+'#fieldlist'+opt.identifier+' .depItem',
js/fields-public/08_fbuilder.fdropdown.js CHANGED
@@ -160,7 +160,7 @@
160
  else v.push(t);
161
  });
162
  }
163
- return (typeof v == 'object' && typeof v['length'] !== 'undefined') ? v : ((v) ? (($.isNumeric(v)) ? v : '"'+v+'"') : 0);
164
  },
165
  setVal:function(v, nochange, _default)
166
  {
160
  else v.push(t);
161
  });
162
  }
163
+ return (typeof v == 'object' && typeof v['length'] !== 'undefined') ? v : ((v) ? (($.isNumeric(v) || no_quotes) ? v : '"'+v+'"') : 0);
164
  },
165
  setVal:function(v, nochange, _default)
166
  {
js/fields-public/fbuilder.fcalculated.js CHANGED
@@ -95,7 +95,7 @@
95
  me.formatDynamically
96
  )
97
  {
98
- var v = me.val(true, true);
99
  this.value = $.fbuilder.calculator.format(v, me.configuration());
100
  }
101
  try
95
  me.formatDynamically
96
  )
97
  {
98
+ var v = (me.val(true, true)+'').replace( new RegExp( '[^\\-\\d'+me.decimalsymbol.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&')+']', 'g' ), '' ).replace(/[^\d\-]/g, '.');
99
  this.value = $.fbuilder.calculator.format(v, me.configuration());
100
  }
101
  try