Calculated Fields Form - Version 1.1.65

Version Description

  • Implements a new option in the form settings tab to activate animations in the page breaks (for multipage forms) and dependencies.
  • Makes a minor correction in template 14.
  • Assigns autocomplete attribute with new-password to the password controls.
Download this release

Release Info

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

Code changes from version 1.1.64 to 1.1.65

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: 5.9
7
- Stable tag: 1.1.64
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -965,6 +965,12 @@ A: Please, follow the steps below:
965
 
966
  == Changelog ==
967
 
 
 
 
 
 
 
968
  = 1.1.64 =
969
 
970
  * Modifies the NTHROOT operation and implements the PRINTFORM operation for printing the form area.
@@ -1006,10 +1012,4 @@ A: Please, follow the steps below:
1006
  * Implements the operations DECIMALTOSCIENTIFIC, FRACTIONSUM, FRACTIONSUB, FRACTIONMULT, and FRACTIONDIV.
1007
  * Modifies the calculated fields settings.
1008
  * Fixes a minor error with the minimum price of WooCommerce add-on (Developer and Platinum versions).
1009
- * Modifies the events in the DS fields (Developer and Platinum versions).
1010
-
1011
- = 1.1.57 =
1012
-
1013
- * Integrates the Select2 library with the DropDown controls.
1014
- * Modifies iPhone keyboards for decimals.
1015
- * Implements the eWay Payment Gateway integration (Platinum version).
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: 5.9
7
+ Stable tag: 1.1.65
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.65 =
969
+
970
+ * Implements a new option in the form settings tab to activate animations in the page breaks (for multipage forms) and dependencies.
971
+ * Makes a minor correction in template 14.
972
+ * Assigns autocomplete attribute with new-password to the password controls.
973
+
974
  = 1.1.64 =
975
 
976
  * Modifies the NTHROOT operation and implements the PRINTFORM operation for printing the form area.
1012
  * Implements the operations DECIMALTOSCIENTIFIC, FRACTIONSUM, FRACTIONSUB, FRACTIONMULT, and FRACTIONDIV.
1013
  * Modifies the calculated fields settings.
1014
  * Fixes a minor error with the minimum price of WooCommerce add-on (Developer and Platinum versions).
1015
+ * Modifies the events in the DS fields (Developer and Platinum versions).
 
 
 
 
 
 
changelog.txt CHANGED
@@ -1,5 +1,11 @@
1
  == Changelog ==
2
 
 
 
 
 
 
 
3
  = 1.1.64 =
4
 
5
  * Modifies the NTHROOT operation and implements the PRINTFORM operation for printing the form area.
@@ -524,10 +530,4 @@
524
 
525
  * Fixes a minor issue in the radio buttons controls.
526
  * Modifies the WooCommerce add-on to allow editing the products added to the cart (Developer and Platinum versions).
527
- * Modifies the Users Permissions add-on (Developer and Platinum versions).
528
-
529
- = 1.0.433 =
530
-
531
- * Modifies the collapsible behavior in the fieldset fields.
532
- * Includes additional validations in the DS fields (Developer and Platinum versions).
533
- * Fixes a conflict with the reCAPTCHA styles (Developer and Platinum versions).
1
  == Changelog ==
2
 
3
+ = 1.1.65 =
4
+
5
+ * Implements a new option in the form settings tab to activate animations in the page breaks (for multipage forms) and dependencies.
6
+ * Makes a minor correction in template 14.
7
+ * Assigns autocomplete attribute with new-password to the password controls.
8
+
9
  = 1.1.64 =
10
 
11
  * Modifies the NTHROOT operation and implements the PRINTFORM operation for printing the form area.
530
 
531
  * Fixes a minor issue in the radio buttons controls.
532
  * Modifies the WooCommerce add-on to allow editing the products added to the cart (Developer and Platinum versions).
