Version Description
- Modifies the slider, checkbox, radio buttons, and dropdown controls.
- Modifies the HubSpot integration (Platinum versions).
Download this release
Release Info
Developer | codepeople |
Plugin | Calculated Fields Form |
Version | 1.1.131 |
Comparing to | |
See all releases |
Code changes from version 1.1.130 to 1.1.131
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.
|
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.130 =
|
969 |
|
970 |
* Implements two new operations VALIDFORM and VALIDFIELD to validate the forms and fields from the equations and buttons.
|
@@ -1016,8 +1021,4 @@ A: Please, follow the steps below:
|
|
1016 |
= 1.1.122 =
|
1017 |
|
1018 |
* Loads the font files locally instead of Google Fonts.
|
1019 |
-
* Fixes an issue with Phone fields.
|
1020 |
-
|
1021 |
-
= 1.1.121 =
|
1022 |
-
|
1023 |
-
* Improves the plugin security.
|
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.131
|
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.131 =
|
969 |
+
|
970 |
+
* Modifies the slider, checkbox, radio buttons, and dropdown controls.
|
971 |
+
* Modifies the HubSpot integration (Platinum versions).
|
972 |
+
|
973 |
= 1.1.130 =
|
974 |
|
975 |
* Implements two new operations VALIDFORM and VALIDFIELD to validate the forms and fields from the equations and buttons.
|
1021 |
= 1.1.122 =
|
1022 |
|
1023 |
* Loads the font files locally instead of Google Fonts.
|
1024 |
+
* Fixes an issue with Phone fields.
|
|
|
|
|
|
|
|
changelog.txt
CHANGED
@@ -1,5 +1,10 @@
|
|
1 |
== Changelog ==
|
2 |
|
|
|
|
|
|
|
|
|
|
|
3 |
= 1.1.130 =
|
4 |
|
5 |
* Implements two new operations VALIDFORM and VALIDFIELD to validate the forms and fields from the equations and buttons.
|
1 |
== Changelog ==
|
2 |
|
3 |
+
= 1.1.131 =
|
4 |
+
|
5 |
+
* Modifies the slider, checkbox, radio buttons, and dropdown controls.
|
6 |
+
* Modifies the HubSpot integration (Platinum versions).
|
7 |
+
|
8 |
= 1.1.130 =
|
9 |
|
10 |
* Implements two new operations VALIDFORM and VALIDFIELD to validate the forms and fields from the equations and buttons.
|
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.
|
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.
|
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.131
|
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.131' );
|
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.
|
2 |
$.fbuilder['controls'] = $.fbuilder['controls'] || {};
|
3 |
$.fbuilder['forms'] = $.fbuilder['forms'] || {};
|
4 |
|
1 |
+
$.fbuilder['version'] = '1.1.131';
|
2 |
$.fbuilder['controls'] = $.fbuilder['controls'] || {};
|
3 |
$.fbuilder['forms'] = $.fbuilder['forms'] || {};
|
4 |
|
js/fields-public/02_fbuilder.fslider.js
CHANGED
@@ -29,26 +29,26 @@
|
|
29 |
var el = $('#'+this.name+'_slider'),
|
30 |
step = el.slider('option', 'step'),
|
31 |
min = Math.max(el.slider('option', 'min'), step),
|
32 |
-
max = el.slider('option', 'max'),
|
33 |
|
34 |
-
minv = Math.log(Math.max(min, 0.
|
35 |
maxv = Math.log(max),
|
36 |
scale = (maxv - minv) / (max - min);
|
37 |
|
38 |
-
return ROUND(
|
39 |
},
|
40 |
_inverse : function(v)
|
41 |
{
|
42 |
var el = $('#'+this.name+'_slider'),
|
43 |
-
min = el.slider('option', 'min'),
|
44 |
-
max = el.slider('option', 'max'),
|
45 |
step = el.slider('option', 'step'),
|
|
|
|
|
46 |
|
47 |
minv = Math.log(Math.max(min, 0.1)),
|
48 |
maxv = Math.log(max),
|
49 |
scale = (maxv - minv) / (max - min);
|
50 |
|
51 |
-
return ROUND(
|
52 |
},
|
53 |
_setThousandsSeparator : function(v)
|
54 |
{
|
29 |
var el = $('#'+this.name+'_slider'),
|
30 |
step = el.slider('option', 'step'),
|
31 |
min = Math.max(el.slider('option', 'min'), step),
|
32 |
+
max = FLOOR(el.slider('option', 'max')/step)*step,
|
33 |
|
34 |
+
minv = Math.log(Math.max(min, 0.01)),
|
35 |
maxv = Math.log(max),
|
36 |
scale = (maxv - minv) / (max - min);
|
37 |
|
38 |
+
return ROUND(Math.exp( minv + scale * ( v - min ) ), step);
|
39 |
},
|
40 |
_inverse : function(v)
|
41 |
{
|
42 |
var el = $('#'+this.name+'_slider'),
|
|
|
|
|
43 |
step = el.slider('option', 'step'),
|
44 |
+
min = Math.max(el.slider('option', 'min'), step),
|
45 |
+
max = FLOOR(el.slider('option', 'max')/step)*step,
|
46 |
|
47 |
minv = Math.log(Math.max(min, 0.1)),
|
48 |
maxv = Math.log(max),
|
49 |
scale = (maxv - minv) / (max - min);
|
50 |
|
51 |
+
return ROUND( ( ( Math.log( v ) - minv ) / scale + min ), step );
|
52 |
},
|
53 |
_setThousandsSeparator : function(v)
|
54 |
{
|
js/fields-public/06_fbuilder.fcheck.js
CHANGED
@@ -32,12 +32,12 @@
|
|
32 |
|
33 |
classDep = (this.choicesDep[i].length) ? 'depItem': '';
|
34 |
|
35 |
-
str += '<div class="'+this.layout+'"><label for="'+this.name+'_cb'+i+'"><input aria-label="'+cff_esc_attr(this.choices[i])+'" name="'+this.name+'[]" id="'+this.name+'_cb'+i+'" class="field '+classDep+' group '+((this.required)?" required":"")+'" value="'+cff_esc_attr(this.choicesVal[i])+'" vt="'+cff_esc_attr((this.toSubmit == 'text') ? this.choices[i] : this.choicesVal[i])+'" type="checkbox" '+(this.readonly ? ' onclick="return false;" ' : '')+((this.choiceSelected[i])?"checked":"")+'/> '+
|
36 |
(this.onoff ? '<span class="cff-switch"></span>': '') +
|
37 |
'<span>'+
|
38 |
cff_html_decode(this.choices[i])+'</span></label></div>';
|
39 |
}
|
40 |
-
return '<div class="fields '+cff_esc_attr(this.csslayout)+(this.onoff ? ' cff-switch-container' : '')+' '+this.name+' cff-checkbox-field" id="field'+this.form_identifier+'-'+this.index+'"><label>'+this.title+''+((this.required)?"<span class='r'>*</span>":"")+'</label><div class="dfield">'+str+'<div class="clearer"></div
|
41 |
},
|
42 |
enable_disable:function()
|
43 |
{
|
@@ -172,16 +172,12 @@
|
|
172 |
}
|
173 |
var html = me.show(),
|
174 |
e = $('.'+me.name),
|
175 |
-
c = e.attr('class'),
|
176 |
i = e.find('.ignore').length,
|
177 |
ipb = e.find('.ignorepb').length;
|
178 |
-
e.replaceWith(html);
|
179 |
-
e = $('.'+me.name);
|
180 |
-
e.attr('class', c);
|
181 |
if(i) e.find('input').addClass('ignore');
|
182 |
if(ipb) e.find('input').addClass('ignorepb');
|
183 |
-
if(
|
184 |
-
if(!$.isArray(bk)) bk = [bk];
|
185 |
for(var j in bk)
|
186 |
{
|
187 |
try{ bk[j] = JSON.parse(bk[j]); }catch(err){}
|
32 |
|
33 |
classDep = (this.choicesDep[i].length) ? 'depItem': '';
|
34 |
|
35 |
+
str += '<div class="'+this.layout+'"><label for="'+this.name+'_cb'+i+'" '+(!this.tooltipIcon && this.userhelpTooltip && this.userhelp && this.userhelp.length ? 'uh="'+cff_esc_attr(this.userhelp)+'"' : '')+'><input aria-label="'+cff_esc_attr(this.choices[i])+'" name="'+this.name+'[]" id="'+this.name+'_cb'+i+'" class="field '+classDep+' group '+((this.required)?" required":"")+'" value="'+cff_esc_attr(this.choicesVal[i])+'" vt="'+cff_esc_attr((this.toSubmit == 'text') ? this.choices[i] : this.choicesVal[i])+'" type="checkbox" '+(this.readonly ? ' onclick="return false;" ' : '')+((this.choiceSelected[i])?"checked":"")+'/> '+
|
36 |
(this.onoff ? '<span class="cff-switch"></span>': '') +
|
37 |
'<span>'+
|
38 |
cff_html_decode(this.choices[i])+'</span></label></div>';
|
39 |
}
|
40 |
+
return '<div class="fields '+cff_esc_attr(this.csslayout)+(this.onoff ? ' cff-switch-container' : '')+' '+this.name+' cff-checkbox-field" id="field'+this.form_identifier+'-'+this.index+'"><label>'+this.title+''+((this.required)?"<span class='r'>*</span>":"")+'</label><div class="dfield">'+str+'<div class="clearer"></div>'+(!this.userhelpTooltip ? '<span class="uh">'+this.userhelp+'</span>' : '')+'</div><div class="clearer"></div></div>';
|
41 |
},
|
42 |
enable_disable:function()
|
43 |
{
|
172 |
}
|
173 |
var html = me.show(),
|
174 |
e = $('.'+me.name),
|
|
|
175 |
i = e.find('.ignore').length,
|
176 |
ipb = e.find('.ignorepb').length;
|
177 |
+
e.find('.dfield').replaceWith($(html).find('.dfield'));
|
|
|
|
|
178 |
if(i) e.find('input').addClass('ignore');
|
179 |
if(ipb) e.find('input').addClass('ignorepb');
|
180 |
+
if(!$.isArray(bk)) bk = [bk];
|
|
|
181 |
for(var j in bk)
|
182 |
{
|
183 |
try{ bk[j] = JSON.parse(bk[j]); }catch(err){}
|
js/fields-public/07_fbuilder.fradio.js
CHANGED
@@ -41,12 +41,12 @@
|
|
41 |
|
42 |
for (var i=0;i<l;i++)
|
43 |
{
|
44 |
-
str += '<div class="'+this.layout+'"><label for="'+this.name+'_rb'+i+'"><input aria-label="'+cff_esc_attr(this.choices[i])+'" name="'+this.name+'" id="'+this.name+'_rb'+i+'" class="field '+classDep+' group '+((this.required)?" required":"")+'" value="'+cff_esc_attr(this.choicesVal[i])+'" vt="'+cff_esc_attr((this.toSubmit=='text') ? this.choices[i] : this.choicesVal[i])+'" type="radio" '+(this.readonly ? ' onclick="return false;" ' : '')+((this.choices[i]+' - '+this.choicesVal[i]==this.choiceSelected)?"checked":"")+'/> '+
|
45 |
(this.onoff ? '<span class="cff-switch"></span>': '') +
|
46 |
'<span>'+cff_html_decode(this.choices[i])+'</span></label></div>';
|
47 |
}
|
48 |
|
49 |
-
return '<div class="fields '+cff_esc_attr(this.csslayout)+(this.onoff ? ' cff-switch-container' : '')+' '+this.name+' cff-radiobutton-field" id="field'+this.form_identifier+'-'+this.index+'"><label>'+this.title+''+((this.required)?"<span class='r'>*</span>":"")+'</label><div class="dfield">'+str+'<div class="clearer"></div
|
50 |
},
|
51 |
after_show: function()
|
52 |
{
|
@@ -162,16 +162,12 @@
|
|
162 |
}
|
163 |
var html = this.show(),
|
164 |
e = $('.'+this.name),
|
165 |
-
c = e.attr('class'),
|
166 |
i = e.find('.ignore').length,
|
167 |
ipb = e.find('.ignorepb').length;
|
168 |
-
e.replaceWith(html);
|
169 |
-
e = $('.'+this.name);
|
170 |
-
e.attr('class', c);
|
171 |
if(i) e.find('input').addClass('ignore');
|
172 |
if(ipb) e.find('input').addClass('ignorepb');
|
173 |
-
|
174 |
-
try{ bk = JSON.parse(bk); }catch(err){}
|
175 |
this.setVal(bk, this.choicesVal.indexOf(bk) > -1);
|
176 |
}
|
177 |
},
|
41 |
|
42 |
for (var i=0;i<l;i++)
|
43 |
{
|
44 |
+
str += '<div class="'+this.layout+'"><label for="'+this.name+'_rb'+i+'" '+(!this.tooltipIcon && this.userhelpTooltip && this.userhelp && this.userhelp.length ? 'uh="'+cff_esc_attr(this.userhelp)+'"' : '')+'><input aria-label="'+cff_esc_attr(this.choices[i])+'" name="'+this.name+'" id="'+this.name+'_rb'+i+'" class="field '+classDep+' group '+((this.required)?" required":"")+'" value="'+cff_esc_attr(this.choicesVal[i])+'" vt="'+cff_esc_attr((this.toSubmit=='text') ? this.choices[i] : this.choicesVal[i])+'" type="radio" '+(this.readonly ? ' onclick="return false;" ' : '')+((this.choices[i]+' - '+this.choicesVal[i]==this.choiceSelected)?"checked":"")+'/> '+
|
45 |
(this.onoff ? '<span class="cff-switch"></span>': '') +
|
46 |
'<span>'+cff_html_decode(this.choices[i])+'</span></label></div>';
|
47 |
}
|
48 |
|
49 |
+
return '<div class="fields '+cff_esc_attr(this.csslayout)+(this.onoff ? ' cff-switch-container' : '')+' '+this.name+' cff-radiobutton-field" id="field'+this.form_identifier+'-'+this.index+'"><label>'+this.title+''+((this.required)?"<span class='r'>*</span>":"")+'</label><div class="dfield">'+str+'<div class="clearer"></div>'+(!this.userhelpTooltip ? '<span class="uh">'+this.userhelp+'</span>' : '')+'</div><div class="clearer"></div></div>';
|
50 |
},
|
51 |
after_show: function()
|
52 |
{
|
162 |
}
|
163 |
var html = this.show(),
|
164 |
e = $('.'+this.name),
|
|
|
165 |
i = e.find('.ignore').length,
|
166 |
ipb = e.find('.ignorepb').length;
|
167 |
+
e.find('.dfield').replaceWith($(html).find('.dfield'));
|
|
|
|
|
168 |
if(i) e.find('input').addClass('ignore');
|
169 |
if(ipb) e.find('input').addClass('ignorepb');
|
170 |
+
try{ bk = JSON.parse(bk); }catch(err){}
|
|
|
171 |
this.setVal(bk, this.choicesVal.indexOf(bk) > -1);
|
172 |
}
|
173 |
},
|
js/fields-public/08_fbuilder.fdropdown.js
CHANGED
@@ -198,17 +198,9 @@
|
|
198 |
}
|
199 |
if('optgroup' in choices && $.isArray(choices.optgroup)) me.optgroup = choices.optgroup;
|
200 |
var html = me.show(),
|
201 |
-
e = $('.'+me.name)
|
202 |
-
|
203 |
-
|
204 |
-
ipb = e.find('.ignorepb').length;
|
205 |
-
e.replaceWith(html);
|
206 |
-
e = $('.'+me.name);
|
207 |
-
e.attr('class', c);
|
208 |
-
if(i) e.find('select').addClass('ignore');
|
209 |
-
if(ipb) e.find('select').addClass('ignorepb');
|
210 |
-
if(i || ipb) e.hide();
|
211 |
-
if(!$.isArray(bk)) bk = [bk];
|
212 |
for(var j in bk)
|
213 |
{
|
214 |
try{ bk[j] = JSON.parse(bk[j]); }catch(err){}
|
198 |
}
|
199 |
if('optgroup' in choices && $.isArray(choices.optgroup)) me.optgroup = choices.optgroup;
|
200 |
var html = me.show(),
|
201 |
+
e = $('.'+me.name);
|
202 |
+
e.find('select').html($(html).find('select').html());
|
203 |
+
if(!$.isArray(bk)) bk = [bk];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
204 |
for(var j in bk)
|
205 |
{
|
206 |
try{ bk[j] = JSON.parse(bk[j]); }catch(err){}
|