=== Calculated Fields Form ===
Contributors: codepeople
Donate link: http://cff.dwbooster.com
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
Requires at least: 3.0.5
Tested up to: 5.5
Stable tag: trunk
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Calculated Fields Form is a plugin for creating forms with dynamically calculated fields and display the result.

== Description ==

Calculated Fields Form is for visually:

    ♦ Creating forms with automatically calculated fields
    ♦ Finance calculators
    ♦ Quote calculators
    ♦ Booking cost calculators
    ♦ Date calculators
    ♦ Health / fitness calculators
    ♦ Form builder for adding input fields on the form
    ♦ Add one or more calculated fields
    ♦ Predefined forms templates

With Calculated Fields Form you can create **forms with dynamically calculated fields** to **display the calculated values**.

It includes a **form builder** for adding/editing different field types, including one or more **automatically calculated fields** based in the data entered in other fields.

Calculated Fields Form can be used for creating both single and complex calculations, for example general calculators, ideal weight calculators, calorie calculators, calculate quotes for hotel booking and rent a car services, calculate quotes for appointments and services, loan & finance calculators, date calculators like pregnancy calculators, etc...

= Features: =

* Visual **form builder** with multiple fields and form formatting options
* Any number of **calculated fields** can be added
* Easy and visual calculator interface
* The calculator supports both easy and advanced operations, including ternary operators and common Math functions
* Supports **multiple field types**, like drop-down, checkboxes, radiobuttons, dates, numbers
* Accept operations with dates (ex: days between two dates)
* Smart automatic number and prices identification into the field values
* Supports form separators and comments sections to layout the form in a friendlier way
* Manage multiple calculated forms
* Practical "clone" button to duplicate a form
* Five pre-built practical samples included
* Multi pages forms supported
* Conditional rules supported. Useful for creating wizards
* Intuitive and interactive form builder interface
* Predefined forms templates

The "Calculated Fields Form" plugin allows the specific integration with the following editors:

* Classic WordPress Editor.
* Gutenberg Editor.
* Elementor.
* Page Builder by SiteOrigin.
* Beaver Builder.
* WPBakery Page Builder.
* DIVI Builder.
* For other editors, the shortcodes should be inserted using other controls of general purpose, like the controls for inserting HTML or shortcodes.

= Latest Features Added =

* Dependent fields: Fields can be shown/hidden based on other checkboxes, radiobuttons or drop-down selections
* Dependent fields from calculated values: Fields can be shown/hidden based on the value of a calculated field
* Throubleshoot area to automatically fix conflicts with other scripts on themes or third party plugins and also for special characters support
* Multi page calculated forms
* New validations, fields types and features in the form builder
* Calculated fields can be hidden fields.
* Includes new controls to create more versatile forms.
* Allows to create a cache of the javascript files to increase the website's performance.
* Allows to disable the forms when the website is visited by search engine spiders and crawlers, increasing the website's speed.

There are five samples already included with the installation:

1. Simple Calculator Operations
2. Calculation with Dates (bookings with check-in and check-out dates)
3. Ideal Weight Calculator
4. Pregnancy Calculator
5. Lease Calculator

You can either "**clone**" those calculated forms to complete your own form or create a new calculated form from scratch for your application.

You can **mix text and numbers** into a field. If a field contains a number it will be automatically identified and used for the calculations. In addition to that, the checkboxes, radio buttons and drop-down fields can have separately a visual "text" and a hidden "value" linked to each test: the value will be the one used for the calculation.

The dates are also automatically identified and you can apply operations between them, for example, you can calculate the **number of days between two dates** with a simple operation like "date2-date1" or add some number of days or weeks to a date. To display the result as a date again you can use the CDate operator included in the calculator. The samples #2 and #4 are practical samples.

The form processing and payment processing aren't included in this version. There are other versions with form processing included and additional features. See the FAQ for more information.

The plugin has two additional (commercial) versions: **Premium** and **Developer**, each of them with its own features:

= Features in Premium version: =

* All features of free version of plugin
* Submits the form data, and stores the data on database, for future review
* Allows send notification emails with the data submitted, to the form editor and users
* Allows charge the calculated field directly through PayPal
* Payments are SCA ready (Strong Customer Authentication), compatible with the new Payment services (PSD 2) - Directive (EU)
* Allows export and import your forms between different WordPress
* Allows to display the submitted data in the thanks page
* Includes a dashboard widget to display the submissions of the last week
* Allows to store the forms in cache to increase the rendering speed

= Features in Developer version: =

* All features of free and premium version of plugin
* Includes new controls that get its information from different datasources (database, CSV file, Post, Taxonomies, and users data)
* Includes financial operations
* Includes operations for date times management
* Includes the "distance" operation, that integrates the plugin with "Google Maps" to get the distance between two addresses
* Includes the Chart.js module to integrate ChartJS in the form
* Includes a script for saving the submitted data in an external database
* Includes an add-on to define Server Side Equations.
* Includes an add-on to integrate the forms with the WooCommerce products
* Includes an add-on to integrate the forms with the SalesForce service
* Includes an add-on to post the submitted information by the forms to WebHooks URLs, allowing integrate the forms with services like Zapier, or Microsoft Flow. Both services: Zapier and Microsoft Flow, connect services as important and popular as Zoho CRM, Dropbox, Mailchimp, Evernote, Google Drive, Facebook, Twitter, and more than 300 services
* Includes an add-on to associate the information submitted with the users on website
* Includes the User Registration Form add-on to register new users in the website with the data collected by the form
* Includes an add-on to integrate the forms with Google reCAPTCHA, instead the captcha distributed with the plugin

= Features in Platinum version: =