533
+ * Modifies the Users Permissions add-on (Developer and Platinum versions).
 
 
 
 
 
 
config/cpcff_config.cfg.php CHANGED
@@ -28,11 +28,11 @@ define('CP_CALCULATEDFIELDSF_DEFAULT_display_submit_button', get_option('CP_CALC
28
 
29
  // Default forms
30
  define('CP_CALCULATEDFIELDSF_DEFAULT_form_structure', '[[{"name":"fieldname2","index":0,"title":"Number","predefined":"5","ftype":"fnumber","userhelp":"","csslayout":"","required":false,"size":"medium","min":"","max":"","dformat":"digits","formats":["digits","number"]},{"name":"separator1","index":1,"title":"The field below will show the double of the number above.","userhelp":"","ftype":"fSectionBreak","csslayout":""},{"name":"fieldname1","index":2,"title":"Calculated Value","eq":"fieldname2*2","ftype":"fCalculated","userhelp":"","csslayout":"","predefined":"","required":false,"size":"medium","readonly":true}],[{"title":"Calculated Form","description":"Starting form. Basic calculated fields sample. ","formlayout":"top_aligned", "formtemplate": "'.esc_js(CP_CALCULATEDFIELDSF_DEFAULT_template).'"}]]');
31
- define('CP_CALCULATEDFIELDSF_DEFAULT_form_structure1', '[[{"name":"fieldname5","index":0,"title":"Simple Sum of two numbers","userhelp":"","ftype":"fSectionBreak","csslayout":""},{"name":"fieldname2","index":1,"title":"First Number","userhelp":"","dformat":"number","min":"","max":"","predefined":"3","ftype":"fnumber","csslayout":"","required":false,"size":"small","formats":["digits","number"]},{"name":"fieldname6","index":2,"title":"Second Number","predefined":"2","ftype":"fnumber","userhelp":"","csslayout":"","required":false,"size":"small","min":"","max":"","dformat":"digits","formats":["digits","number"]},{"name":"fieldname4","index":3,"readonly":true,"title":"Sum","predefined":"","userhelp":"Note: Sum of First Number + Second Number","eq":"fieldname2+fieldname6","ftype":"fCalculated","csslayout":"","required":false,"size":"medium"},{"name":"fieldname7","index":4,"title":"Sum of selected fields","userhelp":"","ftype":"fSectionBreak","csslayout":""},{"choices":["Item A: $10","Item B: $20","Item C: $40"],"choiceSelected":[true,true,false],"name":"fieldname8","index":5,"title":"Select/un-select some items","ftype":"fcheck","userhelp":"","csslayout":"","layout":"one_column","required":false},{"name":"fieldname9","index":6,"title":"Sum of selected items","eq":"fieldname8","ftype":"fCalculated","userhelp":"","csslayout":"","predefined":"","required":false,"size":"medium","readonly":false}],[{"title":"Simple Operations","description":"Below you can test two simple and frequent operations.","formlayout":"top_aligned"}]]');
32
- define('CP_CALCULATEDFIELDSF_DEFAULT_form_structure2', '[[{"name":"fieldname1","index":0,"title":"Check-in","ftype":"fdate","userhelp":"","csslayout":"","predefined":"","size":"medium","required":false,"dformat":"mm/dd/yyyy","showDropdown":false,"dropdownRange":"-10:+10","formats":["mm/dd/yyyy","dd/mm/yyyy"]},{"name":"fieldname2","index":1,"title":"Check-out","ftype":"fdate","userhelp":"","csslayout":"","predefined":"","size":"medium","required":false,"dformat":"mm/dd/yyyy","showDropdown":false,"dropdownRange":"-10:+10","formats":["mm/dd/yyyy","dd/mm/yyyy"]},{"choices":["Parking - $10","Breakfast - $20","Premium Internet Access - $3"],"choiceSelected":[false,false,false],"name":"fieldname3","index":2,"title":"Optional Services","ftype":"fcheck","userhelp":"","csslayout":"","layout":"one_column","required":false,"choicesVal":["10","20","3"]},{"name":"fieldname4","index":3,"title":"","userhelp":"Note: The cost of the optional services are per each night.","ftype":"fSectionBreak","csslayout":""},{"name":"fieldname5","index":4,"title":"Total Cost","eq":"abs(fieldname2-fieldname1) * (fieldname3+50)","userhelp":"The formula is: (checkout - checkin) * (optionals + base rate)<br />Without the optional services the formula would be: (checkout-checkin) * base rate","ftype":"fCalculated","csslayout":"","predefined":"","required":false,"size":"medium","readonly":false}],[{"title":"Calculation with Dates","description":"The form below gives a quote for a stay in a hotel based in the check-in date, check-out date and some optional services. The base rate used is $50 per night.","formlayout":"top_aligned"}]]');
33
- define('CP_CALCULATEDFIELDSF_DEFAULT_form_structure3', '[[{"name":"fieldname2","index":0,"title":"Height","userhelp":"In centimeters","dformat":"number","min":"30","max":"250","predefined":"180","ftype":"fnumber","csslayout":"","required":false,"size":"small","formats":["digits","number"]},{"choices":["Male","Female"],"name":"fieldname3","index":1,"choiceSelected":"Male","title":"Sex","ftype":"fdropdown","userhelp":"","csslayout":"","size":"medium","required":false},{"name":"fieldname5","index":2,"title":"Ideal Weight","userhelp":"Formula used:<br />Men: (height - 100)*0.90<br />Woman: (height - 100)*0.85","ftype":"fSectionBreak","csslayout":""},{"name":"fieldname4","index":3,"readonly":true,"title":"Ideal Weight","predefined":"","userhelp":"Note: Based in the above data and formula","eq":"(fieldname2-100)*(fieldname3==\'Male\'?0.90:0.85)","ftype":"fCalculated","csslayout":"","required":false,"size":"medium"}],[{"title":"Ideal Weight Calculator","description":"This sample uses a simple formula but with a conditional rule (if male or female). The conditional expression is built using the JavaScript ternary operator. It\'s basically as follows: <em>condition ? value_if_true : value_if_false</em>.","formlayout":"top_aligned"}]]');
34
- define('CP_CALCULATEDFIELDSF_DEFAULT_form_structure4', '[[{"name":"fieldname1","index":0,"title":"Enter the first day of last menstrual period","ftype":"fdate","userhelp":"","csslayout":"","predefined":"01/01/2013","size":"medium","required":false,"dformat":"mm/dd/yyyy","showDropdown":false,"dropdownRange":"-10:+10","formats":["mm/dd/yyyy","dd/mm/yyyy"]},{"name":"fieldname4","index":1,"title":"","userhelp":"Note: The dates below are approximate calculations. The real date may be slightly different.","ftype":"fSectionBreak","csslayout":""},{"name":"fieldname5","index":2,"title":"Conception Date","eq":"cdate(fieldname1+14)","userhelp":"","ftype":"fCalculated","csslayout":"","predefined":"","required":false,"size":"medium","readonly":false},{"name":"fieldname6","index":3,"title":"Due Date","eq":"cdate(fieldname1+40*7)","ftype":"fCalculated","userhelp":"","csslayout":"","predefined":"","required":false,"size":"medium","readonly":false}],[{"title":"Pregnancy Calculator","description":"The form below calculates the conception date and due date based in the first day of last menstrual period. The calculated values are converted to date again after the calculation.","formlayout":"top_aligned"}]]');
35
- define('CP_CALCULATEDFIELDSF_DEFAULT_form_structure5', '[[{"name":"fieldname2","index":0,"title":"Loan Amount","userhelp":"","dformat":"number","min":"","max":"","predefined":"20000","ftype":"fnumber","csslayout":"","required":false,"size":"small","formats":["digits","number"]},{"name":"fieldname6","index":1,"title":"Residual Value","userhelp":"","predefined":"10000","ftype":"fnumber","csslayout":"","required":false,"size":"small","min":"","max":"","dformat":"number","formats":["digits","number"]},{"name":"fieldname7","index":2,"predefined":"7.5","title":"Interest Rate %","ftype":"fnumber","userhelp":"","csslayout":"","required":false,"size":"small","min":"","max":"","dformat":"number","formats":["digits","number"]},{"name":"fieldname8","index":3,"title":"Number of Months","dformat":"number","predefined":"36","ftype":"fnumber","userhelp":"","csslayout":"","required":false,"size":"small","min":"","max":"","formats":["digits","number"]},{"name":"fieldname5","index":4,"title":"","userhelp":"Results based in the data entered above:","ftype":"fSectionBreak","csslayout":""},{"name":"fieldname4","index":5,"readonly":true,"title":"Monthly Payment","predefined":"","userhelp":"","eq":"prec((fieldname2*fieldname7/1200*pow(1+fieldname7/1200,fieldname8)-fieldname6*fieldname7/1200)/(pow(1+fieldname7/1200,fieldname8)-1),2)","ftype":"fCalculated","csslayout":"","required":false,"size":"medium","dformat":"number"},{"name":"fieldname9","index":6,"title":"Total Payment","readonly":true,"eq":"prec(fieldname4*fieldname8,2)","ftype":"fCalculated","userhelp":"","csslayout":"","predefined":"","required":false,"size":"medium"},{"name":"fieldname10","index":7,"title":"Interest Amount","eq":"prec(fieldname6+fieldname9-fieldname2,2)","ftype":"fCalculated","userhelp":"","csslayout":"","predefined":"","required":false,"size":"medium","readonly":false}],[{"title":"Lease Calculator","description":"This sample uses a more complex formula for a lease calculator. It includes the \"power\" (pow) and \"precision\" (prec) functions.","formlayout":"top_aligned"}]]');
36
 
37
  // Email constants
38
  define('CP_CALCULATEDFIELDSF_DEFAULT_fp_subject', 'Contact from the blog...');
28
 
29
  // Default forms
30
  define('CP_CALCULATEDFIELDSF_DEFAULT_form_structure', '[[{"name":"fieldname2","index":0,"title":"Number","predefined":"5","ftype":"fnumber","userhelp":"","csslayout":"","required":false,"size":"medium","min":"","max":"","dformat":"digits","formats":["digits","number"]},{"name":"separator1","index":1,"title":"The field below will show the double of the number above.","userhelp":"","ftype":"fSectionBreak","csslayout":""},{"name":"fieldname1","index":2,"title":"Calculated Value","eq":"fieldname2*2","ftype":"fCalculated","userhelp":"","csslayout":"","predefined":"","required":false,"size":"medium","readonly":true}],[{"title":"Calculated Form","description":"Starting form. Basic calculated fields sample. ","formlayout":"top_aligned", "formtemplate": "'.esc_js(CP_CALCULATEDFIELDSF_DEFAULT_template).'"}]]');
31
+ define('CP_CALCULATEDFIELDSF_DEFAULT_form_structure1', '[[{"name":"fieldname5","index":0,"title":"Simple Sum of two numbers","userhelp":"","ftype":"fSectionBreak","csslayout":""},{"name":"fieldname2","index":1,"title":"First Number","userhelp":"","dformat":"number","min":"","max":"","predefined":"3","ftype":"fnumber","csslayout":"","required":false,"size":"small","formats":["digits","number"]},{"name":"fieldname6","index":2,"title":"Second Number","predefined":"2","ftype":"fnumber","userhelp":"","csslayout":"","required":false,"size":"small","min":"","max":"","dformat":"digits","formats":["digits","number"]},{"name":"fieldname4","index":3,"readonly":true,"title":"Sum","predefined":"","userhelp":"Note: Sum of First Number + Second Number","eq":"fieldname2+fieldname6","ftype":"fCalculated","csslayout":"","required":false,"size":"medium"},{"name":"fieldname7","index":4,"title":"Sum of selected fields","userhelp":"","ftype":"fSectionBreak","csslayout":""},{"choices":["Item A: $10","Item B: $20","Item C: $40"],"choiceSelected":[true,true,false],"name":"fieldname8","index":5,"title":"Select/un-select some items","ftype":"fcheck","userhelp":"","csslayout":"","layout":"one_column","required":false},{"name":"fieldname9","index":6,"title":"Sum of selected items","eq":"fieldname8","ftype":"fCalculated","userhelp":"","csslayout":"","predefined":"","required":false,"size":"medium","readonly":false}],[{"title":"Simple Operations","description":"Below you can test two simple and frequent operations.","formlayout":"top_aligned", "formtemplate": "'.esc_js(CP_CALCULATEDFIELDSF_DEFAULT_template).'"}]]');
32
+ define('CP_CALCULATEDFIELDSF_DEFAULT_form_structure2', '[[{"name":"fieldname1","index":0,"title":"Check-in","ftype":"fdate","userhelp":"","csslayout":"","predefined":"","size":"medium","required":false,"dformat":"mm/dd/yyyy","showDropdown":false,"dropdownRange":"-10:+10","formats":["mm/dd/yyyy","dd/mm/yyyy"]},{"name":"fieldname2","index":1,"title":"Check-out","ftype":"fdate","userhelp":"","csslayout":"","predefined":"","size":"medium","required":false,"dformat":"mm/dd/yyyy","showDropdown":false,"dropdownRange":"-10:+10","formats":["mm/dd/yyyy","dd/mm/yyyy"]},{"choices":["Parking - $10","Breakfast - $20","Premium Internet Access - $3"],"choiceSelected":[false,false,false],"name":"fieldname3","index":2,"title":"Optional Services","ftype":"fcheck","userhelp":"","csslayout":"","layout":"one_column","required":false,"choicesVal":["10","20","3"]},{"name":"fieldname4","index":3,"title":"","userhelp":"Note: The cost of the optional services are per each night.","ftype":"fSectionBreak","csslayout":""},{"name":"fieldname5","index":4,"title":"Total Cost","eq":"abs(fieldname2-fieldname1) * (fieldname3+50)","userhelp":"The formula is: (checkout - checkin) * (optionals + base rate)<br />Without the optional services the formula would be: (checkout-checkin) * base rate","ftype":"fCalculated","csslayout":"","predefined":"","required":false,"size":"medium","readonly":false}],[{"title":"Calculation with Dates","description":"The form below gives a quote for a stay in a hotel based in the check-in date, check-out date and some optional services. The base rate used is $50 per night.","formlayout":"top_aligned", "formtemplate": "'.esc_js(CP_CALCULATEDFIELDSF_DEFAULT_template).'"}]]');
33
+ define('CP_CALCULATEDFIELDSF_DEFAULT_form_structure3', '[[{"name":"fieldname2","index":0,"title":"Height","userhelp":"In centimeters","dformat":"number","min":"30","max":"250","predefined":"180","ftype":"fnumber","csslayout":"","required":false,"size":"small","formats":["digits","number"]},{"choices":["Male","Female"],"name":"fieldname3","index":1,"choiceSelected":"Male","title":"Sex","ftype":"fdropdown","userhelp":"","csslayout":"","size":"medium","required":false},{"name":"fieldname5","index":2,"title":"Ideal Weight","userhelp":"Formula used:<br />Men: (height - 100)*0.90<br />Woman: (height - 100)*0.85","ftype":"fSectionBreak","csslayout":""},{"name":"fieldname4","index":3,"readonly":true,"title":"Ideal Weight","predefined":"","userhelp":"Note: Based in the above data and formula","eq":"(fieldname2-100)*(fieldname3==\'Male\'?0.90:0.85)","ftype":"fCalculated","csslayout":"","required":false,"size":"medium"}],[{"title":"Ideal Weight Calculator","description":"This sample uses a simple formula but with a conditional rule (if male or female). The conditional expression is built using the JavaScript ternary operator. It\'s basically as follows: <em>condition ? value_if_true : value_if_false</em>.","formlayout":"top_aligned", "formtemplate": "'.esc_js(CP_CALCULATEDFIELDSF_DEFAULT_template).'"}]]');
34
+ define('CP_CALCULATEDFIELDSF_DEFAULT_form_structure4', '[[{"name":"fieldname1","index":0,"title":"Enter the first day of last menstrual period","ftype":"fdate","userhelp":"","csslayout":"","predefined":"01/01/2013","size":"medium","required":false,"dformat":"mm/dd/yyyy","showDropdown":false,"dropdownRange":"-10:+10","formats":["mm/dd/yyyy","dd/mm/yyyy"]},{"name":"fieldname4","index":1,"title":"","userhelp":"Note: The dates below are approximate calculations. The real date may be slightly different.","ftype":"fSectionBreak","csslayout":""},{"name":"fieldname5","index":2,"title":"Conception Date","eq":"cdate(fieldname1+14)","userhelp":"","ftype":"fCalculated","csslayout":"","predefined":"","required":false,"size":"medium","readonly":false},{"name":"fieldname6","index":3,"title":"Due Date","eq":"cdate(fieldname1+40*7)","ftype":"fCalculated","userhelp":"","csslayout":"","predefined":"","required":false,"size":"medium","readonly":false}],[{"title":"Pregnancy Calculator","description":"The form below calculates the conception date and due date based in the first day of last menstrual period. The calculated values are converted to date again after the calculation.","formlayout":"top_aligned", "formtemplate": "'.esc_js(CP_CALCULATEDFIELDSF_DEFAULT_template).'"}]]');
35
+ define('CP_CALCULATEDFIELDSF_DEFAULT_form_structure5', '[[{"name":"fieldname2","index":0,"title":"Loan Amount","userhelp":"","dformat":"number","min":"","max":"","predefined":"20000","ftype":"fnumber","csslayout":"","required":false,"size":"small","formats":["digits","number"]},{"name":"fieldname6","index":1,"title":"Residual Value","userhelp":"","predefined":"10000","ftype":"fnumber","csslayout":"","required":false,"size":"small","min":"","max":"","dformat":"number","formats":["digits","number"]},{"name":"fieldname7","index":2,"predefined":"7.5","title":"Interest Rate %","ftype":"fnumber","userhelp":"","csslayout":"","required":false,"size":"small","min":"","max":"","dformat":"number","formats":["digits","number"]},{"name":"fieldname8","index":3,"title":"Number of Months","dformat":"number","predefined":"36","ftype":"fnumber","userhelp":"","csslayout":"","required":false,"size":"small","min":"","max":"","formats":["digits","number"]},{"name":"fieldname5","index":4,"title":"","userhelp":"Results based in the data entered above:","ftype":"fSectionBreak","csslayout":""},{"name":"fieldname4","index":5,"readonly":true,"title":"Monthly Payment","predefined":"","userhelp":"","eq":"prec((fieldname2*fieldname7/1200*pow(1+fieldname7/1200,fieldname8)-fieldname6*fieldname7/1200)/(pow(1+fieldname7/1200,fieldname8)-1),2)","ftype":"fCalculated","csslayout":"","required":false,"size":"medium","dformat":"number"},{"name":"fieldname9","index":6,"title":"Total Payment","readonly":true,"eq":"prec(fieldname4*fieldname8,2)","ftype":"fCalculated","userhelp":"","csslayout":"","predefined":"","required":false,"size":"medium"},{"name":"fieldname10","index":7,"title":"Interest Amount","eq":"prec(fieldname6+fieldname9-fieldname2,2)","ftype":"fCalculated","userhelp":"","csslayout":"","predefined":"","required":false,"size":"medium","readonly":false}],[{"title":"Lease Calculator","description":"This sample uses a more complex formula for a lease calculator. It includes the \"power\" (pow) and \"precision\" (prec) functions.","formlayout":"top_aligned", "formtemplate": "'.esc_js(CP_CALCULATEDFIELDSF_DEFAULT_template).'"}]]');
36
 
37
  // Email constants
38
  define('CP_CALCULATEDFIELDSF_DEFAULT_fp_subject', 'Contact from the blog...');
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.64
7
  Text Domain: calculated-fields-form
8
  Author: CodePeople
9
  Author URI: https://cff.dwbooster.com
@@ -16,7 +16,7 @@ if(!defined('WP_DEBUG') || true != WP_DEBUG)
16
  }
17
 
18
  // Defining main constants
19
- define('CP_CALCULATEDFIELDSF_VERSION', '1.1.64' );
20
  define('CP_CALCULATEDFIELDSF_MAIN_FILE_PATH', __FILE__ );
21
  define('CP_CALCULATEDFIELDSF_BASE_PATH', dirname( CP_CALCULATEDFIELDSF_MAIN_FILE_PATH ) );
22
  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.65
7
  Text Domain: calculated-fields-form
8
  Author: CodePeople
9
  Author URI: https://cff.dwbooster.com
16
  }
17
 
18
  // Defining main constants
19
+ define('CP_CALCULATEDFIELDSF_VERSION', '1.1.65' );
20
  define('CP_CALCULATEDFIELDSF_MAIN_FILE_PATH', __FILE__ );
21
  define('CP_CALCULATEDFIELDSF_BASE_PATH', dirname( CP_CALCULATEDFIELDSF_MAIN_FILE_PATH ) );
22
  define('CP_CALCULATEDFIELDSF_BASE_NAME', plugin_basename( CP_CALCULATEDFIELDSF_MAIN_FILE_PATH ) );
inc/cpcff_public_int.inc.php CHANGED
@@ -59,7 +59,7 @@ if( !empty( $form_data ) )
59
  if(!empty($atts) && !empty($atts['class'])) echo ' '.esc_attr($atts['class']);
60
  ?>">
61
  <input type="hidden" name="cp_calculatedfieldsf_pform_psequence" value="_<?php echo CPCFF_MAIN::$form_counter; ?>" />
62
- <input type="hidden" name="cp_calculatedfieldsf_id" value="<?php echo $id; ?>" /><pre style="display:none !important;"><!--noptimize--><script type="text/javascript">form_structure_<?php echo CPCFF_MAIN::$form_counter; ?>=<?php print str_replace( array( "\n", "\r" ), " ", ((version_compare(CP_CFF_PHPVERSION,"5.3.0")>=0)?json_encode($form_data, JSON_HEX_QUOT|JSON_HEX_TAG):json_encode($form_data)) ); ?>;</script><!--/noptimize--></pre>
63
  <div id="fbuilder">