* All features of free, premium, and developer versions of the plugin.
* Includes an add-on to integrate the forms with the Easy Digital Downloads products
* Includes the Google Analytics add-on to generate reports about the usage of forms, to identify the users actions and behaviors.
* Includes the PayPal Pro add-on to ask for the credit card details of payers and charge it directly into your website without any redirection through the PayPal website.
* Includes the Upload Files add-on to integrate the uploaded files in the website library, and add new mime types to WordPress.
* Includes the DropBox Integration add-on to copy or move the uploaded files to a DropBox account.
* Includes the ip2location add-on to identify the users data from the ip2location databases. Requires PHP 5.3 and over.
* Includes the "Google Places" add-on that allows integrate the input fields with the Google Places API to autocomplete the addresses entered by the users.
* Includes the "Autocomplete Places" add-on that allows integrate the input fields with the Photon API to autocomplete the addresses entered by the users.
* Includes the "Signature" add-on to convert some form fields in "Signature" fields, allowing the users to sign with the mouse or directly in the touchscreens.
* Includes the "iCal" add-on for sending the users an iCal file as part of the confirmation email after the form submission to be imported into most popular calendars like Outlook and Google Calendar.
* Includes the "CSV Generator" add-on that allows to export dynamically the information collected by the form to a CSV file, and send it as attachment in the notification emails.
* Includes the "PDF Generator" add-on that allows to generate PDF files with the information collected by the forms, and send them as attachment of notification emails.
* Includes the "WebMerge" add-on to integrate the forms with the WebMerge Service (FormStack documents), and generate PDF and Office documents at runtime with the information collected by the forms.
* Includes the "PrintFriendly" add-on to integrate the forms with the PrintFriendly API for generating PDF files after forms submissions,  and attach the resulting files to the notification emails.
* Includes the "MailChimp" add-on to add new members to the MailChimp Service using the data collected by the form.
* Includes the "Mautic" add-on to add new contacts (or update the existent ones) into the Mautic Service, using the information collected by the form.
* Includes the "HubSpot" add-on to creates/updatess contacts in HubSpot, using the information collected by the form.
* Includes the "Emma" add-on to add new members to the Emma Service using the data collected by the form.
* Includes the "Twilio" add-on for sending notification messages (SMS) when the forms are submitted.
* Includes the "MailPoet" add-on to add new subscribers to the MailPoet's Mailing Lists (Both versions, MailPoet 2 and MailPoet 3).
* Includes the "AffiliateWP" add-on to integrate the forms with the AffiliateWP plugin.
* Authorize.Net add-on integrate the forms with the Authorize.Net payment gateway.
* Stripe add-on integrate the forms with the Stripe payment gateway.
* Skrill Payments Integration provides integration with Skrill Moneybookers payment gateway.
* TargetPay (iDeal) add-on provides integration with iDeal, the most popular Dutch payment method.
* Mollie (iDeal) add-on provides integration with iDeal.
* RedSys / Servired / Sermepa add-on provides a secure interface for accepting credit card payments through most banks in Spain.
* PayTM add-on provides a secure interface for accepting payments through credit card, debir cards, net banking, wallet and EMI.
* SagePay add-on provides a secure interface for accepting payments through SagePay.
* Sage Payment add-on provides a secure interface for accepting payments through a secure SSL checkout system for both bankcard and virtual check transactions.