64
  <?php
65
  if(
59
  if(!empty($atts) && !empty($atts['class'])) echo ' '.esc_attr($atts['class']);
60
  ?>">
61
  <input type="hidden" name="cp_calculatedfieldsf_pform_psequence" value="_<?php echo CPCFF_MAIN::$form_counter; ?>" />
62
+ <input type="hidden" name="cp_calculatedfieldsf_id" value="<?php echo $id; ?>" /><pre style="display:none !important;"><script type="text/javascript">form_structure_<?php echo CPCFF_MAIN::$form_counter; ?>=<?php print str_replace( array( "\n", "\r" ), " ", ((version_compare(CP_CFF_PHPVERSION,"5.3.0")>=0)?json_encode($form_data, JSON_HEX_QUOT|JSON_HEX_TAG):json_encode($form_data)) ); ?>;</script></pre>
63
  <div id="fbuilder">
64
  <?php
65
  if(
js/fbuilder-pro-admin.jquery.js CHANGED
@@ -220,6 +220,12 @@
220
  $.fbuilder.reloadItems({'form':1});
221
  });
222
 
 
 
 
 
 
 
223
  $("[name='fEvalEquationsEvent']").change(function()
224
  {
225
  theForm.evalequationsevent = $("[name='fEvalEquationsEvent']:checked").val();
@@ -551,6 +557,7 @@
551
  loading_animation:0,
552
  autocomplete:1,
553
  persistence:0,
 
554
  customstyles:"",
555
  display:function()
556
  {
@@ -601,7 +608,9 @@
601
  str += '<div class="groupBox"><label><input type="radio" name="fEvalEquationsEvent" name="fEvalEquationsEvent" value="1" '+( ( this.evalequationsevent == 1 ) ? 'CHECKED' : '' )+' /> Eval the equations in the onchange events</label><label><input type="radio" name="fEvalEquationsEvent" name="fEvalEquationsEvent" value="2" '+( ( 'undefined' == typeof this.evalequationsevent || this.evalequationsevent == 2 ) ? 'CHECKED' : '' )+' /> Eval the equations in the onchange and keyup events</label></div>';
602
  }
603
 
604
- str += '<div><label>Form Template</label><select name="fTemplate" id="fTemplate" class="large">'+template+'</select></div><div style="text-align:center;padding:10px 0;"><span id="fTemplateThumbnail">'+thumbnail+'</span><div></div><span id="fTemplateDescription">'+description+'</span></div><div class="cff-editor-container"><label><div class="cff-editor-extend-shrink"></div>Customize Form Design <i>(Enter the CSS rules. <a href="http://cff.dwbooster.com/faq#q82" target="_blank">More information</a>)</i></label><textarea id="fCustomStyles" style="width:100%;height:150px;">'+this.customstyles+'</textarea></div>' ;
 
 
605
 
606
  return str;
607
  }
220
  $.fbuilder.reloadItems({'form':1});
221
  });
222
 
223
+ $("#fAnimateForm").click(function()
224
+ {
225
+ theForm.animate_form = ($(this).is( ':checked' )) ? 1 : 0;
226
+ $.fbuilder.reloadItems({'form':1});
227
+ });
228
+
229
  $("[name='fEvalEquationsEvent']").change(function()
230
  {
231
  theForm.evalequationsevent = $("[name='fEvalEquationsEvent']:checked").val();
557
  loading_animation:0,
558
  autocomplete:1,
559
  persistence:0,
560
+ animate_form:0,
561
  customstyles:"",
562
  display:function()
563
  {
608
  str += '<div class="groupBox"><label><input type="radio" name="fEvalEquationsEvent" name="fEvalEquationsEvent" value="1" '+( ( this.evalequationsevent == 1 ) ? 'CHECKED' : '' )+' /> Eval the equations in the onchange events</label><label><input type="radio" name="fEvalEquationsEvent" name="fEvalEquationsEvent" value="2" '+( ( 'undefined' == typeof this.evalequationsevent || this.evalequationsevent == 2 ) ? 'CHECKED' : '' )+' /> Eval the equations in the onchange and keyup events</label></div>';
609
  }
610
 
611
+ str += '<div><label>Form Template</label><select name="fTemplate" id="fTemplate" class="large">'+template+'</select></div><div style="text-align:center;padding:10px 0;"><span id="fTemplateThumbnail">'+thumbnail+'</span><div></div><span id="fTemplateDescription">'+description+'</span></div>'+
612
+ '<div><label><input type="checkbox" name="fAnimateForm" id="fAnimateForm" '+( ( this.animate_form ) ? 'CHECKED' : '' )+' /> Animate page breaks in multipage forms, and dependencies</label></div>'+
613
+ '<div class="cff-editor-container"><label><div class="cff-editor-extend-shrink"></div>Customize Form Design <i>(Enter the CSS rules. <a href="http://cff.dwbooster.com/faq#q82" target="_blank">More information</a>)</i></label><textarea id="fCustomStyles" style="width:100%;height:150px;">'+this.customstyles+'</textarea></div>' ;
614
 
615
  return str;
616
  }
js/fbuilder-pro-public.jquery.js CHANGED
@@ -1,4 +1,4 @@
1
- $.fbuilder['version'] = '1.1.64';
2
  $.fbuilder['controls'] = $.fbuilder['controls'] || {};
3
  $.fbuilder['forms'] = $.fbuilder['forms'] || {};
4
 
@@ -95,7 +95,8 @@
95
  {
96
  'formIdentifier' : f,
97
  'from' : 0,
98
- 'to' : t
 
99
  }
100
  )