To know when the plugin is updated, if you are using the free version, WordPress will let you know by default every time the plugin is update in its directory. But for the commercial versions, would be required to register your copy of the plugin. Please, visit the following link to know how should be registered the plugin: [CLICK HERE](https://cff.dwbooster.com/documentation#register "Registering the plugin")

== Other Notes ==

This section contains mainly notes about the form builder features that are too long to explain in the main description page.

= Conditional Rules =

The form fields can be shown or hidden depending of the selection made on checkboxes, radio-buttons, select/drop-down, and calcualted fields.

[Description about the use of dependencies](http://cff.dwbooster.com/features/dependant-fields "Description about the use of dependencies")

= Predefined value =

The fields can have "predefined" or "prefilled" values. There are two possible uses for this:

1- Can be used for pre-filling the form with common values and save time to the end user.

2- Can be used for showing a sample of the data that should be entered in the field. In this case you may want to mark also the checkbox "Hide predefined value on click", this way the value will disappear once the user starts using the field without having to manually delete the placeholder value.


= The "Instructions for User" option =

Each field has a settings value labeled "Instructions for User". Use that settings value to put instructions to the end user about filling that field. The instructions will appear in a smaller text immediately below the field in the public website.

= Add Css Layout Keywords =

This is also explained in the FAQ. The "Add Css Layout Keywords" is a way to apply CSS styles separately for each field. This settings field is available for each form builder field in the admin area. Into that field you can put the name of a CSS class that will be applied to the field.

Important: Put only the name of the CSS class into the "Add Css Layout Keywords"; don't put the css styles rules directly there.

There are some pre-defined CSS classes to use align two, three or four fields into the same line. The CSS classes are named:

    column2
    column3
    column4

For example if you want to put two fields into the same line then specify for both fields the class name "column2". The above is valid for both the classic fields and the calculated fields.

The CSS classes/rules can be placed into the file "wp-content\plugins\calculated-fields-form\css\stylepublic.css" or into your theme CSS files.


= Multi Page Forms =

For adding a new page to create multi-page forms just insert the field named "Page Break". Each form's page will be validated separately before going to the next form, however note that the calculations are applied to the whole form every time a field is modified, so a calculated field in other page may be modified even if that page isn't visible.


= Calculated "hidden" Fields =

The calculated fields can be "hidden" fields. This way the calculated values of those "hidden" fields won't be displayed in the form. This is useful for using intermediate calculated values or for showing the calculated values only into the email (pro version).


= Equations / formulas Format for Calculated Fields =

Here are some sample formulas that can be used as base:

* With simple mathematical operations:


    `fieldname1 + fieldname2`

    `fieldname1 * fieldname2`

    `fieldname1 / fieldname2`

    `fieldname1 - fieldname2`



* With multiple fields and fields grouping included:


    `fieldname1 * ( fieldname2 + fieldname3 )`



* Rounded to two decimal digits:


    `prec( fieldname2 / fieldname3 , 2)`



* There is a huge number of equations that can't be recreated with simple mathematical operators, or the operations listed above, requiring "IF" conditions, here is a sample of the formula that can be used in that case:

    `(function(){`
    `        if(fieldname3 > 100) return fieldname1+fieldname2;`
    `        if(fieldname3 <= 100) return fieldname1*fieldname2;`
    `})();`


* For complex equations where is required to define blocks of JavaScript code, you should use the following format:

    `
    (function(){`
        `    var calculatedValue = 0;`
        `    //Your code here`
        `    return calculatedValue;`
    `})();`


.... and note that the **return** value of that function will be the value assigned to the calculated field.


= Functions that can be used for the formulas =

In addition to the JavaScript functions, the following functions can be used directly into the formulas:

[Description of basic operations](http://cff.dwbooster.com/documentation#mathematical-module "Description of basic operations")

In addition to the above, the following operations that are available in the **Developer** and **Platinum** versions of plugin:

**Date Time module**

[Description of operations in the module Date Time](http://cff.dwbooster.com/documentation#datetime-module "Description of operations in the module Date Time")

**Financial Module**

[Description of operations in the financial module](http://cff.dwbooster.com/documentation#financial-module "Description of operations in the financial module")

**Distance Module**

[Description of operations in the distance module](http://cff.dwbooster.com/documentation#distance-module "Description of operations in the distance module")

**Chart.js Module**

[Description of operations in the Chart.js module](http://cff.dwbooster.com/documentation#chart-module "Description of operations in the Chart.js module")

= Fields available in the Calculated Fields Form's form builder =

To get the complete list of available fields, please visit the following link: [CLICK HERE](http://cff.dwbooster.com/documentation#common-fields "Available fields")

= Create JavaScript variables to be used in the equations, from GET, or POST parameters, SESSION variables, or COOKIES =

The icon with the "X" symbol, that appears when editing the contents of pages or posts, inserts a shortcode in the content with the structure:

`[CP_CALCULATED_FIELDS_VAR name="..."]`

The ... symbol should be replaced by the parameter or variable name, and will be the same name of the javascript variable. For example:

`[CP_CALCULATED_FIELDS_VAR name="varname"]`

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#javascript-variables "Create JavaScript Variables")

= Tips for calculating prices =

One of the most frequent uses is for calculating prices. When displaying prices a good you may want to divide the form in two pages, the first one for asking the information needed to calculate the price and in a second page display the calculated field with the price and using the "Instruct. Text" fields for adding the terms, conditions and valid time for the price.

Note that you can make the "Instruct. Text" fields dependent from the calculated value, that way you can change the text shown to the user depending of the number shown in the calculated price, since frequently the terms, conditions or offers vary according to the price amount.

= Add-Ons - Only available in the Developer and Platinum versions of the plugin =

The list of add-ons available in the plugin, appear in the "Add-ons area" of settings page of the plugin. For enabling the add-ons, simply should tick the corresponding checkboxes, and press the "Activate/Deactivate Addons" button.

= Server Side Equations add-on - Only available in the Developer and Platinum versions of the plugin =

The developer and platinum versions of the plugin include the Server Side Equations add-on, to define the equations with PHP in the server side. The equations are called with AJAX.

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#server-side-equations-addon "Server Side Equations add-on")

= WooCommerce add-on - Only available in the Developer and Platinum versions of the plugin =

The developer and platinum versions of the plugin include the WooCommerce add-on, to integrate the forms created by the "Calculated Fields Form" with the WooCommerce products.

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#woocommerce-addon "WooCommerce add-on")

= Easy Digital Downloads add-on - Only available in the Platinum version of the plugin =

The Platinum version of the plugin includes the Easy Digital Downloads add-on, to integrate the forms created by the "Calculated Fields Form" with the EDD products.

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#edd-addon "Easy Digital Downloads add-on")

= SalesForce add-on - Only available in the Developer and Platinum versions of the plugin =

The add-on allows create new leads in the SalesForce account with the data submitted by the forms.

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#salesforce-addon "SalesForce add-on")

= WebHook add-on - Only available in the Developer and Platinum versions of the plugin =

The add-on allows posting the submitted information by the forms to WebHooks URLs. With the WebHook add-on it is possible integrate the forms created by the plugin with services like Zapier, Microsoft Flow, or IFTTT (between others). Services like: Zapier, Microsoft Flow and IFTTT, connect services as important and popular as Zoho CRM, Dropbox, Mailchimp, Evernote, Google Drive, Facebook, Twitter, and more than 300 services [https://zapier.com/zapbook/apps/](https://zapier.com/zapbook/apps/ "Zapier"), [https://flow.microsoft.com/](https://flow.microsoft.com/ "Microsoft Flow"), [https://ifttt.com/discover](https://ifttt.com/discover "IFTTT")

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#webhook-addon "WebHook add-on")

= Users Permissions add-on - Only available in the Developer and Platinum versions of the plugin =

The add-on allows associate the submitted information with the users on website. Furthermore, the plugin allows define rules to restrict the access to the forms to: only registered users, specific roles, or specific users. The add-on adds a new shortcode to the plugin for listing the information submitted by user (it is possible inserting the new shortcode in the user profile), and assign to the users, permissions for editing the submitted information, or delete an entry. With the add-on it is possible limit the number of submissions to only one by form and user.

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#users-addon "Users add-on")

= User Registration Form add-on - Only available in the Developer and Platinum versions of the plugin =

The add-on allows to register new website's users with the information collected by the form, even populate metadata required by other plugins.

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#user-registration-form-addon "User Registration Form add-on")

= reCAPTCHA add-on - Only available in the Developer and Platinum versions of the plugin =

The add-on allows to protect the forms using the Google reCAPTCHA instead of the captcha distributed with the plugin. reCAPTCHA is more visual and intuitive than the traditional captcha.

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#recaptcha-addon "reCAPTCHA add-on")

= Google Analytics add-on - Only available in the Platinum version of the plugin =

The "Google Analytics" add-on allows to generate usage reports in "Google Analytics" about the interactions of users with the form.

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#google-analytics-addon "Google Analytics add-on")

= PayPal Pro add-on - Only available in the Platinum version of the plugin =

With PayPal Pro the form can ask for the credit card details and charge it directly into your website without any redirection through the PayPal website. Once the user has filled the form fields and clicks the submit button the payment is processed and the posted data (excluding the credit card related information) is saved into the WordPress database.

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#paypal-pro-addon "PayPal Pro add-on")

= Upload Files add-on - Only available in the Platinum version of the plugin =

The "Upload Files" add-on allows to add the uploaded files through the forms to the Media Library, and access to them from the pages and posts of website.

Furthermore, it allows to include the support of new mime types, than files format supported by default by WordPress.

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#upload-addon "Upload Files add-on")

= DropBox Integration add-on - Only available in the Platinum version of the plugin =

The "DropBox Integration" add-on allows to copy or move the files uploaded through the forms to a DropBox account.

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#dropbox-addon "DropBox Integration add-on")

= ip2location add-on - Only available in the Platinum version of the plugin =

The add on integrates the Calculated Fields Form with the ip2location databases to identify additional information of users based on their IP, as: Country, City Name, Coordinates, Weather Station, Time Zone, ZIP Code, etc...

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#ip2location-addon "ip2location add-on")

= Google Places add-on - Only available in the Platinum version of the plugin =

The "Google Places" add-on allows to integrate the input fields with the Google Places API to autocomplete the addresses entered by the users.

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#google-places-addon "Google Places add-on")

= Autocomplete Places add-on - Only available in the Platinum version of the plugin =

The "Autocomplete Places" add-on allows to integrate the input fields with the Photon API to autocomplete the addresses entered by the users.

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#autocomplete-places-addon "Autocomplete Places add-on")

= Signature add-on - Only available in the Platinum version of the plugin =

The "Signature" add-on converts the selected fields in "Signature" fields, allowing the users to sign with the mouse or directly in the touchscreens.

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#signature-addon "Signature add-on")

= iCal add-on - Only available in the Platinum version of the plugin =

The "iCal" add-on sends the users an iCal file as part of the confirmation email after the form submission to be imported into most popular calendars like Outlook and Google Calendar.

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#ical-addon "iCal add-on")

= CSV Generator add-on - Only available in the Platinum version of the plugin =

The "CSV Generator" add-on allows to export dynamically the information collected by the form to a CSV file, and send it as attachment in the notification emails.

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#csv-generator-addon "CSV Generator add-on")

= PDF Generator add-on - Only available in the Platinum version of the plugin =

The "PDF Generator" is an experimental add-on that allows to generate PDF files with the information collected by the forms, and send them as attachment of notification emails.

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#pdf-generator-addon "PDF Generator add-on")

= WebMerge add-on - Only available in the Platinum version of the plugin =

The "WebMerge" add-on integrates the forms with the WebMerge Service (FormStack documents), and generate PDF and Office documents at runtime with the information collected by the forms.

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#webmerge-addon "WebMerge add-on")

The "WebMerge" add-on may be used to instegrate the form with the Silverpop service (today IBM Watson Campaign Automation) [CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#silverpop-integration "Silverpop integration")

= PrintFriendly add-on - Only available in the Platinum version of the plugin =

The "PrintFriendly" add-on integrates the forms with the PrintFriendly API for generating PDF files after the forms submissions,  and attach the resulting files to the notification emails.

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#printfriendly-addon "PrintFriendly add-on")

= MailChimp add-on - Only available in the Platinum version of the plugin =

Includes the "MailChimp" add-on to integrate the forms with the MailChimp Service to add new members to the lists.

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#mailchimp-addon "MailChimp add-on")

= Mautic add-on - Only available in the Platinum version of the plugin =

Includes the "Mautic" add-on to integrate the forms with the Mautic Service. This add-on creates new contacts, or update the existent ones, in the Mautic service.

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#mautic-addon "Mautic add-on")

= HubSpot add-on - Only available in the Platinum version of the plugin =

Includes the "HubSpot" add-on to integrate the forms with HubSpot. This add-on creates/updates HubSpot contacts with the information collected by the website's forms.

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#hubspot-addon "HubSpot add-on")

= Emma add-on - Only available in the Platinum version of the plugin =

Includes the "Emma" add-on to integrate the forms with the Emma Service to add new members to the Emma groups.

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#emma-addon "Emma add-on")

= Twilio add-on - Only available in the Platinum version of the plugin =

Includes the "Twilio" add-on to integrate the forms with the Twilio Service for sending notification messages (SMS) when the forms are submitted.

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#twilio-addon "Twilio add-on")

= MailPoet add-on - Only available in the Platinum version of the plugin =

Includes the "MailPoet" add-on to add new subscribers to the MailPoet's Mailing Lists (Both versions, MailPoet 2 and MailPoet 3).

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#mailpoet-addon "MailPoet add-on")

= AffiliateWP add-on - Only available in the Platinum version of the plugin =

Includes the "AffiliateWP" add-on to integrate the forms with the "AffiliateWP" plugin.

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#affiliatewp-addon "AffiliateWP add-on")

= Authorize.Net add-on - Only available in the Platinum version of the plugin =

The Authorize.net Server Server Integration Method (Authorize.net SIM) is a hosted payment processing solution that handles all of the steps in processing a transaction.

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#authorize-addon "Authorize.Net add-on")

= Stripe add-on - Only available in the Platinum version of the plugin =

The Stripe Payments addon (www.stripe.com) provides a way to accept all major cards from customers around the world on web.

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#stripe-addon "Stripe add-on")

= Skrill Payments Integration add-on - Only available in the Platinum version of the plugin =

The Skrill Payments addon provides a secure interface for accepting payments through a secure page. You can accept cards, more than 20 local payment methods and over 80 direct bank transfer connections with a single integration.

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#skrill-addon "Skrill add-on")

= TargetPay (iDeal) add-on - Only available in the Platinum version of the plugin =

The TargetPay addon provides integration with iDeal, the most popular Dutch payment method. The integration is made via TargetPay: https://www.targetpay.com/info/ideal?setlang=en

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#targetpay-addon "TargetPay iDeal add-on")

= Mollie (iDeal) add-on - Only available in the Platinum version of the plugin =

The Mollie addon provides integration with iDeal, the most popular Dutch payment method.

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#mollie-addon "Mollie add-on")

= RedSys / Servired / Sermepa add-on - Only available in the Platinum version of the plugin =

The RedSys / Servired / Sermepa addon provides a secure interface for accepting credit card payments through most banks in Spain (Sabadell, Banco Popular, BBVA, Santander, Bankia, Caixa, Bankinter, etc...)

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#redsys-addon "RedSys / Servired / Sermepa TPV add-on")

= PayTM add-on - Only available in the Platinum version of the plugin =

The PayTM addon provides a secure interface for accepting payments through credit card, debir cards, net banking, wallet and EMI. With over 100mn Paytm users in India, your customers will love the option to pay with their trusted Paytm Wallet.

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#paytm-addon "PayTM add-on")

= SagePay add-on - Only available in the Platinum version of the plugin =

The SagePay addon provides a secure interface for accepting payments through SagePay.

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#sagepay-addon "SagePay add-on")

= Sage Payment add-on - Only available in the Platinum version of the plugin =

The SagePayments addon provides a secure interface for accepting payments through a secure SSL checkout system for both bankcard and virtual check transactions. All authorized and approved transactions will be delivered into your current bankcard and/or virtual check batches viewable within the Virtual Terminal for order processing and settlement.

[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#sagepayment-addon "Sage Payment add-on")

== Installation ==

To install Calculated Fields Form, follow these steps:

1.	Download and unzip the Calculated Fields Form plugin
2.	Upload the entire calculated-fields-form/ directory to the /wp-content/plugins/ directory
3.	Activate the Calculated Fields Form plugin through the Plugins menu in WordPress
4.	Configure the settings at the administration menu >> Settings >> Calculated Fields Form
5.	To insert the calculated / contact form into some content or post use the icon that will appear when editing contents

== Frequently Asked Questions ==

= Q: Is the "Calculated Fields Form" plugin compatible with "Autoptimize"? =

A: [Yes, both plugins are compatible...](http://cff.dwbooster.com/faq#q214 "Yes, both plugins are compatible...")

= Q: Is the "Calculated Fields Form" plugin compatible with "Plugin Organizer"? =

A: [Yes, both plugins are compatible...](http://cff.dwbooster.com/faq#q319 "Yes, both plugins are compatible...")

= Q: What means each field in the Calculated Fields Form settings area? =

A: The Calculated Fields Form's page contains detailed information about each field in the plugin:

[Form Fields](https://cff.dwbooster.com/documentation#common-fields "Form fields")

= Q: Where can I publish a calculated fields form? =

A: You can publish the forms into pages and posts. The shortcode can be also placed into the template. [Read more](https://cff.dwbooster.com/documentation#insertion-page "Publishing the forms")

= Q: Is the form processing an option, for example, to email the form data and calculated results? =

A: The form processing isn't available in the free version of the plugin. All commercial versions of the plugin allow processing the forms' submissions, send notification emails and integrate the forms with payment gateways. [Comparison of different versions of the plugin](https://cff.dwbooster.com/download#comparison "Comparing the plugin's distributions")

= Q: Which calculation operations are included? =

A: The Free and Professional versions of the plugin includes the Mathematical operations module, logical operations, the managing fields module and the third-party connection module, but there are other very interesting operations modules that are distributed only with the Deverloper and Platinum versions of the plugin: teh Date/Time operations module, Financial operations module, Distance module, and Server Side operations module. [Read more](/documentation#modules "Operations modules")

= Q: How can I round the calculated result to 2 decimal digits? =

A: [Using the "PREC" operation, described here](http://cff.dwbooster.com/documentation#prec "PREC Operation")

= Q: Which are the operations with date values that the plugin allows? =

A: [List and description of date/time operations](http://cff.dwbooster.com/documentation#datetime-module "Date/Time Operations")

= Q: Are there financial operations included in the plugin? =

A: [List and description of financial operations](http://cff.dwbooster.com/documentation#financial-module "Financial Operations")

= Q: How to calculate the payments amortization? =

A: The CALCULATEAMORTIZATION  is the most complex operation in the plugin and deserves its own section. Please, visit the following link to read a detailed description about its use:

[How calculate an amortization?](http://cff.dwbooster.com/faq#q219 "CALCULATEAMORTIZATION Operation")

= Q: Can I create global variables to be used in the equations? =

A: [Yes, it is possible create global javascript variables through the shortcode of the form, or with the shortcode: CP_CALCULATED_FIELDS_VAR](http://cff.dwbooster.com/faq#q199 "FAQ Entry")

= Q: How to populate the form fields with URL parameters? =

A: [Visit the following link for instructions](http://cff.dwbooster.com/faq#q251 "FAQ Entry")

= Q: How to use a session variable in the equations? =

A: Please, read the answer in the FAQ entry:
[Click Here](http://cff.dwbooster.com/faq#q268 "FAQ Entry")

= Q: How to use cookie variables in the equations? =

A: Please, read the answer in the FAQ entry:
[Click Here](http://cff.dwbooster.com/faq#q269 "FAQ Entry")

= Q: How to use a parameter passed by post in the equations? =

A: Please, read the answer in the FAQ entry:
[Click Here](http://cff.dwbooster.com/faq#q270 "FAQ Entry")

= Q: How to use a parameter passed by get in the equations? =

A: Please, read the answer in the FAQ entry:
[Click Here](http://cff.dwbooster.com/faq#q271 "FAQ Entry")

= Q: If I've inserted multiple shortcodes for a same form in a webpage, each of them defines an additional variable with the same name. How to access, from the equations in the form, to the value of the variable defined in its shortcode? =

A: Please, visit the following link to the plugin documentation, and pay attention to the definition of the new variables as a hash of the values:
[Click Here](http://cff.dwbooster.com/documentation#direct-javascript-vars "Create direct variables")

= Q: How to define an initial date in a date field? =

A: [Initializing date/time fields](http://cff.dwbooster.com/faq#q220 "FAQ Entry")

= Q: How to change the language on datepicker? =

A: There are different alternatives, directly through the form's structure, or uploading a new file to the plugin's folder. Please, visit the following link to read the instructions:

[How to change the language on datepicker?](http://cff.dwbooster.com/faq#q221 "FAQ Entry")

= Q: How to create relationships between date fields? =

A: It is possible define the min date, max date, or select a date dynamically in a date field, depending on the date selected in another date field.

[Create relationships between date fields](http://cff.dwbooster.com/documentation#relationship-between-date-fields "Documentation")

= Q: Is there a way to format the form in a table structure (various fields in the same line) ? =

A: Yes of course, please, read the following post in the plugin's blog: [Formatting the form (distributing the fields in columns)](https://cff.dwbooster.com/blog/2019/01/06/columns/ "Blog")

= Q: How to convert a common button in a submit button? =

A: To convert a button's field in a submit button, enter the following code as its onclick event:

		jQuery(this).closest('form').submit();

= Q: How to display an image in a checkbox or radio button? =

A: [Displaying images in checkboxes and radio buttons](http://cff.dwbooster.com/faq#q222 "FAQ Entry")

Additionally, to hide the checkboxes and radio buttons, for using only the images for choosing, enter the following styles definition into the "Customize Form Design" attribute in the "Form Settigns" tab:

		#fbuilder input[type="radio"],
		#fbuilder input[type="checkbox"]{display:none !important;}

= Q: How to replace the image displayed in a Media Field, based on the choice selected in a radio buttons field? =

A: [How to replace the image displayed in a Media Field](http://cff.dwbooster.com/faq#q266 "FAQ Entry")

= Q: In which order are evaluated the equations associated to the calculated fields? =

A: [Evaluating the equations](http://cff.dwbooster.com/faq#q79 "FAQ Entry")

= Q: Can I link the calculated amount to a PayPal payment form? =

A: That feature is available in the [commercial versions of the plugin](https://cff.dwbooster.com/download "Download").

Additional details in the "[PayPal Payment Configuration](https://cff.dwbooster.com/documentation#paypal-settings "PayPal Payment Integration")" section in the documentation page of the plugin.

= Q: Non-latin characters aren't being displayed in the calculator form. There is a workaround? =

A: [Solution Here](http://cff.dwbooster.com/faq#q225 "utf-8")

= Q: The calculated form doesn't appear in the public website. Solution? =

A: In the "throubleshoot area" (located below the list of forms in the settings area) change the "Script load method" from "Classic" to "Direct".

There are other possible causes of the issue, related with the optimization plugins, additional details in the [FAQ page](https://cff.dwbooster.com/faq#compatibility-with-other-plugins "Compatibility with Other Plugins") of the plugin.

= Q: How to create multi-page forms? =

A: Simply insert "Page Break" fields in the form builder, between the fields that belong to different pages.

= Q: How to display the selected values in the slider control? =

A: [Displaying selected values in slider control](http://cff.dwbooster.com/faq#q228 "FAQ Entry")

= Q: How to create new validation rules? =

A: [Create new validation rules](http://cff.dwbooster.com/documentation#new-validation-rules "New Validation Rules")

= Q: How to display a summary of entered data in the form? =

A: Insert a summary control in the form, and select the fields to include in summary.

= Q: How to highlight the fields in the summary control? =

A: [Highlighting fields](http://cff.dwbooster.com/faq#q229 "FAQ Entry")

= Q: Can a summary of submitted fields be displayed in the thank you page? =

A: [Displaying a summary in the Thank you page](http://cff.dwbooster.com/faq#q230 "FAQ Entry")

= Q: How can I apply CSS styles to the form fields? =

A: [Applying CSS styles to the form fields](http://cff.dwbooster.com/faq#q82 "FAQ Entry")

= Q: Is possible to modify any of predefined templates included with the plugin? =

A: [Modifying the predefined templates](http://cff.dwbooster.com/faq#q231 "FAQ Entry")

= Q: How to create a new template to use with my forms? =

A: [Creating new templates](http://cff.dwbooster.com/documentation#create-template "Documentation")

= Q: How to hide the fields in the forms? =

A: [Hiding the fields in form](http://cff.dwbooster.com/faq#q232 "FAQ Entry")

= Q: Why after assign some of class names: column2, column3, or column4 (or using the new layout col-...), to a group of fields, the field that follows the group is displayed displaced at right? =

A: [Inserting a separator field between rows](http://cff.dwbooster.com/faq#q320 "FAQ Entry")

= Q: How assign multiple class names to a field? =

A: The class names are assigned to the fields through the attribute: "Add Css Layout Keywords". If you need assign multiple class names to a field, you only should enter the class names separated by space characters. For example: myclass1 myclass2

= Q: What files can be uploaded through the form? =

A: [What files can be uploaded through the form?](http://cff.dwbooster.com/faq#q235 "FAQ Entry")

= Q: How can I include the links to the uploaded files into the notification emails? =

A: [Inserting the links to the uploaded files](http://cff.dwbooster.com/faq#q160 "FAQ Entry")

= Q: Why the form builder is displaying the error message: "The entered data includes invalid characters..."? =

A: If you are copying the information used to configure the form from third-party applications (like MS Word or Excel), this information can include non-valid characters. The plugin validates the form's structure to avoid this type of errors.

= Q: How to use conditional statements in the equations? =

A: There are different alternatives to use conditional statements in the equations:

[Visit the following link](http://cff.dwbooster.com/faq#q239 "FAQ Entry")

= Q: How could be printed the form only and not the complete page? =

A: To print only the form, but not the rest of page, please, follows the instructions in the following link:

[Visit the following link to the documentation page](http://cff.dwbooster.com/documentation#print-form "Documentation")

= Q: How to disable the dynamic evaluation of the equations associated to the calculated fields? =

A: To disable the dynamic evaluation of the equations in the form, you only should untick the "Eval dynamically the equations associated to the calculated fields" option, from the "Form Settings" tab, of form builder. But, in this case should be inserted a button field in the form with "calculate" option selected as its type, to evaluate the equations when the button be pressed.

= Q: My company has different departments( the sales department, and the support group). Could you send a notification email to a representative of each departments when the form be submitted? =

A: Yes, that is possible, you only should to enter all emails separated by the comma symbol, through the attribute: "Destination emails", in the form's settings.

= Q: Why the users are not receiving the notification emails if was selected the option for sending a copy to the user, and selected the email field, from the form's settings? =

A: If the users are not receiving the notification emails after the form's submission, there are different possible reasons:

[Visit the following link](http://cff.dwbooster.com/faq#q241 "FAQ Entry")

= Q: How to insert lines changes in the notification emails, when the HTML format is selected? =

A: If you are using the HTML format in the notification emails, you should insert BR tags for the lines changes in the emails' contents:

**&lt;BR /&gt;**

= Q: How to insert an image in the notification emails? =

A: [Inserting images in the notification emails](http://cff.dwbooster.com/faq#q223 "FAQ Entry")

= Q: How to send specific fields in the notification emails, and not all form fields? =

A: The  notification emails can include all fields submitted by the form (&lt;%INFO%&gt;) or specific fields using their tags(&lt;%fieldname#%&gt;), furthermore of some other special tags. Please, visit the following link to get the complete list of tags to include in the email:

[Accepted tags](https://cff.dwbooster.com/documentation#special-tags "Special tags in the notification emails and the thank you pages")

= Q: How to create dependencies between fields in the notification emails, and the thank you pages? =

A: [Entry on the FAQ page](http://cff.dwbooster.com/faq#q318 "FAQ Entry")

= Q: How to implement my own operations? =

A: [FAQ page](http://cff.dwbooster.com/faq#q245 "FAQ Entry")

= Q: How to calculate the number of words in a text? =

A: [Calculating the number of words in a text](http://cff.dwbooster.com/faq#q246 "FAQ Entry")

= Q: How to calculate the number of characters in a text, excluding the blank characters? =

A: [Calculating the number of characters in a text](http://cff.dwbooster.com/faq#q247 "FAQ Entry")

= Q: How to assign a value to a field that is not a calculated field from an equation? =

A: [Assigning values to the fields from equations](http://cff.dwbooster.com/faq#q248 "FAQ Entry")

= Q: How to insert a link in the form? =

A: The form builder does not include a specific field for links, however you can insert a link (or any other HTML tag) using a "HTML Content" field. Insert a "HTML Content" field in the form, and enter the anchor tag as its content. For example, to insert a link to our website, can be entered the following tag:

**&lt;a href="http://cff.dwbooster.com"&gt;Visit the website&lt;/a&gt;**

= Q: How to define dependencies between fields in the form? =

A: [Click Here](https://cff.dwbooster.com/documentation#dependencies "Plugin Documentation")

= Q: How can be created dependencies with  multiple fields? =

A: To create dependencies depending on values of multiple fields, requires the use of calculated fields. [Read more](http://cff.dwbooster.com/faq#q250 "FAQ Entry")

= Q: How to prevent users vary the values of fields, for paying less than the calculated price? =

A: The form settings include the attribute "Base amount" to define the minimum price allowed. So, if an user manipulates the calculated field for paying less, will be applied the number entered in the **"Base amount"** attribute.

= Q: How to use the value of a field in the form, as the name of product submitted to PayPal? =

A: Through the attribute: "Paypal product name" in the form's settings, it is defined the name of the product submitted to PayPal. You can enter a text, or the tag of the field you want to use to define the product's name. For example for using the value of the fieldname1 field, as the product's name, should be entered the text &lt;%fiedname1%&gt; in the "Paypal product name" attribute.

= Q: How to allow to the users decide the frequency of payments for recurring payments? =

A: Follows the instructions below:

1. Inserts a Radio Button or DropDown field in the form.
2. Enters any texts, for the texts of choices, but for the choices values must be entered the number of months.
3. Selects the option: "From field", in the "Payment frequency" attribute.
4. Finally, select the field inserted in the second step, from the list beside the "Payment frequency" attribute.

Tip: The maximum number of months allowed by PayPal for recurring payments is 12 months.

If you decide give to the user the possibility to select the frequency of payments, you should take into consideration this field in the equation that calculates the amount to charge monthly.

= Q: How to select a choice in a DropDown field, or Radio Button, based on calculated value? =

A: I'll try to describe the process with some hypothetical examples. Assuming the radio button field is fieldname123, and you can to select the choice with the value 5, uses the following piece of code as part of the equation associated to the calculated field:

		getField(123).setVal(5);

But if the fieldname123 is a checkbox field and you want to select the choices with values: 5 and 8, the code would be:

		getField(123).setVal([5,8]);

= Q: How to set the value of a slider control programmatically? =

A: Please, read the answer in the plugin's documentation:
[Click Here](http://cff.dwbooster.com/documentation#assign-slider-value-programmatically "Slider Value")

= Q: How to use the "DS" fields? =

A: Please, visit the following post in our technical blog:
[Click Here](https://cff.dwbooster.com/blog/2019/02/14/ds/ "Using the information stored in a database or csv file in the form")

= Q: In a form with multiple "DS" fields. How to reduce the number of queries to database? =

A: In this case the recommendation is to use "RecordSet DS" fields as datasource: [Click Here for instructions](https://cff.dwbooster.com/blog/2019/02/14/ds/ "Recordset DS field")

= Q: How to use the data submitted by a form in another one? =

A: Please, read the instructions in the plugin's documentation.
[Click Here](https://cff.dwbooster.com/documentation#populate-form-b-with-a "Populate the form B with the data submitted by the form A")

= Q: How to store the submitted information in another database? =

A: Please, read the instructions in the plugin's documentation.
[Click Here](https://cff.dwbooster.com/documentation#third-party-database "Storing Data in a Different Database")

= Q: How do I integrate forms with WooCommerce products? =

[Integrating the forms with WooCommerce products](http://cff.dwbooster.com/faq#q252 "FAQ Entry")

= Q: How to customize the fields displayed in the cart page of WooCommerce? =

[Customizing the fields in the shopping cart of WooCommerce](http://cff.dwbooster.com/faq#q315 "FAQ Entry")

= Q: Why the WooCommerce product is not displaying the "Add to Cart" button? =

A: If you have created the form correctly, and associated it to the product, even if you have configured the product to calculate the price with the form, you will need to assign a price to the product, through the attribute: "Regular Price", or WooCommerce won't display the "Add to Cart" button.

= Q: What is SalesForce, and how to create new leads from my forms? =

A: To get a complete guide about the integration of forms created with the plugin and the SalesForce service, please visit the following link:
[Click Here](http://blog.net-factor.com/what-is-salesforce-and-how-to-create-new-leads-from-my-forms/ "Blog Post")

= Q: How to copy the uploaded files to DropBox? =

A: Activates and configure the DropBox add-on, distributed with the Platinum version of the plugin:
[Click Here](https://cff.dwbooster.com/documentation#dropbox-addon "DropBox add-on")

= Q: How to generate a PDF file dynamically with the submitted information? =

A: Please, visits the following link to get a tutorial:
[Click Here](http://cff.dwbooster.com/faq#q273 "FAQ Entry")

= Q: How to use a file field with multiple selection from Zapier? =

A: Please, visits the following link to get the answer to your question:
[Click Here](http://cff.dwbooster.com/faq#q274 "FAQ Entry")

= Q: How turn off the up/down arrows in the number fields? =

A: Please, visits the following link to get the answer to your question:
[Click Here](http://cff.dwbooster.com/faq#q312 "FAQ Entry")

= Q: How to protect the form against the attacks of the spam bots? =

A: Please, visit the following entry in the FAQ page of the plugin with the instructions to protect the form:
[Click Here](http://cff.dwbooster.com/faq#q313 "FAQ Entry")

= Q: I've an issue with the character encoding in the exported CSV/Excel files? =

A: If this happens follow these steps to correctly import the file:

1. Save the exported file as a csv
2. Open Excel
3. Import the data using Data &lt; Import External Data &lt; Import Data
4. Select the file type of "csv" and browse to your file
5. In the import wizard change the File_Origin to the related language character identifier
6. Change the Delimiter to comma if needed
7. Select where to import to and Finish

This way the special characters should show correctly.

== Screenshots ==

1. Calculated forms list
2. Inserting the form using the Classic Editor
3. Inserting the form using the Gutenberg Editor
4. Inserting the form using Elementor
5. Inserting the form using Page Builder by SiteOrigin
6. Inserting the form using Beaver Builder
7. Inserting the form using WPBakery Page Builder
8. Sample calculated form
9. Calculated field settings
10. Advanced equations editor
11. Calculator Form builder
12. Editing general fields
13. Available designs
14. Add-ons section
15. WooCommerce add-on
16. SalesForce add-on
17. WebHook add-on, and its integration with Zapier

== Changelog ==

= 1.0.402 =

* Improves the code that generates the forms builder.
* Includes new filter cpcff_custom_tags (Professional, Developer and Platinum versions)
* Modifies the PDF Generator add-on allowing to enter the <%pdf_generator_url%> tag into the notification emails and thank you pages. The tag would be replaced with the URL to the PDF file (Platinum versions)

= 1.0.401 =

* Modifies some database's columns to increase their sizes.
* Adds a random parameter to the thank you page's URL to prevent it be cached (Professional, Developer and Platinum versions)

= 1.0.400 =

* Modifies the controls to allow using other fields in the form as their predefined values.

= 1.0.399 =

* Modifies the forms builder.
* It has been tested in WP 5.5

= 1.0.398 =

* Includes pre tags to prevent other plugins pre-process our plugin's scripts.
* Fixes a conflict with Lottie.
* Fixes an issue with the conditional attributes in the fields tags used in the notification emails and thank you pages (Professional, Developer and Platinum versions)
* Includes a new data source alternative in the recordset fields for reading the records from a javascript variable or JSON file (Developer and Platinum versions)

= 1.0.397 =

* Includes the exclude attribute in the hidden fields too.

= 1.0.396 =

* Now edit the forms and equations is easier. The plugin includes a frame with the field's name directly on the dashboard.
* Fixes an issue in the summary control. If there is a date-time field with the date component disabled, the summary will display only the time.
* Fixes an issue with the progress bar in the template 07 for multi-pages forms.
* Modifies the IF operation to prevent an error caused by the optimization algorithm of the WP-Optimize plugin.
* Includes a new attribute in the fields' settings to exclude them from submissions and notification emails (Professional, Developer, and Platinum versions).

= 1.0.395 =

* Includes a new option in the plugins settings to prevent the conflicts with the optimization plugins.
* Modifies the WooCommerce add-on (Developer and Platinum versions).
* Fixes a minor issue in the payment gateways add-ons (Platinum version).

= 1.0.394 =

* Fixes an issue formatting the calculated fields results.

= 1.0.393 =

* Modifies the pagination process.

== Upgrade Notice ==

= 1.0.402 =

Important note: If you are using the Professional version don't update via the WP dashboard but using your personal update link. Contact us if you need further information: http://cff.dwbooster.com/contact-us