101
  );
@@ -105,13 +106,27 @@
105
  {
106
  for(f in $.fbuilder.forms)
107
  if('currentPage' in $.fbuilder.forms[f])
108
- $.fbuilder['goToPage']({'formIdentifier' : f, 'from' : 0, 'to' : 0});
109
  }
110
  if(flag) $.fbuilder.setBrowserHistory(true);
111
  };
112
 
113
  $.fbuilder[ 'goToPage' ] = function( config )
114
  {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
115
  if(
116
  ('formIdentifier' in config || 'form' in config) &&
117
  'to' in config
@@ -131,42 +146,57 @@
131
  i += direction;
132
  }
133
  formObj['currentPage'] = i;
134
- $(".pbreak:not(.pb"+i+")",formDom).hide().find(".field").addClass("ignorepb");
135
- (pageDom = $(".pbreak.pb"+i,formDom)).show().find(".ignorepb").removeClass("ignorepb");
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
136
 
137
- if(i != _from)
138
- {
139
- try
140
- {
141
- if(!this.isMobile())
142
- {
143
- var ff = pageDom.find(":focusable:first");
144
- if( ff &&
145
- !ff.hasClass('hasDatepicker') &&
146
- ff.attr('type') != 'radio' &&
147
- ff.attr('type') != 'checkbox' &&
148
- ff.closest('[uh]').length == 0 /* FIXES AUTO-OPEN TOOLTIPS */
149
- ) ff.focus();
150
- }
151
- var _wScrollTop = $(window).scrollTop(),
152
- _viewportHeight = $(window).height(),
153
- _scrollTop = formDom.offset().top;
154
- if(_scrollTop < _wScrollTop || (_wScrollTop+_viewportHeight)<_scrollTop )
155
- $( 'html, body' ).animate({scrollTop: _scrollTop}, 50);
156
- }
157
- catch(e){}
158
- }
159
- else
160
- {
161
- formDom.validate().focusInvalid();
162
- }
163
- $(document).trigger('cff-gotopage', {'from': _from, 'to': i, 'form': formDom});
164
  return i;
165
  }
166
  }; // End goToPage
167
 
168
  $.fbuilder[ 'showHideDep' ] = function( config )
169
  {
 
 
 
 
 
 
 
 
170
  // If isNotFirstTime the enqueue the equations associated to the fields
171
  var processItems = function( items, isNotFirstTime )
172
  {
@@ -204,6 +234,8 @@
204
  $(document).trigger('showHideDepEvent', $.fbuilder['forms'][id]['formId']);
205
  }
206
  }
 
 
207
  };
208
 
209
  // Load default values
@@ -392,18 +424,23 @@
392
  var _from = ($.fbuilder.forms[evt.data.identifier]['currentPage'] || 0),
393
  _inc = ($(this).hasClass("pbPrevious")) ? -1 : 1,
394
  _p = $.fbuilder['goToPage'](
395
- {
396
- 'formIdentifier' : evt.data.identifier,
397
- 'from' : _from,
398
- 'to' : _from+_inc
399
- }),
400
- _pDom = $('.pb'+_p);
401
-
402
- if(_from != _p) $.fbuilder.setBrowserHistory();
403
- if(_pDom.find('.fields:visible').length == 0)
404
- if(_inc == -1 && 0 < _p) _pDom.find('.pbPrevious').click();
405
- else if(!_pDom.hasClass('pbEnd')) _pDom.find('.pbNext').click();
406
- return false;
 
 
 
 
 
407
  });
408
  }
409
  else
@@ -492,6 +529,7 @@
492
  evalequations:1,
493
  evalequationsevent:2,
494
  loading_animation:0,
 
495
  autocomplete:1,
496
  show:function(){
497
  return '<div class="fform" id="field"><h2>'+this.title+'</h2><span>'+this.description+'</span></div>';
@@ -570,6 +608,7 @@
570
 
571
  form.attr( 'data-evalequations', this.evalequations )
572
  .attr( 'data-evalequationsevent', this.evalequationsevent )
 
573
  .attr( 'autocomplete', ( ( this.autocomplete ) ? 'on' : 'off' ) )
574
  .find( 'input,select' )
575
  .blur( function(){ try{ $(this).valid(); }catch(e){};} );
1
+ $.fbuilder['version'] = '1.1.65';
2
  $.fbuilder['controls'] = $.fbuilder['controls'] || {};
3
  $.fbuilder['forms'] = $.fbuilder['forms'] || {};
4
 
95
  {
96
  'formIdentifier' : f,
97
  'from' : 0,
98
+ 'to' : t,
99
+ 'animate' : false
100
  }
101
  )
102
  );
106
  {
107
  for(f in $.fbuilder.forms)
108
  if('currentPage' in $.fbuilder.forms[f])
109
+ $.fbuilder['goToPage']({'formIdentifier' : f, 'from' : 0, 'to' : 0, 'animate': false});
110
  }
111
  if(flag) $.fbuilder.setBrowserHistory(true);
112
  };
113
 
114
  $.fbuilder[ 'goToPage' ] = function( config )
115
  {
116
+ function swapPages(pageToHide, pageToShow, callback)
117
+ {
118
+ var t = 300;
119
+ if(('animate' in config && config.animate == false) || pageToHide.closest('form').data('animate_form')*1 == 0) t = 0;
120
+ pageToHide.fadeOut(t, function(){
121
+ pageToHide.find(".field").addClass("ignorepb");
122
+ pageToShow.fadeIn(t, function(){
123
+ pageToShow.find(".ignorepb").removeClass("ignorepb");
124
+ callback();
125
+ if('callback' in config) config.callback();
126
+ });
127
+ });
128
+ };
129
+
130
  if(
131
  ('formIdentifier' in config || 'form' in config) &&
132
  'to' in config
146
  i += direction;
147
  }
148
  formObj['currentPage'] = i;
149
+ pageDom = $(".pbreak.pb"+i,formDom);
150
+
151
+ swapPages(
152
+ $(".pbreak:visible",formDom),
153
+ pageDom,
154
+ function()
155
+ {
156
+ if(i != _from)
157
+ {
158
+ try
159
+ {
160
+ if(!this.isMobile())
161
+ {
162
+ var ff = pageDom.find(":focusable:first");
163
+ if( ff &&
164
+ !ff.hasClass('hasDatepicker') &&
165
+ ff.attr('type') != 'radio' &&
166
+ ff.attr('type') != 'checkbox' &&
167
+ ff.closest('[uh]').length == 0 /* FIXES AUTO-OPEN TOOLTIPS */
168
+ ) ff.focus();
169
+ }
170
+ var _wScrollTop = $(window).scrollTop(),
171
+ _viewportHeight = $(window).height(),
172
+ _scrollTop = formDom.offset().top;
173
+ if(_scrollTop < _wScrollTop || (_wScrollTop+_viewportHeight)<_scrollTop )
174
+ $( 'html, body' ).animate({scrollTop: _scrollTop}, 50);
175
+ }
176
+ catch(e){}
177
+ }
178
+ else
179
+ {
180
+ formDom.validate().focusInvalid();
181
+ }
182
+ $(document).trigger('cff-gotopage', {'from': _from, 'to': i, 'form': formDom});
183
+ }
184
+ );
185
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
186
  return i;
187
  }
188
  }; // End goToPage
189
 
190
  $.fbuilder[ 'showHideDep' ] = function( config )
191
  {
192
+ $.fn.original_show = $.fn.show;
193
+ $.fn.show = function(){
194
+ var t =0;
195
+ if($(this).closest('form').data('animate_form')) t = 250;
196
+ $(this).fadeIn(t);
197
+ return $(this);
198
+ };
199
+
200
  // If isNotFirstTime the enqueue the equations associated to the fields
201
  var processItems = function( items, isNotFirstTime )
202
  {
234
  $(document).trigger('showHideDepEvent', $.fbuilder['forms'][id]['formId']);
235
  }
236
  }
237
+
238
+ $.fn.show = $.fn.original_show;
239
  };
240
 
241
  // Load default values
424
  var _from = ($.fbuilder.forms[evt.data.identifier]['currentPage'] || 0),
425
  _inc = ($(this).hasClass("pbPrevious")) ? -1 : 1,
426
  _p = $.fbuilder['goToPage'](
427
+ {
428
+ 'formIdentifier' : evt.data.identifier,
429
+ 'from' : _from,
430
+ 'to' : _from+_inc,
431
+ 'callback' : function()
432
+ {
433
+ setTimeout(function(){
434
+ if(_from != _p) $.fbuilder.setBrowserHistory();
435
+ if(_pDom.find('.fields:visible').length == 0)
436
+ if(_inc == -1 && 0 < _p) _pDom.find('.pbPrevious').click();
437
+ else if(!_pDom.hasClass('pbEnd')) _pDom.find('.pbNext').click();
438
+ }, 10);
439
+ }
440
+ }),
441
+ _pDom = $('.pb'+_p);
442
+
443
+ return false;
444
  });
445
  }
446
  else
529
  evalequations:1,
530
  evalequationsevent:2,
531
  loading_animation:0,
532
+ animate_form:0,
533
  autocomplete:1,
534
  show:function(){
535
  return '<div class="fform" id="field"><h2>'+this.title+'</h2><span>'+this.description+'</span></div>';
608
 
609
  form.attr( 'data-evalequations', this.evalequations )
610
  .attr( 'data-evalequationsevent', this.evalequationsevent )
611
+ .attr( 'data-animate_form', this.animate_form )
612
  .attr( 'autocomplete', ( ( this.autocomplete ) ? 'on' : 'off' ) )
613
  .find( 'input,select' )
614
  .blur( function(){ try{ $(this).valid(); }catch(e){};} );
js/fields-public/10_fbuilder.fpassword.js CHANGED
@@ -20,7 +20,7 @@
20
  this.maxlength = $.fbuilder.htmlEncode($.trim(this.maxlength));
21
  this.equalTo = $.fbuilder.htmlEncode($.trim(this.equalTo));
22
  this.predefined = this._getAttr('predefined');
23
- return '<div class="fields '+this.csslayout+' '+this.name+' cff-password-field" id="field'+this.form_identifier+'-'+this.index+'"><label for="'+this.name+'">'+this.title+''+((this.required)?"<span class='r'>*</span>":"")+'</label><div class="dfield"><input aria-label="'+$.fbuilder.htmlEncode(this.title)+'" id="'+this.name+'" name="'+this.name+'"'+((this.minlength.length) ? ' minlength="'+this.minlength+'"' : '')+((this.maxlength.length) ? ' maxlength="'+this.maxlength+'"' : '')+((this.equalTo.length) ? ' equalTo="#'+this.equalTo+this.form_identifier+'"' : '')+' class="field '+this.size+((this.required)?" required":"")+'" type="password" value="'+$.fbuilder.htmlEncode(this.predefined)+'"/><span class="uh">'+this.userhelp+'</span></div><div class="clearer"></div></div>';
24
  },
25
  after_show:function()
26
  {
20
  this.maxlength = $.fbuilder.htmlEncode($.trim(this.maxlength));
21
  this.equalTo = $.fbuilder.htmlEncode($.trim(this.equalTo));
22
  this.predefined = this._getAttr('predefined');
23
+ return '<div class="fields '+this.csslayout+' '+this.name+' cff-password-field" id="field'+this.form_identifier+'-'+this.index+'"><label for="'+this.name+'">'+this.title+''+((this.required)?"<span class='r'>*</span>":"")+'</label><div class="dfield"><input aria-label="'+$.fbuilder.htmlEncode(this.title)+'" id="'+this.name+'" name="'+this.name+'"'+((this.minlength.length) ? ' minlength="'+this.minlength+'"' : '')+((this.maxlength.length) ? ' maxlength="'+this.maxlength+'"' : '')+((this.equalTo.length) ? ' equalTo="#'+this.equalTo+this.form_identifier+'"' : '')+' class="field '+this.size+((this.required)?" required":"")+'" type="password" autocomplete="new-password" value="'+$.fbuilder.htmlEncode(this.predefined)+'"/><span class="uh">'+this.userhelp+'</span></div><div class="clearer"></div></div>';
24
  },
25
  after_show:function()
26
  {
templates/14/style.css CHANGED
@@ -61,7 +61,7 @@
61
  .cp_cff_14 #fbuilder .cff-radiobutton-field .one_column,
62
  .cp_cff_14 #fbuilder .cff-checkbox-field .one_column{margin-bottom:10px;}
63
  .cp_cff_14 #fbuilder .cff-radiobutton-field:not(.cff-switch-container) .dfield input+span::before,
64
- .cp_cff_14 #fbuilder .cff-checkbox-field:not(.cff-switch-container) .dfield input+span::before{content:"";font-size:16px;line-height:24px;font-weight:bold;text-align:center;width:24px;height:24px;display:inline-block;background:white;color:white;margin-right:10px;}
65
  .cp_cff_14 #fbuilder .cff-radiobutton-field:not(.cff-switch-container) .dfield input+span::before{border-radius:20px;}
66
  .cp_cff_14 #fbuilder .cff-radiobutton-field:not(.cff-switch-container) .dfield input:checked+span::before,
67
  .cp_cff_14 #fbuilder .cff-checkbox-field:not(.cff-switch-container) .dfield input:checked+span::before{color:#3cce88;}
61
  .cp_cff_14 #fbuilder .cff-radiobutton-field .one_column,
62
  .cp_cff_14 #fbuilder .cff-checkbox-field .one_column{margin-bottom:10px;}
63
  .cp_cff_14 #fbuilder .cff-radiobutton-field:not(.cff-switch-container) .dfield input+span::before,
64
+ .cp_cff_14 #fbuilder .cff-checkbox-field:not(.cff-switch-container) .dfield input+span::before{content:"\2713";font-size:16px;line-height:24px;font-weight:bold;text-align:center;width:24px;height:24px;display:inline-block;background:white;color:white;margin-right:10px;}
65
  .cp_cff_14 #fbuilder .cff-radiobutton-field:not(.cff-switch-container) .dfield input+span::before{border-radius:20px;}
66
  .cp_cff_14 #fbuilder .cff-radiobutton-field:not(.cff-switch-container) .dfield input:checked+span::before,
67
  .cp_cff_14 #fbuilder .cff-checkbox-field:not(.cff-switch-container) .dfield input:checked+span::before{color:#3cce88;}