Version Description
- Includes additional validations rules to identify possible conflicts with Hummingbird.
Download this release
Release Info
Developer | codepeople |
Plugin | Calculated Fields Form |
Version | 1.0.383 |
Comparing to | |
See all releases |
Code changes from version 1.0.336 to 1.0.383
- README.txt +75 -39
- captcha/captcha.php +0 -1
- changelog.txt +240 -2
- config/cpcff_config.cfg.php +31 -14
- cp_calculatedfieldsf_free.php +22 -3
- css/style.css +20 -1
- css/stylepublic.css +5 -4
- inc/cpcff_admin_int.inc.php +13 -15
- inc/cpcff_admin_int_list.inc.php +20 -5
- inc/cpcff_amp.inc.php +11 -6
- inc/cpcff_auxiliary.inc.php +22 -0
- inc/cpcff_banner.inc.php +1 -1
- inc/cpcff_compatibility.inc.php +98 -0
- inc/cpcff_form.inc.php +12 -3
- inc/cpcff_install_uninstall.inc.php +5 -1
- inc/cpcff_main.inc.php +20 -4
- inc/cpcff_page_builders.inc.php +5 -1
- js/fbuilder-pro-admin.jquery.js +5 -3
- js/fbuilder-pro-public.jquery.js +36 -33
- js/fields-admin/01_fbuilder.ftext.js +1 -1
- js/fields-admin/02_fbuilder.fcurrency.js +1 -1
- js/fields-admin/02_fbuilder.fnumber.js +1 -1
- js/fields-admin/02_fbuilder.fslider.js +2 -2
- js/fields-admin/04_fbuilder.fdate.js +14 -14
- js/fields-admin/05_fbuilder.ftextarea.js +1 -1
- js/fields-admin/06_fbuilder.fcheck.js +3 -7
- js/fields-admin/07_fbuilder.fradio.js +3 -7
- js/fields-admin/08_fbuilder.fdropdown.js +3 -9
- js/fields-admin/09_fbuilder.ffile.js +1 -1
- js/fields-admin/10_fbuilder.fpassword.js +1 -1
- js/fields-admin/16_fbuilder.fsummary.js +9 -9
- js/fields-admin/28_fbuilder.fcontainer.js +7 -2
- js/fields-admin/29_fbuilder.ffieldset.fc.js +1 -0
- js/fields-admin/30_fbuilder.fdiv.fc.js +1 -0
- js/fields-admin/31_fbuilder.fmedia.js +30 -26
- js/fields-admin/32_fbuilder.fbutton.js +19 -4
- js/fields-admin/34_fbuilder.fhtml.js +26 -1
- js/fields-admin/fbuilder.fcalculated.js +7 -7
- js/fields-public/02_fbuilder.fcurrency.js +9 -5
- js/fields-public/02_fbuilder.fnumber.js +8 -6
- js/fields-public/05_fbuilder.ftextarea.js +4 -1
- js/fields-public/10_fbuilder.fpassword.js +5 -1
- js/fields-public/28_fbuilder.fcontainer.js +2 -1
- js/fields-public/29_fbuilder.ffieldset.fc.js +1 -0
- js/fields-public/30_fbuilder.fdiv.fc.js +1 -0
- js/fields-public/31_fbuilder.fmedia.js +5 -2
- js/fields-public/32_fbuilder.fbutton.js +20 -10
- js/fields-public/fbuilder.fcalculated.js +18 -0
- js/modules/01_mathematical_logical/admin/module_admin.js +3 -0
- js/modules/01_mathematical_logical/public/module_public.js +37 -0
- js/modules/05_managing_fields/admin/module_admin.js +11 -1
- js/modules/05_managing_fields/public/05_managing_fields.js +58 -0
- js/modules/05_managing_fields/public/module_public.js +11 -0
- js/modules/06_connector/admin/module_admin.js +1 -1
- js/modules/06_connector/public/01_connector.js +4 -2
- js/modules/08_url/admin/module_admin.js +55 -0
- js/modules/08_url/public/01_url.js +120 -0
- js/modules/08_url/public/module_public.js +11 -0
- languages/calculated-fields-form-en_US.mo +0 -0
- languages/calculated-fields-form-en_US.po +456 -196
- pagebuilders/divi/cff.js +1 -0
- pagebuilders/divi/cff.pb.php +8 -8
- pagebuilders/elementor/elementor.pb.php +1 -1
- pagebuilders/gutenberg/assets/js/gutenberg.js +1 -1
- templates/07/thumbnail.jpg +0 -0
- templates/08/thumbnail.jpg +0 -0
- templates/09/thumbnail.jpg +0 -0
- templates/10/thumbnail.jpg +0 -0
- templates/11/thumbnail.jpg +0 -0
- templates/12/thumbnail.jpg +0 -0
- templates/13/config.ini +5 -0
- templates/13/style.css +287 -0
- templates/13/thumbnail.jpg +0 -0
README.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: codepeople
|
|
3 |
Â
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.
|
7 |
Â
Stable tag: trunk
|
8 |
Â
License: GPLv2 or later
|
9 |
Â
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
@@ -55,7 +55,7 @@ The "Calculated Fields Form" plugin allows the specific integration with the fol
|
|
55 |
Â
* Elementor.
|
56 |
Â
* Page Builder by SiteOrigin.
|
57 |
Â
* Beaver Builder.
|
58 |
-
*
|
59 |
Â
* DIVI Builder.
|
60 |
Â
* For other editors, the shortcodes should be inserted using other controls of general purpose, like the controls for inserting HTML or shortcodes.
|
61 |
Â
|
@@ -121,6 +121,7 @@ The plugin has two additional (commercial) versions: **Premium** and **Developer
|
|
121 |
Â
= Features in Platinum version: =
|
122 |
Â
|
123 |
Â
* All features of free, premium, and developer versions of the plugin.
|
Â
|
|
124 |
Â
* Includes the Google Analytics add-on to generate reports about the usage of forms, to identify the users actions and behaviors.
|
125 |
Â
* 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.
|
126 |
Â
* Includes the Upload Files add-on to integrate the uploaded files in the website library, and add new mime types to WordPress.
|
@@ -131,13 +132,15 @@ The plugin has two additional (commercial) versions: **Premium** and **Developer
|
|
131 |
Â
* 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.
|
132 |
Â
* 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.
|
133 |
Â
* 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.
|
134 |
-
* Includes the "
|
Â
|
|
135 |
Â
* 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.
|
136 |
Â
* Includes the "MailChimp" add-on to add new members to the MailChimp Service using the data collected by the form.
|
137 |
Â
* 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.
|
Â
|
|
138 |
Â
* Includes the "Emma" add-on to add new members to the Emma Service using the data collected by the form.
|
139 |
Â
* Includes the "Twilio" add-on for sending notification messages (SMS) when the forms are submitted.
|
140 |
-
* Includes the "MailPoet" add-on to add new subscribers to the MailPoet's Mailing Lists.
|
141 |
Â
* Includes the "AffiliateWP" add-on to integrate the forms with the AffiliateWP plugin.
|
142 |
Â
* Authorize.Net add-on integrate the forms with the Authorize.Net payment gateway.
|
143 |
Â
* Stripe add-on integrate the forms with the Stripe payment gateway.
|
@@ -234,12 +237,10 @@ Here are some sample formulas that can be used as base:
|
|
234 |
Â
|
235 |
Â
* 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:
|
236 |
Â
|
237 |
-
|
238 |
-
(
|
239 |
-
|
240 |
-
|
241 |
-
})();
|
242 |
-
```
|
243 |
Â
|
244 |
Â
|
245 |
Â
* For complex equations where is required to define blocks of JavaScript code, you should use the following format:
|
@@ -287,9 +288,11 @@ To get the complete list of available fields, please visit the following link: [
|
|
287 |
Â
|
288 |
Â
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:
|
289 |
Â
|
290 |
-
[CP_CALCULATED_FIELDS_VAR name="..."]
|
Â
|
|
Â
|
|
291 |
Â
|
292 |
-
|
293 |
Â
|
294 |
Â
[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#javascript-variables "Create JavaScript Variables")
|
295 |
Â
|
@@ -315,6 +318,12 @@ The developer and platinum versions of the plugin include the WooCommerce add-on
|
|
315 |
Â
|
316 |
Â
[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#woocommerce-addon "WooCommerce add-on")
|
317 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
318 |
Â
= SalesForce add-on - Only available in the Developer and Platinum versions of the plugin =
|
319 |
Â
|
320 |
Â
The add-on allows create new leads in the SalesForce account with the data submitted by the forms.
|
@@ -407,9 +416,15 @@ The "CSV Generator" add-on allows to export dynamically the information collecte
|
|
407 |
Â
|
408 |
Â
[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#csv-generator-addon "CSV Generator add-on")
|
409 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
410 |
Â
= WebMerge add-on - Only available in the Platinum version of the plugin =
|
411 |
Â
|
412 |
-
The "WebMerge" add-on integrates the forms with the WebMerge Service, and generate PDF and Office documents at runtime with the information collected by the forms.
|
413 |
Â
|
414 |
Â
[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#webmerge-addon "WebMerge add-on")
|
415 |
Â
|
@@ -433,6 +448,12 @@ Includes the "Mautic" add-on to integrate the forms with the Mautic Service. Thi
|
|
433 |
Â
|
434 |
Â
[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#mautic-addon "Mautic add-on")
|
435 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
436 |
Â
= Emma add-on - Only available in the Platinum version of the plugin =
|
437 |
Â
|
438 |
Â
Includes the "Emma" add-on to integrate the forms with the Emma Service to add new members to the Emma groups.
|
@@ -447,7 +468,7 @@ Includes the "Twilio" add-on to integrate the forms with the Twilio Service for
|
|
447 |
Â
|
448 |
Â
= MailPoet add-on - Only available in the Platinum version of the plugin =
|
449 |
Â
|
450 |
-
Includes the "MailPoet" add-on to add new subscribers to the MailPoet's Mailing Lists.
|
451 |
Â
|
452 |
Â
[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#mailpoet-addon "MailPoet add-on")
|
453 |
Â
|
@@ -914,7 +935,7 @@ This way the special characters should show correctly.
|
|
914 |
Â
4. Inserting the form using Elementor
|
915 |
Â
5. Inserting the form using Page Builder by SiteOrigin
|
916 |
Â
6. Inserting the form using Beaver Builder
|
917 |
-
7. Inserting the form using
|
918 |
Â
8. Sample calculated form
|
919 |
Â
9. Calculated field settings
|
920 |
Â
10. Advanced equations editor
|
@@ -928,51 +949,66 @@ This way the special characters should show correctly.
|
|
928 |
Â
|
929 |
Â
== Changelog ==
|
930 |
Â
|
931 |
-
= 1.0.
|
932 |
Â
|
933 |
-
*
|
934 |
Â
|
935 |
-
= 1.0.
|
936 |
Â
|
937 |
-
*
|
938 |
Â
|
939 |
-
= 1.0.
|
940 |
Â
|
941 |
-
* Modifies the
|
Â
|
|
Â
|
|
Â
|
|
942 |
Â
|
943 |
-
= 1.0.
|
944 |
Â
|
945 |
-
*
|
946 |
Â
|
947 |
-
= 1.0.
|
948 |
Â
|
949 |
-
*
|
Â
|
|
Â
|
|
Â
|
|
950 |
Â
|
951 |
-
= 1.0.
|
952 |
Â
|
953 |
-
*
|
954 |
Â
|
955 |
-
= 1.0.
|
956 |
Â
|
957 |
-
*
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
958 |
Â
|
959 |
-
= 1.0.
|
960 |
Â
|
961 |
-
* Modifies the
|
962 |
-
*
|
963 |
-
* Modifies the
|
Â
|
|
Â
|
|
964 |
Â
|
965 |
-
= 1.0.
|
966 |
Â
|
967 |
-
*
|
Â
|
|
968 |
Â
|
969 |
-
= 1.0.
|
970 |
Â
|
971 |
-
*
|
972 |
-
*
|
Â
|
|
Â
|
|
973 |
Â
|
974 |
Â
== Upgrade Notice ==
|
975 |
Â
|
976 |
-
= 1.0.
|
977 |
Â
|
978 |
Â
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
|
3 |
Â
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.4
|
7 |
Â
Stable tag: trunk
|
8 |
Â
License: GPLv2 or later
|
9 |
Â
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
55 |
Â
* Elementor.
|
56 |
Â
* Page Builder by SiteOrigin.
|
57 |
Â
* Beaver Builder.
|
58 |
+
* WPBakery Page Builder.
|
59 |
Â
* DIVI Builder.
|
60 |
Â
* For other editors, the shortcodes should be inserted using other controls of general purpose, like the controls for inserting HTML or shortcodes.
|
61 |
Â
|
121 |
Â
= Features in Platinum version: =
|
122 |
Â
|
123 |
Â
* All features of free, premium, and developer versions of the plugin.
|
124 |
+
* Includes an add-on to integrate the forms with the Easy Digital Downloads products
|
125 |
Â
* Includes the Google Analytics add-on to generate reports about the usage of forms, to identify the users actions and behaviors.
|
126 |
Â
* 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.
|
127 |
Â
* Includes the Upload Files add-on to integrate the uploaded files in the website library, and add new mime types to WordPress.
|
132 |
Â
* 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.
|
133 |
Â
* 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.
|
134 |
Â
* 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.
|
135 |
+
* 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.
|
136 |
+
* 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.
|
137 |
Â
* 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.
|
138 |
Â
* Includes the "MailChimp" add-on to add new members to the MailChimp Service using the data collected by the form.
|
139 |
Â
* 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.
|
140 |
+
* Includes the "HubSpot" add-on to creates/updatess contacts in HubSpot, using the information collected by the form.
|
141 |
Â
* Includes the "Emma" add-on to add new members to the Emma Service using the data collected by the form.
|
142 |
Â
* Includes the "Twilio" add-on for sending notification messages (SMS) when the forms are submitted.
|
143 |
+
* Includes the "MailPoet" add-on to add new subscribers to the MailPoet's Mailing Lists (Both versions, MailPoet 2 and MailPoet 3).
|
144 |
Â
* Includes the "AffiliateWP" add-on to integrate the forms with the AffiliateWP plugin.
|
145 |
Â
* Authorize.Net add-on integrate the forms with the Authorize.Net payment gateway.
|
146 |
Â
* Stripe add-on integrate the forms with the Stripe payment gateway.
|
237 |
Â
|
238 |
Â
* 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:
|
239 |
Â
|
240 |
+
`(function(){`
|
241 |
+
` if(fieldname3 > 100) return fieldname1+fieldname2;`
|
242 |
+
` if(fieldname3 <= 100) return fieldname1*fieldname2;`
|
243 |
+
`})();`
|
Â
|
|
Â
|
|
244 |
Â
|
245 |
Â
|
246 |
Â
* For complex equations where is required to define blocks of JavaScript code, you should use the following format:
|
288 |
Â
|
289 |
Â
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:
|
290 |
Â
|
291 |
+
`[CP_CALCULATED_FIELDS_VAR name="..."]`
|
292 |
+
|
293 |
+
The ... symbol should be replaced by the parameter or variable name, and will be the same name of the javascript variable. For example:
|
294 |
Â
|
295 |
+
`[CP_CALCULATED_FIELDS_VAR name="varname"]`
|
296 |
Â
|
297 |
Â
[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#javascript-variables "Create JavaScript Variables")
|
298 |
Â
|
318 |
Â
|
319 |
Â
[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#woocommerce-addon "WooCommerce add-on")
|
320 |
Â
|
321 |
+
= Easy Digital Downloads add-on - Only available in the Platinum version of the plugin =
|
322 |
+
|
323 |
+
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.
|
324 |
+
|
325 |
+
[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#edd-addon "Easy Digital Downloads add-on")
|
326 |
+
|
327 |
Â
= SalesForce add-on - Only available in the Developer and Platinum versions of the plugin =
|
328 |
Â
|
329 |
Â
The add-on allows create new leads in the SalesForce account with the data submitted by the forms.
|
416 |
Â
|
417 |
Â
[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#csv-generator-addon "CSV Generator add-on")
|
418 |
Â
|
419 |
+
= PDF Generator add-on - Only available in the Platinum version of the plugin =
|
420 |
+
|
421 |
+
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.
|
422 |
+
|
423 |
+
[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#pdf-generator-addon "PDF Generator add-on")
|
424 |
+
|
425 |
Â
= WebMerge add-on - Only available in the Platinum version of the plugin =
|
426 |
Â
|
427 |
+
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.
|
428 |
Â
|
429 |
Â
[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#webmerge-addon "WebMerge add-on")
|
430 |
Â
|
448 |
Â
|
449 |
Â
[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#mautic-addon "Mautic add-on")
|
450 |
Â
|
451 |
+
= HubSpot add-on - Only available in the Platinum version of the plugin =
|
452 |
+
|
453 |
+
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.
|
454 |
+
|
455 |
+
[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#hubspot-addon "HubSpot add-on")
|
456 |
+
|
457 |
Â
= Emma add-on - Only available in the Platinum version of the plugin =
|
458 |
Â
|
459 |
Â
Includes the "Emma" add-on to integrate the forms with the Emma Service to add new members to the Emma groups.
|
468 |
Â
|
469 |
Â
= MailPoet add-on - Only available in the Platinum version of the plugin =
|
470 |
Â
|
471 |
+
Includes the "MailPoet" add-on to add new subscribers to the MailPoet's Mailing Lists (Both versions, MailPoet 2 and MailPoet 3).
|
472 |
Â
|
473 |
Â
[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#mailpoet-addon "MailPoet add-on")
|
474 |
Â
|
935 |
Â
4. Inserting the form using Elementor
|
936 |
Â
5. Inserting the form using Page Builder by SiteOrigin
|
937 |
Â
6. Inserting the form using Beaver Builder
|
938 |
+
7. Inserting the form using WPBakery Page Builder
|
939 |
Â
8. Sample calculated form
|
940 |
Â
9. Calculated field settings
|
941 |
Â
10. Advanced equations editor
|
949 |
Â
|
950 |
Â
== Changelog ==
|
951 |
Â
|
952 |
+
= 1.0.383 =
|
953 |
Â
|
954 |
+
* Includes additional validations rules to identify possible conflicts with Hummingbird.
|
955 |
Â
|
956 |
+
= 1.0.382 =
|
957 |
Â
|
958 |
+
* Modifies the HTML Content field to integrate a HTML editor into the Content attribute.
|
959 |
Â
|
960 |
+
= 1.0.381 =
|
961 |
Â
|
962 |
+
* Modifies the container fields (DIV and Fieldsets) allowing rearrange the fields in columns.
|
963 |
+
* Fixes an issue with the fields' focus in the multi-pages forms.
|
964 |
+
* Allows to get the length of numbers.
|
965 |
+
* Includes the LATLNG operation in the DISTANCE operations module to get the latitude and longitude corresponding to an address, or the text FAIL (Developer and Platinum versions of the plugin).
|
966 |
Â
|
967 |
+
= 1.0.380 =
|
968 |
Â
|
969 |
+
* Fixes an issue displaying the captcha preview.
|
970 |
Â
|
971 |
+
= 1.0.379 =
|
972 |
Â
|
973 |
+
* Modifies some texts in the plugin's interface.
|
974 |
+
* Modifies some CSS rules.
|
975 |
+
* Improves the plugin's registration process (Professional, Developer, and Platinum versions)
|
976 |
+
* Modifies the PayTM add-on (Platinum version)
|
977 |
Â
|
978 |
+
= 1.0.378 =
|
979 |
Â
|
980 |
+
* Fixes an issue extracting the website's domain when the code is running as CLI.
|
981 |
Â
|
982 |
+
= 1.0.377 =
|
983 |
Â
|
984 |
+
* Improves the plugin's performance.
|
985 |
+
* Removes unnecessary attributes from the form's settings.
|
986 |
+
* Modifies some styles.
|
987 |
+
* Allows identify easier the errors with the notification emails, generating an entry in the Error Logs (Professional, Developer, and Platinum versions of the plugin).
|
988 |
+
* Modifies the PrintFriendly add-on, allowing configure the emails where attach the pdf files.
|
989 |
Â
|
990 |
+
= 1.0.376 =
|
991 |
Â
|
992 |
+
* Modifies the module that loads the plugin's resources.
|
993 |
+
* Modifies the module to export the forms. Now the forms list includes the form's id in front of forms' names, and the name of generated file, has the structure: export_id_yyyy-mm-dd_hhiiss.cpfm (Professional, Developer and Platinum versions of the plugin)
|
994 |
+
* Modifies the Users Permissions add-on to support the new attributes in the submissions shortcode: from, to, limit, order (Developer and Platinum versions of the plugin)
|
995 |
+
* Includes the DMSTODD operation in the Distance operations module to convert degrees, minutes and seconds values into decimal degrees (Developer and Platinum versions of the plugin).
|
996 |
+
* Modifies the SagePay add-on (Platinum version of the plugin)
|
997 |
Â
|
998 |
+
= 1.0.375 =
|
999 |
Â
|
1000 |
+
* Includes additional validations rules to identify possible conflicts with other optimization plugins.
|
1001 |
+
* Fixes an encoding issue with some ampersand symbols in generated URLs.
|
1002 |
Â
|
1003 |
+
= 1.0.374 =
|
1004 |
Â
|
1005 |
+
* It makes easier debugging the errors in the equations.
|
1006 |
+
* Includes the new CSS class hide-strong, it applies the display:none with the !important modifier.
|
1007 |
+
* Includes two new operations in the Managing Fields module, ACTIVATEFIELD and IGNOREFIELD for activating and ignoring the fields programmatically.
|
1008 |
+
* Reduces the space between fields after the forms' submissions.
|
1009 |
Â
|
1010 |
Â
== Upgrade Notice ==
|
1011 |
Â
|
1012 |
+
= 1.0.383 =
|
1013 |
Â
|
1014 |
Â
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
|
captcha/captcha.php
CHANGED
@@ -3,7 +3,6 @@
|
|
3 |
Â
PHP Captcha by Codepeople.net
|
4 |
Â
http://www.codepeople.net
|
5 |
Â
*/
|
6 |
-
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
7 |
Â
if(!defined('WP_DEBUG') || true != WP_DEBUG)
|
8 |
Â
{
|
9 |
Â
error_reporting(E_ERROR|E_PARSE);
|
3 |
Â
PHP Captcha by Codepeople.net
|
4 |
Â
http://www.codepeople.net
|
5 |
Â
*/
|
Â
|
|
6 |
Â
if(!defined('WP_DEBUG') || true != WP_DEBUG)
|
7 |
Â
{
|
8 |
Â
error_reporting(E_ERROR|E_PARSE);
|
changelog.txt
CHANGED
@@ -1,5 +1,243 @@
|
|
1 |
Â
== Changelog ==
|
2 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
3 |
Â
= 1.0.336 =
|
4 |
Â
|
5 |
Â
* Modifies the code of the plugin for allowing the compatibility with outdated versions of PHP.
|
@@ -76,7 +314,7 @@
|
|
76 |
Â
|
77 |
Â
= 1.0.319 =
|
78 |
Â
|
79 |
-
* Fixes an issue in the integration with
|
80 |
Â
|
81 |
Â
= 1.0.318 =
|
82 |
Â
|
@@ -103,7 +341,7 @@
|
|
103 |
Â
= 1.0.315 =
|
104 |
Â
|
105 |
Â
* Fixes some minor issues.
|
106 |
-
* Implements a specific element to insert the forms using
|
107 |
Â
|
108 |
Â
= 1.0.314 =
|
109 |
Â
|
1 |
Â
== Changelog ==
|
2 |
Â
|
3 |
+
= 1.0.383 =
|
4 |
+
|
5 |
+
* Includes additional validations rules to identify possible conflicts with Hummingbird.
|
6 |
+
|
7 |
+
= 1.0.382 =
|
8 |
+
|
9 |
+
* Modifies the HTML Content field to integrate a HTML editor into the Content attribute.
|
10 |
+
|
11 |
+
= 1.0.381 =
|
12 |
+
|
13 |
+
* Modifies the container fields (DIV and Fieldsets) allowing rearrange the fields in columns.
|
14 |
+
* Fixes an issue with the fields' focus in the multi-pages forms.
|
15 |
+
* Allows to get the length of numbers.
|
16 |
+
* Includes the LATLNG operation in the DISTANCE operations module to get the latitude and longitude corresponding to an address, or the text FAIL (Developer and Platinum versions of the plugin).
|
17 |
+
|
18 |
+
= 1.0.380 =
|
19 |
+
|
20 |
+
* Fixes an issue displaying the captcha preview.
|
21 |
+
|
22 |
+
= 1.0.379 =
|
23 |
+
|
24 |
+
* Modifies some texts in the plugin's interface.
|
25 |
+
* Modifies some CSS rules.
|
26 |
+
* Improves the plugin's registration process (Professional, Developer, and Platinum versions)
|
27 |
+
* Modifies the PayTM add-on (Platinum version)
|
28 |
+
|
29 |
+
= 1.0.378 =
|
30 |
+
|
31 |
+
* Fixes an issue extracting the website's domain when the code is running as CLI.
|
32 |
+
|
33 |
+
= 1.0.377 =
|
34 |
+
|
35 |
+
* Improves the plugin's performance.
|
36 |
+
* Removes unnecessary attributes from the form's settings.
|
37 |
+
* Modifies some styles.
|
38 |
+
* Allows identify easier the errors with the notification emails, generating an entry in the Error Logs (Professional, Developer, and Platinum versions of the plugin).
|
39 |
+
* Modifies the PrintFriendly add-on, allowing configure the emails where attach the pdf files.
|
40 |
+
|
41 |
+
= 1.0.377 =
|
42 |
+
|
43 |
+
* Improves the plugin's performance.
|
44 |
+
* Removes unnecessary attributes from the form's settings.
|
45 |
+
* Modifies some styles.
|
46 |
+
* Allows identify easier the errors with the notification emails, generating an entry in the Error Logs (Professional, Developer, and Platinum versions of the plugin).
|
47 |
+
* Modifies the PrintFriendly add-on, allowing configure the emails where attach the pdf files.
|
48 |
+
|
49 |
+
= 1.0.376 =
|
50 |
+
|
51 |
+
* Modifies the module that loads the plugin's resources.
|
52 |
+
* Modifies the module to export the forms. Now the forms list includes the form's id in front of forms' names, and the name of generated file, has the structure: export_id_yyyy-mm-dd_hhiiss.cpfm (Professional, Developer and Platinum versions of the plugin)
|
53 |
+
* Modifies the Users Permissions add-on to support the new attributes in the submissions shortcode: from, to, limit, order (Developer and Platinum versions of the plugin)
|
54 |
+
* Includes the DMSTODD operation in the Distance operations module to convert degrees, minutes and seconds values into decimal degrees (Developer and Platinum versions of the plugin).
|
55 |
+
* Modifies the SagePay add-on (Platinum version of the plugin)
|
56 |
+
|
57 |
+
= 1.0.375 =
|
58 |
+
|
59 |
+
* Includes additional validations rules to identify possible conflicts with other optimization plugins.
|
60 |
+
* Fixes an encoding issue with some ampersand symbols in generated URLs.
|
61 |
+
|
62 |
+
= 1.0.374 =
|
63 |
+
|
64 |
+
* It makes easier debugging the errors in the equations.
|
65 |
+
* Includes the new CSS class hide-strong, it applies the display:none with the !important modifier.
|
66 |
+
* Includes two new operations in the Managing Fields module, ACTIVATEFIELD and IGNOREFIELD for activating and ignoring the fields programmatically.
|
67 |
+
* Reduces the space between fields after the forms' submissions.
|
68 |
+
|
69 |
+
= 1.0.373 =
|
70 |
+
|
71 |
+
* Includes additional validations rules to identify possible conflicts with other optimization plugins.
|
72 |
+
|
73 |
+
= 1.0.372 =
|
74 |
+
|
75 |
+
* Includes additional validations rules to identify possible conflicts with other optimization plugins.
|
76 |
+
* Includes the role attribute in the [CP_CALCULATED_FIELDS_RESULT_LIST] shortcode to display the submissions list for specific users roles.
|
77 |
+
|
78 |
+
= 1.0.371 =
|
79 |
+
|
80 |
+
* This update modifies the plugin's code to prevent poorly implemented optimization plugins affect the forms. Some optimization plugins do not distinguish between a javascript comment and a regular expression, breaking the plugins code in the optimization process.
|
81 |
+
|
82 |
+
= 1.0.370 =
|
83 |
+
|
84 |
+
* Includes two new operations: SUM and CONCATENATE. In javascript the plus operator is overloaded, it is used to sum numbers and concatenate texts, these operations solve the ambiguity.
|
85 |
+
* Includes a new section in the settings page of the plugin to identify possible causes of conflicts with third party plugins.
|
86 |
+
|
87 |
+
= 1.0.369 =
|
88 |
+
|
89 |
+
* Fixes a compatibility issue with the new version of Gutenberg editor.
|
90 |
+
|
91 |
+
= 1.0.368 =
|
92 |
+
|
93 |
+
* Includes the generateURL operation in the URL Operations Module to generate a valid URL, given a base URL, a plain object for parameters, and hash.
|
94 |
+
* Fixes the documentation of operations modules.
|
95 |
+
* Fixes an issue in the advanced equations editor that was ignoring some operations modules.
|
96 |
+
|
97 |
+
= 1.0.367 =
|
98 |
+
|
99 |
+
* Includes two new operations in the URL Operations Module: getURLHash and getURLPath
|
100 |
+
* Includes a new attribute in the troubleshoot area to fix the wrong encoding of notification emails (Professional, Developer and Platinum versions of the plugin).
|
101 |
+
|
102 |
+
= 1.0.366 =
|
103 |
+
|
104 |
+
* Some few changes in the interface.
|
105 |
+
* Allows to use the raw values of fields for filtering in the datasource fields: <%fieldname1|r%> (Developer and Platinum versions of the plugin).
|
106 |
+
|
107 |
+
= 1.0.365 =
|
108 |
+
|
109 |
+
* Includes new options into the settings page of the plugin for controlling the direct access to the forms and their APM versions.
|
110 |
+
|
111 |
+
= 1.0.364 =
|
112 |
+
|
113 |
+
* Implements the new operation LCM: least common multiple between two numbers.
|
114 |
+
|
115 |
+
= 1.0.363 =
|
116 |
+
|
117 |
+
* Modifies the next/previous page behavior, in multi-pages forms, for jumping pages without active fields.
|
118 |
+
|
119 |
+
= 1.0.362 =
|
120 |
+
|
121 |
+
* Fixes a conflict with third party plugins like MailChimp for WooCommerce.
|
122 |
+
|
123 |
+
= 1.0.361 =
|
124 |
+
|
125 |
+
* Improves the accessibility, duplicating the Preview button over the forms builder.
|
126 |
+
* Fixes an issue cloning the fields in the forms builder.
|
127 |
+
* Fixes an issue in the DATEDIFF operation (Developer and Platinum versions of the plugin)
|
128 |
+
* Modifies the server side code of datasource fields (Developer and Platinum versions of the plugin)
|
129 |
+
|
130 |
+
= 1.0.360 =
|
131 |
+
|
132 |
+
* Fixes an issue in the cffProxy operation.
|
133 |
+
|
134 |
+
= 1.0.359 =
|
135 |
+
|
136 |
+
* Modifies the styles to improve the forms appearance on small screens, when they are configure as left or right aligned.
|
137 |
+
|
138 |
+
= 1.0.358 =
|
139 |
+
|
140 |
+
* Modifies the database structure to allow the implementation of very long forms, with hundreds of fields.
|
141 |
+
|
142 |
+
= 1.0.357 =
|
143 |
+
|
144 |
+
* Fixes an issue in the expanded CSS editor, where the latest rows were being hidden or unaccessible.
|
145 |
+
|
146 |
+
= 1.0.356 =
|
147 |
+
|
148 |
+
* Includes a new icon over the CSS editor in the Form Settings tab, to expand (and collapse) the CSS editor to the viewport size, doing the CSS edition easier.
|
149 |
+
|
150 |
+
= 1.0.355 =
|
151 |
+
|
152 |
+
* Includes the URL Operations Module. The operations in this module allow to obtain the URLs of pages and their parameters, or the redirection to other pages.
|
153 |
+
|
154 |
+
= 1.0.354 =
|
155 |
+
|
156 |
+
* Fixes a possible vulnerability (fortunately only accessible by the website's administator). Many thanks to Ben Armstrong from https://Spider-security.co.uk for the detection of the vulnerability.
|
157 |
+
* Includes a new method for accessing to the jQuery representation of a field from the equations. Ex: to get the jQuery representation of the fieldname123 field: getField(123).jQueryRef();
|
158 |
+
* Includes new logs in the dependencies to detect possible issues easier.
|
159 |
+
* Includes new filters in the notification and confirmation emails, for accessing to the subjects and messages: cpcff_notification_email_subject, cpcff_notification_email_message, cpcff_confirmation_email_subject and cpcff_confirmation_email_message (Professional, Developer, and Platinum versions of the plugin)
|
160 |
+
|
161 |
+
= 1.0.353 =
|
162 |
+
|
163 |
+
* Fixes an issue in the CFFPROXY operation of the Third-party Connection module.
|
164 |
+
|
165 |
+
= 1.0.352 =
|
166 |
+
|
167 |
+
* Modifies the settings of some controls to adjust them to the latest version of WordPress.
|
168 |
+
|
169 |
+
= 1.0.351 =
|
170 |
+
|
171 |
+
* Modifies the module that generates the froms revisions.
|
172 |
+
* Modifies the MailChimp and EDD modules (Platinum version of the plugin).
|
173 |
+
|
174 |
+
= 1.0.350 =
|
175 |
+
|
176 |
+
* Improves the appearance of the dependencies.
|
177 |
+
* Modifies the access to the plugin's resources.
|
178 |
+
|
179 |
+
= 1.0.349 =
|
180 |
+
|
181 |
+
* Modifies the calculation's module for triggering the equationsQueueEmpty event when the queue of equations be emptied.
|
182 |
+
* Modifies the calculate buttons to allow display a calculation in progress indicator until all equations be evaluated.
|
183 |
+
* Prevents the form be submitted if there are equations pending to be evaluated, even if they dependen on external apis or services (Professional, Developer and Platinum versions of the plugin)
|
184 |
+
* Modifies the DISTANCE operations module, to tell the plugin the Google Maps APIs are being instantiated, and the evaluation of the equations is pending (Developer and Platinum versions of the plugin)
|
185 |
+
|
186 |
+
= 1.0.348 =
|
187 |
+
|
188 |
+
* Improves the appearance of the forms list in the medium-size screens.
|
189 |
+
|
190 |
+
= 1.0.347 =
|
191 |
+
|
192 |
+
* Modifies the validation on Currency and Number fields.
|
193 |
+
|
194 |
+
= 1.0.346 =
|
195 |
+
|
196 |
+
* Fixes some warnings.
|
197 |
+
|
198 |
+
= 1.0.345 =
|
199 |
+
|
200 |
+
* Fixes an issue in the number fields when the percent option is selected as their formats.
|
201 |
+
* Modifies the forms list to be ordered by their IDs in ascending way.
|
202 |
+
* Fixes an issue in the new forms, selecting the calculated field through the Request Cost attribute by default.
|
203 |
+
* Includes new class names into the Dashboard widget and the messages section (Professional, Developer and Platinum versions of the plugin)
|
204 |
+
|
205 |
+
= 1.0.344 =
|
206 |
+
|
207 |
+
* Improves the goToPage operation to allow jumping to a sepecific page in multi-pages forms, from button fields. Ex: for jumping to the third page in the form (the pages indexes start in 0), insert a button in the form and enter as its onclick event the piece of code: fbuilderjQuery.fbuilder.goToPage({form:this.form, to:2});
|
208 |
+
|
209 |
+
= 1.0.343 =
|
210 |
+
|
211 |
+
* Fixes an issue in the dependencies definition in the Radio Buttons, Checkbox, and DropDown fields.
|
212 |
+
|
213 |
+
= 1.0.342 =
|
214 |
+
|
215 |
+
* Modifies the CSS rules to improve the user experience in the forms builder when it is accessed from small screens like smartphones.
|
216 |
+
|
217 |
+
= 1.0.341 =
|
218 |
+
|
219 |
+
* Modifies the textarea and password controls.
|
220 |
+
|
221 |
+
= 1.0.340 =
|
222 |
+
|
223 |
+
* Fixes a warning in the cff_config file.
|
224 |
+
* Fixes a conflict between the DIVI integration module and the Classic WordPress Editor.
|
225 |
+
* Removes unnecessary code from the calculated fields.
|
226 |
+
|
227 |
+
= 1.0.339 =
|
228 |
+
|
229 |
+
* Modifies the integration with DIVI Page Builder.
|
230 |
+
* Allows leading with zeros the itemnumber passing as tag parameter the length attribute (length={{6}}) (Professional, Developer and Platinum versions)
|
231 |
+
|
232 |
+
= 1.0.338 =
|
233 |
+
|
234 |
+
* Modifies the Media fields. Includes a new attribute allowing to disable the download control from the players in the public forms.
|
235 |
+
* Modifies the cp_calculatedfieldsf_insert_in_database.php file to allow debugging easier the customized insertion queries (Developer and Platinum versions of the plugin)
|
236 |
+
|
237 |
+
= 1.0.337 =
|
238 |
+
|
239 |
+
* Includes a new form template, based on the styles of the new WP53.
|
240 |
+
|
241 |
Â
= 1.0.336 =
|
242 |
Â
|
243 |
Â
* Modifies the code of the plugin for allowing the compatibility with outdated versions of PHP.
|
314 |
Â
|
315 |
Â
= 1.0.319 =
|
316 |
Â
|
317 |
+
* Fixes an issue in the integration with WPBakery Page Builder.
|
318 |
Â
|
319 |
Â
= 1.0.318 =
|
320 |
Â
|
341 |
Â
= 1.0.315 =
|
342 |
Â
|
343 |
Â
* Fixes some minor issues.
|
344 |
+
* Implements a specific element to insert the forms using WPBakery Page Builder.
|
345 |
Â
|
346 |
Â
= 1.0.314 =
|
347 |
Â
|
config/cpcff_config.cfg.php
CHANGED
@@ -10,6 +10,10 @@ define('CP_CALCULATEDFIELDSF_DEFAULT_DEFER_SCRIPTS_LOADING', (get_option('CP_CFF
|
|
10 |
Â
define('CP_CALCULATEDFIELDSF_USE_CACHE', 1 );
|
11 |
Â
define('CP_CALCULATEDFIELDSF_DEFAULT_vs_use_validation', 'true');
|
12 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
13 |
Â
// Admin pages
|
14 |
Â
define('CP_CALCULATED_FIELDS_SETTINGS_PAGE', 'cp_calculated_fields_form');
|
15 |
Â
define('CP_CALCULATED_FIELDS_SETTINGS_PAGE2', 'cp_calculated_fields_form_sub2');
|
@@ -129,22 +133,35 @@ if(!function_exists('cpcff_init_constants'))
|
|
129 |
Â
{
|
130 |
Â
function cpcff_init_constants()
|
131 |
Â
{
|
132 |
-
|
133 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
134 |
Â
{
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
Â
|
|
142 |
Â
|
143 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
144 |
Â
{
|
145 |
-
if(!
|
146 |
-
|
Â
|
|
Â
|
|
Â
|
|
147 |
Â
}
|
148 |
Â
} // End cpcff_init_constants
|
149 |
-
}
|
150 |
-
?>
|
10 |
Â
define('CP_CALCULATEDFIELDSF_USE_CACHE', 1 );
|
11 |
Â
define('CP_CALCULATEDFIELDSF_DEFAULT_vs_use_validation', 'true');
|
12 |
Â
|
13 |
+
// Forms access:
|
14 |
+
define('CP_CALCULATEDFIELDSF_AMP', 1 );
|
15 |
+
define('CP_CALCULATEDFIELDSF_DIRECT_FORM_ACCESS', 1 );
|
16 |
+
|
17 |
Â
// Admin pages
|
18 |
Â
define('CP_CALCULATED_FIELDS_SETTINGS_PAGE', 'cp_calculated_fields_form');
|
19 |
Â
define('CP_CALCULATED_FIELDS_SETTINGS_PAGE2', 'cp_calculated_fields_form_sub2');
|
133 |
Â
{
|
134 |
Â
function cpcff_init_constants()
|
135 |
Â
{
|
136 |
+
$current_user_id = get_current_user_id();
|
137 |
+
$host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '';
|
138 |
+
preg_match("/[^\.\/]+(\.[^\.\/]+)?$/", $host, $matches);
|
139 |
+
$domain = (!empty($matches)) ? $matches[0] : '';
|
140 |
+
|
141 |
+
if(!empty($current_user_id))
|
142 |
Â
{
|
143 |
+
// User emails
|
144 |
+
if(!defined('CP_CALCULATEDFIELDSF_DEFAULT_fp_from_email'))
|
145 |
+
{
|
146 |
+
$user_email = get_the_author_meta('user_email', $current_user_id);
|
147 |
+
if(empty($user_email) || ($pos = strpos($user_email, $domain)) === false)
|
148 |
+
define('CP_CALCULATEDFIELDSF_DEFAULT_fp_from_email', 'admin@'.$domain );
|
149 |
+
else define('CP_CALCULATEDFIELDSF_DEFAULT_fp_from_email', $user_email );
|
150 |
+
}
|
151 |
Â
|
152 |
+
if(!defined('CP_CALCULATEDFIELDSF_DEFAULT_fp_destination_emails'))
|
153 |
+
{
|
154 |
+
if(!isset($user_email)) $user_email = get_the_author_meta('user_email', $current_user_id);
|
155 |
+
define('CP_CALCULATEDFIELDSF_DEFAULT_fp_destination_emails', (!empty($user_email)) ? $user_email : CP_CALCULATEDFIELDSF_DEFAULT_fp_from_email);
|
156 |
+
}
|
157 |
+
}
|
158 |
+
else
|
159 |
Â
{
|
160 |
+
if(!defined('CP_CALCULATEDFIELDSF_DEFAULT_fp_from_email'))
|
161 |
+
define('CP_CALCULATEDFIELDSF_DEFAULT_fp_from_email', 'admin@'.$domain );
|
162 |
+
|
163 |
+
if(!defined('CP_CALCULATEDFIELDSF_DEFAULT_fp_destination_emails'))
|
164 |
+
define('CP_CALCULATEDFIELDSF_DEFAULT_fp_destination_emails', CP_CALCULATEDFIELDSF_DEFAULT_fp_from_email);
|
165 |
Â
}
|
166 |
Â
} // End cpcff_init_constants
|
167 |
+
}
|
Â
|
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.0.
|
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.0.
|
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 ) );
|
@@ -31,9 +31,27 @@ require_once 'inc/cpcff_main.inc.php';
|
|
31 |
Â
CPCFF_MAIN::instance(); // Main plugin's object
|
32 |
Â
|
33 |
Â
add_action( 'init', 'cp_calculated_fields_form_check_posted_data', 11 );
|
Â
|
|
34 |
Â
|
35 |
Â
// functions
|
36 |
Â
//------------------------------------------
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
37 |
Â
|
38 |
Â
function cp_calculated_fields_form_check_posted_data() {
|
39 |
Â
|
@@ -52,7 +70,8 @@ function cp_calculated_fields_form_check_posted_data() {
|
|
52 |
Â
$cpcff_main->form_preview(
|
53 |
Â
array(
|
54 |
Â
'shortcode_atts' => array('id' => @intval($_POST['cp_calculatedfieldsf_id'])),
|
55 |
-
'page_title' => __('Form Preview', 'calculated-fields-form')
|
Â
|
|
56 |
Â
)
|
57 |
Â
);
|
58 |
Â
}
|
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.0.383
|
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.0.383' );
|
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 ) );
|
31 |
Â
CPCFF_MAIN::instance(); // Main plugin's object
|
32 |
Â
|
33 |
Â
add_action( 'init', 'cp_calculated_fields_form_check_posted_data', 11 );
|
34 |
+
add_action( 'init', 'cp_calculated_fields_form_direct_form_access', 1 );
|
35 |
Â
|
36 |
Â
// functions
|
37 |
Â
//------------------------------------------
|
38 |
+
function cp_calculated_fields_form_direct_form_access()
|
39 |
+
{
|
40 |
+
if(
|
41 |
+
get_option('CP_CALCULATEDFIELDSF_DIRECT_FORM_ACCESS', CP_CALCULATEDFIELDSF_DIRECT_FORM_ACCESS) &&
|
42 |
+
!empty($_GET['cff-form']) &&
|
43 |
+
@intval($_GET['cff-form'])
|
44 |
+
)
|
45 |
+
{
|
46 |
+
$cpcff_main = CPCFF_MAIN::instance();
|
47 |
+
$cpcff_main->form_preview(
|
48 |
+
array(
|
49 |
+
'shortcode_atts' => array('id' => @intval($_GET['cff-form'])),
|
50 |
+
'page_title' => 'CFF'
|
51 |
+
)
|
52 |
+
);
|
53 |
+
}
|
54 |
+
} // End cp_calculated_fields_form_direct_form_access
|
55 |
Â
|
56 |
Â
function cp_calculated_fields_form_check_posted_data() {
|
57 |
Â
|
70 |
Â
$cpcff_main->form_preview(
|
71 |
Â
array(
|
72 |
Â
'shortcode_atts' => array('id' => @intval($_POST['cp_calculatedfieldsf_id'])),
|
73 |
+
'page_title' => __('Form Preview', 'calculated-fields-form'),
|
74 |
+
'wp_die' => 1
|
75 |
Â
)
|
76 |
Â
);
|
77 |
Â
}
|
css/style.css
CHANGED
@@ -141,6 +141,10 @@ a.helpfbuilder{font-size:80%;text-decoration:underline;color:#00f;cursor:pointer
|
|
141 |
Â
.cff-revisions-container{float:right;padding:10px;}
|
142 |
Â
.cff-form-name-shortcode{font-size:0.8em;}
|
143 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
144 |
Â
@media only screen and (max-width: 640px){
|
145 |
Â
.cff-custom-table,
|
146 |
Â
.cff-custom-table thead,
|
@@ -176,6 +180,10 @@ a.helpfbuilder{font-size:80%;text-decoration:underline;color:#00f;cursor:pointer
|
|
176 |
Â
.cff-form-name-shortcode{display:none;}
|
177 |
Â
.cff-revisions-container{float:none; width:100%;padding:10px 5%;}
|
178 |
Â
.cff_form_builder .postbox .cff-revisions-container select{width:90% !important;}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
179 |
Â
}
|
180 |
Â
@media only screen and (max-width: 480px){
|
181 |
Â
.cff-custom-table input[type="button"]{margin:0 !important; width:100% !important;display:block !important;}
|
@@ -202,4 +210,15 @@ a.helpfbuilder{font-size:80%;text-decoration:underline;color:#00f;cursor:pointer
|
|
202 |
Â
.cff-light-modal-close-icon{text-decoration: none; color: #fff; padding: 0; font-size: 18px; line-height: 24px; position: absolute; top: 5px; right: 5px; cursor: pointer;}
|
203 |
Â
.cff-light-modal:target{background: rgba(0, 0, 0, 0.5); display: -ms-flexbox; display: flex; visibility: visible;}
|
204 |
Â
@keyframes cff-basic{0%{opacity: 0;}100%{opacity: 1;}}
|
205 |
-
.cff-light-modal iframe{width:100%;height:100%;border-radius: .2em; overflow:hidden;}
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
141 |
Â
.cff-revisions-container{float:right;padding:10px;}
|
142 |
Â
.cff-form-name-shortcode{font-size:0.8em;}
|
143 |
Â
|
144 |
+
.cff-dependency-rule:not(:first-child){margin-top:10px;border-top:1px dashed #888;padding-top:10px;}
|
145 |
+
.choicesEditDep,.choicesEdit,
|
146 |
+
.cff-dependency-item{padding:5px 0;}
|
147 |
+
|
148 |
Â
@media only screen and (max-width: 640px){
|
149 |
Â
.cff-custom-table,
|
150 |
Â
.cff-custom-table thead,
|
180 |
Â
.cff-form-name-shortcode{display:none;}
|
181 |
Â
.cff-revisions-container{float:none; width:100%;padding:10px 5%;}
|
182 |
Â
.cff_form_builder .postbox .cff-revisions-container select{width:90% !important;}
|
183 |
+
.form-builder #tabs-2 div,
|
184 |
+
.form-builder #tabs-3 div{margin-bottom:10px;}
|
185 |
+
.form-builder #tabs-3 .groupBox label{display:block;margin-bottom:5px;}
|
186 |
+
table.form-table tbody{display:block;width:100% !important;}
|
187 |
Â
}
|
188 |
Â
@media only screen and (max-width: 480px){
|
189 |
Â
.cff-custom-table input[type="button"]{margin:0 !important; width:100% !important;display:block !important;}
|
210 |
Â
.cff-light-modal-close-icon{text-decoration: none; color: #fff; padding: 0; font-size: 18px; line-height: 24px; position: absolute; top: 5px; right: 5px; cursor: pointer;}
|
211 |
Â
.cff-light-modal:target{background: rgba(0, 0, 0, 0.5); display: -ms-flexbox; display: flex; visibility: visible;}
|
212 |
Â
@keyframes cff-basic{0%{opacity: 0;}100%{opacity: 1;}}
|
213 |
+
.cff-light-modal iframe{width:100%;height:100%;border-radius: .2em; overflow:hidden;}
|
214 |
+
|
215 |
+
/* WP EDITOR */
|
216 |
+
.cff_form_builder .CodeMirror{height:300px;}
|
217 |
+
.cff_form_builder #tabs-3 .CodeMirror{height:195px;}
|
218 |
+
.cff-editor-container.fullscreen{position:fixed !important;position:absolute;top:0;right:0;bottom:0;left:0;z-index:99999;background:#f2f5f7;}
|
219 |
+
.cff-editor-container.fullscreen .CodeMirror{height: 95% !important;}
|
220 |
+
.cff-editor-container .cff-editor-extend-shrink{float:left;width:24px;height:24px;cursor:pointer;display:inline-block;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'><path d='M0 0h24v24H0z' fill='none'/><path d='M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z'/></svg>");}
|
221 |
+
.cff-editor-container.fullscreen .cff-editor-extend-shrink{-webkit-transform:rotate(180deg);-moz-transform: rotate(180deg);-ms-transform: rotate(180deg);-o-transform: rotate(180deg);transform: rotate(180deg);}
|
222 |
+
|
223 |
+
.cp-blink-me {animation: cp_blinker 2s linear infinite;text-transform: uppercase;}
|
224 |
+
@keyframes cp_blinker{50% {opacity: 0;}}
|
css/stylepublic.css
CHANGED
@@ -327,7 +327,7 @@
|
|
327 |
Â
#fbuilder .top_aligned .fields label{}
|
328 |
Â
#fbuilder .top_aligned .fields .dfield{}
|
329 |
Â
|
330 |
-
@media print, screen and (min-width:
|
331 |
Â
#fbuilder .left_aligned .fields:not(.section_breaks) label:not(:empty){float:left;width:35%;padding-right:10px;}
|
332 |
Â
#fbuilder .left_aligned .fields label:not(:empty) + .dfield{float:left;width:65%;}
|
333 |
Â
#fbuilder .right_aligned .fields:not(.section_breaks) label:not(:empty){float:left;width:35%;text-align:right;padding-right:10px;}
|
@@ -388,9 +388,9 @@
|
|
388 |
Â
*[dir="rtl"] #fbuilder .pbreak .pbNext,
|
389 |
Â
*[dir="rtl"] #fbuilder .pbSubmit{float:right;margin:10px 0 0 10px;}
|
390 |
Â
|
391 |
-
#fbuilder .pbreak.pb0 .pbPrevious
|
392 |
-
#fbuilder .pbreak.pbEnd .pbNext{display:none;}
|
393 |
-
#fbuilder .ignore{
|
394 |
Â
#fbuilder fieldset{border:1px solid #ccc;padding:10px;}
|
395 |
Â
#fbuilder legend{border:1px solid #ccc;padding:5px 10px;}
|
396 |
Â
#fbuilder .cpcaptchalayer,.cp_subbtn{display:none;}
|
@@ -409,6 +409,7 @@
|
|
409 |
Â
#fbuilder .cff-summary-title:after{ content: ': '; }
|
410 |
Â
|
411 |
Â
#fbuilder .hide{ display:none; }
|
Â
|
|
412 |
Â
#fbuilder .clear{ clear:both; }
|
413 |
Â
|
414 |
Â
#fbuilder .apply-coupon{display:inline-block;width:24px;height:24px;background: url('data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjMDAwMDAwIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTE5IDNINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMTEgMCAyLS45IDItMlY1YzAtMS4xLS44OS0yLTItMnptLTkgMTRsLTUtNSAxLjQxLTEuNDFMMTAgMTQuMTdsNy41OS03LjU5TDE5IDhsLTkgOXoiLz48L3N2Zz4=');cursor:pointer; vertical-align:middle;}
|
327 |
Â
#fbuilder .top_aligned .fields label{}
|
328 |
Â
#fbuilder .top_aligned .fields .dfield{}
|
329 |
Â
|
330 |
+
@media print, screen and (min-width: 640px) {
|
331 |
Â
#fbuilder .left_aligned .fields:not(.section_breaks) label:not(:empty){float:left;width:35%;padding-right:10px;}
|
332 |
Â
#fbuilder .left_aligned .fields label:not(:empty) + .dfield{float:left;width:65%;}
|
333 |
Â
#fbuilder .right_aligned .fields:not(.section_breaks) label:not(:empty){float:left;width:35%;text-align:right;padding-right:10px;}
|
388 |
Â
*[dir="rtl"] #fbuilder .pbreak .pbNext,
|
389 |
Â
*[dir="rtl"] #fbuilder .pbSubmit{float:right;margin:10px 0 0 10px;}
|
390 |
Â
|
391 |
+
#fbuilder .pbreak.pb0 .pbPrevious,
|
392 |
+
#fbuilder .pbreak.pbEnd .pbNext{display:none !important;}
|
393 |
+
#fbuilder .ignore{display:none;}
|
394 |
Â
#fbuilder fieldset{border:1px solid #ccc;padding:10px;}
|
395 |
Â
#fbuilder legend{border:1px solid #ccc;padding:5px 10px;}
|
396 |
Â
#fbuilder .cpcaptchalayer,.cp_subbtn{display:none;}
|
409 |
Â
#fbuilder .cff-summary-title:after{ content: ': '; }
|
410 |
Â
|
411 |
Â
#fbuilder .hide{ display:none; }
|
412 |
+
#fbuilder .hide-strong{ display:none !important; }
|
413 |
Â
#fbuilder .clear{ clear:both; }
|
414 |
Â
|
415 |
Â
#fbuilder .apply-coupon{display:inline-block;width:24px;height:24px;background: url('data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjMDAwMDAwIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTE5IDNINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMTEgMCAyLS45IDItMlY1YzAtMS4xLS44OS0yLTItMnptLTkgMTRsLTUtNSAxLjQxLTEuNDFMMTAgMTQuMTdsNy41OS03LjU5TDE5IDhsLTkgOXoiLz48L3N2Zz4=');cursor:pointer; vertical-align:middle;}
|
inc/cpcff_admin_int.inc.php
CHANGED
@@ -44,8 +44,15 @@ $cpcff_texts_array = CPCFF_AUXILIARY::array_replace_recursive(
|
|
44 |
Â
<div class="wrap">
|
45 |
Â
<h1><?php
|
46 |
Â
print __( 'Calculated Fields Form', 'calculated-fields-form' ).' <span class="cff-form-name-shortcode">(<b>'.__('Form', 'calculated-fields-form').' '.CP_CALCULATEDFIELDSF_ID.' - '.$form_obj->get_option( 'form_name', '').'</b>) Shortcode: [CP_CALCULATED_FIELDS id="'.CP_CALCULATEDFIELDSF_ID.'"]</span>';
|
47 |
-
?></h1>
|
48 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
49 |
Â
<input type="button" name="backbtn" value="<?php esc_attr_e( 'Back to items list...', 'calculated-fields-form' ); ?>" onclick="document.location='admin.php?page=cp_calculated_fields_form';">
|
50 |
Â
<br /><br />
|
51 |
Â
|
@@ -76,7 +83,8 @@ $cpcff_texts_array = CPCFF_AUXILIARY::array_replace_recursive(
|
|
76 |
Â
}
|
77 |
Â
?>
|
78 |
Â
</select>
|
79 |
-
<input type="button" name="cff_apply_revision" value="<?php print esc_attr('Load Revision', 'calculated-fields-form'); ?>" />
|
Â
|
|
80 |
Â
</div>
|
81 |
Â
</div>
|
82 |
Â
<div class="inside">
|
@@ -231,7 +239,7 @@ $cpcff_texts_array = CPCFF_AUXILIARY::array_replace_recursive(
|
|
231 |
Â
<p class="submit">
|
232 |
Â
<input type="submit" name="save" id="save" class="button-primary" value="<?php esc_attr_e( 'Save Changes', 'calculated-fields-form' ); ?>" title="Saves the form's structure and settings and creates a revision" />
|
233 |
Â
<input type="button" name="previewbtn" id="previewbtn" class="button-primary" value="<?php esc_attr_e( 'Preview', 'calculated-fields-form' ); ?>" onclick="jQuery.fbuilder.preview( this );" title="Saves the form's structure only, and opens a preview windows" />
|
234 |
-
| <input type="checkbox" name="cff-revisions-in-preview" CHECKED /><?php _e('Generate revisions in the form preview as well', 'calculated-fields-form'); ?>
|
235 |
Â
</p>
|
236 |
Â
|
237 |
Â
<div id="metabox_basic_settings" class="postbox" >
|
@@ -274,16 +282,6 @@ $cpcff_texts_array = CPCFF_AUXILIARY::array_replace_recursive(
|
|
274 |
Â
<h3 class='hndle' style="padding:5px;"><span><?php _e( 'Validation Settings', 'calculated-fields-form' ); ?></span></h3>
|
275 |
Â
<div class="inside">
|
276 |
Â
<table class="form-table">
|
277 |
-
<tr valign="top">
|
278 |
-
<th scope="row"><?php _e( 'Use Validation?', 'calculated-fields-form' ); ?></th>
|
279 |
-
<td>
|
280 |
-
<?php $option = $form_obj->get_option('vs_use_validation', CP_CALCULATEDFIELDSF_DEFAULT_vs_use_validation); ?>
|
281 |
-
<select name="vs_use_validation">
|
282 |
-
<option value="true"<?php if ($option == 'true') echo ' selected'; ?>><?php _e( 'Yes', 'calculated-fields-form' ); ?></option>
|
283 |
-
<!--<option value="false"<?php if ($option == 'false') echo ' selected'; ?>>No</option>-->
|
284 |
-
</select>
|
285 |
-
</td>
|
286 |
-
</tr>
|
287 |
Â
<tr valign="top">
|
288 |
Â
<th scope="row"><?php _e( '"is required" text', 'calculated-fields-form' ); ?>:</th>
|
289 |
Â
<td><input type="text" name="vs_text_is_required" size="40" value="<?php echo esc_attr($form_obj->get_option('vs_text_is_required', CP_CALCULATEDFIELDSF_DEFAULT_vs_text_is_required)); ?>" /></td>
|
@@ -493,7 +491,7 @@ $cpcff_texts_array = CPCFF_AUXILIARY::array_replace_recursive(
|
|
493 |
Â
<table class="form-table">
|
494 |
Â
<tr valign="top">
|
495 |
Â
<th scope="row"><?php _e( '"From" email', 'calculated-fields-form' ); ?></th>
|
496 |
-
<td><input type="text" name="fp_from_email" size="40" value="<?php echo esc_attr($form_obj->get_option('fp_from_email', CP_CALCULATEDFIELDSF_DEFAULT_fp_from_email)); ?>" /><br><
|
497 |
Â
</tr>
|
498 |
Â
<tr valign="top">
|
499 |
Â
<th scope="row"><?php _e( 'Destination emails (comma separated)', 'calculated-fields-form' ); ?></th>
|
@@ -510,7 +508,7 @@ $cpcff_texts_array = CPCFF_AUXILIARY::array_replace_recursive(
|
|
510 |
Â
<select name="fp_inc_additional_info">
|
511 |
Â
<option value="true"<?php if ($option == 'true') echo ' selected'; ?>><?php _e( 'Yes', 'calculated-fields-form' ); ?></option>
|
512 |
Â
<option value="false"<?php if ($option == 'false') echo ' selected'; ?>><?php _e( 'No', 'calculated-fields-form' ); ?></option>
|
513 |
-
</select> <
|
514 |
Â
</td>
|
515 |
Â
</tr>
|
516 |
Â
<tr valign="top">
|
44 |
Â
<div class="wrap">
|
45 |
Â
<h1><?php
|
46 |
Â
print __( 'Calculated Fields Form', 'calculated-fields-form' ).' <span class="cff-form-name-shortcode">(<b>'.__('Form', 'calculated-fields-form').' '.CP_CALCULATEDFIELDSF_ID.' - '.$form_obj->get_option( 'form_name', '').'</b>) Shortcode: [CP_CALCULATED_FIELDS id="'.CP_CALCULATEDFIELDSF_ID.'"]</span>';
|
Â
|
|
47 |
Â
|
48 |
+
if(get_option('CP_CALCULATEDFIELDSF_DIRECT_FORM_ACCESS', CP_CALCULATEDFIELDSF_DIRECT_FORM_ACCESS))
|
49 |
+
{
|
50 |
+
$url = CPCFF_AUXILIARY::site_url();
|
51 |
+
$url .= (strpos($url, '?') === false) ? '?' : '&';
|
52 |
+
$url .= 'cff-form='.CP_CALCULATEDFIELDSF_ID;
|
53 |
+
print '<br><span style="font-size:14px;font-style:italic;">'.__('Direct form URL', 'calculated-fields-form').': <a href="'.esc_attr($url).'" target="_blank">'.$url.'</a></span>';
|
54 |
+
}
|
55 |
+
?></h1>
|
56 |
Â
<input type="button" name="backbtn" value="<?php esc_attr_e( 'Back to items list...', 'calculated-fields-form' ); ?>" onclick="document.location='admin.php?page=cp_calculated_fields_form';">
|
57 |
Â
<br /><br />
|
58 |
Â
|
83 |
Â
}
|
84 |
Â
?>
|
85 |
Â
</select>
|
86 |
+
<input type="button" name="cff_apply_revision" value="<?php print esc_attr('Load Revision', 'calculated-fields-form'); ?>" class="button" style="float:none;" />
|
87 |
+
<input type="button" name="previewbtn" id="previewbtn2" class="button-primary" value="<?php esc_attr_e( 'Preview', 'calculated-fields-form' ); ?>" onclick="jQuery.fbuilder.preview( this );" title="Saves the form's structure only, and opens a preview windows" />
|
88 |
Â
</div>
|
89 |
Â
</div>
|
90 |
Â
<div class="inside">
|
239 |
Â
<p class="submit">
|
240 |
Â
<input type="submit" name="save" id="save" class="button-primary" value="<?php esc_attr_e( 'Save Changes', 'calculated-fields-form' ); ?>" title="Saves the form's structure and settings and creates a revision" />
|
241 |
Â
<input type="button" name="previewbtn" id="previewbtn" class="button-primary" value="<?php esc_attr_e( 'Preview', 'calculated-fields-form' ); ?>" onclick="jQuery.fbuilder.preview( this );" title="Saves the form's structure only, and opens a preview windows" />
|
242 |
+
| <input type="checkbox" name="cff-revisions-in-preview" <?php if(get_option('CP_CALCULATEDFIELDSF_REVISIONS_IN_PREVIEW', true)) print 'CHECKED'; ?> /><?php _e('Generate revisions in the form preview as well', 'calculated-fields-form'); ?>
|
243 |
Â
</p>
|
244 |
Â
|
245 |
Â
<div id="metabox_basic_settings" class="postbox" >
|
282 |
Â
<h3 class='hndle' style="padding:5px;"><span><?php _e( 'Validation Settings', 'calculated-fields-form' ); ?></span></h3>
|
283 |
Â
<div class="inside">
|
284 |
Â
<table class="form-table">
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
285 |
Â
<tr valign="top">
|
286 |
Â
<th scope="row"><?php _e( '"is required" text', 'calculated-fields-form' ); ?>:</th>
|
287 |
Â
<td><input type="text" name="vs_text_is_required" size="40" value="<?php echo esc_attr($form_obj->get_option('vs_text_is_required', CP_CALCULATEDFIELDSF_DEFAULT_vs_text_is_required)); ?>" /></td>
|
491 |
Â
<table class="form-table">
|
492 |
Â
<tr valign="top">
|
493 |
Â
<th scope="row"><?php _e( '"From" email', 'calculated-fields-form' ); ?></th>
|
494 |
+
<td><input type="text" name="fp_from_email" size="40" value="<?php echo esc_attr($form_obj->get_option('fp_from_email', CP_CALCULATEDFIELDSF_DEFAULT_fp_from_email)); ?>" /><br><b><em>Ex: admin@<?php echo str_replace('www.','',$_SERVER["HTTP_HOST"]); ?></em></b><br><em><?php _e( 'This email is required if the "From fixed email address" option is selected, or it is enabled the email copy to the user.', 'calculated-fields-form' ); ?></em></td>
|
495 |
Â
</tr>
|
496 |
Â
<tr valign="top">
|
497 |
Â
<th scope="row"><?php _e( 'Destination emails (comma separated)', 'calculated-fields-form' ); ?></th>
|
508 |
Â
<select name="fp_inc_additional_info">
|
509 |
Â
<option value="true"<?php if ($option == 'true') echo ' selected'; ?>><?php _e( 'Yes', 'calculated-fields-form' ); ?></option>
|
510 |
Â
<option value="false"<?php if ($option == 'false') echo ' selected'; ?>><?php _e( 'No', 'calculated-fields-form' ); ?></option>
|
511 |
+
</select> <em><?php _e('If the "No" option is selected the plugin won\'t capture the IP address of users.','calculated-fields-form'); ?></em>
|
512 |
Â
</td>
|
513 |
Â
</tr>
|
514 |
Â
<tr valign="top">
|
inc/cpcff_admin_int_list.inc.php
CHANGED
@@ -17,13 +17,13 @@ $message = "";
|
|
17 |
Â
if (isset($_GET['a']) && $_GET['a'] == '1')
|
18 |
Â
{
|
19 |
Â
check_admin_referer( 'cff-add-form', '_cpcff_nonce' );
|
20 |
-
$cpcff_main->create_form((isset($_GET["name"])) ? stripcslashes($_GET["name"]) : '');
|
21 |
Â
$message = __( "Item added", 'calculated-fields-form' );
|
22 |
Â
}
|
23 |
Â
else if (isset($_GET['u']) && $_GET['u'] != '')
|
24 |
Â
{
|
25 |
Â
check_admin_referer( 'cff-update-form', '_cpcff_nonce' );
|
26 |
-
$cpcff_main->get_form($_GET['u'])->update_name((isset($_GET["name"])) ? stripcslashes($_GET["name"]) : '');
|
27 |
Â
$message = __( "Item updated", 'calculated-fields-form' );
|
28 |
Â
}
|
29 |
Â
else if (isset($_GET['d']) && $_GET['d'] != '')
|
@@ -42,6 +42,8 @@ else if (isset($_GET['d']) && $_GET['d'] != '')
|
|
42 |
Â
update_option( 'CP_CFF_LOAD_SCRIPTS', (isset($_GET["scr"]) && $_GET["scr"]=="1"? "0":"1") );
|
43 |
Â
update_option( 'CP_CALCULATEDFIELDSF_USE_CACHE', (isset($_GET["jsc"]) && $_GET["jsc"]=="1" ? 1 : 0) );
|
44 |
Â
update_option( 'CP_CALCULATEDFIELDSF_EXCLUDE_CRAWLERS', (isset($_GET["ecr"]) && $_GET["ecr"]=="1" ? 1 : 0) );
|
Â
|
|
Â
|
|
45 |
Â
|
46 |
Â
$public_js_path = CP_CALCULATEDFIELDSF_BASE_PATH.'/js/cache/all.js';
|
47 |
Â
try{
|
@@ -148,16 +150,18 @@ if ($message) echo "<div id='setting-error-settings_updated' class='updated sett
|
|
148 |
Â
var scr = document.getElementById("ccscriptload").value,
|
149 |
Â
chs = document.getElementById("cccharsets").value,
|
150 |
Â
jsc = (document.getElementById("ccjscache").checked) ? 1 : 0,
|
Â
|
|
Â
|
|
151 |
Â
ecr = (document.getElementById("ccexcludecrawler").checked) ? 1 : 0;
|
152 |
Â
|
153 |
-
document.location = 'admin.php?page=cp_calculated_fields_form&ecr='+ecr+'&ac=st&scr='+scr+'&chs='+chs+'&jsc='+jsc+'&r='+Math.random()+'&_cpcff_nonce=<?php echo wp_create_nonce( 'cff-update-general-settings' ); ?>';
|
154 |
Â
}
|
155 |
Â
}
|
156 |
Â
</script>
|
157 |
Â
<div id="normal-sortables" class="meta-box-sortables">
|
158 |
Â
<div id="metabox_basic_settings" class="postbox" >
|
159 |
Â
<h3 class='hndle' style="padding:5px;"><span><?php _e( 'Form List / Items List', 'calculated-fields-form' ); ?></span></h3>
|
160 |
-
<div class="inside">
|
161 |
Â
<table cellspacing="10" class="cff-custom-table cff-forms-list">
|
162 |
Â
<thead>
|
163 |
Â
<tr>
|
@@ -166,7 +170,7 @@ if ($message) echo "<div id='setting-error-settings_updated' class='updated sett
|
|
166 |
Â
</thead>
|
167 |
Â
<tbody>
|
168 |
Â
<?php
|
169 |
-
$myrows = $wpdb->get_results( "SELECT * FROM ".$wpdb->prefix.CP_CALCULATEDFIELDSF_FORMS_TABLE );
|
170 |
Â
foreach ($myrows as $item)
|
171 |
Â
{
|
172 |
Â
?>
|
@@ -206,6 +210,13 @@ if ($message) echo "<div id='setting-error-settings_updated' class='updated sett
|
|
206 |
Â
<div id="metabox_basic_settings" class="postbox" >
|
207 |
Â
<h3 class='hndle' style="padding:5px;"><span><?php _e( 'Troubleshoot Area & General Settings', 'calculated-fields-form' ); ?></span></h3>
|
208 |
Â
<div class="inside">
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
209 |
Â
<form name="updatesettings">
|
210 |
Â
<div style="border:1px solid #DADADA; padding:10px;">
|
211 |
Â
<p><?php _e( '<strong>Important!</strong>: Use this area <strong>only</strong> if you are experiencing conflicts with third party plugins, with the theme scripts or with the character encoding.', 'calculated-fields-form' ); ?></p>
|
@@ -228,6 +239,10 @@ if ($message) echo "<div id='setting-error-settings_updated' class='updated sett
|
|
228 |
Â
<br />
|
229 |
Â
<?php _e( 'Activate Javascript Cache', 'calculated-fields-form' ); ?>: <input type="checkbox" name="ccjscache" id="ccjscache" <?php echo ( get_option( 'CP_CALCULATEDFIELDSF_USE_CACHE', CP_CALCULATEDFIELDSF_USE_CACHE ) ) ? 'CHECKED' : ''; ?> />
|
230 |
Â
<br /><br />
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
231 |
Â
<?php _e( 'Do not load the forms with crawlers', 'calculated-fields-form' ); ?>: <input type="checkbox" name="ccexcludecrawler" id="ccexcludecrawler" <?php echo ( get_option( 'CP_CALCULATEDFIELDSF_EXCLUDE_CRAWLERS', false ) ) ? 'CHECKED' : ''; ?> /><br /><i><?php _e( '* The forms are not loaded when website is being indexed by searchers.', 'calculated-fields-form' ); ?></i>
|
232 |
Â
<br /><br />
|
233 |
Â
<input type="button" onclick="cp_updateConfig();" name="gobtn" value="<?php esc_attr_e( 'UPDATE', 'calculated-fields-form' ); ?>" />
|
17 |
Â
if (isset($_GET['a']) && $_GET['a'] == '1')
|
18 |
Â
{
|
19 |
Â
check_admin_referer( 'cff-add-form', '_cpcff_nonce' );
|
20 |
+
$cpcff_main->create_form((isset($_GET["name"])) ? sanitize_text_field(stripcslashes($_GET["name"])) : '');
|
21 |
Â
$message = __( "Item added", 'calculated-fields-form' );
|
22 |
Â
}
|
23 |
Â
else if (isset($_GET['u']) && $_GET['u'] != '')
|
24 |
Â
{
|
25 |
Â
check_admin_referer( 'cff-update-form', '_cpcff_nonce' );
|
26 |
+
$cpcff_main->get_form($_GET['u'])->update_name((isset($_GET["name"])) ? sanitize_text_field(stripcslashes($_GET["name"])) : '');
|
27 |
Â
$message = __( "Item updated", 'calculated-fields-form' );
|
28 |
Â
}
|
29 |
Â
else if (isset($_GET['d']) && $_GET['d'] != '')
|
42 |
Â
update_option( 'CP_CFF_LOAD_SCRIPTS', (isset($_GET["scr"]) && $_GET["scr"]=="1"? "0":"1") );
|
43 |
Â
update_option( 'CP_CALCULATEDFIELDSF_USE_CACHE', (isset($_GET["jsc"]) && $_GET["jsc"]=="1" ? 1 : 0) );
|
44 |
Â
update_option( 'CP_CALCULATEDFIELDSF_EXCLUDE_CRAWLERS', (isset($_GET["ecr"]) && $_GET["ecr"]=="1" ? 1 : 0) );
|
45 |
+
update_option( 'CP_CALCULATEDFIELDSF_DIRECT_FORM_ACCESS',(isset($_GET["df"]) && $_GET["df"]=="1" ? 1 : 0) );
|
46 |
+
update_option( 'CP_CALCULATEDFIELDSF_AMP', (isset($_GET["amp"]) && $_GET["amp"]=="1" ? 1 : 0) );
|
47 |
Â
|
48 |
Â
$public_js_path = CP_CALCULATEDFIELDSF_BASE_PATH.'/js/cache/all.js';
|
49 |
Â
try{
|
150 |
Â
var scr = document.getElementById("ccscriptload").value,
|
151 |
Â
chs = document.getElementById("cccharsets").value,
|
152 |
Â
jsc = (document.getElementById("ccjscache").checked) ? 1 : 0,
|
153 |
+
df = (document.getElementById("ccdirectform").checked) ? 1 : 0,
|
154 |
+
amp = (document.getElementById("ccampform").checked) ? 1 : 0,
|
155 |
Â
ecr = (document.getElementById("ccexcludecrawler").checked) ? 1 : 0;
|
156 |
Â
|
157 |
+
document.location = 'admin.php?page=cp_calculated_fields_form&ecr='+ecr+'&ac=st&scr='+scr+'&chs='+chs+'&jsc='+jsc+'&df='+df+'&='+amp+'&r='+Math.random()+'&_cpcff_nonce=<?php echo wp_create_nonce( 'cff-update-general-settings' ); ?>';
|
158 |
Â
}
|
159 |
Â
}
|
160 |
Â
</script>
|
161 |
Â
<div id="normal-sortables" class="meta-box-sortables">
|
162 |
Â
<div id="metabox_basic_settings" class="postbox" >
|
163 |
Â
<h3 class='hndle' style="padding:5px;"><span><?php _e( 'Form List / Items List', 'calculated-fields-form' ); ?></span></h3>
|
164 |
+
<div class="inside" style="overflow-x:auto;">
|
165 |
Â
<table cellspacing="10" class="cff-custom-table cff-forms-list">
|
166 |
Â
<thead>
|
167 |
Â
<tr>
|
170 |
Â
</thead>
|
171 |
Â
<tbody>
|
172 |
Â
<?php
|
173 |
+
$myrows = $wpdb->get_results( "SELECT * FROM ".$wpdb->prefix.CP_CALCULATEDFIELDSF_FORMS_TABLE." ORDER BY id ASC" );
|
174 |
Â
foreach ($myrows as $item)
|
175 |
Â
{
|
176 |
Â
?>
|
210 |
Â
<div id="metabox_basic_settings" class="postbox" >
|
211 |
Â
<h3 class='hndle' style="padding:5px;"><span><?php _e( 'Troubleshoot Area & General Settings', 'calculated-fields-form' ); ?></span></h3>
|
212 |
Â
<div class="inside">
|
213 |
+
<?php
|
214 |
+
$compatibility_warnings = $cpcff_main->compatibility_warnings();
|
215 |
+
if(!empty($compatibility_warnings))
|
216 |
+
{
|
217 |
+
print '<div style="margin:10px 0; border:1px dashed #FF0000; padding:10px; color:red;">'.$compatibility_warnings.'</div>';
|
218 |
+
}
|
219 |
+
?>
|
220 |
Â
<form name="updatesettings">
|
221 |
Â
<div style="border:1px solid #DADADA; padding:10px;">
|
222 |
Â
<p><?php _e( '<strong>Important!</strong>: Use this area <strong>only</strong> if you are experiencing conflicts with third party plugins, with the theme scripts or with the character encoding.', 'calculated-fields-form' ); ?></p>
|
239 |
Â
<br />
|
240 |
Â
<?php _e( 'Activate Javascript Cache', 'calculated-fields-form' ); ?>: <input type="checkbox" name="ccjscache" id="ccjscache" <?php echo ( get_option( 'CP_CALCULATEDFIELDSF_USE_CACHE', CP_CALCULATEDFIELDSF_USE_CACHE ) ) ? 'CHECKED' : ''; ?> />
|
241 |
Â
<br /><br />
|
242 |
+
<?php _e( 'Allows to access the forms directly', 'calculated-fields-form' ); ?>: <input type="checkbox" name="ccdirectform" id="ccdirectform" <?php echo ( get_option( 'CP_CALCULATEDFIELDSF_DIRECT_FORM_ACCESS', CP_CALCULATEDFIELDSF_DIRECT_FORM_ACCESS ) ) ? 'CHECKED' : ''; ?> />
|
243 |
+
<br /><br />
|
244 |
+
<?php _e( 'Allows to access the forms from amp pages', 'calculated-fields-form' ); ?>: <input type="checkbox" name="ccampform" id="ccampform" <?php echo ( get_option( 'CP_CALCULATEDFIELDSF_AMP', CP_CALCULATEDFIELDSF_AMP ) ) ? 'CHECKED' : ''; ?> />
|
245 |
+
<br /><br />
|
246 |
Â
<?php _e( 'Do not load the forms with crawlers', 'calculated-fields-form' ); ?>: <input type="checkbox" name="ccexcludecrawler" id="ccexcludecrawler" <?php echo ( get_option( 'CP_CALCULATEDFIELDSF_EXCLUDE_CRAWLERS', false ) ) ? 'CHECKED' : ''; ?> /><br /><i><?php _e( '* The forms are not loaded when website is being indexed by searchers.', 'calculated-fields-form' ); ?></i>
|
247 |
Â
<br /><br />
|
248 |
Â
<input type="button" onclick="cp_updateConfig();" name="gobtn" value="<?php esc_attr_e( 'UPDATE', 'calculated-fields-form' ); ?>" />
|
inc/cpcff_amp.inc.php
CHANGED
@@ -33,7 +33,10 @@ if(!class_exists('CPCFF_AMP'))
|
|
33 |
Â
*/
|
34 |
Â
public function amp_init()
|
35 |
Â
{
|
36 |
-
if(
|
Â
|
|
Â
|
|
Â
|
|
37 |
Â
{
|
38 |
Â
$atts = $this->_params_to_attrs();
|
39 |
Â
// The AMP page has not been redirected so it is redirected from the server side
|
@@ -51,6 +54,7 @@ if(!class_exists('CPCFF_AMP'))
|
|
51 |
Â
$request_uri .= 'cff-amp-redirected=1';
|
52 |
Â
|
53 |
Â
wp_redirect( "https://$host$request_uri" );
|
Â
|
|
54 |
Â
exit;
|
55 |
Â
}
|
56 |
Â
else
|
@@ -123,7 +127,7 @@ if(!class_exists('CPCFF_AMP'))
|
|
123 |
Â
$message.
|
124 |
Â
'</body>'.
|
125 |
Â
'</html>';
|
126 |
-
|
127 |
Â
exit;
|
128 |
Â
}
|
129 |
Â
}
|
@@ -139,6 +143,7 @@ if(!class_exists('CPCFF_AMP'))
|
|
139 |
Â
*/
|
140 |
Â
public function is_amp()
|
141 |
Â
{
|
Â
|
|
142 |
Â
if(!empty($_REQUEST['isamp'])) return true;
|
143 |
Â
if(empty($_GET['non-amp']))
|
144 |
Â
{
|
@@ -160,8 +165,8 @@ if(!class_exists('CPCFF_AMP'))
|
|
160 |
Â
{
|
161 |
Â
$url = CPCFF_AUXILIARY::site_url();
|
162 |
Â
$url = preg_replace('/^http\:/i', 'https:', $url);
|
163 |
-
$url .= (strpos($url, '?') === false) ? '?' : '
|
164 |
-
$url .= 'cff-form='.((!empty($atts['id']))?$atts['id'] : '');
|
165 |
Â
$height = '';
|
166 |
Â
foreach($atts as $attr_name => $attr_value)
|
167 |
Â
{
|
@@ -211,7 +216,7 @@ if(!class_exists('CPCFF_AMP'))
|
|
211 |
Â
/**
|
212 |
Â
* Converts the URL parameters related with the form in the redirection process required for load the forms into the amp-frames
|
213 |
Â
*
|
214 |
-
* The parameter cff-form is converted in the id attribute,
|
215 |
Â
* and the parameteres with the name: cff-form-attr-<param>, are converted in the attributes <param>
|
216 |
Â
*
|
217 |
Â
* @return array $attrs.
|
@@ -223,7 +228,7 @@ if(!class_exists('CPCFF_AMP'))
|
|
223 |
Â
{
|
224 |
Â
foreach($_GET as $param => $value)
|
225 |
Â
{
|
226 |
-
if( $param == 'cff-form')
|
227 |
Â
$attrs['id'] = @intval($value);
|
228 |
Â
elseif(preg_match('/^cff\-form\-attr\-/i', $param))
|
229 |
Â
{
|
33 |
Â
*/
|
34 |
Â
public function amp_init()
|
35 |
Â
{
|
36 |
+
if(
|
37 |
+
!empty($_GET['cff-amp-form']) &&
|
38 |
+
get_option('CP_CALCULATEDFIELDSF_AMP', CP_CALCULATEDFIELDSF_AMP)
|
39 |
+
)
|
40 |
Â
{
|
41 |
Â
$atts = $this->_params_to_attrs();
|
42 |
Â
// The AMP page has not been redirected so it is redirected from the server side
|
54 |
Â
$request_uri .= 'cff-amp-redirected=1';
|
55 |
Â
|
56 |
Â
wp_redirect( "https://$host$request_uri" );
|
57 |
+
remove_all_actions('shutdown');
|
58 |
Â
exit;
|
59 |
Â
}
|
60 |
Â
else
|
127 |
Â
$message.
|
128 |
Â
'</body>'.
|
129 |
Â
'</html>';
|
130 |
+
remove_all_actions('shutdown');
|
131 |
Â
exit;
|
132 |
Â
}
|
133 |
Â
}
|
143 |
Â
*/
|
144 |
Â
public function is_amp()
|
145 |
Â
{
|
146 |
+
if(!get_option('CP_CALCULATEDFIELDSF_AMP', CP_CALCULATEDFIELDSF_AMP)) return false;
|
147 |
Â
if(!empty($_REQUEST['isamp'])) return true;
|
148 |
Â
if(empty($_GET['non-amp']))
|
149 |
Â
{
|
165 |
Â
{
|
166 |
Â
$url = CPCFF_AUXILIARY::site_url();
|
167 |
Â
$url = preg_replace('/^http\:/i', 'https:', $url);
|
168 |
+
$url .= (strpos($url, '?') === false) ? '?' : '&';
|
169 |
+
$url .= 'cff-amp-form='.((!empty($atts['id']))?$atts['id'] : '');
|
170 |
Â
$height = '';
|
171 |
Â
foreach($atts as $attr_name => $attr_value)
|
172 |
Â
{
|
216 |
Â
/**
|
217 |
Â
* Converts the URL parameters related with the form in the redirection process required for load the forms into the amp-frames
|
218 |
Â
*
|
219 |
+
* The parameter cff-amp-form is converted in the id attribute,
|
220 |
Â
* and the parameteres with the name: cff-form-attr-<param>, are converted in the attributes <param>
|
221 |
Â
*
|
222 |
Â
* @return array $attrs.
|
228 |
Â
{
|
229 |
Â
foreach($_GET as $param => $value)
|
230 |
Â
{
|
231 |
+
if( $param == 'cff-amp-form')
|
232 |
Â
$attrs['id'] = @intval($value);
|
233 |
Â
elseif(preg_match('/^cff\-form\-attr\-/i', $param))
|
234 |
Â
{
|
inc/cpcff_auxiliary.inc.php
CHANGED
@@ -35,6 +35,13 @@ if(!class_exists('CPCFF_AUXILIARY'))
|
|
35 |
Â
*/
|
36 |
Â
private static $_wp_url;
|
37 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
38 |
Â
/**
|
39 |
Â
* ID of the current blog.
|
40 |
Â
*
|
@@ -93,6 +100,21 @@ if(!class_exists('CPCFF_AUXILIARY'))
|
|
93 |
Â
return rtrim(self::$_wp_url, '/');
|
94 |
Â
} // End wp_url
|
95 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
96 |
Â
/**
|
97 |
Â
* Removes Bom characters.
|
98 |
Â
*
|
35 |
Â
*/
|
36 |
Â
private static $_wp_url;
|
37 |
Â
|
38 |
+
/**
|
39 |
+
* Current URL.
|
40 |
+
*
|
41 |
+
* @var string $_current_url
|
42 |
+
*/
|
43 |
+
private static $_current_url;
|
44 |
+
|
45 |
Â
/**
|
46 |
Â
* ID of the current blog.
|
47 |
Â
*
|
100 |
Â
return rtrim(self::$_wp_url, '/');
|
101 |
Â
} // End wp_url
|
102 |
Â
|
103 |
+
/**
|
104 |
+
* Returns the URL to the current post url.
|
105 |
+
*
|
106 |
+
* @return string.
|
107 |
+
*/
|
108 |
+
public static function wp_current_url()
|
109 |
+
{
|
110 |
+
if(is_admin()) return self::site_url();
|
111 |
+
if(!empty(self::$_current_url)) return self::$_current_url;
|
112 |
+
|
113 |
+
global $wp;
|
114 |
+
self::$_current_url = home_url(add_query_arg(array(),$wp->request));
|
115 |
+
return self::$_current_url;
|
116 |
+
} // End wp_current_url
|
117 |
+
|
118 |
Â
/**
|
119 |
Â
* Removes Bom characters.
|
120 |
Â
*
|
inc/cpcff_banner.inc.php
CHANGED
@@ -33,7 +33,7 @@ if(!function_exists( 'codepeople_add_promote_banner' ))
|
|
33 |
Â
!empty($codepeople_promote_banner_plugins[$_POST['codepeople_promote_banner_plugin']]['plugin_url'])
|
34 |
Â
)
|
35 |
Â
{
|
36 |
-
print '<script>document.location.href="'.esc_js($codepeople_promote_banner_plugins[$_POST['codepeople_promote_banner_plugin']]['plugin_url']).'";</script>';
|
37 |
Â
}
|
38 |
Â
}
|
39 |
Â
|
33 |
Â
!empty($codepeople_promote_banner_plugins[$_POST['codepeople_promote_banner_plugin']]['plugin_url'])
|
34 |
Â
)
|
35 |
Â
{
|
36 |
+
print '<script>document.location.href="'.str_replace('&','&',esc_js($codepeople_promote_banner_plugins[$_POST['codepeople_promote_banner_plugin']]['plugin_url'])).'";</script>';
|
37 |
Â
}
|
38 |
Â
}
|
39 |
Â
|
inc/cpcff_compatibility.inc.php
ADDED
@@ -0,0 +1,98 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Operations for checking the compatibility with other plugins: CPCFF_COMPATIBILITY class
|
4 |
+
*
|
5 |
+
* @package CFF.
|
6 |
+
* @since 1.0.370
|
7 |
+
*/
|
8 |
+
|
9 |
+
if(!class_exists('CPCFF_COMPATIBILITY'))
|
10 |
+
{
|
11 |
+
class CPCFF_COMPATIBILITY
|
12 |
+
{
|
13 |
+
private static function init()
|
14 |
+
{
|
15 |
+
return array(
|
16 |
+
array(
|
17 |
+
'plugin' => 'Fast Velocity Minify',
|
18 |
+
'check' => 'fvm_compat_checker',
|
19 |
+
'type' => 'function',
|
20 |
+
'mssg' => __('There is active the <b>Fast Velocity Minify</b> plugin. If the forms are not visible, please try disabling the <i>"Disable minification on JS files"</i> or <i>"Disable JavaScript processing"</i> options in the <b>Fast Velocity Minify</b> settings.', 'calculated-fields-form')
|
21 |
+
),
|
22 |
+
array(
|
23 |
+
'plugin' => 'Autoptimize',
|
24 |
+
'check' => 'autoptimize',
|
25 |
+
'type' => 'function',
|
26 |
+
'mssg' => __('There is active the <b>Autoptimize</b> plugin. If the forms are not visible, please try disabling the <i>"Force JavaScript in <head>"</i> option in the <b>Autoptimize</b> settings, or remove the jQuery file from the <i>"Exclude scripts from Autoptimize"</i> one.', 'calculated-fields-form')
|
27 |
+
),
|
28 |
+
array(
|
29 |
+
'plugin' => 'LiteSpeed Cache',
|
30 |
+
'check' => 'run_litespeed_cache',
|
31 |
+
'type' => 'function',
|
32 |
+
'mssg' => __('There is active the <b>LiteSpeed Cache</b> plugin. If the forms are not visible, please try disabling the <i>"JS Combine"</i> option in the <b>Optimize</b> tab of <b>LiteSpeed Cache</b> settings.', 'calculated-fields-form')
|
33 |
+
),
|
34 |
+
array(
|
35 |
+
'plugin' => 'WP Rocket',
|
36 |
+
'check' => 'WP_ROCKET_VERSION',
|
37 |
+
'type' => 'constant',
|
38 |
+
'mssg' => __('There is active the <b>WP Rocket</b> plugin. If the forms are not visible, please try disabling the <i>"Combine JavaScript files"</i> option in the <b>FILE OPTIMIZATION</b> tab of <b>WP Rocket</b> settings, and remember to clear the website cache.', 'calculated-fields-form')
|
39 |
+
),
|
40 |
+
array(
|
41 |
+
'plugin' => 'SG Optimizer',
|
42 |
+
'check' => 'siteground_optimizer_helper',
|
43 |
+
'type' => 'object',
|
44 |
+
'mssg' => __('There is active the <b>SG Optimizer</b> plugin. If the forms are not visible, please try disabling the options: <i>"Minify the HTML Output"</i> and <i>"Minify JavaScript Files"</i> in the <b>SG Optimizer</b> settings, and remember to purge the website cache.', 'calculated-fields-form')
|
45 |
+
),
|
46 |
+
array(
|
47 |
+
'plugin' => 'Hummingbird',
|
48 |
+
'check' => 'WPHB_VERSION',
|
49 |
+
'type' => 'constant',
|
50 |
+
'mssg' => __('There is active the <b>Hummingbird</b> plugin. If the forms are not visible, check the <i>"Hummingbird > Asset Optimization"</i> options. Make sure that jQuery or other required scripts are not configured to load after the page loads. Remember to purge the website cache, after edit the plugin settings.', 'calculated-fields-form')
|
51 |
+
),
|
52 |
+
);
|
53 |
+
} // End init
|
54 |
+
|
55 |
+
private static function format_warning_mssg($plugin)
|
56 |
+
{
|
57 |
+
return '<div class="cff-compatibility-warning">'.$plugin['mssg'].'</div>';
|
58 |
+
} // End format_warning_mssg
|
59 |
+
|
60 |
+
public static function warnings()
|
61 |
+
{
|
62 |
+
$plugins = self::init();
|
63 |
+
$warning_mssgs = '';
|
64 |
+
foreach($plugins as $plugin)
|
65 |
+
{
|
66 |
+
switch($plugin['type'])
|
67 |
+
{
|
68 |
+
case 'function':
|
69 |
+
if(function_exists($plugin['check']))
|
70 |
+
{
|
71 |
+
$warning_mssgs .= self::format_warning_mssg($plugin);
|
72 |
+
}
|
73 |
+
break;
|
74 |
+
case 'class':
|
75 |
+
if(class_exists($plugin['check']))
|
76 |
+
{
|
77 |
+
$warning_mssgs .= self::format_warning_mssg($plugin);
|
78 |
+
}
|
79 |
+
break;
|
80 |
+
case 'object':
|
81 |
+
if(isset($GLOBALS[$plugin['check']]))
|
82 |
+
{
|
83 |
+
$warning_mssgs .= self::format_warning_mssg($plugin);
|
84 |
+
}
|
85 |
+
break;
|
86 |
+
case 'constant':
|
87 |
+
if(defined($plugin['check']))
|
88 |
+
{
|
89 |
+
$warning_mssgs .= self::format_warning_mssg($plugin);
|
90 |
+
}
|
91 |
+
break;
|
92 |
+
}
|
93 |
+
}
|
94 |
+
return $warning_mssgs;
|
95 |
+
} // End blog_id
|
96 |
+
|
97 |
+
} // End CPCFF_COMPATIBILITY
|
98 |
+
}
|
inc/cpcff_form.inc.php
CHANGED
@@ -110,7 +110,7 @@ if(!class_exists('CPCFF_FORM'))
|
|
110 |
Â
// Paypal settings
|
111 |
Â
'enable_paypal' => CP_CALCULATEDFIELDSF_DEFAULT_ENABLE_PAYPAL,
|
112 |
Â
'paypal_email' => CP_CALCULATEDFIELDSF_DEFAULT_PAYPAL_EMAIL,
|
113 |
-
'request_cost' =>
|
114 |
Â
'paypal_product_name' => CP_CALCULATEDFIELDSF_DEFAULT_PRODUCT_NAME,
|
115 |
Â
'currency' => CP_CALCULATEDFIELDSF_DEFAULT_CURRENCY,
|
116 |
Â
'paypal_language' => CP_CALCULATEDFIELDSF_DEFAULT_PAYPAL_LANGUAGE,
|
@@ -274,7 +274,7 @@ if(!class_exists('CPCFF_FORM'))
|
|
274 |
Â
'paypal_zero_payment' => (isset($params["paypal_zero_payment"])) ? $params["paypal_zero_payment"] : 0,
|
275 |
Â
|
276 |
Â
// Texts
|
277 |
-
'vs_use_validation' =>
|
278 |
Â
'vs_text_is_required' => (isset($params['vs_text_is_required'])) ? $params['vs_text_is_required'] : CP_CALCULATEDFIELDSF_DEFAULT_vs_text_is_required,
|
279 |
Â
'vs_text_is_email' => (isset($params['vs_text_is_email'])) ? $params['vs_text_is_email'] : CP_CALCULATEDFIELDSF_DEFAULT_vs_text_is_email,
|
280 |
Â
'vs_text_datemmddyyyy' => (isset($params['vs_text_datemmddyyyy'])) ? $params['vs_text_datemmddyyyy'] : CP_CALCULATEDFIELDSF_DEFAULT_vs_text_datemmddyyyy,
|
@@ -310,7 +310,16 @@ if(!class_exists('CPCFF_FORM'))
|
|
310 |
Â
array( '%d' )
|
311 |
Â
);
|
312 |
Â
|
313 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
314 |
Â
return $updated_rows;
|
315 |
Â
} // End save_settings
|
316 |
Â
|
110 |
Â
// Paypal settings
|
111 |
Â
'enable_paypal' => CP_CALCULATEDFIELDSF_DEFAULT_ENABLE_PAYPAL,
|
112 |
Â
'paypal_email' => CP_CALCULATEDFIELDSF_DEFAULT_PAYPAL_EMAIL,
|
113 |
+
'request_cost' => 'fieldname1',
|
114 |
Â
'paypal_product_name' => CP_CALCULATEDFIELDSF_DEFAULT_PRODUCT_NAME,
|
115 |
Â
'currency' => CP_CALCULATEDFIELDSF_DEFAULT_CURRENCY,
|
116 |
Â
'paypal_language' => CP_CALCULATEDFIELDSF_DEFAULT_PAYPAL_LANGUAGE,
|
274 |
Â
'paypal_zero_payment' => (isset($params["paypal_zero_payment"])) ? $params["paypal_zero_payment"] : 0,
|
275 |
Â
|
276 |
Â
// Texts
|
277 |
+
'vs_use_validation' => CP_CALCULATEDFIELDSF_DEFAULT_vs_use_validation,
|
278 |
Â
'vs_text_is_required' => (isset($params['vs_text_is_required'])) ? $params['vs_text_is_required'] : CP_CALCULATEDFIELDSF_DEFAULT_vs_text_is_required,
|
279 |
Â
'vs_text_is_email' => (isset($params['vs_text_is_email'])) ? $params['vs_text_is_email'] : CP_CALCULATEDFIELDSF_DEFAULT_vs_text_is_email,
|
280 |
Â
'vs_text_datemmddyyyy' => (isset($params['vs_text_datemmddyyyy'])) ? $params['vs_text_datemmddyyyy'] : CP_CALCULATEDFIELDSF_DEFAULT_vs_text_datemmddyyyy,
|
310 |
Â
array( '%d' )
|
311 |
Â
);
|
312 |
Â
|
313 |
+
// Revisions
|
314 |
+
update_option('CP_CALCULATEDFIELDSF_REVISIONS_IN_PREVIEW', isset($params['cff-revisions-in-preview']) ? true : false);
|
315 |
+
|
316 |
+
if(
|
317 |
+
$updated_rows !== false &&
|
318 |
+
(
|
319 |
+
!isset($params['preview']) ||
|
320 |
+
get_option('CP_CALCULATEDFIELDSF_REVISIONS_IN_PREVIEW')
|
321 |
+
)
|
322 |
+
) $this->_revisions_obj->create_revision();
|
323 |
Â
return $updated_rows;
|
324 |
Â
} // End save_settings
|
325 |
Â
|
inc/cpcff_install_uninstall.inc.php
CHANGED
@@ -166,6 +166,8 @@ if(!class_exists('CPCFF_INSTALLER'))
|
|
166 |
Â
paypal_recurrent varchar(20) DEFAULT '' NOT NULL ,
|
167 |
Â
paypal_recurrent_setup varchar(20) DEFAULT '' NOT NULL ,
|
168 |
Â
paypal_recurrent_setup_days varchar(20) DEFAULT '' NOT NULL ,
|
Â
|
|
Â
|
|
169 |
Â
paypal_identify_prices varchar(20) DEFAULT '' NOT NULL ,
|
170 |
Â
paypal_zero_payment varchar(10) DEFAULT '' NOT NULL ,
|
171 |
Â
paypal_base_amount VARCHAR(250),
|
@@ -182,7 +184,7 @@ if(!class_exists('CPCFF_INSTALLER'))
|
|
182 |
Â
cv_background VARCHAR(20) DEFAULT '' NOT NULL,
|
183 |
Â
cv_border VARCHAR(20) DEFAULT '' NOT NULL,
|
184 |
Â
cv_text_enter_valid_captcha VARCHAR(200) DEFAULT '' NOT NULL,
|
185 |
-
cache
|
186 |
Â
UNIQUE KEY id (id)
|
187 |
Â
) $charset_collate;";
|
188 |
Â
|
@@ -252,6 +254,8 @@ if(!class_exists('CPCFF_INSTALLER'))
|
|
252 |
Â
'paypal_recurrent' => CP_CALCULATEDFIELDSF_DEFAULT_PAYPAL_RECURRENT,
|
253 |
Â
'paypal_recurrent_setup' => '',
|
254 |
Â
'paypal_recurrent_setup_days' => '15',
|
Â
|
|
Â
|
|
255 |
Â
'paypal_identify_prices' => CP_CALCULATEDFIELDSF_DEFAULT_PAYPAL_IDENTIFY_PRICES,
|
256 |
Â
'paypal_zero_payment' => CP_CALCULATEDFIELDSF_DEFAULT_PAYPAL_ZERO_PAYMENT,
|
257 |
Â
|
166 |
Â
paypal_recurrent varchar(20) DEFAULT '' NOT NULL ,
|
167 |
Â
paypal_recurrent_setup varchar(20) DEFAULT '' NOT NULL ,
|
168 |
Â
paypal_recurrent_setup_days varchar(20) DEFAULT '' NOT NULL ,
|
169 |
+
paypal_recurrent_times varchar(20) DEFAULT '' NOT NULL ,
|
170 |
+
paypal_recurrent_times_field varchar(20) DEFAULT '' NOT NULL ,
|
171 |
Â
paypal_identify_prices varchar(20) DEFAULT '' NOT NULL ,
|
172 |
Â
paypal_zero_payment varchar(10) DEFAULT '' NOT NULL ,
|
173 |
Â
paypal_base_amount VARCHAR(250),
|
184 |
Â
cv_background VARCHAR(20) DEFAULT '' NOT NULL,
|
185 |
Â
cv_border VARCHAR(20) DEFAULT '' NOT NULL,
|
186 |
Â
cv_text_enter_valid_captcha VARCHAR(200) DEFAULT '' NOT NULL,
|
187 |
+
cache longtext DEFAULT '' NOT NULL,
|
188 |
Â
UNIQUE KEY id (id)
|
189 |
Â
) $charset_collate;";
|
190 |
Â
|
254 |
Â
'paypal_recurrent' => CP_CALCULATEDFIELDSF_DEFAULT_PAYPAL_RECURRENT,
|
255 |
Â
'paypal_recurrent_setup' => '',
|
256 |
Â
'paypal_recurrent_setup_days' => '15',
|
257 |
+
'paypal_recurrent_times' => '0',
|
258 |
+
'paypal_recurrent_times_field' => '0',
|
259 |
Â
'paypal_identify_prices' => CP_CALCULATEDFIELDSF_DEFAULT_PAYPAL_IDENTIFY_PRICES,
|
260 |
Â
'paypal_zero_payment' => CP_CALCULATEDFIELDSF_DEFAULT_PAYPAL_ZERO_PAYMENT,
|
261 |
Â
|
inc/cpcff_main.inc.php
CHANGED
@@ -393,7 +393,16 @@ if(!class_exists('CPCFF_MAIN'))
|
|
393 |
Â
$message .= ob_get_contents();
|
394 |
Â
ob_end_clean();
|
395 |
Â
$page_title = (!empty($atts['page_title'])) ? $atts['page_title'] : '';
|
396 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
397 |
Â
}
|
398 |
Â
} // End form_preview
|
399 |
Â
|
@@ -670,6 +679,7 @@ if(!class_exists('CPCFF_MAIN'))
|
|
670 |
Â
{
|
671 |
Â
require_once CP_CALCULATEDFIELDSF_BASE_PATH.'/js/fbuilder-loader-admin.php';
|
672 |
Â
}
|
Â
|
|
673 |
Â
exit;
|
674 |
Â
}
|
675 |
Â
} // End _load_controls_scrips
|
@@ -757,7 +767,7 @@ if(!class_exists('CPCFF_MAIN'))
|
|
757 |
Â
get_option( 'CP_CALCULATEDFIELDSF_USE_CACHE', CP_CALCULATEDFIELDSF_USE_CACHE ) &&
|
758 |
Â
file_exists( CP_CALCULATEDFIELDSF_BASE_PATH.'/js/cache/all.js' )
|
759 |
Â
) ? plugins_url('/js/cache/all.js', CP_CALCULATEDFIELDSF_MAIN_FILE_PATH)
|
760 |
-
: CPCFF_AUXILIARY::
|
761 |
Â
|
762 |
Â
$config_json = $this->_get_form_configuration($formid);
|
763 |
Â
|
@@ -773,10 +783,10 @@ if(!class_exists('CPCFF_MAIN'))
|
|
773 |
Â
wp_enqueue_script( "jquery-ui-slider" );
|
774 |
Â
|
775 |
Â
wp_deregister_script('query-stringify');
|
776 |
-
wp_register_script('query-stringify', plugins_url('/js/jQuery.stringify.js', CP_CALCULATEDFIELDSF_MAIN_FILE_PATH), array(), 'pro');
|
777 |
Â
|
778 |
Â
wp_deregister_script('cp_calculatedfieldsf_validate_script');
|
779 |
-
wp_register_script('cp_calculatedfieldsf_validate_script', plugins_url('/js/jquery.validate.js', CP_CALCULATEDFIELDSF_MAIN_FILE_PATH));
|
780 |
Â
wp_enqueue_script( 'cp_calculatedfieldsf_builder_script', $public_js_path, array("jquery","jquery-ui-core","jquery-ui-button","jquery-ui-widget","jquery-ui-position","jquery-ui-tooltip","query-stringify","cp_calculatedfieldsf_validate_script", "jquery-ui-datepicker", "jquery-ui-slider"), CP_CALCULATEDFIELDSF_VERSION, true );
|
781 |
Â
|
782 |
Â
wp_localize_script('cp_calculatedfieldsf_builder_script', 'cp_calculatedfieldsf_fbuilder_config_'.self::$form_counter, array('obj' => $config_json));
|
@@ -832,6 +842,12 @@ if(!class_exists('CPCFF_MAIN'))
|
|
832 |
Â
} // End _public_resources
|
833 |
Â
|
834 |
Â
/** TROUBLESHOOTS SECTION **/
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
835 |
Â
private function troubleshoots()
|
836 |
Â
{
|
837 |
Â
if(!$this->_is_admin)
|
393 |
Â
$message .= ob_get_contents();
|
394 |
Â
ob_end_clean();
|
395 |
Â
$page_title = (!empty($atts['page_title'])) ? $atts['page_title'] : '';
|
396 |
+
remove_all_actions('shutdown');
|
397 |
+
if(!empty($atts['wp_die']))
|
398 |
+
{
|
399 |
+
wp_die($message, $page_title, 200);
|
400 |
+
}
|
401 |
+
else
|
402 |
+
{
|
403 |
+
print $message;
|
404 |
+
exit;
|
405 |
+
}
|
406 |
Â
}
|
407 |
Â
} // End form_preview
|
408 |
Â
|
679 |
Â
{
|
680 |
Â
require_once CP_CALCULATEDFIELDSF_BASE_PATH.'/js/fbuilder-loader-admin.php';
|
681 |
Â
}
|
682 |
+
remove_all_actions('shutdown');
|
683 |
Â
exit;
|
684 |
Â
}
|
685 |
Â
} // End _load_controls_scrips
|
767 |
Â
get_option( 'CP_CALCULATEDFIELDSF_USE_CACHE', CP_CALCULATEDFIELDSF_USE_CACHE ) &&
|
768 |
Â
file_exists( CP_CALCULATEDFIELDSF_BASE_PATH.'/js/cache/all.js' )
|
769 |
Â
) ? plugins_url('/js/cache/all.js', CP_CALCULATEDFIELDSF_MAIN_FILE_PATH)
|
770 |
+
: CPCFF_AUXILIARY::wp_current_url().( ( strpos( CPCFF_AUXILIARY::wp_current_url(),'?' ) === false ) ? '/?' : '&' ).'cp_cff_resources=public&min='.get_option( 'CP_CALCULATEDFIELDSF_USE_CACHE', CP_CALCULATEDFIELDSF_USE_CACHE );
|
771 |
Â
|
772 |
Â
$config_json = $this->_get_form_configuration($formid);
|
773 |
Â
|
783 |
Â
wp_enqueue_script( "jquery-ui-slider" );
|
784 |
Â
|
785 |
Â
wp_deregister_script('query-stringify');
|
786 |
+
wp_register_script('query-stringify', plugins_url('/js/jQuery.stringify.js', CP_CALCULATEDFIELDSF_MAIN_FILE_PATH), array('jquery'), 'pro');
|
787 |
Â
|
788 |
Â
wp_deregister_script('cp_calculatedfieldsf_validate_script');
|
789 |
+
wp_register_script('cp_calculatedfieldsf_validate_script', plugins_url('/js/jquery.validate.js', CP_CALCULATEDFIELDSF_MAIN_FILE_PATH), array('jquery'), 'pro');
|
790 |
Â
wp_enqueue_script( 'cp_calculatedfieldsf_builder_script', $public_js_path, array("jquery","jquery-ui-core","jquery-ui-button","jquery-ui-widget","jquery-ui-position","jquery-ui-tooltip","query-stringify","cp_calculatedfieldsf_validate_script", "jquery-ui-datepicker", "jquery-ui-slider"), CP_CALCULATEDFIELDSF_VERSION, true );
|
791 |
Â
|
792 |
Â
wp_localize_script('cp_calculatedfieldsf_builder_script', 'cp_calculatedfieldsf_fbuilder_config_'.self::$form_counter, array('obj' => $config_json));
|
842 |
Â
} // End _public_resources
|
843 |
Â
|
844 |
Â
/** TROUBLESHOOTS SECTION **/
|
845 |
+
public function compatibility_warnings()
|
846 |
+
{
|
847 |
+
require_once CP_CALCULATEDFIELDSF_BASE_PATH.'/inc/cpcff_compatibility.inc.php';
|
848 |
+
return CPCFF_COMPATIBILITY::warnings();
|
849 |
+
} // End troubleshoots
|
850 |
+
|
851 |
Â
private function troubleshoots()
|
852 |
Â
{
|
853 |
Â
if(!$this->_is_admin)
|
inc/cpcff_page_builders.inc.php
CHANGED
@@ -66,6 +66,10 @@ if(!class_exists('CPCFF_PAGE_BUILDERS'))
|
|
66 |
Â
{
|
67 |
Â
if(class_exists('ET_Builder_Module'))
|
68 |
Â
{
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
69 |
Â
require_once CP_CALCULATEDFIELDSF_BASE_PATH.'/pagebuilders/divi/cff.pb.php';
|
70 |
Â
}
|
71 |
Â
} // End divi_editor
|
@@ -83,7 +87,7 @@ if(!class_exists('CPCFF_PAGE_BUILDERS'))
|
|
83 |
Â
wp_enqueue_script('cp_calculatedfieldsf_gutenberg_editor', plugins_url('/pagebuilders/gutenberg/assets/js/gutenberg.js', CP_CALCULATEDFIELDSF_MAIN_FILE_PATH));
|
84 |
Â
|
85 |
Â
$url = CPCFF_AUXILIARY::site_url();
|
86 |
-
$url .= ((strpos($url, '?') === false) ? '?' : '&').'cff-editor-preview=1&cff-amp-redirected=1&cff-form=';
|
87 |
Â
$config = array(
|
88 |
Â
'url' => $url,
|
89 |
Â
'forms' => array(),
|
66 |
Â
{
|
67 |
Â
if(class_exists('ET_Builder_Module'))
|
68 |
Â
{
|
69 |
+
if(isset($_GET['et_fb']))
|
70 |
+
{
|
71 |
+
wp_enqueue_script('cp_calculatedfieldsf_divi_editor', plugins_url('/pagebuilders/divi/cff.js', CP_CALCULATEDFIELDSF_MAIN_FILE_PATH), array('react'), null, true);
|
72 |
+
}
|
73 |
Â
require_once CP_CALCULATEDFIELDSF_BASE_PATH.'/pagebuilders/divi/cff.pb.php';
|
74 |
Â
}
|
75 |
Â
} // End divi_editor
|
87 |
Â
wp_enqueue_script('cp_calculatedfieldsf_gutenberg_editor', plugins_url('/pagebuilders/gutenberg/assets/js/gutenberg.js', CP_CALCULATEDFIELDSF_MAIN_FILE_PATH));
|
88 |
Â
|
89 |
Â
$url = CPCFF_AUXILIARY::site_url();
|
90 |
+
$url .= ((strpos($url, '?') === false) ? '?' : '&').'cff-editor-preview=1&cff-amp-redirected=1&cff-amp-form=';
|
91 |
Â
$config = array(
|
92 |
Â
'url' => $url,
|
93 |
Â
'forms' => array(),
|
js/fbuilder-pro-admin.jquery.js
CHANGED
@@ -285,6 +285,8 @@
|
|
285 |
Â
);
|
286 |
Â
editor = wp.codeEditor.initialize( $('#fCustomStyles'), cssEditorSettings );
|
287 |
Â
editor.codemirror.on('change', function(cm){ $('#fCustomStyles').val(cm.getValue()).change();});
|
Â
|
|
Â
|
|
288 |
Â
}
|
289 |
Â
};
|
290 |
Â
|
@@ -582,7 +584,7 @@
|
|
582 |
Â
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><br /><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>';
|
583 |
Â
}
|
584 |
Â
|
585 |
-
str += '<div><label>Form Template</label><br /><select name="fTemplate" id="fTemplate" class="large">'+template+'</select></div><br /><div style="text-align:center"><span id="fTemplateThumbnail">'+thumbnail+'</span><div></div><span id="fTemplateDescription">'+description+'</span></div><div><label>Customize Form Design <i>(Enter the CSS rules. <a href="http://cff.dwbooster.com/faq#q82" target="_blank">More information</a>)</i></label><br /><textarea id="fCustomStyles" style="width:100%;height:150px;">'+this.customstyles+'</textarea></div>' ;
|
586 |
Â
|
587 |
Â
return str;
|
588 |
Â
}
|
@@ -825,7 +827,7 @@
|
|
825 |
Â
},
|
826 |
Â
showShortLabel: function( v )
|
827 |
Â
{
|
828 |
-
return '<div><label>Short label (optional) [<a class="helpfbuilder" text="The short label is used at title for the column when exporting the form data to CSV files.\n\nIf the short label is empty then, the field label will be used for the CSV file.">help?</a>] :</label><input class="large" name="sShortlabel" id="sShortlabel" value="'+v+'" /></div>';
|
829 |
Â
},
|
830 |
Â
showName: function( v )
|
831 |
Â
{
|
@@ -872,7 +874,7 @@
|
|
872 |
Â
},
|
873 |
Â
showCsslayout: function(v)
|
874 |
Â
{
|
875 |
-
return '<label>Add Css Layout Keywords</label><input class="large" name="sCsslayout" id="sCsslayout" value="'+v+'"
|
876 |
Â
}
|
877 |
Â
};
|
878 |
Â
|
285 |
Â
);
|
286 |
Â
editor = wp.codeEditor.initialize( $('#fCustomStyles'), cssEditorSettings );
|
287 |
Â
editor.codemirror.on('change', function(cm){ $('#fCustomStyles').val(cm.getValue()).change();});
|
288 |
+
|
289 |
+
$('.cff-editor-extend-shrink').on('click', function(){$(this).closest('.cff-editor-container').toggleClass('fullscreen');});
|
290 |
Â
}
|
291 |
Â
};
|
292 |
Â
|
584 |
Â
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><br /><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>';
|
585 |
Â
}
|
586 |
Â
|
587 |
+
str += '<div><label>Form Template</label><br /><select name="fTemplate" id="fTemplate" class="large">'+template+'</select></div><br /><div style="text-align:center"><span id="fTemplateThumbnail">'+thumbnail+'</span><div></div><span id="fTemplateDescription">'+description+'</span></div><div class="cff-editor-container"><label style="display:block;"><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><br /><textarea id="fCustomStyles" style="width:100%;height:150px;">'+this.customstyles+'</textarea></div>' ;
|
588 |
Â
|
589 |
Â
return str;
|
590 |
Â
}
|
827 |
Â
},
|
828 |
Â
showShortLabel: function( v )
|
829 |
Â
{
|
830 |
+
return '<div><label>Short label (optional) [<a class="helpfbuilder" text="The short label is used at title for the column when exporting the form data to CSV files.\n\nIf the short label is empty then, the field label will be used for the CSV file.">help?</a>] :</label><input type="text" class="large" name="sShortlabel" id="sShortlabel" value="'+v+'" /></div>';
|
831 |
Â
},
|
832 |
Â
showName: function( v )
|
833 |
Â
{
|
874 |
Â
},
|
875 |
Â
showCsslayout: function(v)
|
876 |
Â
{
|
877 |
+
return '<div><label>Add Css Layout Keywords</label><input type="text" class="large" name="sCsslayout" id="sCsslayout" value="'+v+'" /></div>';
|
878 |
Â
}
|
879 |
Â
};
|
880 |
Â
|
js/fbuilder-pro-public.jquery.js
CHANGED
@@ -188,8 +188,10 @@
|
|
188 |
Â
$( '#fieldlist'+opt.identifier).find(".pbPrevious,.pbNext").bind("keyup", function(evt){
|
189 |
Â
if(evt.which == 13 || evt.which == 32) $(this).click();
|
190 |
Â
}).bind("click", {'identifier' : opt.identifier}, function(evt){
|
191 |
-
var
|
192 |
-
|
Â
|
|
Â
|
|
193 |
Â
_p;
|
194 |
Â
|
195 |
Â
_p = $.fbuilder['goToPage'](
|
@@ -200,6 +202,9 @@
|
|
200 |
Â
}
|
201 |
Â
);
|
202 |
Â
if(_p == _to) $.fbuilder.setBrowserHistory();
|
Â
|
|
Â
|
|
Â
|
|
203 |
Â
return false;
|
204 |
Â
});
|
205 |
Â
}
|
@@ -258,7 +263,7 @@
|
|
258 |
Â
$.fbuilder.showHideDep(
|
259 |
Â
{
|
260 |
Â
'formIdentifier' : evt.data.identifier,
|
261 |
-
'
|
262 |
Â
}
|
263 |
Â
);
|
264 |
Â
}
|
@@ -421,6 +426,7 @@
|
|
421 |
Â
}
|
422 |
Â
},
|
423 |
Â
getField: function(f){return $.fbuilder['forms'][this.form_identifier].getItem(f);},
|
Â
|
|
424 |
Â
show:function()
|
425 |
Â
{
|
426 |
Â
return 'Not available yet';
|
@@ -502,70 +508,67 @@
|
|
502 |
Â
if(setHistoryEntry) $.fbuilder.setBrowserHistory(true);
|
503 |
Â
}; // End manageHistory
|
504 |
Â
|
505 |
-
$.fbuilder[ 'goToPage' ] = function(
|
506 |
Â
{
|
507 |
Â
if(
|
508 |
-
'formIdentifier' in
|
509 |
-
'
|
510 |
-
'to' in configObj
|
511 |
Â
)
|
512 |
Â
{
|
513 |
-
var identifier =
|
514 |
-
|
515 |
-
|
Â
|
|
516 |
Â
direction = (_from < _to) ? 1 : -1,
|
517 |
-
|
518 |
-
|
519 |
Â
|
520 |
Â
while(i != _to)
|
521 |
Â
{
|
522 |
-
$(".pbreak:not(.pb"+i+")",
|
523 |
-
$(".pb"+i,
|
524 |
-
if(direction == 1 && !
|
525 |
Â
i += direction;
|
526 |
Â
}
|
527 |
-
|
528 |
-
$(".pbreak:not(.pb"+i+")",
|
529 |
-
|
530 |
-
|
531 |
Â
|
532 |
Â
if(i == _to)
|
533 |
Â
{
|
534 |
-
if ($(".fields",
|
535 |
Â
{
|
536 |
Â
try
|
537 |
Â
{
|
538 |
-
var ffocusable =
|
539 |
Â
_wScrollTop = $(window).scrollTop(),
|
540 |
Â
_viewportHeight = $(window).height(),
|
541 |
-
_scrollTop =
|
542 |
Â
|
543 |
Â
if(
|
544 |
Â
ffocusable.length &&
|
545 |
Â
!ffocusable.first().hasClass('hasDatepicker') &&
|
Â
|
|
Â
|
|
546 |
Â
ffocusable.first().closest('[uh]').length == 0 /* FIXES AUTO-OPEN TOOLTIPS */
|
547 |
-
)
|
548 |
-
{
|
549 |
-
ffocusable[0].focus();
|
550 |
-
}
|
551 |
Â
|
552 |
Â
if(_scrollTop < _wScrollTop || (_wScrollTop+_viewportHeight)<_scrollTop )
|
553 |
-
{
|
554 |
Â
$( 'html, body' ).animate({scrollTop: _scrollTop}, 50);
|
555 |
-
}
|
556 |
Â
}
|
557 |
Â
catch(e){}
|
558 |
Â
}
|
559 |
Â
}
|
560 |
Â
else
|
561 |
Â
{
|
562 |
-
|
563 |
Â
}
|
564 |
Â
return i;
|
565 |
Â
}
|
566 |
Â
}; // End goToPage
|
567 |
Â
|
568 |
-
$.fbuilder[ 'showHideDep' ] = function(
|
569 |
Â
{
|
570 |
Â
/**
|
571 |
Â
* If isNotFirstTime is defined, the equations associated to the fields should be inserted in the queue of equations
|
@@ -589,16 +592,16 @@
|
|
589 |
Â
}
|
590 |
Â
};
|
591 |
Â
|
592 |
-
if(
|
593 |
Â
{
|
594 |
-
var identifier =
|
595 |
Â
|
596 |
Â
if( typeof $.fbuilder[ 'forms' ][ identifier ] != 'undefined' )
|
597 |
Â
{
|
598 |
Â
var toShow = $.fbuilder[ 'forms' ][ identifier ][ 'toShow' ],
|
599 |
Â
toHide = $.fbuilder[ 'forms' ][ identifier ][ 'toHide' ],
|
600 |
Â
hiddenByContainer = $.fbuilder[ 'forms' ][ identifier ][ 'hiddenByContainer' ],
|
601 |
-
items = (
|
602 |
Â
|
603 |
Â
process_items( items );
|
604 |
Â
$( document ).trigger( 'showHideDepEvent', $.fbuilder[ 'forms' ][ identifier ][ 'formId' ] );
|
188 |
Â
$( '#fieldlist'+opt.identifier).find(".pbPrevious,.pbNext").bind("keyup", function(evt){
|
189 |
Â
if(evt.which == 13 || evt.which == 32) $(this).click();
|
190 |
Â
}).bind("click", {'identifier' : opt.identifier}, function(evt){
|
191 |
+
var _pg = $(this).closest('.pbreak'),
|
192 |
+
_from = _pg.attr('page')*1,
|
193 |
+
_inc = ($(this).hasClass("pbPrevious")) ? -1 : 1,
|
194 |
+
_to = _from+_inc,
|
195 |
Â
_p;
|
196 |
Â
|
197 |
Â
_p = $.fbuilder['goToPage'](
|
202 |
Â
}
|
203 |
Â
);
|
204 |
Â
if(_p == _to) $.fbuilder.setBrowserHistory();
|
205 |
+
if($('.pb'+_p).find('.fields:visible').length == 0)
|
206 |
+
if(_inc == -1 && 0 < _p) $('.pb'+_p).find('.pbPrevious').click();
|
207 |
+
else if(_p < _pg.siblings('.pbreak').length) $('.pb'+_p).find('.pbNext').click();
|
208 |
Â
return false;
|
209 |
Â
});
|
210 |
Â
}
|
263 |
Â
$.fbuilder.showHideDep(
|
264 |
Â
{
|
265 |
Â
'formIdentifier' : evt.data.identifier,
|
266 |
+
'fieldIdentifier': evt.target.id
|
267 |
Â
}
|
268 |
Â
);
|
269 |
Â
}
|
426 |
Â
}
|
427 |
Â
},
|
428 |
Â
getField: function(f){return $.fbuilder['forms'][this.form_identifier].getItem(f);},
|
429 |
+
jQueryRef: function(){return $('.'+this.name);},
|
430 |
Â
show:function()
|
431 |
Â
{
|
432 |
Â
return 'Not available yet';
|
508 |
Â
if(setHistoryEntry) $.fbuilder.setBrowserHistory(true);
|
509 |
Â
}; // End manageHistory
|
510 |
Â
|
511 |
+
$.fbuilder[ 'goToPage' ] = function( config )
|
512 |
Â
{
|
513 |
Â
if(
|
514 |
+
('formIdentifier' in config || 'form' in config) &&
|
515 |
+
'to' in config
|
Â
|
|
516 |
Â
)
|
517 |
Â
{
|
518 |
+
var identifier = (config['form']) ? $('[name="cp_calculatedfieldsf_pform_psequence"]', config['form']).val() : config['formIdentifier'],
|
519 |
+
formObj = $.fbuilder.forms[identifier],
|
520 |
+
_from = (('from' in config) ? config['from'] : (('currentPage' in formObj) ? formObj['currentPage'] : 0))*1,
|
521 |
+
_to = config['to']*1,
|
522 |
Â
direction = (_from < _to) ? 1 : -1,
|
523 |
+
formDom = $('[id="'+formObj.formId+'"]'),
|
524 |
+
pageDom, i = _from;
|
525 |
Â
|
526 |
Â
while(i != _to)
|
527 |
Â
{
|
528 |
+
$(".pbreak:not(.pb"+i+")",formDom).find(".field").addClass("ignorepb");
|
529 |
+
$(".pb"+i,formDom).find(".field").removeClass("ignorepb");
|
530 |
+
if(direction == 1 && !formDom.valid()) break;
|
531 |
Â
i += direction;
|
532 |
Â
}
|
533 |
+
formObj['currentPage'] = i;
|
534 |
+
$(".pbreak:not(.pb"+i+")",formDom).hide().find(".field").addClass("ignorepb");
|
535 |
+
pageDom = $(".pbreak.pb"+i,formDom);
|
536 |
+
pageDom.show().find(".field").removeClass("ignorepb");
|
537 |
Â
|
538 |
Â
if(i == _to)
|
539 |
Â
{
|
540 |
+
if ($(".fields",pageDom).length>0)
|
541 |
Â
{
|
542 |
Â
try
|
543 |
Â
{
|
544 |
+
var ffocusable = pageDom.find(":focusable"),
|
545 |
Â
_wScrollTop = $(window).scrollTop(),
|
546 |
Â
_viewportHeight = $(window).height(),
|
547 |
+
_scrollTop = formDom.offset().top;
|
548 |
Â
|
549 |
Â
if(
|
550 |
Â
ffocusable.length &&
|
551 |
Â
!ffocusable.first().hasClass('hasDatepicker') &&
|
552 |
+
ffocusable.first().attr('type') != 'radio' &&
|
553 |
+
ffocusable.first().attr('type') != 'checkbox' &&
|
554 |
Â
ffocusable.first().closest('[uh]').length == 0 /* FIXES AUTO-OPEN TOOLTIPS */
|
555 |
+
) ffocusable[0].focus();
|
Â
|
|
Â
|
|
Â
|
|
556 |
Â
|
557 |
Â
if(_scrollTop < _wScrollTop || (_wScrollTop+_viewportHeight)<_scrollTop )
|
Â
|
|
558 |
Â
$( 'html, body' ).animate({scrollTop: _scrollTop}, 50);
|
Â
|
|
559 |
Â
}
|
560 |
Â
catch(e){}
|
561 |
Â
}
|
562 |
Â
}
|
563 |
Â
else
|
564 |
Â
{
|
565 |
+
formDom.validate().focusInvalid();
|
566 |
Â
}
|
567 |
Â
return i;
|
568 |
Â
}
|
569 |
Â
}; // End goToPage
|
570 |
Â
|
571 |
+
$.fbuilder[ 'showHideDep' ] = function( config )
|
572 |
Â
{
|
573 |
Â
/**
|
574 |
Â
* If isNotFirstTime is defined, the equations associated to the fields should be inserted in the queue of equations
|
592 |
Â
}
|
593 |
Â
};
|
594 |
Â
|
595 |
+
if('formIdentifier' in config)
|
596 |
Â
{
|
597 |
+
var identifier = config[ 'formIdentifier' ];
|
598 |
Â
|
599 |
Â
if( typeof $.fbuilder[ 'forms' ][ identifier ] != 'undefined' )
|
600 |
Â
{
|
601 |
Â
var toShow = $.fbuilder[ 'forms' ][ identifier ][ 'toShow' ],
|
602 |
Â
toHide = $.fbuilder[ 'forms' ][ identifier ][ 'toHide' ],
|
603 |
Â
hiddenByContainer = $.fbuilder[ 'forms' ][ identifier ][ 'hiddenByContainer' ],
|
604 |
+
items = ('fieldIdentifier' in config) ? [ $.fbuilder[ 'forms' ][ identifier ].getItem(config[ 'fieldIdentifier' ].replace(/_[cr]b\d+$/i, '')) ] : $.fbuilder[ 'forms' ][ identifier ].getItems();
|
605 |
Â
|
606 |
Â
process_items( items );
|
607 |
Â
$( document ).trigger( 'showHideDepEvent', $.fbuilder[ 'forms' ][ identifier ][ 'formId' ] );
|
js/fields-admin/01_fbuilder.ftext.js
CHANGED
@@ -55,6 +55,6 @@
|
|
55 |
Â
},
|
56 |
Â
showSpecialDataInstance: function()
|
57 |
Â
{
|
58 |
-
return '<div class="column"><label>Min length/characters</label><br /><input name="sMinlength" id="sMinlength" value="'+$.fbuilder.htmlEncode(this.minlength)+'"></div><div class="column"><label>Max length/characters</label><br /><input name="sMaxlength" id="sMaxlength" value="'+$.fbuilder.htmlEncode(this.maxlength)+'"></div><div class="clearer"></div><div><label>Validate against a regular expression</label><input type="text" name="sRegExp" id="sRegExp" value="'+$.fbuilder.htmlEncode(this.regExp)+'" class="large" /></div><div><label>Error message when the regular expression fails</label><input type="text" name="sRegExpMssg" id="sRegExpMssg" value="'+$.fbuilder.htmlEncode(this.regExpMssg)+'" class="large" /></div>';
|
59 |
Â
}
|
60 |
Â
});
|
55 |
Â
},
|
56 |
Â
showSpecialDataInstance: function()
|
57 |
Â
{
|
58 |
+
return '<div class="column"><label>Min length/characters</label><br /><input type="text" name="sMinlength" id="sMinlength" value="'+$.fbuilder.htmlEncode(this.minlength)+'"></div><div class="column"><label>Max length/characters</label><br /><input type="text" name="sMaxlength" id="sMaxlength" value="'+$.fbuilder.htmlEncode(this.maxlength)+'"></div><div class="clearer"></div><div><label>Validate against a regular expression</label><input type="text" name="sRegExp" id="sRegExp" value="'+$.fbuilder.htmlEncode(this.regExp)+'" class="large" /></div><div><label>Error message when the regular expression fails</label><input type="text" name="sRegExpMssg" id="sRegExpMssg" value="'+$.fbuilder.htmlEncode(this.regExpMssg)+'" class="large" /></div>';
|
59 |
Â
}
|
60 |
Â
});
|
js/fields-admin/02_fbuilder.fcurrency.js
CHANGED
@@ -102,6 +102,6 @@
|
|
102 |
Â
},
|
103 |
Â
showRangeIntance: function()
|
104 |
Â
{
|
105 |
-
return '<div class="clearer"></div><div class="column"><label>Min</label><br /><input name="sMin" id="sMin" value="'+$.fbuilder.htmlEncode(this.min)+'"></div><div class="column"><label>Max</label><br /><input name="sMax" id="sMax" value="'+$.fbuilder.htmlEncode(this.max)+'"></div><div class="clearer" style="margin-bottom:10px;">Enter the min/max values as numbers, and not as currencies.<br /><i>It is possible to associate other fields in the form to the attributes "min" and "max". Ex: fieldname1</i></div>';
|
106 |
Â
}
|
107 |
Â
});
|
102 |
Â
},
|
103 |
Â
showRangeIntance: function()
|
104 |
Â
{
|
105 |
+
return '<div class="clearer"></div><div class="column"><label>Min</label><br /><input type="text" name="sMin" id="sMin" value="'+$.fbuilder.htmlEncode(this.min)+'"></div><div class="column"><label>Max</label><br /><input type="text" name="sMax" id="sMax" value="'+$.fbuilder.htmlEncode(this.max)+'"></div><div class="clearer" style="margin-bottom:10px;">Enter the min/max values as numbers, and not as currencies.<br /><i>It is possible to associate other fields in the form to the attributes "min" and "max". Ex: fieldname1</i></div>';
|
106 |
Â
}
|
107 |
Â
});
|
js/fields-admin/02_fbuilder.fnumber.js
CHANGED
@@ -58,6 +58,6 @@
|
|
58 |
Â
},
|
59 |
Â
showRangeIntance: function()
|
60 |
Â
{
|
61 |
-
return '<div class="column"><label>Min</label><br /><input name="sMin" id="sMin" value="'+$.fbuilder.htmlEncode(this.min)+'"></div><div class="column"><label>Max</label><br /><input name="sMax" id="sMax" value="'+$.fbuilder.htmlEncode(this.max)+'"></div><div style="margin-bottom:10px;" class="clearer"><i>It is possible to associate other fields in the form to the attributes "min" and "max". Ex: fieldname1</i></div>';
|
62 |
Â
}
|
63 |
Â
});
|
58 |
Â
},
|
59 |
Â
showRangeIntance: function()
|
60 |
Â
{
|
61 |
+
return '<div class="column"><label>Min</label><br /><input type="text" name="sMin" id="sMin" value="'+$.fbuilder.htmlEncode(this.min)+'"></div><div class="column"><label>Max</label><br /><input type="text" name="sMax" id="sMax" value="'+$.fbuilder.htmlEncode(this.max)+'"></div><div style="margin-bottom:10px;" class="clearer"><i>It is possible to associate other fields in the form to the attributes "min" and "max". Ex: fieldname1</i></div>';
|
62 |
Â
}
|
63 |
Â
});
|
js/fields-admin/02_fbuilder.fslider.js
CHANGED
@@ -57,10 +57,10 @@
|
|
57 |
Â
showRequired: function(){ return ''; },
|
58 |
Â
showPredefined: function()
|
59 |
Â
{
|
60 |
-
return '<div class="no-range" style="display:'+( ( this.range ) ? 'none' : 'block')+';"><label>Predefined Value</label><input class="large" name="sPredefined" id="sPredefined" value="'+$.fbuilder.htmlEncode( this.predefined )+'"></div><div class="range" style="display:'+( ( this.range ) ? 'block' : 'none')+';"><div class="column"><label>Predefined Min</label><br /><input name="sPredefinedMin" id="sPredefinedMin" value="'+$.fbuilder.htmlEncode( this.predefinedMin )+'" style="width:95%;"></div><div class="column"><label>Predefined Max</label><br /><input name="sPredefinedMax" id="sPredefinedMax" value="'+$.fbuilder.htmlEncode( this.predefinedMax )+'" style="width:95%;"></div><div class="clearer"></div></div>';
|
61 |
Â
},
|
62 |
Â
showRangeIntance: function()
|
63 |
Â
{
|
64 |
-
return '<div><div class="column" style="width:30%;"><label>Min</label><br /><input name="sMin" id="sMin" value="'+$.fbuilder.htmlEncode(this.min)+'" placeholder="0 by default" style="width:95%;"></div><div class="column" style="width:30%;"><label>Max</label><br /><input name="sMax" id="sMax" value="'+$.fbuilder.htmlEncode(this.max)+'" placeholder="100 by default" style="width:95%;"></div><div class="column" style="width:30%;"><label>Step</label><br /><input name="sStep" id="sStep" value="'+$.fbuilder.htmlEncode(this.step)+'" placeholder="1 by default" style="width:95%;"></div><div class="clearer"></div></div><div style="margin-bottom:10px;"><i>It is possible to associate other fields in the form with the attributes "min", "max" and "step". Ex: fieldname1</i></div><div><input type="checkbox" name="sRange" id="sRange" '+( ( this.range ) ? 'CHECKED' : '' )+' /> Range slider </div><div><label>Field Caption</label><br /><input class="large" type="text" name="sCaption" id="sCaption" value="'+$.fbuilder.htmlEncode( this.caption )+'"></div><div><label>Min Corner Caption</label><br /><input class="large" type="text" name="sMinCaption" id="sMinCaption" value="'+$.fbuilder.htmlEncode( this.minCaption )+'"></div><div><label>Max Corner Caption</label><br /><input class="large" type="text" name="sMaxCaption" id="sMaxCaption" value="'+$.fbuilder.htmlEncode( this.maxCaption )+'"></div><div><label>Symbol for grouping thousands in the field\'s caption(Ex: 3,000,000)</label><input type="text" name="sThousandSeparator" id="sThousandSeparator" class="large" value="'+$.fbuilder.htmlEncode( this.thousandSeparator )+'" /></div><div><label>Decimals separator symbol (Ex: 25.20)</label><input type="text" name="sCentSeparator" id="sCentSeparator" class="large" value="'+$.fbuilder.htmlEncode( this.centSeparator )+'" /></div>';
|
65 |
Â
}
|
66 |
Â
});
|
57 |
Â
showRequired: function(){ return ''; },
|
58 |
Â
showPredefined: function()
|
59 |
Â
{
|
60 |
+
return '<div class="no-range" style="display:'+( ( this.range ) ? 'none' : 'block')+';"><label>Predefined Value</label><input type="text" class="large" name="sPredefined" id="sPredefined" value="'+$.fbuilder.htmlEncode( this.predefined )+'"></div><div class="range" style="display:'+( ( this.range ) ? 'block' : 'none')+';"><div class="column"><label>Predefined Min</label><br /><input type="text" name="sPredefinedMin" id="sPredefinedMin" value="'+$.fbuilder.htmlEncode( this.predefinedMin )+'" style="width:95%;"></div><div class="column"><label>Predefined Max</label><br /><input type="text" name="sPredefinedMax" id="sPredefinedMax" value="'+$.fbuilder.htmlEncode( this.predefinedMax )+'" style="width:95%;"></div><div class="clearer"></div></div>';
|
61 |
Â
},
|
62 |
Â
showRangeIntance: function()
|
63 |
Â
{
|
64 |
+
return '<div><div class="column" style="width:30%;"><label>Min</label><br /><input type="text" name="sMin" id="sMin" value="'+$.fbuilder.htmlEncode(this.min)+'" placeholder="0 by default" style="width:95%;"></div><div class="column" style="width:30%;"><label>Max</label><br /><input type="text" name="sMax" id="sMax" value="'+$.fbuilder.htmlEncode(this.max)+'" placeholder="100 by default" style="width:95%;"></div><div class="column" style="width:30%;"><label>Step</label><br /><input type="text" name="sStep" id="sStep" value="'+$.fbuilder.htmlEncode(this.step)+'" placeholder="1 by default" style="width:95%;"></div><div class="clearer"></div></div><div style="margin-bottom:10px;"><i>It is possible to associate other fields in the form with the attributes "min", "max" and "step". Ex: fieldname1</i></div><div><input type="checkbox" name="sRange" id="sRange" '+( ( this.range ) ? 'CHECKED' : '' )+' /> Range slider </div><div><label>Field Caption</label><br /><input class="large" type="text" name="sCaption" id="sCaption" value="'+$.fbuilder.htmlEncode( this.caption )+'"></div><div><label>Min Corner Caption</label><br /><input class="large" type="text" name="sMinCaption" id="sMinCaption" value="'+$.fbuilder.htmlEncode( this.minCaption )+'"></div><div><label>Max Corner Caption</label><br /><input class="large" type="text" name="sMaxCaption" id="sMaxCaption" value="'+$.fbuilder.htmlEncode( this.maxCaption )+'"></div><div><label>Symbol for grouping thousands in the field\'s caption(Ex: 3,000,000)</label><input type="text" name="sThousandSeparator" id="sThousandSeparator" class="large" value="'+$.fbuilder.htmlEncode( this.thousandSeparator )+'" /></div><div><label>Decimals separator symbol (Ex: 25.20)</label><input type="text" name="sCentSeparator" id="sCentSeparator" class="large" value="'+$.fbuilder.htmlEncode( this.centSeparator )+'" /></div>';
|
65 |
Â
}
|
66 |
Â
});
|
js/fields-admin/04_fbuilder.fdate.js
CHANGED
@@ -112,10 +112,10 @@
|
|
112 |
Â
showSpecialDataInstance: function()
|
113 |
Â
{
|
114 |
Â
var str = "";
|
115 |
-
str += '<div><label>Default date [<a class="helpfbuilder" text="You can put one of the following type of values into this field:\n\nEmpty: Leave empty for current date.\n\nDate: A Fixed date with the same date format indicated in the "Date Format" drop-down field.\n\nNumber: A number of days from today. For example 2 represents two days from today and -1 represents yesterday.\n\nString: A smart text indicating a relative date. Relative dates must contain value (number) and period pairs; valid periods are "y" for years, "m" for months, "w" for weeks, and "d" for days. For example, "+1m +7d" represents one month and seven days from today.">help?</a>]</label><br /><input class="large" name="sDefaultDate" id="sDefaultDate" value="'+$.fbuilder.htmlEncode(this.defaultDate)+'" /></div>';
|
116 |
-
str += '<div><label>Min date [<a class="helpfbuilder" text="You can put one of the following type of values into this field:\n\nEmpty: No min Date.\n\nDate: A Fixed date with the same date format indicated in the "Date Format" drop-down field.\n\nField Name: the name of another date field, Ex: fieldname1\n\nNumber: A number of days from today. For example 2 represents two days from today and -1 represents yesterday.\n\nString: A smart text indicating a relative date. Relative dates must contain value (number) and period pairs; valid periods are "y" for years, "m" for months, "w" for weeks, and "d" for days. For example, "+1m +7d" represents one month and seven days from today.">help?</a>]</label><br /><input class="large" name="sMinDate" id="sMinDate" value="'+$.fbuilder.htmlEncode(this.minDate)+'" /></div>';
|
117 |
-
str += '<div><label>Max date [<a class="helpfbuilder" text="You can put one of the following type of values into this field:\n\nEmpty: No max Date.\n\nDate: A Fixed date with the same date format indicated in the "Date Format" drop-down field.\n\nField Name: the name of another date field, Ex: fieldname1\n\nNumber: A number of days from today. For example 2 represents two days from today and -1 represents yesterday.\n\nString: A smart text indicating a relative date. Relative dates must contain value (number) and period pairs; valid periods are "y" for years, "m" for months, "w" for weeks, and "d" for days. For example, "+1m +7d" represents one month and seven days from today.">help?</a>]</label><br /><input class="large" name="sMaxDate" id="sMaxDate" value="'+$.fbuilder.htmlEncode(this.maxDate)+'" /></div>';
|
118 |
-
str += '<div><label>Invalid Dates [<a class="helpfbuilder" text="To define some dates as invalid, enter the dates with the format: mm/dd/yyyy separated by comma; for example: 12/31/2014,02/20/2014 or by hyphen for intervals; for example: 12/20/2014-12/28/2014 ">help?</a>]</label><br /><input class="large" name="sInvalidDates" id="sInvalidDates" value="'+$.fbuilder.htmlEncode(this.invalidDates)+'" /></div>';
|
119 |
Â
str += '<div><input type="checkbox" name="sShowDropdown" id="sShowDropdown" '+((this.showDropdown)?"checked":"")+'/><label>Show Dropdown Year and Month</label><div id="divdropdownRange" style="display:'+((this.showDropdown)?"":"none")+'">Year Range [<a class="helpfbuilder" text="The range of years displayed in the year drop-down: either relative to today\'s year ("-nn:+nn"), absolute ("nnnn:nnnn"), or combinations of these formats ("nnnn:-nn")">help?</a>]: <input type="text" name="sDropdownRange" id="sDropdownRange" value="'+$.fbuilder.htmlEncode(this.dropdownRange)+'"/></div></div>';
|
120 |
Â
str += '<div class="working_dates"><label>Selectable dates </label><br /><input name="sWD0" id="sWD0" value="0" type="checkbox" '+((this.working_dates[0])?"checked":"")+'/>Su<input name="sWD1" id="sWD1" value="1" type="checkbox" '+((this.working_dates[1])?"checked":"")+'/>Mo<input name="sWD2" id="sWD2" value="2" type="checkbox" '+((this.working_dates[2])?"checked":"")+'/>Tu<input name="sWD3" id="sWD3" value="3" type="checkbox" '+((this.working_dates[3])?"checked":"")+'/>We<input name="sWD4" id="sWD4" value="4" type="checkbox" '+((this.working_dates[4])?"checked":"")+'/>Th<input name="sWD5" id="sWD5" value="5" type="checkbox" '+((this.working_dates[5])?"checked":"")+'/>Fr<input name="sWD6" id="sWD6" value="6" type="checkbox" '+((this.working_dates[6])?"checked":"")+'/>Sa</div>';
|
121 |
Â
|
@@ -124,17 +124,17 @@
|
|
124 |
Â
str += '<div><input type="checkbox" name="sShowTimepicker" id="sShowTimepicker" '+( ( this.showTimepicker ) ? 'CHECKED' : '' )+' > <label>Include time</label></div>';
|
125 |
Â
str += '<div class="time-options" '+( ( !this.showTimepicker ) ? 'style="display:none;"': '' )+'>';
|
126 |
Â
str += '<div><label>Time Format</label><br /><label><input type="radio" name="sTimeFormat" id="sTimeFormat" value="24" '+( ( this.tformat == 24 ) ? 'CHECKED' : '' )+' /> 24 hours</label> <label><input type="radio" name="sTimeFormat" id="sTimeFormat" value="12" '+( ( this.tformat == 12 ) ? 'CHECKED' : '' )+' /> 12 hours</label></div>';
|
127 |
-
str += '<div><label>Default Time HH:mm</label><br /><input class="large" name="sDefaultTime" id="sDefaultTime" value="'+$.fbuilder.htmlEncode(this.defaultTime)+'" /></div>';
|
128 |
-
str += '<div class="width50 column"><label>Min Hour</label><br /><input class="large" name="sMinHour" id="sMinHour" value="'+$.fbuilder.htmlEncode(this.minHour)+'" /></div>';
|
129 |
-
str += '<div class="width50 columnr"><label>Min Minutes</label><br /><input class="large" name="sMinMinute" id="sMinMinute" value="'+$.fbuilder.htmlEncode(this.minMinute)+'" /></div>';
|
130 |
-
str += '<div class="width50 column"><label>Max Hour</label><br /><input class="large" name="sMaxHour" id="sMaxHour" value="'+$.fbuilder.htmlEncode(this.maxHour)+'" /></div>';
|
131 |
-
str += '<div class="width50 columnr"><label>Max Minutes</label><br /><input class="large" name="sMaxMinute" id="sMaxMinute" value="'+$.fbuilder.htmlEncode(this.maxMinute)+'" /></div>';
|
132 |
Â
|
133 |
-
str += '<div><label>Steps for hours</label><br /><input class="large" name="sStepHour" id="sStepHour" value="'+$.fbuilder.htmlEncode(this.stepHour)+'" /></div>';
|
134 |
-
str += '<div><label>Steps for minutes</label><br /><input class="large" name="sStepMinute" id="sStepMinute" value="'+$.fbuilder.htmlEncode(this.stepMinute)+'" /></div>';
|
135 |
-
str += '<div><label>Label for hours in screen readers</label><br /><input class="large" name="sAriaHourLabel" id="sAriaHourLabel" value="'+$.fbuilder.htmlEncode(this.ariaHourLabel)+'" /></div>';
|
136 |
-
str += '<div><label>Label for minutes in screen readers</label><br /><input class="large" name="sAriaMinuteLabel" id="sAriaMinuteLabel" value="'+$.fbuilder.htmlEncode(this.ariaMinuteLabel)+'" /></div>';
|
137 |
-
str += '<div><label>Label for am/pm component in screen readers</label><br /><input class="large" name="sAriaAMPMLabel" id="sAriaAMPMLabel" value="'+$.fbuilder.htmlEncode(this.ariaAMPMLabel)+'" /></div>';
|
138 |
Â
str += '</div>';
|
139 |
Â
str += '<hr></hr>';
|
140 |
Â
return str;
|
112 |
Â
showSpecialDataInstance: function()
|
113 |
Â
{
|
114 |
Â
var str = "";
|
115 |
+
str += '<div><label>Default date [<a class="helpfbuilder" text="You can put one of the following type of values into this field:\n\nEmpty: Leave empty for current date.\n\nDate: A Fixed date with the same date format indicated in the "Date Format" drop-down field.\n\nNumber: A number of days from today. For example 2 represents two days from today and -1 represents yesterday.\n\nString: A smart text indicating a relative date. Relative dates must contain value (number) and period pairs; valid periods are "y" for years, "m" for months, "w" for weeks, and "d" for days. For example, "+1m +7d" represents one month and seven days from today.">help?</a>]</label><br /><input type="text" class="large" name="sDefaultDate" id="sDefaultDate" value="'+$.fbuilder.htmlEncode(this.defaultDate)+'" /></div>';
|
116 |
+
str += '<div><label>Min date [<a class="helpfbuilder" text="You can put one of the following type of values into this field:\n\nEmpty: No min Date.\n\nDate: A Fixed date with the same date format indicated in the "Date Format" drop-down field.\n\nField Name: the name of another date field, Ex: fieldname1\n\nNumber: A number of days from today. For example 2 represents two days from today and -1 represents yesterday.\n\nString: A smart text indicating a relative date. Relative dates must contain value (number) and period pairs; valid periods are "y" for years, "m" for months, "w" for weeks, and "d" for days. For example, "+1m +7d" represents one month and seven days from today.">help?</a>]</label><br /><input type="text" class="large" name="sMinDate" id="sMinDate" value="'+$.fbuilder.htmlEncode(this.minDate)+'" /></div>';
|
117 |
+
str += '<div><label>Max date [<a class="helpfbuilder" text="You can put one of the following type of values into this field:\n\nEmpty: No max Date.\n\nDate: A Fixed date with the same date format indicated in the "Date Format" drop-down field.\n\nField Name: the name of another date field, Ex: fieldname1\n\nNumber: A number of days from today. For example 2 represents two days from today and -1 represents yesterday.\n\nString: A smart text indicating a relative date. Relative dates must contain value (number) and period pairs; valid periods are "y" for years, "m" for months, "w" for weeks, and "d" for days. For example, "+1m +7d" represents one month and seven days from today.">help?</a>]</label><br /><input type="text" class="large" name="sMaxDate" id="sMaxDate" value="'+$.fbuilder.htmlEncode(this.maxDate)+'" /></div>';
|
118 |
+
str += '<div><label>Invalid Dates [<a class="helpfbuilder" text="To define some dates as invalid, enter the dates with the format: mm/dd/yyyy separated by comma; for example: 12/31/2014,02/20/2014 or by hyphen for intervals; for example: 12/20/2014-12/28/2014 ">help?</a>]</label><br /><input type="text" class="large" name="sInvalidDates" id="sInvalidDates" value="'+$.fbuilder.htmlEncode(this.invalidDates)+'" /></div>';
|
119 |
Â
str += '<div><input type="checkbox" name="sShowDropdown" id="sShowDropdown" '+((this.showDropdown)?"checked":"")+'/><label>Show Dropdown Year and Month</label><div id="divdropdownRange" style="display:'+((this.showDropdown)?"":"none")+'">Year Range [<a class="helpfbuilder" text="The range of years displayed in the year drop-down: either relative to today\'s year ("-nn:+nn"), absolute ("nnnn:nnnn"), or combinations of these formats ("nnnn:-nn")">help?</a>]: <input type="text" name="sDropdownRange" id="sDropdownRange" value="'+$.fbuilder.htmlEncode(this.dropdownRange)+'"/></div></div>';
|
120 |
Â
str += '<div class="working_dates"><label>Selectable dates </label><br /><input name="sWD0" id="sWD0" value="0" type="checkbox" '+((this.working_dates[0])?"checked":"")+'/>Su<input name="sWD1" id="sWD1" value="1" type="checkbox" '+((this.working_dates[1])?"checked":"")+'/>Mo<input name="sWD2" id="sWD2" value="2" type="checkbox" '+((this.working_dates[2])?"checked":"")+'/>Tu<input name="sWD3" id="sWD3" value="3" type="checkbox" '+((this.working_dates[3])?"checked":"")+'/>We<input name="sWD4" id="sWD4" value="4" type="checkbox" '+((this.working_dates[4])?"checked":"")+'/>Th<input name="sWD5" id="sWD5" value="5" type="checkbox" '+((this.working_dates[5])?"checked":"")+'/>Fr<input name="sWD6" id="sWD6" value="6" type="checkbox" '+((this.working_dates[6])?"checked":"")+'/>Sa</div>';
|
121 |
Â
|
124 |
Â
str += '<div><input type="checkbox" name="sShowTimepicker" id="sShowTimepicker" '+( ( this.showTimepicker ) ? 'CHECKED' : '' )+' > <label>Include time</label></div>';
|
125 |
Â
str += '<div class="time-options" '+( ( !this.showTimepicker ) ? 'style="display:none;"': '' )+'>';
|
126 |
Â
str += '<div><label>Time Format</label><br /><label><input type="radio" name="sTimeFormat" id="sTimeFormat" value="24" '+( ( this.tformat == 24 ) ? 'CHECKED' : '' )+' /> 24 hours</label> <label><input type="radio" name="sTimeFormat" id="sTimeFormat" value="12" '+( ( this.tformat == 12 ) ? 'CHECKED' : '' )+' /> 12 hours</label></div>';
|
127 |
+
str += '<div><label>Default Time HH:mm</label><br /><input type="text" class="large" name="sDefaultTime" id="sDefaultTime" value="'+$.fbuilder.htmlEncode(this.defaultTime)+'" /></div>';
|
128 |
+
str += '<div class="width50 column"><label>Min Hour</label><br /><input type="text" class="large" name="sMinHour" id="sMinHour" value="'+$.fbuilder.htmlEncode(this.minHour)+'" /></div>';
|
129 |
+
str += '<div class="width50 columnr"><label>Min Minutes</label><br /><input type="text" class="large" name="sMinMinute" id="sMinMinute" value="'+$.fbuilder.htmlEncode(this.minMinute)+'" /></div>';
|
130 |
+
str += '<div class="width50 column"><label>Max Hour</label><br /><input type="text" class="large" name="sMaxHour" id="sMaxHour" value="'+$.fbuilder.htmlEncode(this.maxHour)+'" /></div>';
|
131 |
+
str += '<div class="width50 columnr"><label>Max Minutes</label><br /><input type="text" class="large" name="sMaxMinute" id="sMaxMinute" value="'+$.fbuilder.htmlEncode(this.maxMinute)+'" /></div>';
|
132 |
Â
|
133 |
+
str += '<div><label>Steps for hours</label><br /><input type="text" class="large" name="sStepHour" id="sStepHour" value="'+$.fbuilder.htmlEncode(this.stepHour)+'" /></div>';
|
134 |
+
str += '<div><label>Steps for minutes</label><br /><input type="text" class="large" name="sStepMinute" id="sStepMinute" value="'+$.fbuilder.htmlEncode(this.stepMinute)+'" /></div>';
|
135 |
+
str += '<div><label>Label for hours in screen readers</label><br /><input type="text" class="large" name="sAriaHourLabel" id="sAriaHourLabel" value="'+$.fbuilder.htmlEncode(this.ariaHourLabel)+'" /></div>';
|
136 |
+
str += '<div><label>Label for minutes in screen readers</label><br /><input type="text" class="large" name="sAriaMinuteLabel" id="sAriaMinuteLabel" value="'+$.fbuilder.htmlEncode(this.ariaMinuteLabel)+'" /></div>';
|
137 |
+
str += '<div><label>Label for am/pm component in screen readers</label><br /><input type="text" class="large" name="sAriaAMPMLabel" id="sAriaAMPMLabel" value="'+$.fbuilder.htmlEncode(this.ariaAMPMLabel)+'" /></div>';
|
138 |
Â
str += '</div>';
|
139 |
Â
str += '<hr></hr>';
|
140 |
Â
return str;
|
js/fields-admin/05_fbuilder.ftextarea.js
CHANGED
@@ -36,6 +36,6 @@
|
|
36 |
Â
},
|
37 |
Â
showSpecialDataInstance: function()
|
38 |
Â
{
|
39 |
-
return '<div class="column"><label>Min length/characters</label><br /><input name="sMinlength" id="sMinlength" value="'+$.fbuilder.htmlEncode(this.minlength)+'"></div><div class="column"><label>Max length/characters</label><br /><input name="sMaxlength" id="sMaxlength" value="'+$.fbuilder.htmlEncode(this.maxlength)+'"></div><div class="clearer"></div><div><label>Number of rows</label><br><input type="text" name="sRows" id="sRows" value="'+$.fbuilder.htmlEncode(this.rows)+'" /></div><div class="clearer"></div>';
|
40 |
Â
}
|
41 |
Â
});
|
36 |
Â
},
|
37 |
Â
showSpecialDataInstance: function()
|
38 |
Â
{
|
39 |
+
return '<div class="column"><label>Min length/characters</label><br /><input type="text" name="sMinlength" id="sMinlength" value="'+$.fbuilder.htmlEncode(this.minlength)+'"></div><div class="column"><label>Max length/characters</label><br /><input type="text" name="sMaxlength" id="sMaxlength" value="'+$.fbuilder.htmlEncode(this.maxlength)+'"></div><div class="clearer"></div><div><label>Number of rows</label><br><input type="text" name="sRows" id="sRows" value="'+$.fbuilder.htmlEncode(this.rows)+'" /></div><div class="clearer"></div>';
|
40 |
Â
}
|
41 |
Â
});
|
js/fields-admin/06_fbuilder.fcheck.js
CHANGED
@@ -97,7 +97,7 @@
|
|
97 |
Â
});
|
98 |
Â
$(".choice_removeDep").bind("click", {obj: this}, function(e)
|
99 |
Â
{
|
100 |
-
if (e.data.obj.
|
101 |
Â
{
|
102 |
Â
e.data.obj.choicesDep[$(this).attr("i")][0]="";
|
103 |
Â
}
|
@@ -218,8 +218,7 @@
|
|
218 |
Â
var l = this.choices,
|
219 |
Â
lv = this.choicesVal,
|
220 |
Â
v = this.choiceSelected,
|
221 |
-
str = '', str1, j
|
222 |
-
reloadRequired = false;
|
223 |
Â
if (!(typeof(this.choicesDep) != "undefined" && this.choicesDep !== null))
|
224 |
Â
{
|
225 |
Â
this.choicesDep = new Array();
|
@@ -238,18 +237,15 @@
|
|
238 |
Â
{
|
239 |
Â
while(j--)
|
240 |
Â
{
|
241 |
-
if(d[i][j].length && $('.'+d[i][j]).length == 0){ reloadRequired = true; d[i].splice(j,1); continue;}
|
242 |
Â
str1 = '<div class="choicesEditDep"><span>If selected show:</span> <select class="dependencies" i="'+i+'" j="'+j+'" dname="'+this.name+'" dvalue="'+d[i][j]+'" ></select><div class="choice-ctrls"><a class="choice_addDep ui-icon ui-icon-circle-plus" i="'+i+'" j="'+j+'" title="Add another dependency."></a><a class="choice_removeDep ui-icon ui-icon-circle-minus" i="'+i+'" j="'+j+'" title="Delete this dependency."></a></div></div>'+str1;
|
243 |
Â
}
|
244 |
Â
str += str1;
|
245 |
Â
}
|
246 |
-
|
247 |
-
if(!j)
|
248 |
Â
{
|
249 |
Â
str += '<div class="choicesEditDep"><span>If selected show:</span> <select class="dependencies" i="'+i+'" j="'+j+'" dname="'+this.name+'" dvalue="" ></select><div class="choice-ctrls"><a class="choice_addDep ui-icon ui-icon-circle-plus" i="'+i+'" j="'+j+'" title="Add another dependency."></a><a class="choice_removeDep ui-icon ui-icon-circle-minus" i="'+i+'" j="'+j+'" title="Delete this dependency."></a></div></div>';
|
250 |
Â
}
|
251 |
Â
}
|
252 |
-
if(reloadRequired) $.fbuilder.reloadItems({'field':this});
|
253 |
Â
return '<div class="choicesSet '+((this.showDep)?"show":"hide")+'"><label>Choices</label> <a class="helpfbuilder dep" text="Dependencies are used to show/hide other fields depending of the option selected in this field.">help?</a> <a href="" class="showHideDependencies">'+((this.showDep)?"Hide":"Show")+' Dependencies</a><div><div class="t">Text</div><div class="t">Value</div><div class="clearer"></div></div>'+str+this.mergeValues()+this.attributeToSubmit()+this.maxChoices()+'</div>';
|
254 |
Â
}
|
255 |
Â
});
|
97 |
Â
});
|
98 |
Â
$(".choice_removeDep").bind("click", {obj: this}, function(e)
|
99 |
Â
{
|
100 |
+
if (e.data.obj.choicesDep[$(this).attr("i")].length == 1)
|
101 |
Â
{
|
102 |
Â
e.data.obj.choicesDep[$(this).attr("i")][0]="";
|
103 |
Â
}
|
218 |
Â
var l = this.choices,
|
219 |
Â
lv = this.choicesVal,
|
220 |
Â
v = this.choiceSelected,
|
221 |
+
str = '', str1, j;
|
Â
|
|
222 |
Â
if (!(typeof(this.choicesDep) != "undefined" && this.choicesDep !== null))
|
223 |
Â
{
|
224 |
Â
this.choicesDep = new Array();
|
237 |
Â
{
|
238 |
Â
while(j--)
|
239 |
Â
{
|
Â
|
|
240 |
Â
str1 = '<div class="choicesEditDep"><span>If selected show:</span> <select class="dependencies" i="'+i+'" j="'+j+'" dname="'+this.name+'" dvalue="'+d[i][j]+'" ></select><div class="choice-ctrls"><a class="choice_addDep ui-icon ui-icon-circle-plus" i="'+i+'" j="'+j+'" title="Add another dependency."></a><a class="choice_removeDep ui-icon ui-icon-circle-minus" i="'+i+'" j="'+j+'" title="Delete this dependency."></a></div></div>'+str1;
|
241 |
Â
}
|
242 |
Â
str += str1;
|
243 |
Â
}
|
244 |
+
else
|
Â
|
|
245 |
Â
{
|
246 |
Â
str += '<div class="choicesEditDep"><span>If selected show:</span> <select class="dependencies" i="'+i+'" j="'+j+'" dname="'+this.name+'" dvalue="" ></select><div class="choice-ctrls"><a class="choice_addDep ui-icon ui-icon-circle-plus" i="'+i+'" j="'+j+'" title="Add another dependency."></a><a class="choice_removeDep ui-icon ui-icon-circle-minus" i="'+i+'" j="'+j+'" title="Delete this dependency."></a></div></div>';
|
247 |
Â
}
|
248 |
Â
}
|
Â
|
|
249 |
Â
return '<div class="choicesSet '+((this.showDep)?"show":"hide")+'"><label>Choices</label> <a class="helpfbuilder dep" text="Dependencies are used to show/hide other fields depending of the option selected in this field.">help?</a> <a href="" class="showHideDependencies">'+((this.showDep)?"Hide":"Show")+' Dependencies</a><div><div class="t">Text</div><div class="t">Value</div><div class="clearer"></div></div>'+str+this.mergeValues()+this.attributeToSubmit()+this.maxChoices()+'</div>';
|
250 |
Â
}
|
251 |
Â
});
|
js/fields-admin/07_fbuilder.fradio.js
CHANGED
@@ -93,7 +93,7 @@
|
|
93 |
Â
});
|
94 |
Â
$(".choice_removeDep").bind("click", {obj: this}, function(e)
|
95 |
Â
{
|
96 |
-
if (e.data.obj.
|
97 |
Â
{
|
98 |
Â
e.data.obj.choicesDep[$(this).attr("i")][0]="";
|
99 |
Â
}
|
@@ -198,8 +198,7 @@
|
|
198 |
Â
this.choicesVal = ((typeof(this.choicesVal) != "undefined" && this.choicesVal !== null)?this.choicesVal:this.choices.slice(0));
|
199 |
Â
var l = this.choices,
|
200 |
Â
lv = this.choicesVal,
|
201 |
-
str = '', str1, j
|
202 |
-
reloadRequired = false;
|
203 |
Â
if (!(typeof(this.choicesDep) != "undefined" && this.choicesDep !== null))
|
204 |
Â
{
|
205 |
Â
this.choicesDep = new Array();
|
@@ -218,18 +217,15 @@
|
|
218 |
Â
{
|
219 |
Â
while(j--)
|
220 |
Â
{
|
221 |
-
if(d[i][j].length && $('.'+d[i][j]).length == 0){ reloadRequired = true; d[i].splice(j,1); continue;}
|
222 |
Â
str1 = '<div class="choicesEditDep"><span>If selected show:</span> <select class="dependencies" i="'+i+'" j="'+j+'" dname="'+this.name+'" dvalue="'+d[i][j]+'" ></select><div class="choice-ctrls"><a class="choice_addDep ui-icon ui-icon-circle-plus" i="'+i+'" j="'+j+'" title="Add another dependency."></a><a class="choice_removeDep ui-icon ui-icon-circle-minus" i="'+i+'" j="'+j+'" title="Delete this dependency."></a></div></div>'+str1;
|
223 |
Â
}
|
224 |
Â
str += str1;
|
225 |
Â
}
|
226 |
-
|
227 |
-
if(!j)
|
228 |
Â
{
|
229 |
Â
str += '<div class="choicesEditDep"><span>If selected show:</span> <select class="dependencies" i="'+i+'" j="'+j+'" dname="'+this.name+'" dvalue="" ></select><div class="choice-ctrls"><a class="choice_addDep ui-icon ui-icon-circle-plus" i="'+i+'" j="'+j+'" title="Add another dependency."></a><a class="choice_removeDep ui-icon ui-icon-circle-minus" i="'+i+'" j="'+j+'" title="Delete this dependency."></a></div></div>';
|
230 |
Â
}
|
231 |
Â
}
|
232 |
-
if(reloadRequired) $.fbuilder.reloadItems({'field':this});
|
233 |
Â
return '<div class="choicesSet '+((this.showDep)?"show":"hide")+'"><label>Choices</label> <a class="helpfbuilder dep" text="Dependencies are used to show/hide other fields depending of the option selected in this field.">help?</a> <a href="" class="showHideDependencies">'+((this.showDep)?"Hide":"Show")+' Dependencies</a><div><div class="t">Text</div><div class="t">Value</div><div class="clearer"></div></div>'+str+this.attributeToSubmit()+this.allowUntick()+'</div>';
|
234 |
Â
}
|
235 |
Â
});
|
93 |
Â
});
|
94 |
Â
$(".choice_removeDep").bind("click", {obj: this}, function(e)
|
95 |
Â
{
|
96 |
+
if (e.data.obj.choicesDep[$(this).attr("i")].length == 1)
|
97 |
Â
{
|
98 |
Â
e.data.obj.choicesDep[$(this).attr("i")][0]="";
|
99 |
Â
}
|
198 |
Â
this.choicesVal = ((typeof(this.choicesVal) != "undefined" && this.choicesVal !== null)?this.choicesVal:this.choices.slice(0));
|
199 |
Â
var l = this.choices,
|
200 |
Â
lv = this.choicesVal,
|
201 |
+
str = '', str1, j;
|
Â
|
|
202 |
Â
if (!(typeof(this.choicesDep) != "undefined" && this.choicesDep !== null))
|
203 |
Â
{
|
204 |
Â
this.choicesDep = new Array();
|
217 |
Â
{
|
218 |
Â
while(j--)
|
219 |
Â
{
|
Â
|
|
220 |
Â
str1 = '<div class="choicesEditDep"><span>If selected show:</span> <select class="dependencies" i="'+i+'" j="'+j+'" dname="'+this.name+'" dvalue="'+d[i][j]+'" ></select><div class="choice-ctrls"><a class="choice_addDep ui-icon ui-icon-circle-plus" i="'+i+'" j="'+j+'" title="Add another dependency."></a><a class="choice_removeDep ui-icon ui-icon-circle-minus" i="'+i+'" j="'+j+'" title="Delete this dependency."></a></div></div>'+str1;
|
221 |
Â
}
|
222 |
Â
str += str1;
|
223 |
Â
}
|
224 |
+
else
|
Â
|
|
225 |
Â
{
|
226 |
Â
str += '<div class="choicesEditDep"><span>If selected show:</span> <select class="dependencies" i="'+i+'" j="'+j+'" dname="'+this.name+'" dvalue="" ></select><div class="choice-ctrls"><a class="choice_addDep ui-icon ui-icon-circle-plus" i="'+i+'" j="'+j+'" title="Add another dependency."></a><a class="choice_removeDep ui-icon ui-icon-circle-minus" i="'+i+'" j="'+j+'" title="Delete this dependency."></a></div></div>';
|
227 |
Â
}
|
228 |
Â
}
|
Â
|
|
229 |
Â
return '<div class="choicesSet '+((this.showDep)?"show":"hide")+'"><label>Choices</label> <a class="helpfbuilder dep" text="Dependencies are used to show/hide other fields depending of the option selected in this field.">help?</a> <a href="" class="showHideDependencies">'+((this.showDep)?"Hide":"Show")+' Dependencies</a><div><div class="t">Text</div><div class="t">Value</div><div class="clearer"></div></div>'+str+this.attributeToSubmit()+this.allowUntick()+'</div>';
|
230 |
Â
}
|
231 |
Â
});
|
js/fields-admin/08_fbuilder.fdropdown.js
CHANGED
@@ -98,7 +98,7 @@
|
|
98 |
Â
});
|
99 |
Â
$(".choice_removeDep").bind("click", {obj: this}, function(e)
|
100 |
Â
{
|
101 |
-
if (e.data.obj.
|
102 |
Â
{
|
103 |
Â
e.data.obj.choicesDep[$(this).attr("i")][0]="";
|
104 |
Â
}
|
@@ -218,13 +218,10 @@
|
|
218 |
Â
{
|
219 |
Â
this.choicesVal = ((typeof(this.choicesVal) != "undefined" && this.choicesVal !== null)?this.choicesVal:this.choices.slice(0));
|
220 |
Â
if(typeof this.optgroup == 'undefined' ) this.optgroup = new Array();
|
221 |
-
|
222 |
Â
var l = this.choices,
|
223 |
Â
lv = this.choicesVal,
|
224 |
Â
og = this.optgroup,
|
225 |
-
str = '', str1, j
|
226 |
-
reloadRequired = false;
|
227 |
-
|
228 |
Â
if (!(typeof(this.choicesDep) != "undefined" && this.choicesDep !== null))
|
229 |
Â
{
|
230 |
Â
this.choicesDep = new Array();
|
@@ -246,18 +243,15 @@
|
|
246 |
Â
{
|
247 |
Â
while(j--)
|
248 |
Â
{
|
249 |
-
if(d[i][j].length && $('.'+d[i][j]).length == 0){ reloadRequired = true; d[i].splice(j,1); continue;}
|
250 |
Â
str1 = '<div class="choicesEditDep"><span>If selected show:</span> <select class="dependencies" i="'+i+'" j="'+j+'" dname="'+this.name+'" dvalue="'+d[i][j]+'" ></select><div class="choice-ctrls"><a class="choice_addDep ui-icon ui-icon-circle-plus" i="'+i+'" j="'+j+'" title="Add another dependency."></a><a class="choice_removeDep ui-icon ui-icon-circle-minus" i="'+i+'" j="'+j+'" title="Delete this dependency."></a></div></div>'+str1;
|
251 |
Â
}
|
252 |
Â
str += str1;
|
253 |
Â
}
|
254 |
-
|
255 |
-
if(!j)
|
256 |
Â
{
|
257 |
Â
str += '<div class="choicesEditDep"><span>If selected show:</span> <select class="dependencies" i="'+i+'" j="'+j+'" dname="'+this.name+'" dvalue="" ></select><div class="choice-ctrls"><a class="choice_addDep ui-icon ui-icon-circle-plus" i="'+i+'" j="'+j+'" title="Add another dependency."></a><a class="choice_removeDep ui-icon ui-icon-circle-minus" i="'+i+'" j="'+j+'" title="Delete this dependency."></a></div></div>';
|
258 |
Â
}
|
259 |
Â
}
|
260 |
-
if(reloadRequired) $.fbuilder.reloadItems({'field':this});
|
261 |
Â
return '<div class="choicesSet '+((this.showDep)?"show":"hide")+'"><label>Choices</label> <a class="helpfbuilder dep" text="Dependencies are used to show/hide other fields depending of the option selected in this field.">help?</a> <a href="" class="showHideDependencies">'+((this.showDep)?"Hide":"Show")+' Dependencies</a><div><div class="t">Text</div><div class="t">Value</div><div>optgroup</div><div class="clearer"></div></div>'+str+this.mergeValues()+this.attributeToSubmit()+this.multipleSelection()+'</div>';
|
262 |
Â
}
|
263 |
Â
});
|
98 |
Â
});
|
99 |
Â
$(".choice_removeDep").bind("click", {obj: this}, function(e)
|
100 |
Â
{
|
101 |
+
if (e.data.obj.choicesDep[$(this).attr("i")].length == 1)
|
102 |
Â
{
|
103 |
Â
e.data.obj.choicesDep[$(this).attr("i")][0]="";
|
104 |
Â
}
|
218 |
Â
{
|
219 |
Â
this.choicesVal = ((typeof(this.choicesVal) != "undefined" && this.choicesVal !== null)?this.choicesVal:this.choices.slice(0));
|
220 |
Â
if(typeof this.optgroup == 'undefined' ) this.optgroup = new Array();
|
Â
|
|
221 |
Â
var l = this.choices,
|
222 |
Â
lv = this.choicesVal,
|
223 |
Â
og = this.optgroup,
|
224 |
+
str = '', str1, j;
|
Â
|
|
Â
|
|
225 |
Â
if (!(typeof(this.choicesDep) != "undefined" && this.choicesDep !== null))
|
226 |
Â
{
|
227 |
Â
this.choicesDep = new Array();
|
243 |
Â
{
|
244 |
Â
while(j--)
|
245 |
Â
{
|
Â
|
|
246 |
Â
str1 = '<div class="choicesEditDep"><span>If selected show:</span> <select class="dependencies" i="'+i+'" j="'+j+'" dname="'+this.name+'" dvalue="'+d[i][j]+'" ></select><div class="choice-ctrls"><a class="choice_addDep ui-icon ui-icon-circle-plus" i="'+i+'" j="'+j+'" title="Add another dependency."></a><a class="choice_removeDep ui-icon ui-icon-circle-minus" i="'+i+'" j="'+j+'" title="Delete this dependency."></a></div></div>'+str1;
|
247 |
Â
}
|
248 |
Â
str += str1;
|
249 |
Â
}
|
250 |
+
else
|
Â
|
|
251 |
Â
{
|
252 |
Â
str += '<div class="choicesEditDep"><span>If selected show:</span> <select class="dependencies" i="'+i+'" j="'+j+'" dname="'+this.name+'" dvalue="" ></select><div class="choice-ctrls"><a class="choice_addDep ui-icon ui-icon-circle-plus" i="'+i+'" j="'+j+'" title="Add another dependency."></a><a class="choice_removeDep ui-icon ui-icon-circle-minus" i="'+i+'" j="'+j+'" title="Delete this dependency."></a></div></div>';
|
253 |
Â
}
|
254 |
Â
}
|
Â
|
|
255 |
Â
return '<div class="choicesSet '+((this.showDep)?"show":"hide")+'"><label>Choices</label> <a class="helpfbuilder dep" text="Dependencies are used to show/hide other fields depending of the option selected in this field.">help?</a> <a href="" class="showHideDependencies">'+((this.showDep)?"Hide":"Show")+' Dependencies</a><div><div class="t">Text</div><div class="t">Value</div><div>optgroup</div><div class="clearer"></div></div>'+str+this.mergeValues()+this.attributeToSubmit()+this.multipleSelection()+'</div>';
|
256 |
Â
}
|
257 |
Â
});
|
js/fields-admin/09_fbuilder.ffile.js
CHANGED
@@ -39,6 +39,6 @@
|
|
39 |
Â
},
|
40 |
Â
showSpecialDataInstance: function()
|
41 |
Â
{
|
42 |
-
return '<div><label>Accept these file extensions [<a class="helpfbuilder" text="Extensions comma separated and without the dot.\n\nExample: jpg,png,gif,pdf">help?</a>]</label><br /><input name="sAccept" id="sAccept" value="'+$.fbuilder.htmlEncode(this.accept)+'" class="large"></div><div><label>Maximum upload size in kB [<a class="helpfbuilder" text="1024 kB = 1 MB.\n\nThe support for this HTML5 feature may be partially available or not available in some browsers.">help?</a>]</label><br /><input name="sUpload_size" id="sUpload_size" value="'+$.fbuilder.htmlEncode(this.upload_size)+'" class="large"></div><div><label><input type="checkbox" id="sMultiple" name="sMultiple" '+( ( typeof this.multiple != 'undefined' && this.multiple ) ? 'CHECKED' : '' )+' /> Upload multiple files</label></div><hr /><div><label><input type="checkbox" id="sPreview" name="sPreview" '+( ( typeof this.preview != 'undefined' && this.preview ) ? 'CHECKED' : '' )+' /> Show preview of images</label></div><div><label>Thumbnail width</label><input type="text" id="sThumbWidth" name="sThumbWidth" value="'+$.fbuilder.htmlEncode(this.thumb_width)+'" class="large" /></div><div><label>Thumbnail height</label><input type="text" id="sThumbHeight" name="sThumbHeight" value="'+$.fbuilder.htmlEncode(this.thumb_height)+'" class="large" /></div><hr /><div class="clearer"></div>';
|
43 |
Â
}
|
44 |
Â
});
|
39 |
Â
},
|
40 |
Â
showSpecialDataInstance: function()
|
41 |
Â
{
|
42 |
+
return '<div><label>Accept these file extensions [<a class="helpfbuilder" text="Extensions comma separated and without the dot.\n\nExample: jpg,png,gif,pdf">help?</a>]</label><br /><input type="text" name="sAccept" id="sAccept" value="'+$.fbuilder.htmlEncode(this.accept)+'" class="large"></div><div><label>Maximum upload size in kB [<a class="helpfbuilder" text="1024 kB = 1 MB.\n\nThe support for this HTML5 feature may be partially available or not available in some browsers.">help?</a>]</label><br /><input type="text" name="sUpload_size" id="sUpload_size" value="'+$.fbuilder.htmlEncode(this.upload_size)+'" class="large"></div><div><label><input type="checkbox" id="sMultiple" name="sMultiple" '+( ( typeof this.multiple != 'undefined' && this.multiple ) ? 'CHECKED' : '' )+' /> Upload multiple files</label></div><hr /><div><label><input type="checkbox" id="sPreview" name="sPreview" '+( ( typeof this.preview != 'undefined' && this.preview ) ? 'CHECKED' : '' )+' /> Show preview of images</label></div><div><label>Thumbnail width</label><input type="text" id="sThumbWidth" name="sThumbWidth" value="'+$.fbuilder.htmlEncode(this.thumb_width)+'" class="large" /></div><div><label>Thumbnail height</label><input type="text" id="sThumbHeight" name="sThumbHeight" value="'+$.fbuilder.htmlEncode(this.thumb_height)+'" class="large" /></div><hr /><div class="clearer"></div>';
|
43 |
Â
}
|
44 |
Â
});
|
js/fields-admin/10_fbuilder.fpassword.js
CHANGED
@@ -51,6 +51,6 @@
|
|
51 |
Â
},
|
52 |
Â
showSpecialDataInstance: function()
|
53 |
Â
{
|
54 |
-
return '<div class="column"><label>Min length/characters</label><br /><input name="sMinlength" id="sMinlength" value="'+$.fbuilder.htmlEncode(this.minlength)+'"></div><div class="column"><label>Max length/characters</label><br /><input name="sMaxlength" id="sMaxlength" value="'+$.fbuilder.htmlEncode(this.maxlength)+'"></div><div class="clearer"></div>';
|
55 |
Â
}
|
56 |
Â
});
|
51 |
Â
},
|
52 |
Â
showSpecialDataInstance: function()
|
53 |
Â
{
|
54 |
+
return '<div class="column"><label>Min length/characters</label><br /><input type="text" name="sMinlength" id="sMinlength" value="'+$.fbuilder.htmlEncode(this.minlength)+'"></div><div class="column"><label>Max length/characters</label><br /><input type="text" name="sMaxlength" id="sMaxlength" value="'+$.fbuilder.htmlEncode(this.maxlength)+'"></div><div class="clearer"></div>';
|
55 |
Â
}
|
56 |
Â
});
|
js/fields-admin/16_fbuilder.fsummary.js
CHANGED
@@ -40,24 +40,24 @@
|
|
40 |
Â
showAllSettings:function()
|
41 |
Â
{
|
42 |
Â
return this.showTitle()+this.showSummaryFields()+this.showCsslayout();
|
43 |
-
},
|
44 |
-
showSummaryFields: function()
|
45 |
Â
{
|
46 |
Â
var str = '',
|
47 |
Â
items = this.fBuild.getItems();
|
48 |
-
|
49 |
-
str += '<div><label>Fields to display on summary</label><br /><input name="sFields" id="sFields" class="large" value="'+$.fbuilder.htmlEncode(this.fields)+'"></div><div class="clearer"></div>';
|
50 |
-
|
51 |
Â
str += '<div><label>Select field and press the plus button</label><br /><select name="sSelectedField" id="sSelectedField" style="width:80%;">';
|
52 |
Â
for ( var i=0; i<items.length; i++ )
|
53 |
Â
{
|
54 |
Â
str += '<option value="'+items[i].name+'">'+( ( typeof items[i].title != 'undefined' ) ? items[i].title : '' )+'('+items[i].name+')'+'</option>';
|
55 |
Â
}
|
56 |
Â
str += '</select><input type="button" value="+" name="sPlusBtn" id="sPlusBtn" style="padding:3px 10px;" /></div><div class="clearer"></div>';
|
57 |
-
|
58 |
-
str += '<div><label>Classname for fields titles</label><br /><input class="large" name="sTitleClassname" id="sTitleClassname" value="'+$.fbuilder.htmlEncode(this.titleClassname)+'"></div><div class="clearer"></div>';
|
59 |
-
str += '<div><label>Classname for fields values</label><br /><input class="large" name="sValueClassname" id="sValueClassname" value="'+$.fbuilder.htmlEncode(this.valueClassname)+'"></div><div class="clearer"></div>';
|
60 |
-
|
61 |
Â
return str;
|
62 |
Â
}
|
63 |
Â
});
|
40 |
Â
showAllSettings:function()
|
41 |
Â
{
|
42 |
Â
return this.showTitle()+this.showSummaryFields()+this.showCsslayout();
|
43 |
+
},
|
44 |
+
showSummaryFields: function()
|
45 |
Â
{
|
46 |
Â
var str = '',
|
47 |
Â
items = this.fBuild.getItems();
|
48 |
+
|
49 |
+
str += '<div><label>Fields to display on summary</label><br /><input type="text" name="sFields" id="sFields" class="large" value="'+$.fbuilder.htmlEncode(this.fields)+'"></div><div class="clearer"></div>';
|
50 |
+
|
51 |
Â
str += '<div><label>Select field and press the plus button</label><br /><select name="sSelectedField" id="sSelectedField" style="width:80%;">';
|
52 |
Â
for ( var i=0; i<items.length; i++ )
|
53 |
Â
{
|
54 |
Â
str += '<option value="'+items[i].name+'">'+( ( typeof items[i].title != 'undefined' ) ? items[i].title : '' )+'('+items[i].name+')'+'</option>';
|
55 |
Â
}
|
56 |
Â
str += '</select><input type="button" value="+" name="sPlusBtn" id="sPlusBtn" style="padding:3px 10px;" /></div><div class="clearer"></div>';
|
57 |
+
|
58 |
+
str += '<div><label>Classname for fields titles</label><br /><input type="text" class="large" name="sTitleClassname" id="sTitleClassname" value="'+$.fbuilder.htmlEncode(this.titleClassname)+'"></div><div class="clearer"></div>';
|
59 |
+
str += '<div><label>Classname for fields values</label><br /><input type="text" class="large" name="sValueClassname" id="sValueClassname" value="'+$.fbuilder.htmlEncode(this.valueClassname)+'"></div><div class="clearer"></div>';
|
60 |
+
|
61 |
Â
return str;
|
62 |
Â
}
|
63 |
Â
});
|
js/fields-admin/28_fbuilder.fcontainer.js
CHANGED
@@ -5,9 +5,13 @@
|
|
5 |
Â
{
|
6 |
Â
fields:[],
|
7 |
Â
columns:1,
|
Â
|
|
8 |
Â
editItemEvents:function()
|
9 |
Â
{
|
10 |
-
var evt=[
|
Â
|
|
Â
|
|
Â
|
|
11 |
Â
$.fbuilder.controls[ 'ffields' ].prototype.editItemEvents.call(this,evt);
|
12 |
Â
},
|
13 |
Â
showShortLabel:function(){ return ''; },
|
@@ -20,7 +24,8 @@
|
|
20 |
Â
{
|
21 |
Â
cStr += '<option value="'+columns[ i ]+'" '+( ( this.columns == columns[ i ] ) ? 'SELECTED' : '' )+'>'+columns[ i ]+' column'+( ( i ) ? 's' : '' )+'</option>';
|
22 |
Â
}
|
23 |
-
return '<div><label>Columns</label><br /><select name="sColumns" id="sColumns">' + cStr + '</select><div class="clearer"><span class="uh">Shown in columns the fields into the container.</span></div></div>'
|
Â
|
|
24 |
Â
},
|
25 |
Â
remove : function()
|
26 |
Â
{
|
5 |
Â
{
|
6 |
Â
fields:[],
|
7 |
Â
columns:1,
|
8 |
+
rearrange:0,
|
9 |
Â
editItemEvents:function()
|
10 |
Â
{
|
11 |
+
var evt=[
|
12 |
+
{s:"#sColumns",e:"change", l:"columns"},
|
13 |
+
{s:"#sRearrange",e:"click", l:"rearrange",f:function(el){return el.is(":checked");}}
|
14 |
+
];
|
15 |
Â
$.fbuilder.controls[ 'ffields' ].prototype.editItemEvents.call(this,evt);
|
16 |
Â
},
|
17 |
Â
showShortLabel:function(){ return ''; },
|
24 |
Â
{
|
25 |
Â
cStr += '<option value="'+columns[ i ]+'" '+( ( this.columns == columns[ i ] ) ? 'SELECTED' : '' )+'>'+columns[ i ]+' column'+( ( i ) ? 's' : '' )+'</option>';
|
26 |
Â
}
|
27 |
+
return '<div><label>Columns</label><br /><select name="sColumns" id="sColumns">' + cStr + '</select><div class="clearer"><span class="uh">Shown in columns the fields into the container.</span></div></div>'+
|
28 |
+
'<div><label><input name="sRearrange" id="sRearrange" type="checkbox" '+((this.rearrange) ? 'CHECKED' : '')+'> Rearrange</label> <span class="uh">Rearrange the fields in the container.</span></div>';
|
29 |
Â
},
|
30 |
Â
remove : function()
|
31 |
Â
{
|
js/fields-admin/29_fbuilder.ffieldset.fc.js
CHANGED
@@ -14,6 +14,7 @@
|
|
14 |
Â
ftype:"ffieldset",
|
15 |
Â
fields:[],
|
16 |
Â
columns:1,
|
Â
|
|
17 |
Â
collapsed:false,
|
18 |
Â
display:function()
|
19 |
Â
{
|
14 |
Â
ftype:"ffieldset",
|
15 |
Â
fields:[],
|
16 |
Â
columns:1,
|
17 |
+
rearrange: 0,
|
18 |
Â
collapsed:false,
|
19 |
Â
display:function()
|
20 |
Â
{
|
js/fields-admin/30_fbuilder.fdiv.fc.js
CHANGED
@@ -14,6 +14,7 @@
|
|
14 |
Â
ftype:"fdiv",
|
15 |
Â
fields:[],
|
16 |
Â
columns:1,
|
Â
|
|
17 |
Â
collapsed:false,
|
18 |
Â
display:function()
|
19 |
Â
{
|
14 |
Â
ftype:"fdiv",
|
15 |
Â
fields:[],
|
16 |
Â
columns:1,
|
17 |
+
rearrange: 0,
|
18 |
Â
collapsed:false,
|
19 |
Â
display:function()
|
20 |
Â
{
|
js/fields-admin/31_fbuilder.fmedia.js
CHANGED
@@ -34,7 +34,8 @@
|
|
34 |
Â
sMuted:0,
|
35 |
Â
sPreload: "auto",
|
36 |
Â
sFallback: "",
|
37 |
-
sFigcaption: ""
|
Â
|
|
38 |
Â
},
|
39 |
Â
video:{
|
40 |
Â
sWidth:"",
|
@@ -48,7 +49,8 @@
|
|
48 |
Â
sMuted:0,
|
49 |
Â
sPreload: "auto",
|
50 |
Â
sFallback: "",
|
51 |
-
sFigcaption: ""
|
Â
|
|
52 |
Â
}
|
53 |
Â
};
|
54 |
Â
},
|
@@ -59,7 +61,7 @@
|
|
59 |
Â
a = [],
|
60 |
Â
l = [],
|
61 |
Â
r = '';
|
62 |
-
|
63 |
Â
if( $.trim( d.sWidth ) ) a.push( 'width="'+esc( d.sWidth )+'"' );
|
64 |
Â
if( $.trim( d.sHeight ) ) a.push( 'height="'+esc( d.sHeight )+'"' );
|
65 |
Â
if( $.trim( d.sSrc ) ) a.push( 'src="'+esc( d.sSrc )+'"' );
|
@@ -74,15 +76,15 @@
|
|
74 |
Â
{
|
75 |
Â
r = '<img '+a.join( ' ' )+' />';
|
76 |
Â
}
|
77 |
-
|
78 |
Â
return r;
|
79 |
Â
},
|
80 |
Â
_display_audio_video: function( d, isV )
|
81 |
Â
{
|
82 |
Â
var esc = $.fbuilder.htmlEncode,
|
83 |
Â
a = [],
|
84 |
-
t = ( isV ) ? 'video' : 'audio'
|
85 |
-
|
86 |
Â
if( $.trim( d.sWidth ) ) a.push( 'width="'+esc( d.sWidth )+'"' );
|
87 |
Â
if( isV && $.trim( d.sHeight ) ) a.push( 'height="'+esc( d.sHeight )+'"' );
|
88 |
Â
if( isV && $.trim( d.sPoster ) ) a.push( 'poster="'+esc( d.sPoster )+'"' );
|
@@ -91,8 +93,9 @@
|
|
91 |
Â
if( d.sControls ) a.push( 'controls' );
|
92 |
Â
if( d.sLoop ) a.push( 'loop' );
|
93 |
Â
if( d.sMuted ) a.push( 'muted' );
|
Â
|
|
94 |
Â
a.push( 'preload="'+esc( d.sPreload )+'"' );
|
95 |
-
|
96 |
Â
return '<'+t+' '+a.join( ' ' )+'>'+( ( $.trim( d.sSrcAlt ) ) ? '<source src="'+esc( d.sSrcAlt )+'" />' : '' )+'<p>'+d.sFallback+'</p></'+t+'>';
|
97 |
Â
},
|
98 |
Â
_display_audio: function()
|
@@ -108,17 +111,17 @@
|
|
108 |
Â
return '<div class="fields fmark '+this.name+'" id="field'+this.form_identifier+'-'+this.index+'" title="'+this.name+'"><div class="arrow ui-icon ui-icon-play "></div><div title="Delete" class="remove ui-icon ui-icon-trash "></div><div title="Duplicate" class="copy ui-icon ui-icon-copy "></div><label>'+this[ '_display_' + this.sMediaType ]()+'</label><span class="uh">'+this.data[ this.sMediaType ][ 'sFigcaption' ]+'</span><div class="clearer"></div></div>';
|
109 |
Â
},
|
110 |
Â
editItemEvents:function()
|
111 |
-
{
|
112 |
Â
var me = this;
|
113 |
-
$("#sMediaBtn").bind("click", function(e)
|
114 |
Â
{
|
115 |
Â
me._loadMedia( 'sSrc', me.sMediaType );
|
116 |
Â
});
|
117 |
-
$("#sMediaAltBtn").bind("click", function(e)
|
118 |
Â
{
|
119 |
Â
me._loadMedia( 'sSrcAlt', me.sMediaType );
|
120 |
Â
});
|
121 |
-
$("#sPosterBtn").bind("click", function(e)
|
122 |
Â
{
|
123 |
Â
me._loadMedia( 'sPoster', 'image' );
|
124 |
Â
});
|
@@ -127,18 +130,18 @@
|
|
127 |
Â
e.data.obj[ this.name ] = $(this).val();
|
128 |
Â
$.fbuilder.editItem( e.data.obj.index );
|
129 |
Â
$.fbuilder.reloadItems({'field':e.data.obj});
|
130 |
-
});
|
131 |
-
$("#sControls,#sLoop,#sAutoplay,#sMuted").bind("click", {obj: this}, function(e)
|
132 |
Â
{
|
133 |
Â
e.data.obj[ 'data' ][ e.data.obj[ 'sMediaType' ] ][ this.id ] = ( this.checked ) ? 1 : 0;
|
134 |
Â
$.fbuilder.reloadItems({'field':e.data.obj});
|
135 |
-
});
|
136 |
-
$("#sWidth,#sHeight,#sSrc,#sSrcAlt,#sPoster,#sAlt,#sLink,#sTarget,#sFallback,#sFigcaption,#sPreload").bind("change keyup", {obj: this}, function(e)
|
137 |
Â
{
|
138 |
Â
e.data.obj[ 'data' ][ e.data.obj[ 'sMediaType' ] ][ this.id ] = $(this).val();
|
139 |
Â
$.fbuilder.reloadItems({'field':e.data.obj});
|
140 |
Â
});
|
141 |
-
|
142 |
Â
$.fbuilder.controls[ 'ffields' ].prototype.editItemEvents.call(this);
|
143 |
Â
},
|
144 |
Â
showSpecialDataInstance: function()
|
@@ -149,7 +152,7 @@
|
|
149 |
Â
{
|
150 |
Â
var l = [ 'image', 'audio', 'video' ],
|
151 |
Â
r = "", v;
|
152 |
-
|
153 |
Â
for( var i = 0, h = l.length; i < h; i++ )
|
154 |
Â
{
|
155 |
Â
v = l[ i ];
|
@@ -166,7 +169,7 @@
|
|
166 |
Â
text: 'Select Source'
|
167 |
Â
},
|
168 |
Â
multiple: false
|
169 |
-
}).on('select',
|
170 |
Â
(function( field, type ){
|
171 |
Â
return function() {
|
172 |
Â
var regExp = new RegExp( type, 'i'),
|
@@ -175,13 +178,13 @@
|
|
175 |
Â
{
|
176 |
Â
alert( 'Invalid mime type' );
|
177 |
Â
return;
|
178 |
-
}
|
179 |
Â
field.val( attachment.url ).change();
|
180 |
Â
};
|
181 |
-
})( src_field, type )
|
182 |
Â
).open();
|
183 |
Â
return false;
|
184 |
-
},
|
185 |
Â
_showSettingsBox: function()
|
186 |
Â
{
|
187 |
Â
var d = this.data[ this.sMediaType ];
|
@@ -205,20 +208,21 @@
|
|
205 |
Â
var r = '',
|
206 |
Â
esc = $.fbuilder.htmlEncode;
|
207 |
Â
r = '<label>Width</label><input type="text" class="large" name="sWidth" id="sWidth" value="'+esc(d.sWidth)+'">';
|
208 |
-
|
209 |
Â
if( isV )
|
210 |
Â
r += '<label>Height</label><input type="text" class="large" name="sHeight" id="sHeight" value="'+esc(d.sHeight)+'">';
|
211 |
-
|
212 |
Â
r += '<label>Source</label><div><input type="text" style="width:70%;" name="sSrc" id="sSrc" value="'+esc(d.sSrc)+'"><input id="sMediaBtn" type="button" value="Browse" style="width:28%;" /></div>';
|
213 |
-
|
214 |
Â
if( isV )
|
215 |
Â
r += '<label>Poster</label><div><input type="text" style="width:70%;" name="sPoster" id="sPoster" value="'+esc(d.sPoster)+'"><input id="sPosterBtn" type="button" value="Browse" style="width:28%;" /></div>';
|
216 |
-
|
217 |
Â
r += '<label>Alternative Source</label><div><input type="text" style="width:70%;" name="sSrcAlt" id="sSrcAlt" value="'+esc(d.sSrcAlt)+'"><input id="sMediaAltBtn" type="button" value="Browse" style="width:28%;" /></div>';
|
218 |
Â
r += '<input type="checkbox" name="sControls" id="sControls" value="1" '+( ( d.sControls ) ? 'CHECKED' : '')+'><label>Controls</label><br />';
|
219 |
Â
r += '<input type="checkbox" name="sLoop" id="sLoop" value="1" '+( ( d.sLoop ) ? 'CHECKED' : '')+'><label>Loop</label><br />';
|
220 |
Â
r += '<input type="checkbox" name="sAutoplay" id="sAutoplay" value="1" '+( ( d.sAutoplay ) ? 'CHECKED' : '')+'><label>Autoplay</label><br />';
|
221 |
Â
r += '<input type="checkbox" name="sMuted" id="sMuted" value="1" '+( ( d.sMuted ) ? 'CHECKED' : '')+'><label>Muted</label><br />';
|
Â
|
|
222 |
Â
var s = '',
|
223 |
Â
l = [ 'none', 'auto', 'metadata' ];
|
224 |
Â
for( var i = 0; i < 3; i++ )
|
@@ -240,5 +244,5 @@
|
|
240 |
Â
},
|
241 |
Â
showTitle: function(){ return ''; },
|
242 |
Â
showShortLabel: function(){ return ''; },
|
243 |
-
showUserhelp: function(){ return ''; }
|
244 |
Â
});
|
34 |
Â
sMuted:0,
|
35 |
Â
sPreload: "auto",
|
36 |
Â
sFallback: "",
|
37 |
+
sFigcaption: "",
|
38 |
+
sHideDownload: 0
|
39 |
Â
},
|
40 |
Â
video:{
|
41 |
Â
sWidth:"",
|
49 |
Â
sMuted:0,
|
50 |
Â
sPreload: "auto",
|
51 |
Â
sFallback: "",
|
52 |
+
sFigcaption: "",
|
53 |
+
sHideDownload: 0
|
54 |
Â
}
|
55 |
Â
};
|
56 |
Â
},
|
61 |
Â
a = [],
|
62 |
Â
l = [],
|
63 |
Â
r = '';
|
64 |
+
|
65 |
Â
if( $.trim( d.sWidth ) ) a.push( 'width="'+esc( d.sWidth )+'"' );
|
66 |
Â
if( $.trim( d.sHeight ) ) a.push( 'height="'+esc( d.sHeight )+'"' );
|
67 |
Â
if( $.trim( d.sSrc ) ) a.push( 'src="'+esc( d.sSrc )+'"' );
|
76 |
Â
{
|
77 |
Â
r = '<img '+a.join( ' ' )+' />';
|
78 |
Â
}
|
79 |
+
|
80 |
Â
return r;
|
81 |
Â
},
|
82 |
Â
_display_audio_video: function( d, isV )
|
83 |
Â
{
|
84 |
Â
var esc = $.fbuilder.htmlEncode,
|
85 |
Â
a = [],
|
86 |
+
t = ( isV ) ? 'video' : 'audio';
|
87 |
+
|
88 |
Â
if( $.trim( d.sWidth ) ) a.push( 'width="'+esc( d.sWidth )+'"' );
|
89 |
Â
if( isV && $.trim( d.sHeight ) ) a.push( 'height="'+esc( d.sHeight )+'"' );
|
90 |
Â
if( isV && $.trim( d.sPoster ) ) a.push( 'poster="'+esc( d.sPoster )+'"' );
|
93 |
Â
if( d.sControls ) a.push( 'controls' );
|
94 |
Â
if( d.sLoop ) a.push( 'loop' );
|
95 |
Â
if( d.sMuted ) a.push( 'muted' );
|
96 |
+
if( d.sHideDownload ) a.push( 'controlsList="nodownload"' );
|
97 |
Â
a.push( 'preload="'+esc( d.sPreload )+'"' );
|
98 |
+
|
99 |
Â
return '<'+t+' '+a.join( ' ' )+'>'+( ( $.trim( d.sSrcAlt ) ) ? '<source src="'+esc( d.sSrcAlt )+'" />' : '' )+'<p>'+d.sFallback+'</p></'+t+'>';
|
100 |
Â
},
|
101 |
Â
_display_audio: function()
|
111 |
Â
return '<div class="fields fmark '+this.name+'" id="field'+this.form_identifier+'-'+this.index+'" title="'+this.name+'"><div class="arrow ui-icon ui-icon-play "></div><div title="Delete" class="remove ui-icon ui-icon-trash "></div><div title="Duplicate" class="copy ui-icon ui-icon-copy "></div><label>'+this[ '_display_' + this.sMediaType ]()+'</label><span class="uh">'+this.data[ this.sMediaType ][ 'sFigcaption' ]+'</span><div class="clearer"></div></div>';
|
112 |
Â
},
|
113 |
Â
editItemEvents:function()
|
114 |
+
{
|
115 |
Â
var me = this;
|
116 |
+
$("#sMediaBtn").bind("click", function(e)
|
117 |
Â
{
|
118 |
Â
me._loadMedia( 'sSrc', me.sMediaType );
|
119 |
Â
});
|
120 |
+
$("#sMediaAltBtn").bind("click", function(e)
|
121 |
Â
{
|
122 |
Â
me._loadMedia( 'sSrcAlt', me.sMediaType );
|
123 |
Â
});
|
124 |
+
$("#sPosterBtn").bind("click", function(e)
|
125 |
Â
{
|
126 |
Â
me._loadMedia( 'sPoster', 'image' );
|
127 |
Â
});
|
130 |
Â
e.data.obj[ this.name ] = $(this).val();
|
131 |
Â
$.fbuilder.editItem( e.data.obj.index );
|
132 |
Â
$.fbuilder.reloadItems({'field':e.data.obj});
|
133 |
+
});
|
134 |
+
$("#sControls,#sLoop,#sAutoplay,#sMuted,#sHideDownload").bind("click", {obj: this}, function(e)
|
135 |
Â
{
|
136 |
Â
e.data.obj[ 'data' ][ e.data.obj[ 'sMediaType' ] ][ this.id ] = ( this.checked ) ? 1 : 0;
|
137 |
Â
$.fbuilder.reloadItems({'field':e.data.obj});
|
138 |
+
});
|
139 |
+
$("#sWidth,#sHeight,#sSrc,#sSrcAlt,#sPoster,#sAlt,#sLink,#sTarget,#sFallback,#sFigcaption,#sPreload").bind("change keyup", {obj: this}, function(e)
|
140 |
Â
{
|
141 |
Â
e.data.obj[ 'data' ][ e.data.obj[ 'sMediaType' ] ][ this.id ] = $(this).val();
|
142 |
Â
$.fbuilder.reloadItems({'field':e.data.obj});
|
143 |
Â
});
|
144 |
+
|
145 |
Â
$.fbuilder.controls[ 'ffields' ].prototype.editItemEvents.call(this);
|
146 |
Â
},
|
147 |
Â
showSpecialDataInstance: function()
|
152 |
Â
{
|
153 |
Â
var l = [ 'image', 'audio', 'video' ],
|
154 |
Â
r = "", v;
|
155 |
+
|
156 |
Â
for( var i = 0, h = l.length; i < h; i++ )
|
157 |
Â
{
|
158 |
Â
v = l[ i ];
|
169 |
Â
text: 'Select Source'
|
170 |
Â
},
|
171 |
Â
multiple: false
|
172 |
+
}).on('select',
|
173 |
Â
(function( field, type ){
|
174 |
Â
return function() {
|
175 |
Â
var regExp = new RegExp( type, 'i'),
|
178 |
Â
{
|
179 |
Â
alert( 'Invalid mime type' );
|
180 |
Â
return;
|
181 |
+
}
|
182 |
Â
field.val( attachment.url ).change();
|
183 |
Â
};
|
184 |
+
})( src_field, type )
|
185 |
Â
).open();
|
186 |
Â
return false;
|
187 |
+
},
|
188 |
Â
_showSettingsBox: function()
|
189 |
Â
{
|
190 |
Â
var d = this.data[ this.sMediaType ];
|
208 |
Â
var r = '',
|
209 |
Â
esc = $.fbuilder.htmlEncode;
|
210 |
Â
r = '<label>Width</label><input type="text" class="large" name="sWidth" id="sWidth" value="'+esc(d.sWidth)+'">';
|
211 |
+
|
212 |
Â
if( isV )
|
213 |
Â
r += '<label>Height</label><input type="text" class="large" name="sHeight" id="sHeight" value="'+esc(d.sHeight)+'">';
|
214 |
+
|
215 |
Â
r += '<label>Source</label><div><input type="text" style="width:70%;" name="sSrc" id="sSrc" value="'+esc(d.sSrc)+'"><input id="sMediaBtn" type="button" value="Browse" style="width:28%;" /></div>';
|
216 |
+
|
217 |
Â
if( isV )
|
218 |
Â
r += '<label>Poster</label><div><input type="text" style="width:70%;" name="sPoster" id="sPoster" value="'+esc(d.sPoster)+'"><input id="sPosterBtn" type="button" value="Browse" style="width:28%;" /></div>';
|
219 |
+
|
220 |
Â
r += '<label>Alternative Source</label><div><input type="text" style="width:70%;" name="sSrcAlt" id="sSrcAlt" value="'+esc(d.sSrcAlt)+'"><input id="sMediaAltBtn" type="button" value="Browse" style="width:28%;" /></div>';
|
221 |
Â
r += '<input type="checkbox" name="sControls" id="sControls" value="1" '+( ( d.sControls ) ? 'CHECKED' : '')+'><label>Controls</label><br />';
|
222 |
Â
r += '<input type="checkbox" name="sLoop" id="sLoop" value="1" '+( ( d.sLoop ) ? 'CHECKED' : '')+'><label>Loop</label><br />';
|
223 |
Â
r += '<input type="checkbox" name="sAutoplay" id="sAutoplay" value="1" '+( ( d.sAutoplay ) ? 'CHECKED' : '')+'><label>Autoplay</label><br />';
|
224 |
Â
r += '<input type="checkbox" name="sMuted" id="sMuted" value="1" '+( ( d.sMuted ) ? 'CHECKED' : '')+'><label>Muted</label><br />';
|
225 |
+
r += '<input type="checkbox" name="sHideDownload" id="sHideDownload" value="1" '+( ( d.sHideDownload ) ? 'CHECKED' : '')+'><label>Hide the download file control</label><br />';
|
226 |
Â
var s = '',
|
227 |
Â
l = [ 'none', 'auto', 'metadata' ];
|
228 |
Â
for( var i = 0; i < 3; i++ )
|
244 |
Â
},
|
245 |
Â
showTitle: function(){ return ''; },
|
246 |
Â
showShortLabel: function(){ return ''; },
|
247 |
+
showUserhelp: function(){ return ''; }
|
248 |
Â
});
|
js/fields-admin/32_fbuilder.fbutton.js
CHANGED
@@ -14,17 +14,30 @@
|
|
14 |
Â
sType:"button", // button, reset, calculate
|
15 |
Â
sValue:"button",
|
16 |
Â
sOnclick:"",
|
Â
|
|
17 |
Â
userhelp:"A description of the section goes here.",
|
18 |
Â
display:function()
|
19 |
Â
{
|
20 |
Â
return '<div class="fields '+this.name+'" id="field'+this.form_identifier+'-'+this.index+'" title="'+this.name+'"><div class="arrow ui-icon ui-icon-play "></div><div title="Delete" class="remove ui-icon ui-icon-trash "></div><div title="Duplicate" class="copy ui-icon ui-icon-copy "></div><input type="button" disabled value="'+$.fbuilder.htmlEncode(this.sValue)+'"><span class="uh">'+this.userhelp+'</span><div class="clearer"></div></div>';
|
21 |
Â
},
|
22 |
Â
editItemEvents:function()
|
23 |
-
{
|
24 |
Â
var evt=[
|
25 |
Â
{s:"#sValue",e:"change keyup", l:"sValue"},
|
Â
|
|
26 |
Â
{s:"#sOnclick",e:"change keyup", l:"sOnclick"},
|
27 |
-
{
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
28 |
Â
];
|
29 |
Â
$.fbuilder.controls[ 'ffields' ].prototype.editItemEvents.call(this,evt);
|
30 |
Â
},
|
@@ -34,14 +47,16 @@
|
|
34 |
Â
},
|
35 |
Â
_showTypeSettings: function()
|
36 |
Â
{
|
37 |
-
var l = [ '
|
38 |
Â
r = "", v;
|
39 |
-
|
40 |
Â
for( var i = 0, h = l.length; i < h; i++ )
|
41 |
Â
{
|
42 |
Â
v = l[ i ];
|
43 |
Â
r += '<label style="margin-right:10px;"><input type="radio" name="sType" value="' + v + '" ' + ( ( this.sType == v ) ? 'CHECKED' : '' ) + ' >' + v + '</label>';
|
44 |
Â
}
|
Â
|
|
Â
|
|
45 |
Â
return '<div><label>Select button type</label><br/>' + r + '</div>';
|
46 |
Â
},
|
47 |
Â
_showValueSettings: function()
|
14 |
Â
sType:"button", // button, reset, calculate
|
15 |
Â
sValue:"button",
|
16 |
Â
sOnclick:"",
|
17 |
+
sLoading: false,
|
18 |
Â
userhelp:"A description of the section goes here.",
|
19 |
Â
display:function()
|
20 |
Â
{
|
21 |
Â
return '<div class="fields '+this.name+'" id="field'+this.form_identifier+'-'+this.index+'" title="'+this.name+'"><div class="arrow ui-icon ui-icon-play "></div><div title="Delete" class="remove ui-icon ui-icon-trash "></div><div title="Duplicate" class="copy ui-icon ui-icon-copy "></div><input type="button" disabled value="'+$.fbuilder.htmlEncode(this.sValue)+'"><span class="uh">'+this.userhelp+'</span><div class="clearer"></div></div>';
|
22 |
Â
},
|
23 |
Â
editItemEvents:function()
|
24 |
+
{
|
25 |
Â
var evt=[
|
26 |
Â
{s:"#sValue",e:"change keyup", l:"sValue"},
|
27 |
+
{s:"#sLoading",e:"click", l:"sLoading",f:function(el){return el.is(':checked');}},
|
28 |
Â
{s:"#sOnclick",e:"change keyup", l:"sOnclick"},
|
29 |
+
{
|
30 |
+
s:"[name='sType']",e:"click",
|
31 |
+
l:"sType",
|
32 |
+
f:function(e)
|
33 |
+
{
|
34 |
+
var v = e.val(),
|
35 |
+
l = $('#sLoading').closest('div');
|
36 |
+
l.hide();
|
37 |
+
if(v == 'calculate') l.show();
|
38 |
+
return v;
|
39 |
+
}
|
40 |
+
}
|
41 |
Â
];
|
42 |
Â
$.fbuilder.controls[ 'ffields' ].prototype.editItemEvents.call(this,evt);
|
43 |
Â
},
|
47 |
Â
},
|
48 |
Â
_showTypeSettings: function()
|
49 |
Â
{
|
50 |
+
var l = [ 'calculate', 'reset', 'button' ],
|
51 |
Â
r = "", v;
|
52 |
+
r += '<div>';
|
53 |
Â
for( var i = 0, h = l.length; i < h; i++ )
|
54 |
Â
{
|
55 |
Â
v = l[ i ];
|
56 |
Â
r += '<label style="margin-right:10px;"><input type="radio" name="sType" value="' + v + '" ' + ( ( this.sType == v ) ? 'CHECKED' : '' ) + ' >' + v + '</label>';
|
57 |
Â
}
|
58 |
+
r += '</div>';
|
59 |
+
r += '<div '+((this.sType != 'calculate') ? 'style="display:none;"' : '')+'><label><input type="checkbox" id="sLoading" ' + ((this.sLoading) ? 'CHECKED' : '') + ' >display "calculation in progress" indicator</label></div>';
|
60 |
Â
return '<div><label>Select button type</label><br/>' + r + '</div>';
|
61 |
Â
},
|
62 |
Â
_showValueSettings: function()
|
js/fields-admin/34_fbuilder.fhtml.js
CHANGED
@@ -20,10 +20,35 @@
|
|
20 |
Â
{
|
21 |
Â
var evt=[{s:"#sContent",e:"change keyup", l:"fcontent"}];
|
22 |
Â
$.fbuilder.controls[ 'ffields' ].prototype.editItemEvents.call(this,evt);
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
23 |
Â
},
|
24 |
Â
showContent:function()
|
25 |
Â
{
|
26 |
-
return '<label>HTML Content</label><textarea class="large" name="sContent" id="sContent" style="height:150px;">'+$( '<div/>' ).text( this.fcontent ).html()+'</textarea>';
|
27 |
Â
},
|
28 |
Â
showAllSettings:function()
|
29 |
Â
{
|
20 |
Â
{
|
21 |
Â
var evt=[{s:"#sContent",e:"change keyup", l:"fcontent"}];
|
22 |
Â
$.fbuilder.controls[ 'ffields' ].prototype.editItemEvents.call(this,evt);
|
23 |
+
|
24 |
+
// Code Editor
|
25 |
+
if( 'codeEditor' in wp)
|
26 |
+
{
|
27 |
+
setTimeout(function(){
|
28 |
+
var htmlEditorSettings = wp.codeEditor.defaultSettings ? _.clone( wp.codeEditor.defaultSettings ) : {}, editor;
|
29 |
+
htmlEditorSettings.codemirror = _.extend(
|
30 |
+
{},
|
31 |
+
htmlEditorSettings.codemirror,
|
32 |
+
{
|
33 |
+
indentUnit: 2,
|
34 |
+
tabSize: 2,
|
35 |
+
autoCloseTags: false
|
36 |
+
}
|
37 |
+
);
|
38 |
+
htmlEditorSettings['htmlhint']['spec-char-escape'] = false;
|
39 |
+
htmlEditorSettings['htmlhint']['alt-require'] = false;
|
40 |
+
htmlEditorSettings['htmlhint']['tag-pair'] = false;
|
41 |
+
editor = wp.codeEditor.initialize( $('#sContent'), htmlEditorSettings );
|
42 |
+
editor.codemirror.on('change', function(cm){ $('#sContent').val(cm.getValue()).change();});
|
43 |
+
|
44 |
+
$('.cff-editor-extend-shrink').on('click', function(){$(this).closest('.cff-editor-container').toggleClass('fullscreen');});
|
45 |
+
|
46 |
+
}, 50);
|
47 |
+
}
|
48 |
Â
},
|
49 |
Â
showContent:function()
|
50 |
Â
{
|
51 |
+
return '<br><div class="cff-editor-container"><label style="display:block;"><div class="cff-editor-extend-shrink"></div>HTML Content</label><br><textarea class="large" name="sContent" id="sContent" style="height:150px;">'+$( '<div/>' ).text( this.fcontent ).html()+'</textarea></div><br>';
|
52 |
Â
},
|
53 |
Â
showAllSettings:function()
|
54 |
Â
{
|
js/fields-admin/fbuilder.fcalculated.js
CHANGED
@@ -15,7 +15,6 @@
|
|
15 |
Â
predefined:"",
|
16 |
Â
required:false,
|
17 |
Â
size:"medium",
|
18 |
-
toolbar:"default|mathematical",
|
19 |
Â
eq:"",
|
20 |
Â
suffix:"",
|
21 |
Â
prefix:"",
|
@@ -219,7 +218,7 @@
|
|
219 |
Â
{
|
220 |
Â
if( o.complex )
|
221 |
Â
{
|
222 |
-
r += '<div><div style="position:relative;"><span style="font-weight:bold;">If value is</span><span class="cf_dependence_edition" i="'+i+'" ><input class="cf_dependence_rule" type="text" i="'+i+'" value="'+o.rule.replace(/"/g, '"')+'" /></span><div class="choice-ctrls"><a class="addDep ui-icon ui-icon-circle-plus" i="'+i+'" title="Add another dependency."></a><a class="removeDep ui-icon ui-icon-circle-minus" i="'+i+'" title="Delete this dependency."></a></div><div style="text-align:right;position:relative;"><span style="float:left;">Ex: value==10</span><a href="#" class="displayWizard" i="'+i+'">Edit through wizard</a><br />(The rule entered will lost)</div></div>';
|
223 |
Â
}
|
224 |
Â
else
|
225 |
Â
{
|
@@ -235,7 +234,7 @@
|
|
235 |
Â
value = parts[2];
|
236 |
Â
}
|
237 |
Â
|
238 |
-
r += '<div><div style="position:relative;"><span style="font-weight:bold;">If value is</span><span class="cf_dependence_edition" i="'+i+'" >'+setOperator( i, operator )+' <input type="text" i="'+i+'" class="cf_dependence_value" value="'+value.replace(/"/g, '"')+'" /></span><div class="choice-ctrls"><a class="addDep ui-icon ui-icon-circle-plus" i="'+i+'" title="Add another dependency."></a><a class="removeDep ui-icon ui-icon-circle-minus" i="'+i+'" title="Delete this dependency."></a></div><div style="text-align:right;"><a i="'+i+'" class="displayComplexRule" href="#">Edit rule manually</a></div></div>';
|
239 |
Â
}
|
240 |
Â
|
241 |
Â
r += '<div>';
|
@@ -250,7 +249,7 @@
|
|
250 |
Â
opt += '<option value="'+items[k].name+'" '+( ( items[k].name == v ) ? 'selected="SELECTED"' : '' )+'>'+items[k].name+( ( typeof items[ k ].title != 'undefined' ) ? ' (' + items[ k ].title + ')' : '' ) + '</option>';
|
251 |
Â
}
|
252 |
Â
}
|
253 |
-
r += '<div style="position:relative;"><span>If rule is valid show:</span> <select class="cf_dependence_field" i="'+i+'" j="'+j+'" >'+opt+'</select><div class="choice-ctrls"><a class="addDep ui-icon ui-icon-circle-plus" i="'+i+'" j="'+j+'" title="Add another dependency."></a><a class="removeDep ui-icon ui-icon-circle-minus" i="'+i+'" j="'+j+'" title="Delete this dependency."></a></div></div>';
|
254 |
Â
});
|
255 |
Â
r += '</div>';
|
256 |
Â
r += '</div>';
|
@@ -264,7 +263,8 @@
|
|
264 |
Â
},
|
265 |
Â
showEqEditor:function(eq)
|
266 |
Â
{
|
267 |
-
var
|
Â
|
|
268 |
Â
tools = $.fbuilder[ 'objName' ]+'.fbuilder.controls.fCalculated.tools';
|
269 |
Â
|
270 |
Â
$.fbuilder.controls[ 'fCalculated' ][ 'tools' ] = {
|
@@ -310,7 +310,7 @@
|
|
310 |
Â
var module = $.fbuilder[ 'modules' ][ m ];
|
311 |
Â
for( var toolbar in module[ 'toolbars' ] )
|
312 |
Â
{
|
313 |
-
out += '<option value="'+m+'|'+toolbar+'" '+( (
|
314 |
Â
}
|
315 |
Â
}
|
316 |
Â
}
|
@@ -369,7 +369,7 @@
|
|
369 |
Â
out += '<option value="' + fName + '">'+item[ 'name' ] + ( ( item[ 'title' ] && !/^\s*$/.test( item[ 'title' ] ) ) ? '('+item[ 'title' ] + ')' : '' ) + '</option>';
|
370 |
Â
}
|
371 |
Â
}
|
372 |
-
out += ' </select><input type="button" value="+" class="eq_btn" onclick="'+tools+'.setField();" /></div><label>Operators</label><div style="text-align:center;" class="groupBox"><div style="text-align:left;">'+$.fbuilder.controls[ 'fCalculated' ][ 'tools' ].loadToolbarList()+'<span id="sEqModuleTutorial">'+$.fbuilder.controls[ 'fCalculated' ][ 'tools' ].loadTutorial(
|
373 |
Â
|
374 |
Â
return out;
|
375 |
Â
}
|
15 |
Â
predefined:"",
|
16 |
Â
required:false,
|
17 |
Â
size:"medium",
|
Â
|
|
18 |
Â
eq:"",
|
19 |
Â
suffix:"",
|
20 |
Â
prefix:"",
|
218 |
Â
{
|
219 |
Â
if( o.complex )
|
220 |
Â
{
|
221 |
+
r += '<div class="cff-dependency-rule"><div style="position:relative;"><span style="font-weight:bold;">If value is</span><span class="cf_dependence_edition" i="'+i+'" ><input class="cf_dependence_rule" type="text" i="'+i+'" value="'+o.rule.replace(/"/g, '"')+'" /></span><div class="choice-ctrls"><a class="addDep ui-icon ui-icon-circle-plus" i="'+i+'" title="Add another dependency."></a><a class="removeDep ui-icon ui-icon-circle-minus" i="'+i+'" title="Delete this dependency."></a></div><div style="text-align:right;position:relative;"><span style="float:left;">Ex: value==10</span><a href="#" class="displayWizard" i="'+i+'">Edit through wizard</a><br />(The rule entered will lost)</div></div>';
|
222 |
Â
}
|
223 |
Â
else
|
224 |
Â
{
|
234 |
Â
value = parts[2];
|
235 |
Â
}
|
236 |
Â
|
237 |
+
r += '<div class="cff-dependency-rule"><div style="position:relative;"><span style="font-weight:bold;">If value is</span><span class="cf_dependence_edition" i="'+i+'" >'+setOperator( i, operator )+' <input type="text" i="'+i+'" class="cf_dependence_value" value="'+value.replace(/"/g, '"')+'" /></span><div class="choice-ctrls"><a class="addDep ui-icon ui-icon-circle-plus" i="'+i+'" title="Add another dependency."></a><a class="removeDep ui-icon ui-icon-circle-minus" i="'+i+'" title="Delete this dependency."></a></div><div style="text-align:right;"><a i="'+i+'" class="displayComplexRule" href="#">Edit rule manually</a></div></div>';
|
238 |
Â
}
|
239 |
Â
|
240 |
Â
r += '<div>';
|
249 |
Â
opt += '<option value="'+items[k].name+'" '+( ( items[k].name == v ) ? 'selected="SELECTED"' : '' )+'>'+items[k].name+( ( typeof items[ k ].title != 'undefined' ) ? ' (' + items[ k ].title + ')' : '' ) + '</option>';
|
250 |
Â
}
|
251 |
Â
}
|
252 |
+
r += '<div style="position:relative;" class="cff-dependency-item"><span>If rule is valid show:</span> <select class="cf_dependence_field" i="'+i+'" j="'+j+'" >'+opt+'</select><div class="choice-ctrls"><a class="addDep ui-icon ui-icon-circle-plus" i="'+i+'" j="'+j+'" title="Add another dependency."></a><a class="removeDep ui-icon ui-icon-circle-minus" i="'+i+'" j="'+j+'" title="Delete this dependency."></a></div></div>';
|
253 |
Â
});
|
254 |
Â
r += '</div>';
|
255 |
Â
r += '</div>';
|
263 |
Â
},
|
264 |
Â
showEqEditor:function(eq)
|
265 |
Â
{
|
266 |
+
var default_toolbar = "default|mathematical",
|
267 |
+
me = this,
|
268 |
Â
tools = $.fbuilder[ 'objName' ]+'.fbuilder.controls.fCalculated.tools';
|
269 |
Â
|
270 |
Â
$.fbuilder.controls[ 'fCalculated' ][ 'tools' ] = {
|
310 |
Â
var module = $.fbuilder[ 'modules' ][ m ];
|
311 |
Â
for( var toolbar in module[ 'toolbars' ] )
|
312 |
Â
{
|
313 |
+
out += '<option value="'+m+'|'+toolbar+'" '+( ( default_toolbar == m+'|'+toolbar) ? 'SELECTED' : '')+'>'+module[ 'toolbars' ][ toolbar ][ 'label' ]+'</options>';
|
314 |
Â
}
|
315 |
Â
}
|
316 |
Â
}
|
369 |
Â
out += '<option value="' + fName + '">'+item[ 'name' ] + ( ( item[ 'title' ] && !/^\s*$/.test( item[ 'title' ] ) ) ? '('+item[ 'title' ] + ')' : '' ) + '</option>';
|
370 |
Â
}
|
371 |
Â
}
|
372 |
+
out += ' </select><input type="button" value="+" class="eq_btn" onclick="'+tools+'.setField();" /></div><label>Operators</label><div style="text-align:center;" class="groupBox"><div style="text-align:left;">'+$.fbuilder.controls[ 'fCalculated' ][ 'tools' ].loadToolbarList()+'<span id="sEqModuleTutorial">'+$.fbuilder.controls[ 'fCalculated' ][ 'tools' ].loadTutorial( default_toolbar )+'</span></div><div id="sEqButtonsContainer">'+$.fbuilder.controls[ 'fCalculated' ][ 'tools' ].loadToolbar( default_toolbar )+'</div><div id="sEqTipsContainer" style="background-color:#DFEFFF;border:1px solid #C2D7EF;padding:5px;margin:5px;display:none;text-align:left;"></div></div><label>Symbol to display at beginning of calculated field</label><input type="text" name="sPrefix" id="sPrefix" class="large" value="'+$.fbuilder.htmlEncode(me.prefix)+'" /><label>Symbol to display at the end of calculated field</label><input type="text" name="sSuffix" id="sSuffix" class="large" value="'+$.fbuilder.htmlEncode(me.suffix)+'" /><label>Decimals separator symbol (Ex: 25.20)</label><input type="text" name="sDecimalSymbol" id="sDecimalSymbol" class="large" value="'+$.fbuilder.htmlEncode(me.decimalsymbol)+'" /><label>Symbol for grouping thousands (Ex: 3,000,000)</label><input type="text" name="sGroupingSymbol" id="sGroupingSymbol" class="large" value="'+$.fbuilder.htmlEncode(me.groupingsymbol)+'" />';
|
373 |
Â
|
374 |
Â
return out;
|
375 |
Â
}
|
js/fields-public/02_fbuilder.fcurrency.js
CHANGED
@@ -112,18 +112,22 @@
|
|
112 |
Â
$.validator.methods.min = function(v, el, p)
|
113 |
Â
{
|
114 |
Â
var f = el.id.match( /_\d+$/), e;
|
115 |
-
|
116 |
Â
if(f) e = $.fbuilder['forms'][f[0]].getItem(el.name);
|
117 |
-
if(e)
|
Â
|
|
Â
|
|
Â
|
|
118 |
Â
return this.optional(el) || v >= p;
|
119 |
Â
};
|
120 |
Â
$.validator.methods.max = function(v, el, p)
|
121 |
Â
{
|
122 |
Â
var f = el.id.match( /_\d+$/), e;
|
123 |
-
|
124 |
Â
if(f) e = $.fbuilder['forms'][f[0]].getItem(el.name);
|
125 |
-
if(e)
|
126 |
-
|
Â
|
|
Â
|
|
Â
|
|
127 |
Â
return this.optional(el) || v <= p;
|
128 |
Â
};
|
129 |
Â
}
|
112 |
Â
$.validator.methods.min = function(v, el, p)
|
113 |
Â
{
|
114 |
Â
var f = el.id.match( /_\d+$/), e;
|
Â
|
|
115 |
Â
if(f) e = $.fbuilder['forms'][f[0]].getItem(el.name);
|
116 |
+
if(e){
|
117 |
+
v = e.val();
|
118 |
+
if('dformat' in e && e.dformat == 'percent') v*=100;
|
119 |
+
}
|
120 |
Â
return this.optional(el) || v >= p;
|
121 |
Â
};
|
122 |
Â
$.validator.methods.max = function(v, el, p)
|
123 |
Â
{
|
124 |
Â
var f = el.id.match( /_\d+$/), e;
|
Â
|
|
125 |
Â
if(f) e = $.fbuilder['forms'][f[0]].getItem(el.name);
|
126 |
+
if(e)
|
127 |
+
{
|
128 |
+
v = e.val();
|
129 |
+
if('dformat' in e && e.dformat == 'percent') v*=100;
|
130 |
+
}
|
131 |
Â
return this.optional(el) || v <= p;
|
132 |
Â
};
|
133 |
Â
}
|
js/fields-public/02_fbuilder.fnumber.js
CHANGED
@@ -16,7 +16,6 @@
|
|
16 |
Â
max:"",
|
17 |
Â
formatDynamically:false,
|
18 |
Â
dformat:"digits",
|
19 |
-
formats:new Array("digits","number"),
|
20 |
Â
set_min:function(v, rmv)
|
21 |
Â
{
|
22 |
Â
var e = $('[id="'+this.name+'"]');
|
@@ -101,18 +100,21 @@
|
|
101 |
Â
$.validator.methods.min = function(v, el, p)
|
102 |
Â
{
|
103 |
Â
var f = el.id.match( /_\d+$/), e;
|
104 |
-
|
105 |
Â
if(f) e = $.fbuilder['forms'][f[0]].getItem(el.name);
|
106 |
-
if(e)
|
Â
|
|
Â
|
|
Â
|
|
107 |
Â
return this.optional(el) || v >= p;
|
108 |
Â
};
|
109 |
Â
$.validator.methods.max = function(v, el, p)
|
110 |
Â
{
|
111 |
Â
var f = el.id.match( /_\d+$/), e;
|
112 |
-
|
113 |
Â
if(f) e = $.fbuilder['forms'][f[0]].getItem(el.name);
|
114 |
-
if(e)
|
115 |
-
|
Â
|
|
Â
|
|
116 |
Â
return this.optional(el) || v <= p;
|
117 |
Â
};
|
118 |
Â
}
|
16 |
Â
max:"",
|
17 |
Â
formatDynamically:false,
|
18 |
Â
dformat:"digits",
|
Â
|
|
19 |
Â
set_min:function(v, rmv)
|
20 |
Â
{
|
21 |
Â
var e = $('[id="'+this.name+'"]');
|
100 |
Â
$.validator.methods.min = function(v, el, p)
|
101 |
Â
{
|
102 |
Â
var f = el.id.match( /_\d+$/), e;
|
Â
|
|
103 |
Â
if(f) e = $.fbuilder['forms'][f[0]].getItem(el.name);
|
104 |
+
if(e){
|
105 |
+
v = e.val();
|
106 |
+
if('dformat' in e && e.dformat == 'percent') v*=100;
|
107 |
+
}
|
108 |
Â
return this.optional(el) || v >= p;
|
109 |
Â
};
|
110 |
Â
$.validator.methods.max = function(v, el, p)
|
111 |
Â
{
|
112 |
Â
var f = el.id.match( /_\d+$/), e;
|
Â
|
|
113 |
Â
if(f) e = $.fbuilder['forms'][f[0]].getItem(el.name);
|
114 |
+
if(e){
|
115 |
+
v = e.val();
|
116 |
+
if('dformat' in e && e.dformat == 'percent') v*=100;
|
117 |
+
}
|
118 |
Â
return this.optional(el) || v <= p;
|
119 |
Â
};
|
120 |
Â
}
|
js/fields-public/05_fbuilder.ftextarea.js
CHANGED
@@ -15,7 +15,10 @@
|
|
15 |
Â
rows:4,
|
16 |
Â
show:function()
|
17 |
Â
{
|
18 |
-
|
Â
|
|
Â
|
|
Â
|
|
19 |
Â
},
|
20 |
Â
val:function(raw)
|
21 |
Â
{
|
15 |
Â
rows:4,
|
16 |
Â
show:function()
|
17 |
Â
{
|
18 |
+
this.minlength = $.fbuilder.htmlEncode($.trim(this.minlength));
|
19 |
+
this.maxlength = $.fbuilder.htmlEncode($.trim(this.maxlength));
|
20 |
+
|
21 |
+
return '<div class="fields '+this.csslayout+' '+this.name+' cff-textarea-field" id="field'+this.form_identifier+'-'+this.index+'"><label for="'+this.name+'">'+this.title+''+((this.required)?"<span class='r'>*</span>":"")+'</label><div class="dfield"><textarea '+((!/^\s*$/.test(this.rows)) ? 'rows='+this.rows : '' )+' id="'+this.name+'" name="'+this.name+'"'+((this.minlength.length) ? ' minlength="'+this.minlength+'"' : '')+((this.maxlength.length) ? ' maxlength="'+this.maxlength+'"' : '')+' class="field '+this.size+((this.required)?" required":"")+'" '+((this.readonly)?'readonly':'')+'>'+((!this.predefinedClick) ? this.predefined : '')+'</textarea><span class="uh">'+this.userhelp+'</span></div><div class="clearer"></div></div>';
|
22 |
Â
},
|
23 |
Â
val:function(raw)
|
24 |
Â
{
|
js/fields-public/10_fbuilder.fpassword.js
CHANGED
@@ -14,7 +14,11 @@
|
|
14 |
Â
equalTo:"",
|
15 |
Â
show:function()
|
16 |
Â
{
|
17 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
18 |
Â
},
|
19 |
Â
val:function(raw)
|
20 |
Â
{
|
14 |
Â
equalTo:"",
|
15 |
Â
show:function()
|
16 |
Â
{
|
17 |
+
this.minlength = $.fbuilder.htmlEncode($.trim(this.minlength));
|
18 |
+
this.maxlength = $.fbuilder.htmlEncode($.trim(this.maxlength));
|
19 |
+
this.equalTo = $.fbuilder.htmlEncode($.trim(this.equalTo));
|
20 |
+
|
21 |
+
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 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>';
|
22 |
Â
},
|
23 |
Â
val:function(raw)
|
24 |
Â
{
|
js/fields-public/28_fbuilder.fcontainer.js
CHANGED
@@ -2,6 +2,7 @@
|
|
2 |
Â
$.fbuilder.controls[ 'fcontainer' ].prototype = {
|
3 |
Â
fields:[],
|
4 |
Â
columns:1,
|
Â
|
|
5 |
Â
after_show: function()
|
6 |
Â
{
|
7 |
Â
var e = $( '#'+this.name ), f;
|
@@ -11,7 +12,7 @@
|
|
11 |
Â
if( this.columns > 1 )
|
12 |
Â
{
|
13 |
Â
f.addClass( 'column'+this.columns );
|
14 |
-
if( i%this.columns == 0 ) f.css( 'clear', 'left' );
|
15 |
Â
}
|
16 |
Â
f.appendTo( e );
|
17 |
Â
}
|
2 |
Â
$.fbuilder.controls[ 'fcontainer' ].prototype = {
|
3 |
Â
fields:[],
|
4 |
Â
columns:1,
|
5 |
+
rearrange: 0,
|
6 |
Â
after_show: function()
|
7 |
Â
{
|
8 |
Â
var e = $( '#'+this.name ), f;
|
12 |
Â
if( this.columns > 1 )
|
13 |
Â
{
|
14 |
Â
f.addClass( 'column'+this.columns );
|
15 |
+
if( i%this.columns == 0 && !this.rearrange) f.css( 'clear', 'left' );
|
16 |
Â
}
|
17 |
Â
f.appendTo( e );
|
18 |
Â
}
|
js/fields-public/29_fbuilder.ffieldset.fc.js
CHANGED
@@ -7,6 +7,7 @@
|
|
7 |
Â
ftype:"ffieldset",
|
8 |
Â
fields:[],
|
9 |
Â
columns:1,
|
Â
|
|
10 |
Â
show:function()
|
11 |
Â
{
|
12 |
Â
return '<div class="fields '+this.csslayout+' '+this.name+' cff-container-field" id="field'+this.form_identifier+'-'+this.index+'"><FIELDSET id="'+this.name+'">'+( ( !/^\s*$/.test( this.title ) ) ? '<LEGEND>'+this.title+'</LEGEND>' : '' )+'</FIELDSET><div class="clearer"></div></div>';
|
7 |
Â
ftype:"ffieldset",
|
8 |
Â
fields:[],
|
9 |
Â
columns:1,
|
10 |
+
rearrange: 0,
|
11 |
Â
show:function()
|
12 |
Â
{
|
13 |
Â
return '<div class="fields '+this.csslayout+' '+this.name+' cff-container-field" id="field'+this.form_identifier+'-'+this.index+'"><FIELDSET id="'+this.name+'">'+( ( !/^\s*$/.test( this.title ) ) ? '<LEGEND>'+this.title+'</LEGEND>' : '' )+'</FIELDSET><div class="clearer"></div></div>';
|
js/fields-public/30_fbuilder.fdiv.fc.js
CHANGED
@@ -6,6 +6,7 @@
|
|
6 |
Â
ftype:"fdiv",
|
7 |
Â
fields:[],
|
8 |
Â
columns:1,
|
Â
|
|
9 |
Â
show:function()
|
10 |
Â
{
|
11 |
Â
return '<div class="fields '+this.csslayout+' '+this.name+' cff-container-field" id="field'+this.form_identifier+'-'+this.index+'"><div id="'+this.name+'"></div><div class="clearer"></div></div>';
|
6 |
Â
ftype:"fdiv",
|
7 |
Â
fields:[],
|
8 |
Â
columns:1,
|
9 |
+
rearrange: 0,
|
10 |
Â
show:function()
|
11 |
Â
{
|
12 |
Â
return '<div class="fields '+this.csslayout+' '+this.name+' cff-container-field" id="field'+this.form_identifier+'-'+this.index+'"><div id="'+this.name+'"></div><div class="clearer"></div></div>';
|
js/fields-public/31_fbuilder.fmedia.js
CHANGED
@@ -25,7 +25,8 @@
|
|
25 |
Â
sMuted:0,
|
26 |
Â
sPreload: "auto",
|
27 |
Â
sFallback: "",
|
28 |
-
sFigcaption: ""
|
Â
|
|
29 |
Â
},
|
30 |
Â
video:{
|
31 |
Â
sWidth:"",
|
@@ -39,7 +40,8 @@
|
|
39 |
Â
sMuted:0,
|
40 |
Â
sPreload: "auto",
|
41 |
Â
sFallback: "",
|
42 |
-
sFigcaption: ""
|
Â
|
|
43 |
Â
}
|
44 |
Â
},
|
45 |
Â
_show_image: function()
|
@@ -81,6 +83,7 @@
|
|
81 |
Â
if( d.sControls ) a.push( 'controls' );
|
82 |
Â
if( d.sLoop ) a.push( 'loop' );
|
83 |
Â
if( d.sMuted ) a.push( 'muted' );
|
Â
|
|
84 |
Â
a.push( 'preload="'+esc( d.sPreload )+'"' );
|
85 |
Â
|
86 |
Â
return '<'+t+' '+a.join( ' ' )+'>'+( ( $.trim( d.sSrcAlt ) ) ? '<source src="'+esc( d.sSrcAlt )+'" />' : '' )+'<p>'+d.sFallback+'</p></'+t+'>';
|
25 |
Â
sMuted:0,
|
26 |
Â
sPreload: "auto",
|
27 |
Â
sFallback: "",
|
28 |
+
sFigcaption: "",
|
29 |
+
sHideDownload:0
|
30 |
Â
},
|
31 |
Â
video:{
|
32 |
Â
sWidth:"",
|
40 |
Â
sMuted:0,
|
41 |
Â
sPreload: "auto",
|
42 |
Â
sFallback: "",
|
43 |
+
sFigcaption: "",
|
44 |
+
sHideDownload:0
|
45 |
Â
}
|
46 |
Â
},
|
47 |
Â
_show_image: function()
|
83 |
Â
if( d.sControls ) a.push( 'controls' );
|
84 |
Â
if( d.sLoop ) a.push( 'loop' );
|
85 |
Â
if( d.sMuted ) a.push( 'muted' );
|
86 |
+
if( d.sHideDownload ) a.push( 'controlsList="nodownload"' );
|
87 |
Â
a.push( 'preload="'+esc( d.sPreload )+'"' );
|
88 |
Â
|
89 |
Â
return '<'+t+' '+a.join( ' ' )+'>'+( ( $.trim( d.sSrcAlt ) ) ? '<source src="'+esc( d.sSrcAlt )+'" />' : '' )+'<p>'+d.sFallback+'</p></'+t+'>';
|
js/fields-public/32_fbuilder.fbutton.js
CHANGED
@@ -6,6 +6,7 @@
|
|
6 |
Â
ftype:"fButton",
|
7 |
Â
sType:"button",
|
8 |
Â
sValue:"button",
|
Â
|
|
9 |
Â
sOnclick:"",
|
10 |
Â
userhelp:"A description of the section goes here.",
|
11 |
Â
show:function()
|
@@ -24,27 +25,35 @@
|
|
24 |
Â
clss = 'reset-button';
|
25 |
Â
}
|
26 |
Â
|
27 |
-
return '<div class="fields '+this.csslayout+' '+this.name+' cff-button-field" id="field'+this.form_identifier+'-'+this.index+'"><input id="'+this.name+'" type="'+type+'" value="'+esc( this.sValue )+'" class="field '+clss+'"
|
28 |
Â
},
|
29 |
Â
after_show:function()
|
30 |
Â
{
|
Â
|
|
31 |
Â
$( '#'+this.name ).click(
|
32 |
Â
function()
|
33 |
Â
{
|
34 |
Â
var e = $( this );
|
35 |
Â
if( e.hasClass( 'calculate-button' ) )
|
36 |
Â
{
|
37 |
-
var
|
38 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
39 |
Â
|
40 |
Â
$.fbuilder[ 'calculator' ].defaultCalc( '#'+e.closest( 'form' ).attr( 'id' ), false );
|
41 |
-
for(var i = 0, h = items.length; i < h; i++ )
|
42 |
-
{
|
43 |
-
if(items[i].ftype == 'fsummary')
|
44 |
-
{
|
45 |
-
items[i].update();
|
46 |
-
}
|
47 |
-
}
|
48 |
Â
}
|
49 |
Â
if( e.hasClass( 'reset-button' ) )
|
50 |
Â
{
|
@@ -74,6 +83,7 @@
|
|
74 |
Â
50
|
75 |
Â
);
|
76 |
Â
}
|
Â
|
|
77 |
Â
}
|
78 |
Â
);
|
79 |
Â
}
|
6 |
Â
ftype:"fButton",
|
7 |
Â
sType:"button",
|
8 |
Â
sValue:"button",
|
9 |
+
sLoading:false,
|
10 |
Â
sOnclick:"",
|
11 |
Â
userhelp:"A description of the section goes here.",
|
12 |
Â
show:function()
|
25 |
Â
clss = 'reset-button';
|
26 |
Â
}
|
27 |
Â
|
28 |
+
return '<div class="fields '+this.csslayout+' '+this.name+' cff-button-field" id="field'+this.form_identifier+'-'+this.index+'"><input id="'+this.name+'" type="'+type+'" value="'+esc( this.sValue )+'" class="field '+clss+'" /><span class="uh">'+this.userhelp+'</span><div class="clearer"></div></div>';
|
29 |
Â
},
|
30 |
Â
after_show:function()
|
31 |
Â
{
|
32 |
+
var me = this;
|
33 |
Â
$( '#'+this.name ).click(
|
34 |
Â
function()
|
35 |
Â
{
|
36 |
Â
var e = $( this );
|
37 |
Â
if( e.hasClass( 'calculate-button' ) )
|
38 |
Â
{
|
39 |
+
var items = $.fbuilder[ 'forms' ][ me.form_identifier ].getItems();
|
40 |
+
if(me.sLoading) $('<div class="cff-processing-form"></div>').appendTo(e.closest('#fbuilder'));
|
41 |
+
$(document).on('equationsQueueEmpty', function(evt, id){
|
42 |
+
if(id == me.form_identifier)
|
43 |
+
{
|
44 |
+
if(me.sLoading) e.closest('#fbuilder').find('.cff-processing-form').remove();
|
45 |
+
$(document).off('equationsQueueEmpty');
|
46 |
+
for(var i = 0, h = items.length; i < h; i++ )
|
47 |
+
{
|
48 |
+
if(items[i].ftype == 'fsummary')
|
49 |
+
{
|
50 |
+
items[i].update();
|
51 |
+
}
|
52 |
+
}
|
53 |
+
}
|
54 |
+
});
|
55 |
Â
|
56 |
Â
$.fbuilder[ 'calculator' ].defaultCalc( '#'+e.closest( 'form' ).attr( 'id' ), false );
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
57 |
Â
}
|
58 |
Â
if( e.hasClass( 'reset-button' ) )
|
59 |
Â
{
|
83 |
Â
50
|
84 |
Â
);
|
85 |
Â
}
|
86 |
+
eval(me.sOnclick);
|
87 |
Â
}
|
88 |
Â
);
|
89 |
Â
}
|
js/fields-public/fbuilder.fcalculated.js
CHANGED
@@ -261,6 +261,7 @@
|
|
261 |
Â
}
|
262 |
Â
catch(e)
|
263 |
Â
{
|
Â
|
|
264 |
Â
return false;
|
265 |
Â
}
|
266 |
Â
};
|
@@ -286,8 +287,23 @@
|
|
286 |
Â
var CalcFieldClss = function(){};
|
287 |
Â
CalcFieldClss.prototype = {
|
288 |
Â
processing_queue : false, // Flag indicating the queued equations are being processed
|
Â
|
|
289 |
Â
// object where attributes names are the forms identifiers, and their values the queue of equations
|
290 |
Â
queued_equations : {},
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
291 |
Â
addEquation : function( calculated_field, equation, configuration, dependencies, form_identifier )
|
292 |
Â
{
|
293 |
Â
var equation_result = $('[id="'+calculated_field+'"]');
|
@@ -381,6 +397,7 @@
|
|
381 |
Â
}
|
382 |
Â
catch(e)
|
383 |
Â
{
|
Â
|
|
384 |
Â
continue;
|
385 |
Â
}
|
386 |
Â
}
|
@@ -458,6 +475,7 @@
|
|
458 |
Â
}
|
459 |
Â
|
460 |
Â
this.processing_queue = false;
|
Â
|
|
461 |
Â
},
|
462 |
Â
format : function( value, config )
|
463 |
Â
{
|
261 |
Â
}
|
262 |
Â
catch(e)
|
263 |
Â
{
|
264 |
+
if(typeof console != 'undefined'){console.log(eq); console.log(e.message);}
|
265 |
Â
return false;
|
266 |
Â
}
|
267 |
Â
};
|
287 |
Â
var CalcFieldClss = function(){};
|
288 |
Â
CalcFieldClss.prototype = {
|
289 |
Â
processing_queue : false, // Flag indicating the queued equations are being processed
|
290 |
+
pendings : {},
|
291 |
Â
// object where attributes names are the forms identifiers, and their values the queue of equations
|
292 |
Â
queued_equations : {},
|
293 |
+
addPending : function(form_identifier)
|
294 |
+
{
|
295 |
+
if(!(form_identifier in this.pendings)) this.pendings[form_identifier] = 1;
|
296 |
+
else this.pendings[form_identifier]++;
|
297 |
+
},
|
298 |
+
removePending : function(form_identifier)
|
299 |
+
{
|
300 |
+
if((form_identifier in this.pendings) && this.pendings[form_identifier]) this.pendings[form_identifier]--;
|
301 |
+
},
|
302 |
+
thereIsPending : function(form_identifier)
|
303 |
+
{
|
304 |
+
if(form_identifier in this.pendings) return this.pendings[form_identifier];
|
305 |
+
return 0;
|
306 |
+
},
|
307 |
Â
addEquation : function( calculated_field, equation, configuration, dependencies, form_identifier )
|
308 |
Â
{
|
309 |
Â
var equation_result = $('[id="'+calculated_field+'"]');
|
397 |
Â
}
|
398 |
Â
catch(e)
|
399 |
Â
{
|
400 |
+
if(typeof console != 'undefined') console.log(e.message);
|
401 |
Â
continue;
|
402 |
Â
}
|
403 |
Â
}
|
475 |
Â
}
|
476 |
Â
|
477 |
Â
this.processing_queue = false;
|
478 |
+
if(!this.thereIsPending(fSec)) $(document).trigger('equationsQueueEmpty', [fSec]);
|
479 |
Â
},
|
480 |
Â
format : function( value, config )
|
481 |
Â
{
|
js/modules/01_mathematical_logical/admin/module_admin.js
CHANGED
@@ -15,6 +15,8 @@ fbuilderjQuery[ 'fbuilder' ][ 'modules' ][ 'default' ] = {
|
|
15 |
Â
{ "value" : "(", "code" : "(", "tip" : "" },
|
16 |
Â
{ "value" : ")", "code" : ")", "tip" : "" },
|
17 |
Â
{ "value" : ",", "code" : ",", "tip" : "" },
|
Â
|
|
Â
|
|
18 |
Â
{ "value" : "ABS", "code" : "ABS(", "tip" : "Returns the absolute value of the number passed as parameter. <strong>ABS(number)</strong>" },
|
19 |
Â
{ "value" : "CEIL", "code" : "CEIL(", "tip" : "Returns the next higher integer that is greater than or equal to the number passed as parameter. <strong>CEIL(number)</strong><br>The CEIL operation accepts a second parameter for rounding the number to the next multiple of this second parameter. <strong>CEIL(X,Y)</strong>" },
|
20 |
Â
{ "value" : "FLOOR", "code" : "FLOOR(", "tip" : "Returns the next lower integer that is less than or equal to the number passed as parameter. <strong>FLOOR(number)</strong><br>The FLOOR operation accepts a second parameter for rounding the number to the previous multiple of this second parameter. <strong>FLOOR(X,Y)</strong>" },
|
@@ -28,6 +30,7 @@ fbuilderjQuery[ 'fbuilder' ][ 'modules' ][ 'default' ] = {
|
|
28 |
Â
{ "value" : "MAX", "code" : "MAX(", "tip" : "Returns the greater value of the two parameters. <strong>MAX(number1, number2)</strong>" },
|
29 |
Â
{ "value" : "MIN", "code" : "MIN(", "tip" : "Returns the lesser value of the two parameters. <strong>MIN(number1, number2)</strong>" },
|
30 |
Â
{ "value" : "GCD", "code" : "GCD(", "tip" : "Returns greatest common divisor between the two parameters. <strong>GCD(number1, number2)</strong>" },
|
Â
|
|
31 |
Â
{ "value" : "SIN", "code" : "SIN(", "tip" : "SIN(x) returns the sine of x (x in radians).<br> <strong>SIN(3) = 0.1411200080598672</strong>" },
|
32 |
Â
{ "value" : "COS", "code" : "COS(", "tip" : "COS(x) returns the cosine of x (x in radians).<br> <strong>COS(3) = -0.9899924966004454</strong>" },
|
33 |
Â
{ "value" : "TAN", "code" : "TAN(", "tip" : "TAN(x) returns the tangent of x (x in radians).<br> <strong>TAN(3) = -0.1425465430742778</strong>" },
|
15 |
Â
{ "value" : "(", "code" : "(", "tip" : "" },
|
16 |
Â
{ "value" : ")", "code" : ")", "tip" : "" },
|
17 |
Â
{ "value" : ",", "code" : ",", "tip" : "" },
|
18 |
+
{ "value" : "SUM", "code" : "SUM(", "tip" : "Returns the sum of values passed by parameter. <strong>SUM(3,10,11)</strong> returns <strong>24</strong>" },
|
19 |
+
{ "value" : "CONCATENATE", "code" : "CONCATENATE(", "tip" : "Returns a text with all parameters concatenated. <strong>CONCATENATE(1, 2, 3)</strong> returns <strong>123</strong>" },
|
20 |
Â
{ "value" : "ABS", "code" : "ABS(", "tip" : "Returns the absolute value of the number passed as parameter. <strong>ABS(number)</strong>" },
|
21 |
Â
{ "value" : "CEIL", "code" : "CEIL(", "tip" : "Returns the next higher integer that is greater than or equal to the number passed as parameter. <strong>CEIL(number)</strong><br>The CEIL operation accepts a second parameter for rounding the number to the next multiple of this second parameter. <strong>CEIL(X,Y)</strong>" },
|
22 |
Â
{ "value" : "FLOOR", "code" : "FLOOR(", "tip" : "Returns the next lower integer that is less than or equal to the number passed as parameter. <strong>FLOOR(number)</strong><br>The FLOOR operation accepts a second parameter for rounding the number to the previous multiple of this second parameter. <strong>FLOOR(X,Y)</strong>" },
|
30 |
Â
{ "value" : "MAX", "code" : "MAX(", "tip" : "Returns the greater value of the two parameters. <strong>MAX(number1, number2)</strong>" },
|
31 |
Â
{ "value" : "MIN", "code" : "MIN(", "tip" : "Returns the lesser value of the two parameters. <strong>MIN(number1, number2)</strong>" },
|
32 |
Â
{ "value" : "GCD", "code" : "GCD(", "tip" : "Returns greatest common divisor between the two parameters. <strong>GCD(number1, number2)</strong>" },
|
33 |
+
{ "value" : "LCM", "code" : "LCM(", "tip" : "Returns the least common multiple between two parameters. <strong>LCM(number1, number2)</strong>" },
|
34 |
Â
{ "value" : "SIN", "code" : "SIN(", "tip" : "SIN(x) returns the sine of x (x in radians).<br> <strong>SIN(3) = 0.1411200080598672</strong>" },
|
35 |
Â
{ "value" : "COS", "code" : "COS(", "tip" : "COS(x) returns the cosine of x (x in radians).<br> <strong>COS(3) = -0.9899924966004454</strong>" },
|
36 |
Â
{ "value" : "TAN", "code" : "TAN(", "tip" : "TAN(x) returns the tangent of x (x in radians).<br> <strong>TAN(3) = -0.1425465430742778</strong>" },
|
js/modules/01_mathematical_logical/public/module_public.js
CHANGED
@@ -6,6 +6,11 @@ fbuilderjQuery[ 'fbuilder' ][ 'modules' ][ 'default' ] = {
|
|
6 |
Â
'prefix' : '',
|
7 |
Â
'callback' : function()
|
8 |
Â
{
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
9 |
Â
function ROUNDx(operation, num, y)
|
10 |
Â
{
|
11 |
Â
if(y && y != 0)
|
@@ -106,6 +111,30 @@ fbuilderjQuery[ 'fbuilder' ][ 'modules' ][ 'default' ] = {
|
|
106 |
Â
};
|
107 |
Â
} // End if window.CDATE
|
108 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
109 |
Â
if(window.GCD == undefined)
|
110 |
Â
{
|
111 |
Â
window.GCD = window.gcd = function( a, b)
|
@@ -115,6 +144,14 @@ fbuilderjQuery[ 'fbuilder' ][ 'modules' ][ 'default' ] = {
|
|
115 |
Â
};
|
116 |
Â
} // End if window.GCD
|
117 |
Â
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
118 |
Â
if(window.LOGAB == undefined)
|
119 |
Â
{
|
120 |
Â
window.LOGAB = window.logab = function( a, b)
|
6 |
Â
'prefix' : '',
|
7 |
Â
'callback' : function()
|
8 |
Â
{
|
9 |
+
if(Number.prototype.length == undefined)
|
10 |
+
{
|
11 |
+
Number.prototype.LENGTH = Number.prototype.length = function(){ return this.valueOf().toString().length;};
|
12 |
+
}
|
13 |
+
|
14 |
Â
function ROUNDx(operation, num, y)
|
15 |
Â
{
|
16 |
Â
if(y && y != 0)
|
111 |
Â
};
|
112 |
Â
} // End if window.CDATE
|
113 |
Â
|
114 |
+
if(window.SUM == undefined)
|
115 |
+
{
|
116 |
+
window.SUM = window.sum = function ()
|
117 |
+
{
|
118 |
+
var r = 0, t;
|
119 |
+
for(var i in arguments)
|
120 |
+
{
|
121 |
+
t = arguments[i]*1;
|
122 |
+
if(!isNaN(t)) r += t;
|
123 |
+
}
|
124 |
+
return r;
|
125 |
+
};
|
126 |
+
} // End if window.SUM
|
127 |
+
|
128 |
+
if(window.CONCATENATE == undefined)
|
129 |
+
{
|
130 |
+
window.CONCATENATE = window.concatenate = function ()
|
131 |
+
{
|
132 |
+
var r = '';
|
133 |
+
for(var i in arguments) r += (new String(arguments[i]));
|
134 |
+
return r;
|
135 |
+
};
|
136 |
+
} // End if window.CONCATENATE
|
137 |
+
|
138 |
Â
if(window.GCD == undefined)
|
139 |
Â
{
|
140 |
Â
window.GCD = window.gcd = function( a, b)
|
144 |
Â
};
|
145 |
Â
} // End if window.GCD
|
146 |
Â
|
147 |
+
if(window.LCM == undefined)
|
148 |
+
{
|
149 |
+
window.LCM = window.lcm = function( a, b)
|
150 |
+
{
|
151 |
+
return (!a || !b) ? 0 : ABS((a * b) / GCD(a, b));
|
152 |
+
};
|
153 |
+
} // End if window.LCM
|
154 |
+
|
155 |
Â
if(window.LOGAB == undefined)
|
156 |
Â
{
|
157 |
Â
window.LOGAB = window.logab = function( a, b)
|
js/modules/05_managing_fields/admin/module_admin.js
CHANGED
@@ -5,13 +5,23 @@ fbuilderjQuery[ 'fbuilder' ][ 'modules' ] = fbuilderjQuery[ 'fbuilder' ][ 'modul
|
|
5 |
Â
fbuilderjQuery[ 'fbuilder' ][ 'modules' ][ 'processing' ] = {
|
6 |
Â
'tutorial' : 'https://cff.dwbooster.com/documentation#managing-fields-module',
|
7 |
Â
'toolbars' : {
|
8 |
-
'
|
9 |
Â
'label' : 'Managing fields',
|
10 |
Â
'buttons' : [
|
11 |
Â
{
|
12 |
Â
"value" : "getField",
|
13 |
Â
"code" : "getField(",
|
14 |
Â
"tip" : "<p>Get the field object. <strong>getField( # or fieldname# )</strong></p><p>Returns the internal representation of a field object. For example, if there is the slider field: fieldname1, to assing it a value, for example:50, enter as part of the equation associated to the calculated field the piece of code: getField(1).setVal(50);</p><p>The getField operation can be used only in the context of the equations.</p>"
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
15 |
Â
}
|
16 |
Â
]
|
17 |
Â
}
|
5 |
Â
fbuilderjQuery[ 'fbuilder' ][ 'modules' ][ 'processing' ] = {
|
6 |
Â
'tutorial' : 'https://cff.dwbooster.com/documentation#managing-fields-module',
|
7 |
Â
'toolbars' : {
|
8 |
+
'fields' : {
|
9 |
Â
'label' : 'Managing fields',
|
10 |
Â
'buttons' : [
|
11 |
Â
{
|
12 |
Â
"value" : "getField",
|
13 |
Â
"code" : "getField(",
|
14 |
Â
"tip" : "<p>Get the field object. <strong>getField( # or fieldname# )</strong></p><p>Returns the internal representation of a field object. For example, if there is the slider field: fieldname1, to assing it a value, for example:50, enter as part of the equation associated to the calculated field the piece of code: getField(1).setVal(50);</p><p>The getField operation can be used only in the context of the equations.</p>"
|
15 |
+
},
|
16 |
+
{
|
17 |
+
"value" : "IGNOREFIELD",
|
18 |
+
"code" : "IGNOREFIELD(",
|
19 |
+
"tip" : "<p>Ignore a field explicitly, similar to dependencies. <strong>IGNOREFIELD( # or fieldname#, form or form selector )</strong></p><p>Ignores the field for the equations and submission. The first parameter is required, it would be the numeric part of the field name or the field name. The second parameter would be a form object, or a selector with the form reference. If the second parameter is not passed, the plugin will apply the ignore action to the field in the first form of the page. For example: IGNOREFIELD(1); or IGNOREFIELD("fieldname1");</p>"
|
20 |
+
},
|
21 |
+
{
|
22 |
+
"value" : "ACTIVATEFIELD",
|
23 |
+
"code" : "ACTIVATEFIELD(",
|
24 |
+
"tip" : "<p>Activates a field explicitly, similar to dependencies. <strong>ACTIVATEFIELD( # or fieldname#, form or form selector )</strong></p><p>Activates the field for the equations and submission. The first parameter is required, it would be the numeric part of the field name or the field name. The second parameter would be a form object, or a selector with the form reference. If the second parameter is not passed, the plugin will apply the activates action to the field in the first form of the page. For example: ACTIVATEFIELD(1); or ACTIVATEFIELD("fieldname1");</p>"
|
25 |
Â
}
|
26 |
Â
]
|
27 |
Â
}
|
js/modules/05_managing_fields/public/05_managing_fields.js
ADDED
@@ -0,0 +1,58 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
/*
|
2 |
+
* managing_fields.js v0.1
|
3 |
+
* By: CALCULATED FIELD PROGRAMMERS
|
4 |
+
* The script allows managing fields
|
5 |
+
* Copyright 2015 CODEPEOPLE
|
6 |
+
* You may use this project under MIT or GPL licenses.
|
7 |
+
*/
|
8 |
+
|
9 |
+
;(function(root){
|
10 |
+
var lib = {};
|
11 |
+
lib.cf_processing_version = '0.1';
|
12 |
+
|
13 |
+
/*** PRIVATE FUNCTIONS ***/
|
14 |
+
|
15 |
+
function _getForm(_form)
|
16 |
+
{
|
17 |
+
if(typeof _form == 'undefined') return '_1';
|
18 |
+
return $(_form).find('[name="cp_calculatedfieldsf_pform_psequence"]').val();
|
19 |
+
}
|
20 |
+
|
21 |
+
function _getField( _field, _form )
|
22 |
+
{
|
23 |
+
return $.fbuilder['forms'][_getForm(_form)].getItem(_field);
|
24 |
+
}
|
25 |
+
|
26 |
+
/*** PUBLIC FUNCTIONS ***/
|
27 |
+
|
28 |
+
lib.activatefield = lib.ACTIVATEFIELD = function( _field, _form )
|
29 |
+
{
|
30 |
+
var o = _getForm(_form), f = _getField(_field, _form), j;
|
31 |
+
if(f)
|
32 |
+
{
|
33 |
+
j = f.jQueryRef();
|
34 |
+
j.add(j.find('.fields')).show();
|
35 |
+
if(f.name in $.fbuilder.forms[o].toHide) delete $.fbuilder.forms[o].toHide[f.name];
|
36 |
+
if(!(f.name in $.fbuilder.forms[o].toShow)) $.fbuilder.forms[o].toShow[f.name] = {'ref': {}};
|
37 |
+
j.find('[id*="'+f.name+'"]').removeClass('ignore').change();
|
38 |
+
$.fbuilder.showHideDep({'formIdentifier':o,'fieldIdentifier':f.name});
|
39 |
+
}
|
40 |
+
};
|
41 |
+
|
42 |
+
lib.ignorefield = lib.IGNOREFIELD = function( _field, _form )
|
43 |
+
{
|
44 |
+
var o = _getForm(_form), f = _getField(_field, _form), j;
|
45 |
+
if(f)
|
46 |
+
{
|
47 |
+
j = f.jQueryRef();
|
48 |
+
j.add(j.find('.fields')).hide();
|
49 |
+
if(!(f.name in $.fbuilder.forms[o].toHide)) $.fbuilder.forms[o].toHide[f.name] = {};
|
50 |
+
if(f.name in $.fbuilder.forms[o].toShow) delete $.fbuilder.forms[o].toShow[f.name];
|
51 |
+
j.find('[id*="'+f.name+'"]').addClass('ignore').change();
|
52 |
+
$.fbuilder.showHideDep({'formIdentifier':o,'fieldIdentifier':f.name});
|
53 |
+
}
|
54 |
+
};
|
55 |
+
|
56 |
+
root.CF_FIELDS_MANAGEMENT = lib;
|
57 |
+
|
58 |
+
})(this);
|
js/modules/05_managing_fields/public/module_public.js
ADDED
@@ -0,0 +1,11 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
fbuilderjQuery = ( typeof fbuilderjQuery != 'undefined' ) ? fbuilderjQuery : jQuery;
|
2 |
+
fbuilderjQuery[ 'fbuilder' ] = fbuilderjQuery[ 'fbuilder' ] || {};
|
3 |
+
fbuilderjQuery[ 'fbuilder' ][ 'modules' ] = fbuilderjQuery[ 'fbuilder' ][ 'modules' ] || {};
|
4 |
+
|
5 |
+
fbuilderjQuery[ 'fbuilder' ][ 'modules' ][ 'processing' ] = {
|
6 |
+
'prefix' : '',
|
7 |
+
'callback' : function()
|
8 |
+
{
|
9 |
+
fbuilderjQuery[ 'fbuilder' ][ 'extend_window' ]( fbuilderjQuery[ 'fbuilder' ][ 'modules' ][ 'processing' ][ 'prefix' ], CF_FIELDS_MANAGEMENT );
|
10 |
+
}
|
11 |
+
};
|
js/modules/06_connector/admin/module_admin.js
CHANGED
@@ -5,7 +5,7 @@ fbuilderjQuery[ 'fbuilder' ][ 'modules' ] = fbuilderjQuery[ 'fbuilder' ][ 'modul
|
|
5 |
Â
fbuilderjQuery[ 'fbuilder' ][ 'modules' ][ 'connector' ] = {
|
6 |
Â
'tutorial' : 'https://cff.dwbooster.com/documentation#connection-module',
|
7 |
Â
'toolbars' : {
|
8 |
-
'
|
9 |
Â
'label' : 'Third-party Connection',
|
10 |
Â
'buttons' : [
|
11 |
Â
{
|
5 |
Â
fbuilderjQuery[ 'fbuilder' ][ 'modules' ][ 'connector' ] = {
|
6 |
Â
'tutorial' : 'https://cff.dwbooster.com/documentation#connection-module',
|
7 |
Â
'toolbars' : {
|
8 |
+
'connector' : {
|
9 |
Â
'label' : 'Third-party Connection',
|
10 |
Â
'buttons' : [
|
11 |
Â
{
|
js/modules/06_connector/public/01_connector.js
CHANGED
@@ -26,20 +26,22 @@
|
|
26 |
Â
|
27 |
Â
if(typeof lib.records[index] != 'undefined') return lib.records[index];
|
28 |
Â
var form_id = (typeof $.fbuilder['currentFormId'] != 'undefined') ? $.fbuilder['currentFormId'] : 'cp_calculatedfieldsf_pform_1',
|
29 |
-
aux = (function(eq){
|
30 |
Â
return function(value){
|
31 |
Â
lib.records[index] = value;
|
32 |
Â
$.fbuilder.calculator.enqueueEquation(eq.identifier, [eq]);
|
Â
|
|
33 |
Â
if(!$.fbuilder.calculator.processing_queue)
|
34 |
Â
{
|
35 |
Â
$.fbuilder.calculator.processQueue(eq.identifier);
|
36 |
Â
}
|
37 |
Â
};
|
38 |
-
})($.fbuilder['currentEq']),
|
39 |
Â
f = args[0];
|
40 |
Â
|
41 |
Â
args.shift();
|
42 |
Â
args.push(aux);
|
Â
|
|
43 |
Â
f.apply(null, args);
|
44 |
Â
};
|
45 |
Â
|
26 |
Â
|
27 |
Â
if(typeof lib.records[index] != 'undefined') return lib.records[index];
|
28 |
Â
var form_id = (typeof $.fbuilder['currentFormId'] != 'undefined') ? $.fbuilder['currentFormId'] : 'cp_calculatedfieldsf_pform_1',
|
29 |
+
aux = (function(eq, index){
|
30 |
Â
return function(value){
|
31 |
Â
lib.records[index] = value;
|
32 |
Â
$.fbuilder.calculator.enqueueEquation(eq.identifier, [eq]);
|
33 |
+
$.fbuilder.calculator.removePending(eq.identifier);
|
34 |
Â
if(!$.fbuilder.calculator.processing_queue)
|
35 |
Â
{
|
36 |
Â
$.fbuilder.calculator.processQueue(eq.identifier);
|
37 |
Â
}
|
38 |
Â
};
|
39 |
+
})($.fbuilder['currentEq'], index),
|
40 |
Â
f = args[0];
|
41 |
Â
|
42 |
Â
args.shift();
|
43 |
Â
args.push(aux);
|
44 |
+
$.fbuilder.calculator.addPending($.fbuilder['currentEq']['identifier']);
|
45 |
Â
f.apply(null, args);
|
46 |
Â
};
|
47 |
Â
|
js/modules/08_url/admin/module_admin.js
ADDED
@@ -0,0 +1,55 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
fbuilderjQuery = (typeof fbuilderjQuery != 'undefined' ) ? fbuilderjQuery : jQuery;
|
2 |
+
fbuilderjQuery[ 'fbuilder' ] = fbuilderjQuery[ 'fbuilder' ] || {};
|
3 |
+
fbuilderjQuery[ 'fbuilder' ][ 'modules' ] = fbuilderjQuery[ 'fbuilder' ][ 'modules' ] || {};
|
4 |
+
|
5 |
+
fbuilderjQuery[ 'fbuilder' ][ 'modules' ][ 'url' ] = {
|
6 |
+
'tutorial' : 'https://cff.dwbooster.com/documentation#url-module',
|
7 |
+
'toolbars' : {
|
8 |
+
'url' : {
|
9 |
+
'label' : 'URLs and Parameters',
|
10 |
+
'buttons' : [
|
11 |
+
{
|
12 |
+
"value" : "getURL",
|
13 |
+
"code" : "getURL()",
|
14 |
+
"tip" : "<p>Returns the current URL. <strong>getURL()</strong></p>"
|
15 |
+
},
|
16 |
+
{
|
17 |
+
"value" : "getBaseURL",
|
18 |
+
"code" : "getBaseURL()",
|
19 |
+
"tip" : "<p>Returns the base URL of the current page. <strong>getBaseURL()</strong></p>"
|
20 |
+
},
|
21 |
+
{
|
22 |
+
"value" : "getURLHash",
|
23 |
+
"code" : "getURLHash()",
|
24 |
+
"tip" : "<p>Returns # followed by the fragment identifier of the current page URL, or empty text. getURLHash accepts an optional parameter to removes the hash (#) symbol.<br>Ex. https://www.website.com/page#position<br><strong>getURLHash()</strong> returns <strong>#position</strong><br><strong>getURLHash(true)</strong> returns <strong>position</strong></p>"
|
25 |
+
},
|
26 |
+
{
|
27 |
+
"value" : "getURLPath",
|
28 |
+
"code" : "getURLPath()",
|
29 |
+
"tip" : "<p>Returns the initial / symbol followed by the path of the current page URL, or empty text. getURLPath accepts an optional parameter to removes the leading and trailing slash (/) symbols.<br>Ex. https://www.website.com/pages/page1/<br><strong>getURLPath()</strong> returns <strong>/pages/page1/</strong><br><strong>getURLPath(true)</strong> returns <strong>pages/page1</strong></p>"
|
30 |
+
},
|
31 |
+
{
|
32 |
+
"value" : "getURLParameters",
|
33 |
+
"code" : "getURLParameters()",
|
34 |
+
"tip" : "<p>Returns a plain object with the URLs parameters. The operation accepts an URL as optional parameter. <strong>getURLParameters()</strong></p>"
|
35 |
+
},
|
36 |
+
{
|
37 |
+
"value" : "getURLParameter",
|
38 |
+
"code" : "getURLParameter(",
|
39 |
+
"tip" : "<p>Returns the value of an URL parameter. The operation accepts two parameters: the parameter name and the dafault value. The default value would be returned if the URL parameter does not exist. If not default value is passed as parameter, and the URL parameter does not exist, the operation returns null. <strong>getURLParameter(parameter_name, default_value)</strong> the default_value is optional.</p>"
|
40 |
+
},
|
41 |
+
{
|
42 |
+
"value" : "generateURL",
|
43 |
+
"code" : "generateURL(",
|
44 |
+
"tip" : "<p>Generates an URL given their components. The operation accepts three parameters: the base URL (required parameter), a plain object for the URL parameters (optional parameter), a text with the hash (optional parameter). <strong>generateURL("http://www.website.com", {"param1":"value1", "param2":"value2"}, "bookmark")</strong> returns the URL <strong>http://www.website.com?param1=value1¶m2=value2#bookmark</strong></p>"
|
45 |
+
},
|
46 |
+
{
|
47 |
+
"value" : "redirectToURL",
|
48 |
+
"code" : "redirectToURL(",
|
49 |
+
"tip" : "<p>Redirects the user. The operation accepts two parameters: the URL and a plain object for the parameters. <strong>redirectToURL(url, object)</strong> the object is optional.</p>"
|
50 |
+
},
|
51 |
+
|
52 |
+
]
|
53 |
+
}
|
54 |
+
}
|
55 |
+
};
|
js/modules/08_url/public/01_url.js
ADDED
@@ -0,0 +1,120 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
/*
|
2 |
+
* url.js v0.1
|
3 |
+
* By: CALCULATED FIELD PROGRAMMERS
|
4 |
+
* Includes operations to interact with the URLs and parameters
|
5 |
+
* Copyright 2020 CODEPEOPLE
|
6 |
+
*/
|
7 |
+
|
8 |
+
;(function(root){
|
9 |
+
var lib = {
|
10 |
+
records: {}
|
11 |
+
};
|
12 |
+
|
13 |
+
/*** PRIVATE FUNCTIONS ***/
|
14 |
+
|
15 |
+
/*** PUBLIC FUNCTIONS ***/
|
16 |
+
|
17 |
+
lib.cff_url_version = '0.1';
|
18 |
+
|
19 |
+
// generateURL()
|
20 |
+
lib.generateURL = lib.generateurl = lib.GENERATEURL = function(url, params, hash){
|
21 |
+
var urlComponents = url.split('#'), queryString = '', connector = '';
|
22 |
+
if(typeof params == 'object' && params)
|
23 |
+
{
|
24 |
+
connector = (url.indexOf('?') == -1) ? '?' : '&';
|
25 |
+
queryString = jQuery.param(params);
|
26 |
+
}
|
27 |
+
if(typeof hash == 'string') urlComponents[1] = hash;
|
28 |
+
urlComponents[0] += connector+queryString;
|
29 |
+
return urlComponents.join('#');
|
30 |
+
};
|
31 |
+
|
32 |
+
// redirectToURL()
|
33 |
+
lib.redirectToURL = lib.redirecttourl = lib.REDIRECTTOURL = function(url, obj){
|
34 |
+
document.location.href = url+( obj ? (url.indexOf('?') === -1 ? '?' : '&')+$.param(obj) : '');
|
35 |
+
};
|
36 |
+
|
37 |
+
// getURL()
|
38 |
+
lib.getURL = lib.geturl = lib.GETURL = function(){
|
39 |
+
return document.location.href;
|
40 |
+
};
|
41 |
+
|
42 |
+
// getBaseURL()
|
43 |
+
lib.getBaseURL = lib.getbaseurl = lib.GETBASEURL = function(){
|
44 |
+
return window.location.protocol + '//' + window.location.host + '/';
|
45 |
+
};
|
46 |
+
|
47 |
+
// getURLHash()
|
48 |
+
lib.getURLHash = lib.geturlhash = lib.GETURLHASH = function(nohash){
|
49 |
+
return window.location.hash.replace((nohash) ? /^#/ : '', '');
|
50 |
+
};
|
51 |
+
|
52 |
+
// getURLPath()
|
53 |
+
lib.getURLPath = lib.geturlpath = lib.GETURLPATH = function(noslash){
|
54 |
+
return window.location.pathname.replace((noslash) ? new RegExp('^\/', 'g') : '', '').replace((noslash) ? new RegExp('\/$','g') : '', '');
|
55 |
+
};
|
56 |
+
|
57 |
+
// getURLParameters(url) the url is optional
|
58 |
+
lib.getURLParameters = lib.geturlparameters = lib.GETURLPARAMETERS = function(url){
|
59 |
+
var qs = url ? url.split('?')[1] : window.location.search.slice(1),
|
60 |
+
obj = {};
|
61 |
+
if(qs)
|
62 |
+
{
|
63 |
+
qs = qs.split('#')[0];
|
64 |
+
var arr = qs.split('&');
|
65 |
+
for (var i = 0; i < arr.length; i++)
|
66 |
+
{
|
67 |
+
var a = arr[i].split('='),
|
68 |
+
paramName = a[0],
|
69 |
+
paramValue = typeof (a[1]) === 'undefined' ? true : a[1];
|
70 |
+
|
71 |
+
paramName = paramName.toLowerCase();
|
72 |
+
if (typeof paramValue === 'string') paramValue = paramValue.toLowerCase();
|
73 |
+
|
74 |
+
if (paramName.match(/\[(\d+)?\]$/))
|
75 |
+
{
|
76 |
+
var key = paramName.replace(/\[(\d+)?\]/, '');
|
77 |
+
if (!obj[key]) obj[key] = [];
|
78 |
+
if (paramName.match(/\[\d+\]$/))
|
79 |
+
{
|
80 |
+
var index = /\[(\d+)\]/.exec(paramName)[1];
|
81 |
+
obj[key][index] = paramValue;
|
82 |
+
}
|
83 |
+
else
|
84 |
+
{
|
85 |
+
obj[key].push(paramValue);
|
86 |
+
}
|
87 |
+
}
|
88 |
+
else
|
89 |
+
{
|
90 |
+
if (!obj[paramName])
|
91 |
+
{
|
92 |
+
obj[paramName] = paramValue;
|
93 |
+
}
|
94 |
+
else if (obj[paramName] && typeof obj[paramName] === 'string')
|
95 |
+
{
|
96 |
+
obj[paramName] = [obj[paramName]];
|
97 |
+
obj[paramName].push(paramValue);
|
98 |
+
}
|
99 |
+
else
|
100 |
+
{
|
101 |
+
obj[paramName].push(paramValue);
|
102 |
+
}
|
103 |
+
}
|
104 |
+
}
|
105 |
+
}
|
106 |
+
return obj;
|
107 |
+
};
|
108 |
+
|
109 |
+
// getURLParameter(paramName, defaultValue) defaultValue is optional
|
110 |
+
lib.getURLParameter = lib.geturlparameter = lib.GETURLPARAMETER = function(paramName, defaultValue){
|
111 |
+
var parameters = lib.getURLParameters();
|
112 |
+
paramName = paramName.toLowerCase();
|
113 |
+
if(paramName in parameters) return parameters[paramName];
|
114 |
+
else if(defaultValue) return defaultValue;
|
115 |
+
else return null;
|
116 |
+
}
|
117 |
+
|
118 |
+
root.CF_URL = lib;
|
119 |
+
|
120 |
+
})(this);
|
js/modules/08_url/public/module_public.js
ADDED
@@ -0,0 +1,11 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
fbuilderjQuery = ( typeof fbuilderjQuery != 'undefined' ) ? fbuilderjQuery : jQuery;
|
2 |
+
fbuilderjQuery[ 'fbuilder' ] = fbuilderjQuery[ 'fbuilder' ] || {};
|
3 |
+
fbuilderjQuery[ 'fbuilder' ][ 'modules' ] = fbuilderjQuery[ 'fbuilder' ][ 'modules' ] || {};
|
4 |
+
|
5 |
+
fbuilderjQuery[ 'fbuilder' ][ 'modules' ][ 'url' ] = {
|
6 |
+
'prefix' : '',
|
7 |
+
'callback' : function()
|
8 |
+
{
|
9 |
+
fbuilderjQuery[ 'fbuilder' ][ 'extend_window' ](fbuilderjQuery[ 'fbuilder' ][ 'modules' ][ 'url' ][ 'prefix' ], CF_URL);
|
10 |
+
}
|
11 |
+
};
|
languages/calculated-fields-form-en_US.mo
CHANGED
Binary file
|
languages/calculated-fields-form-en_US.po
CHANGED
@@ -1,98 +1,97 @@
|
|
1 |
Â
msgid ""
|
2 |
Â
msgstr ""
|
3 |
Â
"Project-Id-Version: \n"
|
4 |
-
"POT-Creation-Date:
|
5 |
-
"PO-Revision-Date:
|
6 |
-
"Last-Translator: \n"
|
7 |
Â
"Language-Team: \n"
|
8 |
Â
"Language: en_US\n"
|
9 |
Â
"MIME-Version: 1.0\n"
|
10 |
Â
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
Â
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 2.
|
13 |
Â
"X-Poedit-Basepath: ..\n"
|
14 |
Â
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
15 |
Â
"X-Poedit-KeywordsList: __;_e;esc_attr__;esc_attr_e\n"
|
16 |
Â
"X-Poedit-SearchPath-0: .\n"
|
17 |
Â
|
18 |
-
#:
|
19 |
-
msgid "
|
20 |
-
msgstr ""
|
21 |
-
|
22 |
-
#: cp_calculatedfieldsf.php:781 cp_calculatedfieldsf_admin_int_list.inc.php:233
|
23 |
-
msgid "Settings"
|
24 |
-
msgstr ""
|
25 |
-
|
26 |
-
#: cp_calculatedfieldsf.php:782 cp_calculatedfieldsf_admin_int_list.inc.php:293
|
27 |
-
msgid "Upgrade"
|
28 |
-
msgstr ""
|
29 |
-
|
30 |
-
#: cp_calculatedfieldsf.php:783 cp_calculatedfieldsf_admin_int.php:350
|
31 |
-
#: cp_calculatedfieldsf_admin_int.php:629
|
32 |
-
#: cp_calculatedfieldsf_admin_int_list.inc.php:293
|
33 |
-
msgid "Help"
|
34 |
Â
msgstr ""
|
35 |
Â
|
36 |
-
#:
|
37 |
-
msgid "Insert Calculated Fields Form"
|
38 |
-
msgstr ""
|
39 |
-
|
40 |
-
#: cp_calculatedfieldsf.php:789
|
41 |
-
msgid "Create a JavaScript var from POST, GET, SESSION, or COOKIE var"
|
42 |
-
msgstr ""
|
43 |
-
|
44 |
-
#: cp_calculatedfieldsf.php:998
|
45 |
Â
msgid ""
|
46 |
Â
"<div class=\"error-text\">The data cannot be stored in database because has "
|
47 |
Â
"occurred an error with the database structure. Please, go to the plugins "
|
48 |
Â
"section and Deactivate/Activate the plugin to be sure the structure of "
|
49 |
Â
"database has been checked, and corrected if needed. If the issue persist, "
|
50 |
-
"please <a href=\"
|
51 |
-
"div>"
|
52 |
Â
msgstr ""
|
53 |
Â
|
54 |
-
#:
|
55 |
Â
msgid ""
|
56 |
Â
"<div class=\"error-text\">The data cannot be stored in database because has "
|
57 |
Â
"occurred an error with the form structure. Please, try to save the data "
|
58 |
Â
"again. If have been copied and pasted data from external text editors, the "
|
59 |
Â
"data can contain invalid characters. If the issue persist, please <a href="
|
60 |
-
"\"
|
61 |
-
msgstr ""
|
62 |
-
|
63 |
-
#: cp_calculatedfieldsf_admin_int.php:5
|
64 |
-
#: cp_calculatedfieldsf_admin_int_list.inc.php:5
|
65 |
-
msgid "Direct access not allowed."
|
66 |
Â
msgstr ""
|
67 |
Â
|
68 |
-
#:
|
69 |
Â
msgid "Settings saved"
|
70 |
Â
msgstr ""
|
71 |
Â
|
72 |
-
#:
|
73 |
-
#:
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
74 |
Â
msgid "Calculated Fields Form"
|
75 |
Â
msgstr ""
|
76 |
Â
|
77 |
-
#:
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
78 |
Â
msgid "Back to items list..."
|
79 |
Â
msgstr ""
|
80 |
Â
|
81 |
-
#:
|
82 |
Â
msgid "Form Settings"
|
83 |
Â
msgstr ""
|
84 |
Â
|
85 |
-
#:
|
86 |
Â
msgid ""
|
87 |
Â
"* Different form styles available on the tab Form Settings >> Form "
|
88 |
Â
"Template"
|
89 |
Â
msgstr ""
|
90 |
Â
|
91 |
-
#:
|
92 |
Â
msgid "Form Builder"
|
93 |
Â
msgstr ""
|
94 |
Â
|
95 |
-
#:
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
96 |
Â
msgid ""
|
97 |
Â
"If the form is not loading in the public website, go to the settings page of "
|
98 |
Â
"the plugin through the menu option: \"Settings/Calculated Fields Form\", "
|
@@ -100,525 +99,786 @@ msgid ""
|
|
100 |
Â
"press the \"Update\" button."
|
101 |
Â
msgstr ""
|
102 |
Â
|
103 |
-
#:
|
104 |
Â
msgid ""
|
105 |
Â
"If you need also the form to be sent to the server side for processing (for "
|
106 |
-
"example to deliver emails) then the <a href=\"
|
107 |
Â
"target=\"_blank\">Professional or Developer versions</a> of the plugin will "
|
108 |
Â
"be required."
|
109 |
Â
msgstr ""
|
110 |
Â
|
111 |
-
#:
|
112 |
-
|
113 |
-
|
114 |
-
|
Â
|
|
Â
|
|
Â
|
|
115 |
Â
msgid ""
|
116 |
Â
"These features aren't available in this version. Do you want to open the "
|
117 |
Â
"plugin's page to check other versions?"
|
118 |
Â
msgstr ""
|
119 |
Â
|
120 |
-
#:
|
121 |
Â
msgid "Add a Field"
|
122 |
Â
msgstr ""
|
123 |
Â
|
124 |
-
#:
|
125 |
Â
msgid "Field Settings"
|
126 |
Â
msgstr ""
|
127 |
Â
|
128 |
-
#:
|
129 |
-
#:
|
130 |
-
#: cp_calculatedfieldsf_admin_int.php:626
|
131 |
Â
msgid "Save Changes"
|
132 |
Â
msgstr ""
|
133 |
Â
|
134 |
-
#:
|
135 |
-
|
136 |
-
msgid "Preview"
|
137 |
Â
msgstr ""
|
138 |
Â
|
139 |
-
#:
|
140 |
Â
msgid "Define Texts"
|
141 |
Â
msgstr ""
|
142 |
Â
|
143 |
-
#:
|
144 |
Â
msgid "Previous button label (text)"
|
145 |
Â
msgstr ""
|
146 |
Â
|
147 |
-
#:
|
148 |
Â
msgid "Next button label (text)"
|
149 |
Â
msgstr ""
|
150 |
Â
|
151 |
-
#:
|
152 |
Â
msgid ""
|
153 |
Â
"- The styles can be applied into any of the CSS files of your theme or into "
|
154 |
Â
"the CSS file <em>\"calculated-fields-form\\css\\stylepublic.css\"</em>."
|
155 |
Â
msgstr ""
|
156 |
Â
|
157 |
-
#:
|
158 |
Â
msgid ""
|
159 |
Â
"- For general CSS styles modifications to the form and samples <a href="
|
160 |
-
"\"
|
161 |
Â
msgstr ""
|
162 |
Â
|
163 |
-
#:
|
164 |
Â
msgid "Validation Settings"
|
165 |
Â
msgstr ""
|
166 |
Â
|
167 |
-
#:
|
168 |
-
msgid "Use Validation?"
|
169 |
-
msgstr ""
|
170 |
-
|
171 |
-
#: cp_calculatedfieldsf_admin_int.php:275
|
172 |
-
#: cp_calculatedfieldsf_admin_int.php:487
|
173 |
-
#: cp_calculatedfieldsf_admin_int.php:524
|
174 |
-
#: cp_calculatedfieldsf_admin_int.php:565
|
175 |
-
msgid "Yes"
|
176 |
-
msgstr ""
|
177 |
-
|
178 |
-
#: cp_calculatedfieldsf_admin_int.php:281
|
179 |
Â
msgid "\"is required\" text"
|
180 |
Â
msgstr ""
|
181 |
Â
|
182 |
-
#:
|
183 |
Â
msgid "\"is email\" text"
|
184 |
Â
msgstr ""
|
185 |
Â
|
186 |
-
#:
|
187 |
Â
msgid "\"is valid captcha\" text"
|
188 |
Â
msgstr ""
|
189 |
Â
|
190 |
-
#:
|
191 |
Â
msgid "\"is valid date (mm/dd/yyyy)\" text"
|
192 |
Â
msgstr ""
|
193 |
Â
|
194 |
-
#:
|
195 |
Â
msgid "\"is valid date (dd/mm/yyyy)\" text"
|
196 |
Â
msgstr ""
|
197 |
Â
|
198 |
-
#:
|
199 |
Â
msgid "\"is number\" text"
|
200 |
Â
msgstr ""
|
201 |
Â
|
202 |
-
#:
|
203 |
Â
msgid "\"only digits\" text"
|
204 |
Â
msgstr ""
|
205 |
Â
|
206 |
-
#:
|
207 |
Â
msgid "\"under maximum\" text"
|
208 |
Â
msgstr ""
|
209 |
Â
|
210 |
-
#:
|
211 |
Â
msgid "\"over minimum\" text"
|
212 |
Â
msgstr ""
|
213 |
Â
|
214 |
-
#:
|
215 |
Â
msgid "Note"
|
216 |
Â
msgstr ""
|
217 |
Â
|
218 |
-
#:
|
219 |
Â
msgid "To insert this form in a post/page, use the dedicated icon"
|
220 |
Â
msgstr ""
|
221 |
Â
|
222 |
-
#:
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
223 |
Â
msgid ""
|
224 |
Â
"which has been added to your Upload/Insert Menu, just below the title of "
|
225 |
Â
"your Post/Page."
|
226 |
Â
msgstr ""
|
227 |
Â
|
228 |
-
#:
|
229 |
-
#:
|
230 |
-
#: cp_calculatedfieldsf_admin_int_list.inc.php:293
|
231 |
Â
msgid "Request Custom Modifications"
|
232 |
Â
msgstr ""
|
233 |
Â
|
234 |
-
#:
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
235 |
Â
msgid ""
|
236 |
-
"The following settings are available only in the <a href=\"
|
237 |
Â
"dwbooster.com/\">pro version</a>"
|
238 |
Â
msgstr ""
|
239 |
Â
|
240 |
-
#:
|
241 |
Â
msgid "Form Processing and Payment Settings"
|
242 |
Â
msgstr ""
|
243 |
Â
|
244 |
-
#:
|
245 |
Â
msgid "Payment Settings"
|
246 |
Â
msgstr ""
|
247 |
Â
|
248 |
-
#:
|
249 |
Â
msgid "Request cost"
|
250 |
Â
msgstr ""
|
251 |
Â
|
252 |
-
#:
|
253 |
Â
msgid "Currency"
|
254 |
Â
msgstr ""
|
255 |
Â
|
256 |
-
#:
|
257 |
Â
msgid "Base amount"
|
258 |
Â
msgstr ""
|
259 |
Â
|
260 |
-
#:
|
261 |
Â
msgid ""
|
262 |
Â
"Minimum amount to charge. If the final price is lesser than this number, the "
|
263 |
Â
"base amount will be applied."
|
264 |
Â
msgstr ""
|
265 |
Â
|
266 |
-
#:
|
267 |
Â
msgid "Paypal product name"
|
268 |
Â
msgstr ""
|
269 |
Â
|
270 |
-
#:
|
271 |
Â
msgid "Discount Codes"
|
272 |
Â
msgstr ""
|
273 |
Â
|
274 |
-
#:
|
275 |
Â
msgid "This feature isn't available in this version."
|
276 |
Â
msgstr ""
|
277 |
Â
|
278 |
-
#:
|
279 |
Â
msgid "Add new discount code"
|
280 |
Â
msgstr ""
|
281 |
Â
|
282 |
-
#:
|
283 |
Â
msgid "Code"
|
284 |
Â
msgstr ""
|
285 |
Â
|
286 |
-
#:
|
287 |
Â
msgid "Discount"
|
288 |
Â
msgstr ""
|
289 |
Â
|
290 |
-
#:
|
291 |
Â
msgid "Percent"
|
292 |
Â
msgstr ""
|
293 |
Â
|
294 |
-
#:
|
295 |
Â
msgid "Fixed Value"
|
296 |
Â
msgstr ""
|
297 |
Â
|
298 |
-
#:
|
299 |
Â
msgid "Valid until"
|
300 |
Â
msgstr ""
|
301 |
Â
|
302 |
-
#:
|
303 |
-
#: cp_calculatedfieldsf_admin_int_list.inc.php:253
|
304 |
Â
msgid "Add"
|
305 |
Â
msgstr ""
|
306 |
Â
|
307 |
-
#:
|
308 |
Â
msgid "Note: Expiration date based in server time. Server time now is"
|
309 |
Â
msgstr ""
|
310 |
Â
|
311 |
-
#:
|
312 |
Â
msgid "Paypal Payment Configuration"
|
313 |
Â
msgstr ""
|
314 |
Â
|
315 |
-
#:
|
316 |
Â
msgid "Enable Paypal Payments?"
|
317 |
Â
msgstr ""
|
318 |
Â
|
319 |
-
#:
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
320 |
Â
msgid "Paypal Mode"
|
321 |
Â
msgstr ""
|
322 |
Â
|
323 |
-
#:
|
324 |
Â
msgid "Production - real payments processed"
|
325 |
Â
msgstr ""
|
326 |
Â
|
327 |
-
#:
|
328 |
Â
msgid "SandBox - PayPal testing sandbox area"
|
329 |
Â
msgstr ""
|
330 |
Â
|
331 |
-
#:
|
332 |
Â
msgid "Paypal email"
|
333 |
Â
msgstr ""
|
334 |
Â
|
335 |
-
#:
|
336 |
Â
msgid "A $0 amount to pay means"
|
337 |
Â
msgstr ""
|
338 |
Â
|
339 |
-
#:
|
340 |
Â
msgid "Let the user enter any amount at PayPal (ex: for a donation)"
|
341 |
Â
msgstr ""
|
342 |
Â
|
343 |
-
#:
|
344 |
Â
msgid "Don't require any payment. Form is submitted skiping the PayPal page."
|
345 |
Â
msgstr ""
|
346 |
Â
|
347 |
-
#:
|
348 |
Â
msgid "Paypal language"
|
349 |
Â
msgstr ""
|
350 |
Â
|
351 |
-
#:
|
352 |
Â
msgid "Payment frequency"
|
353 |
Â
msgstr ""
|
354 |
Â
|
355 |
-
#:
|
356 |
Â
msgid "One time payment (default option, user is billed only once)"
|
357 |
Â
msgstr ""
|
358 |
Â
|
359 |
-
#:
|
360 |
Â
msgid "Bill the user every 1 month"
|
361 |
Â
msgstr ""
|
362 |
Â
|
363 |
-
#:
|
364 |
Â
msgid "Bill the user every 3 months"
|
365 |
Â
msgstr ""
|
366 |
Â
|
367 |
-
#:
|
368 |
Â
msgid "Bill the user every 6 months"
|
369 |
Â
msgstr ""
|
370 |
Â
|
371 |
-
#:
|
372 |
Â
msgid "Bill the user every 12 months"
|
373 |
Â
msgstr ""
|
374 |
Â
|
375 |
-
#:
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
376 |
Â
msgid "Form Processing / Email Settings"
|
377 |
Â
msgstr ""
|
378 |
Â
|
379 |
-
#:
|
380 |
Â
msgid "\"From\" email"
|
381 |
Â
msgstr ""
|
382 |
Â
|
383 |
-
#:
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
384 |
Â
msgid "Destination emails (comma separated)"
|
385 |
Â
msgstr ""
|
386 |
Â
|
387 |
-
#:
|
388 |
-
#: cp_calculatedfieldsf_admin_int.php:534
|
389 |
Â
msgid "Email subject"
|
390 |
Â
msgstr ""
|
391 |
Â
|
392 |
-
#:
|
393 |
Â
msgid "Include additional information?"
|
394 |
Â
msgstr ""
|
395 |
Â
|
396 |
-
#:
|
397 |
-
#:
|
398 |
-
|
399 |
-
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
400 |
Â
msgstr ""
|
401 |
Â
|
402 |
-
#:
|
403 |
Â
msgid "Thank you page (after sending the message)"
|
404 |
Â
msgstr ""
|
405 |
Â
|
406 |
-
#:
|
407 |
-
#: cp_calculatedfieldsf_admin_int.php:538
|
408 |
Â
msgid "Email format?"
|
409 |
Â
msgstr ""
|
410 |
Â
|
411 |
-
#:
|
412 |
-
#: cp_calculatedfieldsf_admin_int.php:542
|
413 |
Â
msgid "Plain Text (default)"
|
414 |
Â
msgstr ""
|
415 |
Â
|
416 |
-
#:
|
417 |
-
#: cp_calculatedfieldsf_admin_int.php:543
|
418 |
Â
msgid "HTML (use html in the textarea below)"
|
419 |
Â
msgstr ""
|
420 |
Â
|
421 |
-
#:
|
422 |
-
#: cp_calculatedfieldsf_admin_int.php:548
|
423 |
Â
msgid "Message"
|
424 |
Â
msgstr ""
|
425 |
Â
|
426 |
-
#:
|
427 |
Â
msgid "Email Copy to User"
|
428 |
Â
msgstr ""
|
429 |
Â
|
430 |
-
#:
|
431 |
Â
msgid "Send confirmation/thank you message to user?"
|
432 |
Â
msgstr ""
|
433 |
Â
|
434 |
-
#:
|
435 |
Â
msgid "Email field on the form"
|
436 |
Â
msgstr ""
|
437 |
Â
|
438 |
-
#:
|
439 |
Â
msgid "Captcha Verification"
|
440 |
Â
msgstr ""
|
441 |
Â
|
442 |
-
#:
|
443 |
Â
msgid "Use Captcha Verification?"
|
444 |
Â
msgstr ""
|
445 |
Â
|
446 |
-
#:
|
447 |
Â
msgid "Width"
|
448 |
Â
msgstr ""
|
449 |
Â
|
450 |
-
#:
|
451 |
Â
msgid "Height"
|
452 |
Â
msgstr ""
|
453 |
Â
|
454 |
-
#:
|
455 |
Â
msgid "Chars"
|
456 |
Â
msgstr ""
|
457 |
Â
|
458 |
-
#:
|
459 |
Â
msgid "Min font size"
|
460 |
Â
msgstr ""
|
461 |
Â
|
462 |
-
#:
|
463 |
Â
msgid "Max font size"
|
464 |
Â
msgstr ""
|
465 |
Â
|
466 |
-
#:
|
467 |
Â
msgid "security code"
|
468 |
Â
msgstr ""
|
469 |
Â
|
470 |
-
#:
|
471 |
Â
msgid "Noise"
|
472 |
Â
msgstr ""
|
473 |
Â
|
474 |
-
#:
|
475 |
Â
msgid "Noise Length"
|
476 |
Â
msgstr ""
|
477 |
Â
|
478 |
-
#:
|
479 |
Â
msgid "Background"
|
480 |
Â
msgstr ""
|
481 |
Â
|
482 |
-
#:
|
483 |
Â
msgid "Font"
|
484 |
Â
msgstr ""
|
485 |
Â
|
486 |
-
#:
|
487 |
Â
msgid "Item added"
|
488 |
Â
msgstr ""
|
489 |
Â
|
490 |
-
#:
|
491 |
Â
msgid "Item updated"
|
492 |
Â
msgstr ""
|
493 |
Â
|
494 |
-
#:
|
495 |
Â
msgid "Item deleted"
|
496 |
Â
msgstr ""
|
497 |
Â
|
498 |
-
#:
|
499 |
Â
msgid "Item duplicated/cloned"
|
500 |
Â
msgstr ""
|
501 |
Â
|
502 |
-
#:
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
503 |
Â
msgid "Troubleshoot settings updated"
|
504 |
Â
msgstr ""
|
505 |
Â
|
506 |
-
#:
|
507 |
Â
msgid "Are you sure that you want to delete this item?"
|
508 |
Â
msgstr ""
|
509 |
Â
|
510 |
-
#:
|
511 |
Â
msgid "Are you sure that you want to update these settings?"
|
512 |
Â
msgstr ""
|
513 |
Â
|
514 |
-
#:
|
515 |
Â
msgid "Form List / Items List"
|
516 |
Â
msgstr ""
|
517 |
Â
|
518 |
-
#:
|
519 |
Â
msgid "ID"
|
520 |
Â
msgstr ""
|
521 |
Â
|
522 |
-
#:
|
523 |
Â
msgid "Form Name"
|
524 |
Â
msgstr ""
|
525 |
Â
|
526 |
-
#:
|
527 |
Â
msgid "Options"
|
528 |
Â
msgstr ""
|
529 |
Â
|
530 |
-
#:
|
531 |
Â
msgid "Shortcode"
|
532 |
Â
msgstr ""
|
533 |
Â
|
534 |
-
#:
|
535 |
Â
msgid "Update"
|
536 |
Â
msgstr ""
|
537 |
Â
|
538 |
-
#:
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
539 |
Â
msgid "Messages"
|
540 |
Â
msgstr ""
|
541 |
Â
|
542 |
-
#:
|
543 |
Â
msgid "Clone"
|
544 |
Â
msgstr ""
|
545 |
Â
|
546 |
-
#:
|
547 |
Â
msgid "Delete"
|
548 |
Â
msgstr ""
|
549 |
Â
|
550 |
-
#:
|
551 |
Â
msgid "New Form"
|
552 |
Â
msgstr ""
|
553 |
Â
|
554 |
-
#:
|
555 |
Â
msgid "Item Name"
|
556 |
Â
msgstr ""
|
557 |
Â
|
558 |
-
#:
|
559 |
Â
msgid "Troubleshoot Area & General Settings"
|
560 |
Â
msgstr ""
|
561 |
Â
|
562 |
-
#:
|
563 |
Â
msgid ""
|
564 |
Â
"<strong>Important!</strong>: Use this area <strong>only</strong> if you are "
|
565 |
Â
"experiencing conflicts with third party plugins, with the theme scripts or "
|
566 |
Â
"with the character encoding."
|
567 |
Â
msgstr ""
|
568 |
Â
|
569 |
-
#:
|
570 |
Â
msgid "Script load method"
|
571 |
Â
msgstr ""
|
572 |
Â
|
573 |
-
#:
|
574 |
Â
msgid "Classic (Recommended)"
|
575 |
Â
msgstr ""
|
576 |
Â
|
577 |
-
#:
|
578 |
Â
msgid "Direct"
|
579 |
Â
msgstr ""
|
580 |
Â
|
581 |
-
#:
|
582 |
Â
msgid ""
|
583 |
Â
"* Change the script load method if the form doesn't appear in the public "
|
584 |
Â
"website."
|
585 |
Â
msgstr ""
|
586 |
Â
|
587 |
-
#:
|
588 |
Â
msgid "Character encoding"
|
589 |
Â
msgstr ""
|
590 |
Â
|
591 |
-
#:
|
592 |
Â
msgid "Keep current charset (Recommended)"
|
593 |
Â
msgstr ""
|
594 |
Â
|
595 |
-
#:
|
596 |
Â
msgid "try this first"
|
597 |
Â
msgstr ""
|
598 |
Â
|
599 |
-
#:
|
600 |
Â
msgid "Only from MySQL 5.5"
|
601 |
Â
msgstr ""
|
602 |
Â
|
603 |
-
#:
|
604 |
Â
msgid ""
|
605 |
Â
"* Update the charset if you are getting problems displaying special/non-"
|
606 |
Â
"latin characters. After updated you need to edit the special characters "
|
607 |
Â
"again."
|
608 |
Â
msgstr ""
|
609 |
Â
|
610 |
-
#:
|
611 |
Â
msgid "Activate Javascript Cache"
|
612 |
Â
msgstr ""
|
613 |
Â
|
614 |
-
#:
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
615 |
Â
msgid "Do not load the forms with crawlers"
|
616 |
Â
msgstr ""
|
617 |
Â
|
618 |
-
#:
|
619 |
Â
msgid "* The forms are not loaded when website is being indexed by searchers."
|
620 |
Â
msgstr ""
|
621 |
Â
|
622 |
-
#:
|
623 |
Â
msgid "UPDATE"
|
624 |
Â
msgstr ""
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
Â
msgid ""
|
2 |
Â
msgstr ""
|
3 |
Â
"Project-Id-Version: \n"
|
4 |
+
"POT-Creation-Date: 2020-05-19 01:03+0200\n"
|
5 |
+
"PO-Revision-Date: 2020-05-19 01:03+0200\n"
|
6 |
+
"Last-Translator: CodePeople\n"
|
7 |
Â
"Language-Team: \n"
|
8 |
Â
"Language: en_US\n"
|
9 |
Â
"MIME-Version: 1.0\n"
|
10 |
Â
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
Â
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"X-Generator: Poedit 2.3.1\n"
|
13 |
Â
"X-Poedit-Basepath: ..\n"
|
14 |
Â
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
15 |
Â
"X-Poedit-KeywordsList: __;_e;esc_attr__;esc_attr_e\n"
|
16 |
Â
"X-Poedit-SearchPath-0: .\n"
|
17 |
Â
|
18 |
+
#: cp_calculatedfieldsf_free.php:73
|
19 |
+
msgid "Form Preview"
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
20 |
Â
msgstr ""
|
21 |
Â
|
22 |
+
#: cp_calculatedfieldsf_free.php:108
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
23 |
Â
msgid ""
|
24 |
Â
"<div class=\"error-text\">The data cannot be stored in database because has "
|
25 |
Â
"occurred an error with the database structure. Please, go to the plugins "
|
26 |
Â
"section and Deactivate/Activate the plugin to be sure the structure of "
|
27 |
Â
"database has been checked, and corrected if needed. If the issue persist, "
|
28 |
+
"please <a href=\"https://cff.dwbooster.com/contact-us\">contact us</a></div>"
|
Â
|
|
29 |
Â
msgstr ""
|
30 |
Â
|
31 |
+
#: cp_calculatedfieldsf_free.php:124
|
32 |
Â
msgid ""
|
33 |
Â
"<div class=\"error-text\">The data cannot be stored in database because has "
|
34 |
Â
"occurred an error with the form structure. Please, try to save the data "
|
35 |
Â
"again. If have been copied and pasted data from external text editors, the "
|
36 |
Â
"data can contain invalid characters. If the issue persist, please <a href="
|
37 |
+
"\"https://cff.dwbooster.com/contact-us\">contact us</a></div>"
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
38 |
Â
msgstr ""
|
39 |
Â
|
40 |
+
#: inc/cpcff_admin_int.inc.php:32
|
41 |
Â
msgid "Settings saved"
|
42 |
Â
msgstr ""
|
43 |
Â
|
44 |
+
#: inc/cpcff_admin_int.inc.php:46 inc/cpcff_admin_int_list.inc.php:94
|
45 |
+
#: inc/cpcff_page_builders.inc.php:155
|
46 |
+
#: pagebuilders/beaverbuilder/cff/cff/cff.php:9
|
47 |
+
#: pagebuilders/beaverbuilder/cff/cff/cff.php:11
|
48 |
+
#: pagebuilders/beaverbuilder/cff/cff/cff.php:12
|
49 |
+
#: pagebuilders/beaverbuilder/cffvar/cffvar/cffvar.php:11
|
50 |
+
#: pagebuilders/beaverbuilder/cffvar/cffvar/cffvar.php:12
|
51 |
+
#: pagebuilders/elementor/elementor.pb.php:42
|
52 |
Â
msgid "Calculated Fields Form"
|
53 |
Â
msgstr ""
|
54 |
Â
|
55 |
+
#: inc/cpcff_admin_int.inc.php:46
|
56 |
+
msgid "Form"
|
57 |
+
msgstr ""
|
58 |
+
|
59 |
+
#: inc/cpcff_admin_int.inc.php:53
|
60 |
+
msgid "Direct form URL"
|
61 |
+
msgstr ""
|
62 |
+
|
63 |
+
#: inc/cpcff_admin_int.inc.php:56
|
64 |
Â
msgid "Back to items list..."
|
65 |
Â
msgstr ""
|
66 |
Â
|
67 |
+
#: inc/cpcff_admin_int.inc.php:66 inc/cpcff_admin_int.inc.php:221
|
68 |
Â
msgid "Form Settings"
|
69 |
Â
msgstr ""
|
70 |
Â
|
71 |
+
#: inc/cpcff_admin_int.inc.php:68
|
72 |
Â
msgid ""
|
73 |
Â
"* Different form styles available on the tab Form Settings >> Form "
|
74 |
Â
"Template"
|
75 |
Â
msgstr ""
|
76 |
Â
|
77 |
+
#: inc/cpcff_admin_int.inc.php:71
|
78 |
Â
msgid "Form Builder"
|
79 |
Â
msgstr ""
|
80 |
Â
|
81 |
+
#: inc/cpcff_admin_int.inc.php:73
|
82 |
+
msgid "Revisions"
|
83 |
+
msgstr ""
|
84 |
+
|
85 |
+
#: inc/cpcff_admin_int.inc.php:77
|
86 |
+
msgid "Select a revision"
|
87 |
+
msgstr ""
|
88 |
+
|
89 |
+
#: inc/cpcff_admin_int.inc.php:87 inc/cpcff_admin_int.inc.php:241
|
90 |
+
#: inc/cpcff_admin_int.inc.php:608
|
91 |
+
msgid "Preview"
|
92 |
+
msgstr ""
|
93 |
+
|
94 |
+
#: inc/cpcff_admin_int.inc.php:98
|
95 |
Â
msgid ""
|
96 |
Â
"If the form is not loading in the public website, go to the settings page of "
|
97 |
Â
"the plugin through the menu option: \"Settings/Calculated Fields Form\", "
|
99 |
Â
"press the \"Update\" button."
|
100 |
Â
msgstr ""
|
101 |
Â
|
102 |
+
#: inc/cpcff_admin_int.inc.php:98
|
103 |
Â
msgid ""
|
104 |
Â
"If you need also the form to be sent to the server side for processing (for "
|
105 |
+
"example to deliver emails) then the <a href=\"https://cff.dwbooster.com/\" "
|
106 |
Â
"target=\"_blank\">Professional or Developer versions</a> of the plugin will "
|
107 |
Â
"be required."
|
108 |
Â
msgstr ""
|
109 |
Â
|
110 |
+
#: inc/cpcff_admin_int.inc.php:122
|
111 |
+
msgid ""
|
112 |
+
"The action will load the revision selected, the data are not stored will be "
|
113 |
+
"lose. Do you want continue?"
|
114 |
+
msgstr ""
|
115 |
+
|
116 |
+
#: inc/cpcff_admin_int.inc.php:140
|
117 |
Â
msgid ""
|
118 |
Â
"These features aren't available in this version. Do you want to open the "
|
119 |
Â
"plugin's page to check other versions?"
|
120 |
Â
msgstr ""
|
121 |
Â
|
122 |
+
#: inc/cpcff_admin_int.inc.php:219
|
123 |
Â
msgid "Add a Field"
|
124 |
Â
msgstr ""
|
125 |
Â
|
126 |
+
#: inc/cpcff_admin_int.inc.php:220
|
127 |
Â
msgid "Field Settings"
|
128 |
Â
msgstr ""
|
129 |
Â
|
130 |
+
#: inc/cpcff_admin_int.inc.php:240 inc/cpcff_admin_int.inc.php:352
|
131 |
+
#: inc/cpcff_admin_int.inc.php:648
|
Â
|
|
132 |
Â
msgid "Save Changes"
|
133 |
Â
msgstr ""
|
134 |
Â
|
135 |
+
#: inc/cpcff_admin_int.inc.php:242
|
136 |
+
msgid "Generate revisions in the form preview as well"
|
Â
|
|
137 |
Â
msgstr ""
|
138 |
Â
|
139 |
+
#: inc/cpcff_admin_int.inc.php:246
|
140 |
Â
msgid "Define Texts"
|
141 |
Â
msgstr ""
|
142 |
Â
|
143 |
+
#: inc/cpcff_admin_int.inc.php:250
|
144 |
Â
msgid "Previous button label (text)"
|
145 |
Â
msgstr ""
|
146 |
Â
|
147 |
+
#: inc/cpcff_admin_int.inc.php:254
|
148 |
Â
msgid "Next button label (text)"
|
149 |
Â
msgstr ""
|
150 |
Â
|
151 |
+
#: inc/cpcff_admin_int.inc.php:259
|
152 |
Â
msgid ""
|
153 |
Â
"- The styles can be applied into any of the CSS files of your theme or into "
|
154 |
Â
"the CSS file <em>\"calculated-fields-form\\css\\stylepublic.css\"</em>."
|
155 |
Â
msgstr ""
|
156 |
Â
|
157 |
+
#: inc/cpcff_admin_int.inc.php:260
|
158 |
Â
msgid ""
|
159 |
Â
"- For general CSS styles modifications to the form and samples <a href="
|
160 |
+
"\"https://cff.dwbooster.com/faq#q82\" target=\"_blank\">check this FAQ</a>."
|
161 |
Â
msgstr ""
|
162 |
Â
|
163 |
+
#: inc/cpcff_admin_int.inc.php:282
|
164 |
Â
msgid "Validation Settings"
|
165 |
Â
msgstr ""
|
166 |
Â
|
167 |
+
#: inc/cpcff_admin_int.inc.php:286
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
168 |
Â
msgid "\"is required\" text"
|
169 |
Â
msgstr ""
|
170 |
Â
|
171 |
+
#: inc/cpcff_admin_int.inc.php:290
|
172 |
Â
msgid "\"is email\" text"
|
173 |
Â
msgstr ""
|
174 |
Â
|
175 |
+
#: inc/cpcff_admin_int.inc.php:294
|
176 |
Â
msgid "\"is valid captcha\" text"
|
177 |
Â
msgstr ""
|
178 |
Â
|
179 |
+
#: inc/cpcff_admin_int.inc.php:299
|
180 |
Â
msgid "\"is valid date (mm/dd/yyyy)\" text"
|
181 |
Â
msgstr ""
|
182 |
Â
|
183 |
+
#: inc/cpcff_admin_int.inc.php:303
|
184 |
Â
msgid "\"is valid date (dd/mm/yyyy)\" text"
|
185 |
Â
msgstr ""
|
186 |
Â
|
187 |
+
#: inc/cpcff_admin_int.inc.php:307
|
188 |
Â
msgid "\"is number\" text"
|
189 |
Â
msgstr ""
|
190 |
Â
|
191 |
+
#: inc/cpcff_admin_int.inc.php:311
|
192 |
Â
msgid "\"only digits\" text"
|
193 |
Â
msgstr ""
|
194 |
Â
|
195 |
+
#: inc/cpcff_admin_int.inc.php:315
|
196 |
Â
msgid "\"under maximum\" text"
|
197 |
Â
msgstr ""
|
198 |
Â
|
199 |
+
#: inc/cpcff_admin_int.inc.php:319
|
200 |
Â
msgid "\"over minimum\" text"
|
201 |
Â
msgstr ""
|
202 |
Â
|
203 |
+
#: inc/cpcff_admin_int.inc.php:342
|
204 |
Â
msgid "Note"
|
205 |
Â
msgstr ""
|
206 |
Â
|
207 |
+
#: inc/cpcff_admin_int.inc.php:344
|
208 |
Â
msgid "To insert this form in a post/page, use the dedicated icon"
|
209 |
Â
msgstr ""
|
210 |
Â
|
211 |
+
#: inc/cpcff_admin_int.inc.php:345 inc/cpcff_main.inc.php:241
|
212 |
+
msgid "Insert Calculated Fields Form"
|
213 |
+
msgstr ""
|
214 |
+
|
215 |
+
#: inc/cpcff_admin_int.inc.php:346
|
216 |
Â
msgid ""
|
217 |
Â
"which has been added to your Upload/Insert Menu, just below the title of "
|
218 |
Â
"your Post/Page."
|
219 |
Â
msgstr ""
|
220 |
Â
|
221 |
+
#: inc/cpcff_admin_int.inc.php:355 inc/cpcff_admin_int.inc.php:651
|
222 |
+
#: inc/cpcff_admin_int_list.inc.php:255
|
Â
|
|
223 |
Â
msgid "Request Custom Modifications"
|
224 |
Â
msgstr ""
|
225 |
Â
|
226 |
+
#: inc/cpcff_admin_int.inc.php:355 inc/cpcff_admin_int.inc.php:651
|
227 |
+
#: inc/cpcff_admin_int_list.inc.php:255 inc/cpcff_main.inc.php:224
|
228 |
+
msgid "Help"
|
229 |
+
msgstr ""
|
230 |
+
|
231 |
+
#: inc/cpcff_admin_int.inc.php:359
|
232 |
Â
msgid ""
|
233 |
+
"The following settings are available only in the <a href=\"https://cff."
|
234 |
Â
"dwbooster.com/\">pro version</a>"
|
235 |
Â
msgstr ""
|
236 |
Â
|
237 |
+
#: inc/cpcff_admin_int.inc.php:361
|
238 |
Â
msgid "Form Processing and Payment Settings"
|
239 |
Â
msgstr ""
|
240 |
Â
|
241 |
+
#: inc/cpcff_admin_int.inc.php:365
|
242 |
Â
msgid "Payment Settings"
|
243 |
Â
msgstr ""
|
244 |
Â
|
245 |
+
#: inc/cpcff_admin_int.inc.php:370
|
246 |
Â
msgid "Request cost"
|
247 |
Â
msgstr ""
|
248 |
Â
|
249 |
+
#: inc/cpcff_admin_int.inc.php:375
|
250 |
Â
msgid "Currency"
|
251 |
Â
msgstr ""
|
252 |
Â
|
253 |
+
#: inc/cpcff_admin_int.inc.php:380
|
254 |
Â
msgid "Base amount"
|
255 |
Â
msgstr ""
|
256 |
Â
|
257 |
+
#: inc/cpcff_admin_int.inc.php:381
|
258 |
Â
msgid ""
|
259 |
Â
"Minimum amount to charge. If the final price is lesser than this number, the "
|
260 |
Â
"base amount will be applied."
|
261 |
Â
msgstr ""
|
262 |
Â
|
263 |
+
#: inc/cpcff_admin_int.inc.php:386
|
264 |
Â
msgid "Paypal product name"
|
265 |
Â
msgstr ""
|
266 |
Â
|
267 |
+
#: inc/cpcff_admin_int.inc.php:391
|
268 |
Â
msgid "Discount Codes"
|
269 |
Â
msgstr ""
|
270 |
Â
|
271 |
+
#: inc/cpcff_admin_int.inc.php:393
|
272 |
Â
msgid "This feature isn't available in this version."
|
273 |
Â
msgstr ""
|
274 |
Â
|
275 |
+
#: inc/cpcff_admin_int.inc.php:396
|
276 |
Â
msgid "Add new discount code"
|
277 |
Â
msgstr ""
|
278 |
Â
|
279 |
+
#: inc/cpcff_admin_int.inc.php:398
|
280 |
Â
msgid "Code"
|
281 |
Â
msgstr ""
|
282 |
Â
|
283 |
+
#: inc/cpcff_admin_int.inc.php:399
|
284 |
Â
msgid "Discount"
|
285 |
Â
msgstr ""
|
286 |
Â
|
287 |
+
#: inc/cpcff_admin_int.inc.php:400
|
288 |
Â
msgid "Percent"
|
289 |
Â
msgstr ""
|
290 |
Â
|
291 |
+
#: inc/cpcff_admin_int.inc.php:401
|
292 |
Â
msgid "Fixed Value"
|
293 |
Â
msgstr ""
|
294 |
Â
|
295 |
+
#: inc/cpcff_admin_int.inc.php:404
|
296 |
Â
msgid "Valid until"
|
297 |
Â
msgstr ""
|
298 |
Â
|
299 |
+
#: inc/cpcff_admin_int.inc.php:405 inc/cpcff_admin_int_list.inc.php:204
|
Â
|
|
300 |
Â
msgid "Add"
|
301 |
Â
msgstr ""
|
302 |
Â
|
303 |
+
#: inc/cpcff_admin_int.inc.php:407
|
304 |
Â
msgid "Note: Expiration date based in server time. Server time now is"
|
305 |
Â
msgstr ""
|
306 |
Â
|
307 |
+
#: inc/cpcff_admin_int.inc.php:415
|
308 |
Â
msgid "Paypal Payment Configuration"
|
309 |
Â
msgstr ""
|
310 |
Â
|
311 |
+
#: inc/cpcff_admin_int.inc.php:420
|
312 |
Â
msgid "Enable Paypal Payments?"
|
313 |
Â
msgstr ""
|
314 |
Â
|
315 |
+
#: inc/cpcff_admin_int.inc.php:422 inc/cpcff_admin_int.inc.php:510
|
316 |
+
#: inc/cpcff_admin_int.inc.php:547 inc/cpcff_admin_int.inc.php:588
|
317 |
+
msgid "No"
|
318 |
+
msgstr ""
|
319 |
+
|
320 |
+
#: inc/cpcff_admin_int.inc.php:424
|
321 |
+
msgid ""
|
322 |
+
"Note: If \"Optional\" is selected, a radiobutton will appear in the form to "
|
323 |
+
"select if the payment will be made with PayPal or not."
|
324 |
+
msgstr ""
|
325 |
+
|
326 |
+
#: inc/cpcff_admin_int.inc.php:426
|
327 |
+
msgid "Label for the \"<strong>Pay with PayPal</strong>\" option"
|
328 |
+
msgstr ""
|
329 |
+
|
330 |
+
#: inc/cpcff_admin_int.inc.php:432
|
331 |
Â
msgid "Paypal Mode"
|
332 |
Â
msgstr ""
|
333 |
Â
|
334 |
+
#: inc/cpcff_admin_int.inc.php:434
|
335 |
Â
msgid "Production - real payments processed"
|
336 |
Â
msgstr ""
|
337 |
Â
|
338 |
+
#: inc/cpcff_admin_int.inc.php:435
|
339 |
Â
msgid "SandBox - PayPal testing sandbox area"
|
340 |
Â
msgstr ""
|
341 |
Â
|
342 |
+
#: inc/cpcff_admin_int.inc.php:441
|
343 |
Â
msgid "Paypal email"
|
344 |
Â
msgstr ""
|
345 |
Â
|
346 |
+
#: inc/cpcff_admin_int.inc.php:446
|
347 |
Â
msgid "A $0 amount to pay means"
|
348 |
Â
msgstr ""
|
349 |
Â
|
350 |
+
#: inc/cpcff_admin_int.inc.php:448
|
351 |
Â
msgid "Let the user enter any amount at PayPal (ex: for a donation)"
|
352 |
Â
msgstr ""
|
353 |
Â
|
354 |
+
#: inc/cpcff_admin_int.inc.php:449
|
355 |
Â
msgid "Don't require any payment. Form is submitted skiping the PayPal page."
|
356 |
Â
msgstr ""
|
357 |
Â
|
358 |
+
#: inc/cpcff_admin_int.inc.php:455
|
359 |
Â
msgid "Paypal language"
|
360 |
Â
msgstr ""
|
361 |
Â
|
362 |
+
#: inc/cpcff_admin_int.inc.php:460
|
363 |
Â
msgid "Payment frequency"
|
364 |
Â
msgstr ""
|
365 |
Â
|
366 |
+
#: inc/cpcff_admin_int.inc.php:464
|
367 |
Â
msgid "One time payment (default option, user is billed only once)"
|
368 |
Â
msgstr ""
|
369 |
Â
|
370 |
+
#: inc/cpcff_admin_int.inc.php:465
|
371 |
Â
msgid "Bill the user every 1 month"
|
372 |
Â
msgstr ""
|
373 |
Â
|
374 |
+
#: inc/cpcff_admin_int.inc.php:466
|
375 |
Â
msgid "Bill the user every 3 months"
|
376 |
Â
msgstr ""
|
377 |
Â
|
378 |
+
#: inc/cpcff_admin_int.inc.php:467
|
379 |
Â
msgid "Bill the user every 6 months"
|
380 |
Â
msgstr ""
|
381 |
Â
|
382 |
+
#: inc/cpcff_admin_int.inc.php:468
|
383 |
Â
msgid "Bill the user every 12 months"
|
384 |
Â
msgstr ""
|
385 |
Â
|
386 |
+
#: inc/cpcff_admin_int.inc.php:473
|
387 |
+
msgid "Paypal prompt buyers for shipping address"
|
388 |
+
msgstr ""
|
389 |
+
|
390 |
+
#: inc/cpcff_admin_int.inc.php:477
|
391 |
+
msgid "Do not prompt for an address"
|
392 |
+
msgstr ""
|
393 |
+
|
394 |
+
#: inc/cpcff_admin_int.inc.php:478
|
395 |
+
msgid "Prompt for an address, but do not require one"
|
396 |
+
msgstr ""
|
397 |
+
|
398 |
+
#: inc/cpcff_admin_int.inc.php:479
|
399 |
+
msgid "Prompt for an address and require one"
|
400 |
+
msgstr ""
|
401 |
+
|
402 |
+
#: inc/cpcff_admin_int.inc.php:489
|
403 |
Â
msgid "Form Processing / Email Settings"
|
404 |
Â
msgstr ""
|
405 |
Â
|
406 |
+
#: inc/cpcff_admin_int.inc.php:493
|
407 |
Â
msgid "\"From\" email"
|
408 |
Â
msgstr ""
|
409 |
Â
|
410 |
+
#: inc/cpcff_admin_int.inc.php:494
|
411 |
+
msgid ""
|
412 |
+
"This email is required if the \"From fixed email address\" option is "
|
413 |
+
"selected, or it is enabled the email copy to the user."
|
414 |
+
msgstr ""
|
415 |
+
|
416 |
+
#: inc/cpcff_admin_int.inc.php:497
|
417 |
Â
msgid "Destination emails (comma separated)"
|
418 |
Â
msgstr ""
|
419 |
Â
|
420 |
+
#: inc/cpcff_admin_int.inc.php:501 inc/cpcff_admin_int.inc.php:556
|
Â
|
|
421 |
Â
msgid "Email subject"
|
422 |
Â
msgstr ""
|
423 |
Â
|
424 |
+
#: inc/cpcff_admin_int.inc.php:505
|
425 |
Â
msgid "Include additional information?"
|
426 |
Â
msgstr ""
|
427 |
Â
|
428 |
+
#: inc/cpcff_admin_int.inc.php:509 inc/cpcff_admin_int.inc.php:546
|
429 |
+
#: inc/cpcff_admin_int.inc.php:587
|
430 |
+
msgid "Yes"
|
431 |
+
msgstr ""
|
432 |
+
|
433 |
+
#: inc/cpcff_admin_int.inc.php:511
|
434 |
+
msgid ""
|
435 |
+
"If the \"No\" option is selected the plugin won't capture the IP address of "
|
436 |
+
"users."
|
437 |
Â
msgstr ""
|
438 |
Â
|
439 |
+
#: inc/cpcff_admin_int.inc.php:515
|
440 |
Â
msgid "Thank you page (after sending the message)"
|
441 |
Â
msgstr ""
|
442 |
Â
|
443 |
+
#: inc/cpcff_admin_int.inc.php:519 inc/cpcff_admin_int.inc.php:560
|
Â
|
|
444 |
Â
msgid "Email format?"
|
445 |
Â
msgstr ""
|
446 |
Â
|
447 |
+
#: inc/cpcff_admin_int.inc.php:523 inc/cpcff_admin_int.inc.php:564
|
Â
|
|
448 |
Â
msgid "Plain Text (default)"
|
449 |
Â
msgstr ""
|
450 |
Â
|
451 |
+
#: inc/cpcff_admin_int.inc.php:524 inc/cpcff_admin_int.inc.php:565
|
Â
|
|
452 |
Â
msgid "HTML (use html in the textarea below)"
|
453 |
Â
msgstr ""
|
454 |
Â
|
455 |
+
#: inc/cpcff_admin_int.inc.php:529 inc/cpcff_admin_int.inc.php:570
|
Â
|
|
456 |
Â
msgid "Message"
|
457 |
Â
msgstr ""
|
458 |
Â
|
459 |
+
#: inc/cpcff_admin_int.inc.php:538
|
460 |
Â
msgid "Email Copy to User"
|
461 |
Â
msgstr ""
|
462 |
Â
|
463 |
+
#: inc/cpcff_admin_int.inc.php:542
|
464 |
Â
msgid "Send confirmation/thank you message to user?"
|
465 |
Â
msgstr ""
|
466 |
Â
|
467 |
+
#: inc/cpcff_admin_int.inc.php:552
|
468 |
Â
msgid "Email field on the form"
|
469 |
Â
msgstr ""
|
470 |
Â
|
471 |
+
#: inc/cpcff_admin_int.inc.php:579
|
472 |
Â
msgid "Captcha Verification"
|
473 |
Â
msgstr ""
|
474 |
Â
|
475 |
+
#: inc/cpcff_admin_int.inc.php:583
|
476 |
Â
msgid "Use Captcha Verification?"
|
477 |
Â
msgstr ""
|
478 |
Â
|
479 |
+
#: inc/cpcff_admin_int.inc.php:594
|
480 |
Â
msgid "Width"
|
481 |
Â
msgstr ""
|
482 |
Â
|
483 |
+
#: inc/cpcff_admin_int.inc.php:596
|
484 |
Â
msgid "Height"
|
485 |
Â
msgstr ""
|
486 |
Â
|
487 |
+
#: inc/cpcff_admin_int.inc.php:598
|
488 |
Â
msgid "Chars"
|
489 |
Â
msgstr ""
|
490 |
Â
|
491 |
+
#: inc/cpcff_admin_int.inc.php:603
|
492 |
Â
msgid "Min font size"
|
493 |
Â
msgstr ""
|
494 |
Â
|
495 |
+
#: inc/cpcff_admin_int.inc.php:605
|
496 |
Â
msgid "Max font size"
|
497 |
Â
msgstr ""
|
498 |
Â
|
499 |
+
#: inc/cpcff_admin_int.inc.php:610
|
500 |
Â
msgid "security code"
|
501 |
Â
msgstr ""
|
502 |
Â
|
503 |
+
#: inc/cpcff_admin_int.inc.php:616
|
504 |
Â
msgid "Noise"
|
505 |
Â
msgstr ""
|
506 |
Â
|
507 |
+
#: inc/cpcff_admin_int.inc.php:618
|
508 |
Â
msgid "Noise Length"
|
509 |
Â
msgstr ""
|
510 |
Â
|
511 |
+
#: inc/cpcff_admin_int.inc.php:623
|
512 |
Â
msgid "Background"
|
513 |
Â
msgstr ""
|
514 |
Â
|
515 |
+
#: inc/cpcff_admin_int.inc.php:630
|
516 |
Â
msgid "Font"
|
517 |
Â
msgstr ""
|
518 |
Â
|
519 |
+
#: inc/cpcff_admin_int_list.inc.php:21
|
520 |
Â
msgid "Item added"
|
521 |
Â
msgstr ""
|
522 |
Â
|
523 |
+
#: inc/cpcff_admin_int_list.inc.php:27
|
524 |
Â
msgid "Item updated"
|
525 |
Â
msgstr ""
|
526 |
Â
|
527 |
+
#: inc/cpcff_admin_int_list.inc.php:33
|
528 |
Â
msgid "Item deleted"
|
529 |
Â
msgstr ""
|
530 |
Â
|
531 |
+
#: inc/cpcff_admin_int_list.inc.php:37
|
532 |
Â
msgid "Item duplicated/cloned"
|
533 |
Â
msgstr ""
|
534 |
Â
|
535 |
+
#: inc/cpcff_admin_int_list.inc.php:38
|
536 |
+
msgid "Duplicate/Clone Error, the form cannot be cloned"
|
537 |
+
msgstr ""
|
538 |
+
|
539 |
+
#: inc/cpcff_admin_int_list.inc.php:86
|
540 |
Â
msgid "Troubleshoot settings updated"
|
541 |
Â
msgstr ""
|
542 |
Â
|
543 |
+
#: inc/cpcff_admin_int_list.inc.php:140
|
544 |
Â
msgid "Are you sure that you want to delete this item?"
|
545 |
Â
msgstr ""
|
546 |
Â
|
547 |
+
#: inc/cpcff_admin_int_list.inc.php:148
|
548 |
Â
msgid "Are you sure that you want to update these settings?"
|
549 |
Â
msgstr ""
|
550 |
Â
|
551 |
+
#: inc/cpcff_admin_int_list.inc.php:163
|
552 |
Â
msgid "Form List / Items List"
|
553 |
Â
msgstr ""
|
554 |
Â
|
555 |
+
#: inc/cpcff_admin_int_list.inc.php:168
|
556 |
Â
msgid "ID"
|
557 |
Â
msgstr ""
|
558 |
Â
|
559 |
+
#: inc/cpcff_admin_int_list.inc.php:168
|
560 |
Â
msgid "Form Name"
|
561 |
Â
msgstr ""
|
562 |
Â
|
563 |
+
#: inc/cpcff_admin_int_list.inc.php:168
|
564 |
Â
msgid "Options"
|
565 |
Â
msgstr ""
|
566 |
Â
|
567 |
+
#: inc/cpcff_admin_int_list.inc.php:168
|
568 |
Â
msgid "Shortcode"
|
569 |
Â
msgstr ""
|
570 |
Â
|
571 |
+
#: inc/cpcff_admin_int_list.inc.php:182
|
572 |
Â
msgid "Update"
|
573 |
Â
msgstr ""
|
574 |
Â
|
575 |
+
#: inc/cpcff_admin_int_list.inc.php:183 inc/cpcff_main.inc.php:222
|
576 |
+
msgid "Settings"
|
577 |
+
msgstr ""
|
578 |
+
|
579 |
+
#: inc/cpcff_admin_int_list.inc.php:184
|
580 |
Â
msgid "Messages"
|
581 |
Â
msgstr ""
|
582 |
Â
|
583 |
+
#: inc/cpcff_admin_int_list.inc.php:185
|
584 |
Â
msgid "Clone"
|
585 |
Â
msgstr ""
|
586 |
Â
|
587 |
+
#: inc/cpcff_admin_int_list.inc.php:186
|
588 |
Â
msgid "Delete"
|
589 |
Â
msgstr ""
|
590 |
Â
|
591 |
+
#: inc/cpcff_admin_int_list.inc.php:199
|
592 |
Â
msgid "New Form"
|
593 |
Â
msgstr ""
|
594 |
Â
|
595 |
+
#: inc/cpcff_admin_int_list.inc.php:203
|
596 |
Â
msgid "Item Name"
|
597 |
Â
msgstr ""
|
598 |
Â
|
599 |
+
#: inc/cpcff_admin_int_list.inc.php:211
|
600 |
Â
msgid "Troubleshoot Area & General Settings"
|
601 |
Â
msgstr ""
|
602 |
Â
|
603 |
+
#: inc/cpcff_admin_int_list.inc.php:222
|
604 |
Â
msgid ""
|
605 |
Â
"<strong>Important!</strong>: Use this area <strong>only</strong> if you are "
|
606 |
Â
"experiencing conflicts with third party plugins, with the theme scripts or "
|
607 |
Â
"with the character encoding."
|
608 |
Â
msgstr ""
|
609 |
Â
|
610 |
+
#: inc/cpcff_admin_int_list.inc.php:223
|
611 |
Â
msgid "Script load method"
|
612 |
Â
msgstr ""
|
613 |
Â
|
614 |
+
#: inc/cpcff_admin_int_list.inc.php:225
|
615 |
Â
msgid "Classic (Recommended)"
|
616 |
Â
msgstr ""
|
617 |
Â
|
618 |
+
#: inc/cpcff_admin_int_list.inc.php:226
|
619 |
Â
msgid "Direct"
|
620 |
Â
msgstr ""
|
621 |
Â
|
622 |
+
#: inc/cpcff_admin_int_list.inc.php:228
|
623 |
Â
msgid ""
|
624 |
Â
"* Change the script load method if the form doesn't appear in the public "
|
625 |
Â
"website."
|
626 |
Â
msgstr ""
|
627 |
Â
|
628 |
+
#: inc/cpcff_admin_int_list.inc.php:230
|
629 |
Â
msgid "Character encoding"
|
630 |
Â
msgstr ""
|
631 |
Â
|
632 |
+
#: inc/cpcff_admin_int_list.inc.php:232
|
633 |
Â
msgid "Keep current charset (Recommended)"
|
634 |
Â
msgstr ""
|
635 |
Â
|
636 |
+
#: inc/cpcff_admin_int_list.inc.php:233
|
637 |
Â
msgid "try this first"
|
638 |
Â
msgstr ""
|
639 |
Â
|
640 |
+
#: inc/cpcff_admin_int_list.inc.php:234
|
641 |
Â
msgid "Only from MySQL 5.5"
|
642 |
Â
msgstr ""
|
643 |
Â
|
644 |
+
#: inc/cpcff_admin_int_list.inc.php:237
|
645 |
Â
msgid ""
|
646 |
Â
"* Update the charset if you are getting problems displaying special/non-"
|
647 |
Â
"latin characters. After updated you need to edit the special characters "
|
648 |
Â
"again."
|
649 |
Â
msgstr ""
|
650 |
Â
|
651 |
+
#: inc/cpcff_admin_int_list.inc.php:240
|
652 |
Â
msgid "Activate Javascript Cache"
|
653 |
Â
msgstr ""
|
654 |
Â
|
655 |
+
#: inc/cpcff_admin_int_list.inc.php:242
|
656 |
+
msgid "Allows to access the forms directly"
|
657 |
+
msgstr ""
|
658 |
+
|
659 |
+
#: inc/cpcff_admin_int_list.inc.php:244
|
660 |
+
msgid "Allows to access the forms from amp pages"
|
661 |
+
msgstr ""
|
662 |
+
|
663 |
+
#: inc/cpcff_admin_int_list.inc.php:246
|
664 |
Â
msgid "Do not load the forms with crawlers"
|
665 |
Â
msgstr ""
|
666 |
Â
|
667 |
+
#: inc/cpcff_admin_int_list.inc.php:246
|
668 |
Â
msgid "* The forms are not loaded when website is being indexed by searchers."
|
669 |
Â
msgstr ""
|
670 |
Â
|
671 |
+
#: inc/cpcff_admin_int_list.inc.php:248
|
672 |
Â
msgid "UPDATE"
|
673 |
Â
msgstr ""
|
674 |
+
|
675 |
+
#: inc/cpcff_admin_int_list.inc.php:255 inc/cpcff_main.inc.php:223
|
676 |
+
msgid "Upgrade"
|
677 |
+
msgstr ""
|
678 |
+
|
679 |
+
#: inc/cpcff_compatibility.inc.php:20
|
680 |
+
msgid ""
|
681 |
+
"There is active the <b>Fast Velocity Minify</b> plugin. If the forms are not "
|
682 |
+
"visible, please try disabling the <i>\"Disable minification on JS files\"</"
|
683 |
+
"i> or <i>\"Disable JavaScript processing\"</i> options in the <b>Fast "
|
684 |
+
"Velocity Minify</b> settings."
|
685 |
+
msgstr ""
|
686 |
+
|
687 |
+
#: inc/cpcff_compatibility.inc.php:26
|
688 |
+
msgid ""
|
689 |
+
"There is active the <b>Autoptimize</b> plugin. If the forms are not visible, "
|
690 |
+
"please try disabling the <i>\"Force JavaScript in <head>\"</i> option "
|
691 |
+
"in the <b>Autoptimize</b> settings, or remove the jQuery file from the <i>"
|
692 |
+
"\"Exclude scripts from Autoptimize\"</i> one."
|
693 |
+
msgstr ""
|
694 |
+
|
695 |
+
#: inc/cpcff_compatibility.inc.php:32
|
696 |
+
msgid ""
|
697 |
+
"There is active the <b>LiteSpeed Cache</b> plugin. If the forms are not "
|
698 |
+
"visible, please try disabling the <i>\"JS Combine\"</i> option in the "
|
699 |
+
"<b>Optimize</b> tab of <b>LiteSpeed Cache</b> settings."
|
700 |
+
msgstr ""
|
701 |
+
|
702 |
+
#: inc/cpcff_compatibility.inc.php:38
|
703 |
+
msgid ""
|
704 |
+
"There is active the <b>WP Rocket</b> plugin. If the forms are not visible, "
|
705 |
+
"please try disabling the <i>\"Combine JavaScript files\"</i> option in the "
|
706 |
+
"<b>FILE OPTIMIZATION</b> tab of <b>WP Rocket</b> settings, and remember to "
|
707 |
+
"clear the website cache."
|
708 |
+
msgstr ""
|
709 |
+
|
710 |
+
#: inc/cpcff_compatibility.inc.php:44
|
711 |
+
msgid ""
|
712 |
+
"There is active the <b>SG Optimizer</b> plugin. If the forms are not "
|
713 |
+
"visible, please try disabling the options: <i>\"Minify the HTML Output\"</i> "
|
714 |
+
"and <i>\"Minify JavaScript Files\"</i> in the <b>SG Optimizer</b> settings, "
|
715 |
+
"and remember to purge the website cache."
|
716 |
+
msgstr ""
|
717 |
+
|
718 |
+
#: inc/cpcff_main.inc.php:221
|
719 |
+
msgid "Request custom changes"
|
720 |
+
msgstr ""
|
721 |
+
|
722 |
+
#: inc/cpcff_main.inc.php:241
|
723 |
+
msgid "Create a JavaScript var from POST, GET, SESSION, or COOKIE var"
|
724 |
+
msgstr ""
|
725 |
+
|
726 |
+
#: inc/cpcff_page_builders.inc.php:95
|
727 |
+
#: pagebuilders/elementor/elementor.pb.php:59
|
728 |
+
msgid "Select a form"
|
729 |
+
msgstr ""
|
730 |
+
|
731 |
+
#: inc/cpcff_page_builders.inc.php:96
|
732 |
+
msgid "Forms"
|
733 |
+
msgstr ""
|
734 |
+
|
735 |
+
#: inc/cpcff_page_builders.inc.php:97
|
736 |
+
#: pagebuilders/beaverbuilder/cff/cff.inc.php:37
|
737 |
+
#: pagebuilders/elementor/elementor.pb.php:70
|
738 |
+
msgid "Additional attributes"
|
739 |
+
msgstr ""
|
740 |
+
|
741 |
+
#: pagebuilders/beaverbuilder/cff/cff.inc.php:20
|
742 |
+
msgid "Select the form and enter the additional attributes"
|
743 |
+
msgstr ""
|
744 |
+
|
745 |
+
#: pagebuilders/beaverbuilder/cff/cff.inc.php:23
|
746 |
+
msgid "Form information"
|
747 |
+
msgstr ""
|
748 |
+
|
749 |
+
#: pagebuilders/beaverbuilder/cff/cff.inc.php:27
|
750 |
+
msgid "Select form"
|
751 |
+
msgstr ""
|
752 |
+
|
753 |
+
#: pagebuilders/beaverbuilder/cff/cff.inc.php:33
|
754 |
+
msgid "Class name"
|
755 |
+
msgstr ""
|
756 |
+
|
757 |
+
#: pagebuilders/beaverbuilder/cff/cff/cff.php:10
|
758 |
+
msgid "Inserts a form"
|
759 |
+
msgstr ""
|
760 |
+
|
761 |
+
#: pagebuilders/beaverbuilder/cffvar/cffvar.inc.php:8
|
762 |
+
msgid "Generate variable"
|
763 |
+
msgstr ""
|
764 |
+
|
765 |
+
#: pagebuilders/beaverbuilder/cffvar/cffvar.inc.php:11
|
766 |
+
msgid "Variable attributes"
|
767 |
+
msgstr ""
|
768 |
+
|
769 |
+
#: pagebuilders/beaverbuilder/cffvar/cffvar.inc.php:15
|
770 |
+
msgid "Enter the variable name"
|
771 |
+
msgstr ""
|
772 |
+
|
773 |
+
#: pagebuilders/beaverbuilder/cffvar/cffvar.inc.php:20
|
774 |
+
msgid "Enter the default value"
|
775 |
+
msgstr ""
|
776 |
+
|
777 |
+
#: pagebuilders/beaverbuilder/cffvar/cffvar.inc.php:24
|
778 |
+
#: pagebuilders/siteorigin/siteorigin-cpcff-variable/siteorigin-cpcff-variable.php:29
|
779 |
+
msgid "Generate variable from"
|
780 |
+
msgstr ""
|
781 |
+
|
782 |
+
#: pagebuilders/beaverbuilder/cffvar/cffvar.inc.php:26
|
783 |
+
msgid "Directly"
|
784 |
+
msgstr ""
|
785 |
+
|
786 |
+
#: pagebuilders/beaverbuilder/cffvar/cffvar.inc.php:27
|
787 |
+
msgid "GET parameters"
|
788 |
+
msgstr ""
|
789 |
+
|
790 |
+
#: pagebuilders/beaverbuilder/cffvar/cffvar.inc.php:28
|
791 |
+
msgid "POST parameters"
|
792 |
+
msgstr ""
|
793 |
+
|
794 |
+
#: pagebuilders/beaverbuilder/cffvar/cffvar.inc.php:29
|
795 |
+
msgid "SESSION variables"
|
796 |
+
msgstr ""
|
797 |
+
|
798 |
+
#: pagebuilders/beaverbuilder/cffvar/cffvar.inc.php:30
|
799 |
+
msgid "COOKIES variables"
|
800 |
+
msgstr ""
|
801 |
+
|
802 |
+
#: pagebuilders/beaverbuilder/cffvar/cffvar/cffvar.php:9
|
803 |
+
msgid "Create variable"
|
804 |
+
msgstr ""
|
805 |
+
|
806 |
+
#: pagebuilders/beaverbuilder/cffvar/cffvar/cffvar.php:10
|
807 |
+
msgid "Create javascript variable"
|
808 |
+
msgstr ""
|
809 |
+
|
810 |
+
#: pagebuilders/elementor/elementor.pb.php:166
|
811 |
+
msgid "Variable Shortcode"
|
812 |
+
msgstr ""
|
813 |
+
|
814 |
+
#: pagebuilders/elementor/elementor.pb.php:173
|
815 |
+
msgid "Variable shortcode"
|
816 |
+
msgstr ""
|
817 |
+
|
818 |
+
#: pagebuilders/elementor/elementor.pb.php:178
|
819 |
+
msgid "I need help [+]"
|
820 |
+
msgstr ""
|
821 |
+
|
822 |
+
#: pagebuilders/siteorigin/siteorigin-cpcff-variable/siteorigin-cpcff-variable.php:14
|
823 |
+
msgid "Calculated Fields Form, Variable Shortcode"
|
824 |
+
msgstr ""
|
825 |
+
|
826 |
+
#: pagebuilders/siteorigin/siteorigin-cpcff-variable/siteorigin-cpcff-variable.php:16
|
827 |
+
msgid ""
|
828 |
+
"Shortcode to generate a javascript variable from the url parameters (GET or "
|
829 |
+
"POST), session variables, cookies, or define it directly"
|
830 |
+
msgstr ""
|
831 |
+
|
832 |
+
#: pagebuilders/siteorigin/siteorigin-cpcff-variable/siteorigin-cpcff-variable.php:24
|
833 |
+
msgid "Variable name"
|
834 |
+
msgstr ""
|
835 |
+
|
836 |
+
#: pagebuilders/siteorigin/siteorigin-cpcff-variable/siteorigin-cpcff-variable.php:32
|
837 |
+
msgid "Any source"
|
838 |
+
msgstr ""
|
839 |
+
|
840 |
+
#: pagebuilders/siteorigin/siteorigin-cpcff-variable/siteorigin-cpcff-variable.php:33
|
841 |
+
msgid "GET parameter"
|
842 |
+
msgstr ""
|
843 |
+
|
844 |
+
#: pagebuilders/siteorigin/siteorigin-cpcff-variable/siteorigin-cpcff-variable.php:34
|
845 |
+
msgid "POST parameter"
|
846 |
+
msgstr ""
|
847 |
+
|
848 |
+
#: pagebuilders/siteorigin/siteorigin-cpcff-variable/siteorigin-cpcff-variable.php:35
|
849 |
+
msgid "Session variable"
|
850 |
+
msgstr ""
|
851 |
+
|
852 |
+
#: pagebuilders/siteorigin/siteorigin-cpcff-variable/siteorigin-cpcff-variable.php:36
|
853 |
+
msgid "Cookie"
|
854 |
+
msgstr ""
|
855 |
+
|
856 |
+
#: pagebuilders/siteorigin/siteorigin-cpcff-variable/siteorigin-cpcff-variable.php:41
|
857 |
+
msgid "Default value (used when variables are generated from a source)"
|
858 |
+
msgstr ""
|
859 |
+
|
860 |
+
#: pagebuilders/siteorigin/siteorigin-cpcff-variable/siteorigin-cpcff-variable.php:46
|
861 |
+
msgid "Value (value of the variable when it is generated directly)"
|
862 |
+
msgstr ""
|
863 |
+
|
864 |
+
#: pagebuilders/siteorigin/siteorigin-cpcff/siteorigin-cpcff.php:24
|
865 |
+
msgid "Calculated Fields Form Shortcode"
|
866 |
+
msgstr ""
|
867 |
+
|
868 |
+
#: pagebuilders/siteorigin/siteorigin-cpcff/siteorigin-cpcff.php:26
|
869 |
+
msgid "Includes the shortcode for inserting a form"
|
870 |
+
msgstr ""
|
871 |
+
|
872 |
+
#: pagebuilders/siteorigin/siteorigin-cpcff/siteorigin-cpcff.php:34
|
873 |
+
msgid "Form to include"
|
874 |
+
msgstr ""
|
875 |
+
|
876 |
+
#: pagebuilders/siteorigin/siteorigin-cpcff/siteorigin-cpcff.php:40
|
877 |
+
msgid "Enter a class name to be assigned to the form (optional)"
|
878 |
+
msgstr ""
|
879 |
+
|
880 |
+
#: pagebuilders/siteorigin/siteorigin-cpcff/siteorigin-cpcff.php:44
|
881 |
+
msgid ""
|
882 |
+
"Pass additional attributes to the form. Ex: attr_name=\"attr_value"
|
883 |
+
"\" (optional)"
|
884 |
+
msgstr ""
|
pagebuilders/divi/cff.js
ADDED
@@ -0,0 +1 @@
|
|
Â
|
1 |
+
!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="/",r(r.s=0)}([function(e,t,r){r(1),e.exports=r(2)},function(e,t,r){"use strict"},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(3),o=r.n(n),i=r(4);o()(window).on("et_builder_api_ready",function(e,t){t.registerModules(i.a)})},function(e,t){e.exports=jQuery},function(e,t,r){"use strict";var n=r(5);t.a=[n.a]},function(e,t,r){"use strict";var n=r(6),o=r.n(n);function i(e){return(i="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function c(e,t){return!t||"object"!==i(t)&&"function"!==typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}var f=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),c(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}var r,i,f;return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,n["Component"]),r=t,(i=[{key:"render",value:function(){var e="cff_form_id"in this.props?parseInt(this.props.cff_form_id):0,t="cff_class_name"in this.props?this.props.cff_class_name.replace(/[^a-z0-9\-_\s]/g," ").replace(/^\s+/,"").replace(/\s+$/,""):"",r="cff_attributes"in this.props?this.props.cff_attributes.replace(/^\s+/,"").replace(/\s+$/,""):"",n="";return!isNaN(e)&&e&&(n+='[CP_CALCULATED_FIELDS id="'+e+'"',""!==t&&(n+=' class="'+t+'"'),""!==r&&(n+=" "+r),n+="]"),o.a.createElement("div",null,n)}}])&&u(r.prototype,i),f&&u(r,f),t}();Object.defineProperty(f,"slug",{configurable:!0,enumerable:!0,writable:!0,value:"cff_divi"}),t.a=f},function(e,t){e.exports=React}]);
|
pagebuilders/divi/cff.pb.php
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
Â
class CFF_DIVI extends ET_Builder_Module
|
3 |
Â
{
|
4 |
Â
|
5 |
-
public $slug = '
|
6 |
-
public $vb_support = '
|
7 |
Â
|
8 |
Â
public function init()
|
9 |
Â
{
|
@@ -31,7 +31,7 @@ class CFF_DIVI extends ET_Builder_Module
|
|
31 |
Â
}
|
32 |
Â
|
33 |
Â
return array(
|
34 |
-
'
|
35 |
Â
'label' => esc_html__( 'Select form', 'calculated-fields-form' ),
|
36 |
Â
'type' => 'select',
|
37 |
Â
'options' => $options,
|
@@ -40,13 +40,13 @@ class CFF_DIVI extends ET_Builder_Module
|
|
40 |
Â
'description' => esc_html__( 'Select the form.', 'calculated-fields-form' ),
|
41 |
Â
'toggle_slug' => 'main_content',
|
42 |
Â
),
|
43 |
-
'
|
44 |
Â
'label' => esc_html__( 'Class name', 'calculated-fields-form' ),
|
45 |
Â
'type' => 'text',
|
46 |
Â
'option_category' => 'basic_option',
|
47 |
Â
'toggle_slug' => 'main_content',
|
48 |
Â
),
|
49 |
-
'
|
50 |
Â
'label' => esc_html__( 'Additional attributes', 'calculated-fields-form' ),
|
51 |
Â
'type' => 'text',
|
52 |
Â
'option_category' => 'basic_option',
|
@@ -59,14 +59,14 @@ class CFF_DIVI extends ET_Builder_Module
|
|
59 |
Â
public function render($unprocessed_props, $content = null, $render_slug)
|
60 |
Â
{
|
61 |
Â
$output = '';
|
62 |
-
$form = @intval($this->props['
|
63 |
Â
if(!empty($form))
|
64 |
Â
{
|
65 |
Â
$output = '[CP_CALCULATED_FIELDS id="'.$form.'"';
|
66 |
-
$class_name = sanitize_text_field($this->props['
|
67 |
Â
if(!empty($class_name)) $output .= ' class="'.esc_attr($class_name).'"';
|
68 |
Â
|
69 |
-
$attributes = sanitize_text_field($this->props['
|
70 |
Â
if(!empty($attributes)) $output .= ' '.$attributes;
|
71 |
Â
|
72 |
Â
$output .= ']';
|
2 |
Â
class CFF_DIVI extends ET_Builder_Module
|
3 |
Â
{
|
4 |
Â
|
5 |
+
public $slug = 'cff_divi';
|
6 |
+
public $vb_support = 'on';
|
7 |
Â
|
8 |
Â
public function init()
|
9 |
Â
{
|
31 |
Â
}
|
32 |
Â
|
33 |
Â
return array(
|
34 |
+
'cff_form_id' => array(
|
35 |
Â
'label' => esc_html__( 'Select form', 'calculated-fields-form' ),
|
36 |
Â
'type' => 'select',
|
37 |
Â
'options' => $options,
|
40 |
Â
'description' => esc_html__( 'Select the form.', 'calculated-fields-form' ),
|
41 |
Â
'toggle_slug' => 'main_content',
|
42 |
Â
),
|
43 |
+
'cff_class_name' => array(
|
44 |
Â
'label' => esc_html__( 'Class name', 'calculated-fields-form' ),
|
45 |
Â
'type' => 'text',
|
46 |
Â
'option_category' => 'basic_option',
|
47 |
Â
'toggle_slug' => 'main_content',
|
48 |
Â
),
|
49 |
+
'cff_attributes' => array(
|
50 |
Â
'label' => esc_html__( 'Additional attributes', 'calculated-fields-form' ),
|
51 |
Â
'type' => 'text',
|
52 |
Â
'option_category' => 'basic_option',
|
59 |
Â
public function render($unprocessed_props, $content = null, $render_slug)
|
60 |
Â
{
|
61 |
Â
$output = '';
|
62 |
+
$form = @intval($this->props['cff_form_id']);
|
63 |
Â
if(!empty($form))
|
64 |
Â
{
|
65 |
Â
$output = '[CP_CALCULATED_FIELDS id="'.$form.'"';
|
66 |
+
$class_name = sanitize_text_field($this->props['cff_class_name']);
|
67 |
Â
if(!empty($class_name)) $output .= ' class="'.esc_attr($class_name).'"';
|
68 |
Â
|
69 |
+
$attributes = sanitize_text_field($this->props['cff_attributes']);
|
70 |
Â
if(!empty($attributes)) $output .= ' '.$attributes;
|
71 |
Â
|
72 |
Â
$output .= ']';
|
pagebuilders/elementor/elementor.pb.php
CHANGED
@@ -104,7 +104,7 @@ class Elementor_CFF_Widget extends Widget_Base
|
|
104 |
Â
foreach($atts as $i => $v)
|
105 |
Â
{
|
106 |
Â
if(is_numeric($i)) continue;
|
107 |
-
if($i == 'id') $url .= '&cff-form';
|
108 |
Â
else $url .= '&'.urlencode(sanitize_text_field($i));
|
109 |
Â
$url .= '='.urlencode(sanitize_text_field($v));
|
110 |
Â
}
|
104 |
Â
foreach($atts as $i => $v)
|
105 |
Â
{
|
106 |
Â
if(is_numeric($i)) continue;
|
107 |
+
if($i == 'id') $url .= '&cff-amp-form';
|
108 |
Â
else $url .= '&'.urlencode(sanitize_text_field($i));
|
109 |
Â
$url .= '='.urlencode(sanitize_text_field($v));
|
110 |
Â
}
|
pagebuilders/gutenberg/assets/js/gutenberg.js
CHANGED
@@ -2,7 +2,7 @@ jQuery(function()
|
|
2 |
Â
{
|
3 |
Â
(function( blocks, element ) {
|
4 |
Â
var el = element.createElement,
|
5 |
-
InspectorControls = wp.editor.InspectorControls,
|
6 |
Â
category = {slug:'cp-calculated-fields-form', title : 'Calculated Fields Form'};
|
7 |
Â
|
8 |
Â
/* Plugin Category */
|
2 |
Â
{
|
3 |
Â
(function( blocks, element ) {
|
4 |
Â
var el = element.createElement,
|
5 |
+
InspectorControls = ('blockEditor' in wp) ? wp.blockEditor.InspectorControls : wp.editor.InspectorControls,
|
6 |
Â
category = {slug:'cp-calculated-fields-form', title : 'Calculated Fields Form'};
|
7 |
Â
|
8 |
Â
/* Plugin Category */
|
templates/07/thumbnail.jpg
CHANGED
Binary file
|
templates/08/thumbnail.jpg
CHANGED
Binary file
|
templates/09/thumbnail.jpg
CHANGED
Binary file
|
templates/10/thumbnail.jpg
CHANGED
Binary file
|
templates/11/thumbnail.jpg
CHANGED
Binary file
|
templates/12/thumbnail.jpg
CHANGED
Binary file
|
templates/13/config.ini
ADDED
@@ -0,0 +1,5 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
prefix="cp_cff_13"
|
2 |
+
file="style.css"
|
3 |
+
title="Template 13"
|
4 |
+
thumbnail="thumbnail.jpg"
|
5 |
+
description="Based on WP53 admin appearance (class: .cp_cff_13)"
|
templates/13/style.css
ADDED
@@ -0,0 +1,287 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
.cp_cff_13 #fbuilder * {
|
2 |
+
box-sizing: border-box;
|
3 |
+
-moz-box-sizing: border-box;
|
4 |
+
-webkit-box-sizing: border-box;
|
5 |
+
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
|
6 |
+
}
|
7 |
+
|
8 |
+
.cp_cff_13 #fbuilder .fform{margin-bottom:20px;}
|
9 |
+
.cp_cff_13 #fbuilder .fform span{font-size: 16px;color: #72777c;}
|
10 |
+
|
11 |
+
.cp_cff_13 #fbuilder h1,
|
12 |
+
.cp_cff_13 #fbuilder h2,
|
13 |
+
.cp_cff_13 #fbuilder h3{ font-size: 23px; font-weight: 600; line-height: 1.3; margin:0;}
|
14 |
+
|
15 |
+
.cp_cff_13 #fbuilder input,
|
16 |
+
.cp_cff_13 #fbuilder select,
|
17 |
+
.cp_cff_13 #fbuilder textarea,
|
18 |
+
.cp_cff_13 #fbuilder button {
|
19 |
+
font-family: inherit;
|
20 |
+
font-size: inherit;
|
21 |
+
font-weight: inherit;
|
22 |
+
}
|
23 |
+
|
24 |
+
.cp_cff_13 #fbuilder textarea,
|
25 |
+
.cp_cff_13 #fbuilder input {
|
26 |
+
font-size: 14px;
|
27 |
+
}
|
28 |
+
|
29 |
+
.cp_cff_13 #fbuilder textarea {
|
30 |
+
overflow: auto;
|
31 |
+
padding: 2px 6px;
|
32 |
+
line-height: 1.42857143;
|
33 |
+
resize: vertical;
|
34 |
+
}
|
35 |
+
|
36 |
+
.cp_cff_13 #fbuilder input[type="text"],
|
37 |
+
.cp_cff_13 #fbuilder input[type="password"],
|
38 |
+
.cp_cff_13 #fbuilder input[type="date"],
|
39 |
+
.cp_cff_13 #fbuilder input[type="datetime"],
|
40 |
+
.cp_cff_13 #fbuilder input[type="email"],
|
41 |
+
.cp_cff_13 #fbuilder input[type="number"],
|
42 |
+
.cp_cff_13 #fbuilder input[type="search"],
|
43 |
+
.cp_cff_13 #fbuilder input[type="tel"],
|
44 |
+
.cp_cff_13 #fbuilder input[type="time"],
|
45 |
+
.cp_cff_13 #fbuilder input[type="url"],
|
46 |
+
.cp_cff_13 #fbuilder input[type="week"],
|
47 |
+
.cp_cff_13 #fbuilder select,
|
48 |
+
.cp_cff_13 #fbuilder textarea {
|
49 |
+
box-shadow: 0 0 0 transparent;
|
50 |
+
border-radius: 4px;
|
51 |
+
border: 1px solid #7e8993;
|
52 |
+
background-color: #fff;
|
53 |
+
color: #32373c;
|
54 |
+
}
|
55 |
+
|
56 |
+
.cp_cff_13 #fbuilder input[type="text"],
|
57 |
+
.cp_cff_13 #fbuilder input[type="password"],
|
58 |
+
.cp_cff_13 #fbuilder input[type="date"],
|
59 |
+
.cp_cff_13 #fbuilder input[type="datetime"],
|
60 |
+
.cp_cff_13 #fbuilder input[type="email"],
|
61 |
+
.cp_cff_13 #fbuilder input[type="number"],
|
62 |
+
.cp_cff_13 #fbuilder input[type="search"],
|
63 |
+
.cp_cff_13 #fbuilder input[type="tel"],
|
64 |
+
.cp_cff_13 #fbuilder input[type="time"],
|
65 |
+
.cp_cff_13 #fbuilder input[type="url"],
|
66 |
+
.cp_cff_13 #fbuilder input[type="week"] {
|
67 |
+
padding: 0 8px;
|
68 |
+
line-height: 2;
|
69 |
+
min-height: 30px;
|
70 |
+
}
|
71 |
+
.cp_cff_13 #fbuilder input[type="number"]{padding: 0 0 0 8px;}
|
72 |
+
.cp_cff_13 #fbuilder input[type="text"]:focus,
|
73 |
+
.cp_cff_13 #fbuilder input[type="password"]:focus,
|
74 |
+
.cp_cff_13 #fbuilder input[type="color"]:focus,
|
75 |
+
.cp_cff_13 #fbuilder input[type="date"]:focus,
|
76 |
+
.cp_cff_13 #fbuilder input[type="datetime"]:focus,
|
77 |
+
.cp_cff_13 #fbuilder input[type="email"]:focus,
|
78 |
+
.cp_cff_13 #fbuilder input[type="number"]:focus,
|
79 |
+
.cp_cff_13 #fbuilder input[type="search"]:focus,
|
80 |
+
.cp_cff_13 #fbuilder input[type="tel"]:focus,
|
81 |
+
.cp_cff_13 #fbuilder input[type="time"]:focus,
|
82 |
+
.cp_cff_13 #fbuilder input[type="url"]:focus,
|
83 |
+
.cp_cff_13 #fbuilder input[type="week"]:focus,
|
84 |
+
.cp_cff_13 #fbuilder input[type="checkbox"]:focus,
|
85 |
+
.cp_cff_13 #fbuilder input[type="radio"]:focus,
|
86 |
+
.cp_cff_13 #fbuilder select:focus,
|
87 |
+
.cp_cff_13 #fbuilder textarea:focus {
|
88 |
+
border-color: #007cba;
|
89 |
+
box-shadow: 0 0 0 1px #007cba;
|
90 |
+
outline: 2px solid transparent;
|
91 |
+
}
|
92 |
+
.cp_cff_13 #fbuilder select{
|
93 |
+
border-color: #7e8993;
|
94 |
+
padding: 3px 24px 3px 8px;
|
95 |
+
min-height: 28px;
|
96 |
+
vertical-align: middle;
|
97 |
+
-webkit-appearance: none;
|
98 |
+
background: #fff url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E') no-repeat right 5px top 55%;
|
99 |
+
background-size: 16px 16px;
|
100 |
+
cursor: pointer;
|
101 |
+
}
|
102 |
+
|
103 |
+
.cp_cff_13 #fbuilder input[type="email"],
|
104 |
+
.cp_cff_13 #fbuilder input[type="url"] {
|
105 |
+
direction: ltr;
|
106 |
+
}
|
107 |
+
|
108 |
+
.cp_cff_13 #fbuilder input[type="checkbox"],
|
109 |
+
.cp_cff_13 #fbuilder input[type="radio"] {
|
110 |
+
border: 1px solid #7e8993;
|
111 |
+
border-radius: 4px;
|
112 |
+
background: #fff;
|
113 |
+
color: #555;
|
114 |
+
clear: none;
|
115 |
+
cursor: pointer;
|
116 |
+
display: inline-block;
|
117 |
+
line-height: 0;
|
118 |
+
height: 16px;
|
119 |
+
margin: -4px 4px 0 0;
|
120 |
+
outline: 0;
|
121 |
+
padding: 0 !important;
|
122 |
+
text-align: center;
|
123 |
+
vertical-align: middle;
|
124 |
+
width: 16px;
|
125 |
+
min-width: 16px;
|
126 |
+
-webkit-appearance: none !important;
|
127 |
+
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
128 |
+
transition: .05s border-color ease-in-out;
|
129 |
+
}
|
130 |
+
|
131 |
+
.cp_cff_13 #fbuilder input[type="reset"]:hover,
|
132 |
+
.cp_cff_13 #fbuilder input[type="reset"]:active {
|
133 |
+
color: #00a0d2;
|
134 |
+
}
|
135 |
+
|
136 |
+
.cp_cff_13 #fbuilder input[type="radio"] {
|
137 |
+
border-radius: 50%;
|
138 |
+
margin-right: 4px;
|
139 |
+
line-height: 0.71428571;
|
140 |
+
}
|
141 |
+
|
142 |
+
.cp_cff_13 #fbuilder input[type="checkbox"]:checked::before,
|
143 |
+
.cp_cff_13 #fbuilder input[type="radio"]:checked::before {
|
144 |
+
float: left;
|
145 |
+
display: inline-block;
|
146 |
+
vertical-align: middle;
|
147 |
+
width: 16px;
|
148 |
+
speak: none;
|
149 |
+
-webkit-font-smoothing: antialiased;
|
150 |
+
-moz-osx-font-smoothing: grayscale;
|
151 |
+
}
|
152 |
+
|
153 |
+
.cp_cff_13 #fbuilder input[type="checkbox"]:checked::before {
|
154 |
+
content: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20d%3D%27M14.83%204.89l1.34.94-5.81%208.38H9.02L5.78%209.67l1.34-1.25%202.57%202.4z%27%20fill%3D%27%231e8cbe%27%2F%3E%3C%2Fsvg%3E");
|
155 |
+
margin: -3px 0 0 -4px;
|
156 |
+
height: 21px;
|
157 |
+
width: 21px;
|
158 |
+
}
|
159 |
+
|
160 |
+
.cp_cff_13 #fbuilder input[type="radio"]:checked::before {
|
161 |
+
content: "";
|
162 |
+
border-radius: 50%;
|
163 |
+
width: 8px;
|
164 |
+
height: 8px;
|
165 |
+
margin: 3px;
|
166 |
+
background-color: #1e8cbe;
|
167 |
+
line-height: 1.14285714;
|
168 |
+
}
|
169 |
+
|
170 |
+
.cp_cff_13 #fbuilder input[readonly],
|
171 |
+
.cp_cff_13 #fbuilder textarea[readonly] {
|
172 |
+
background-color: #eee;
|
173 |
+
}
|
174 |
+
|
175 |
+
.cp_cff_13 #fbuilder input:disabled,
|
176 |
+
.cp_cff_13 #fbuilder select:disabled,
|
177 |
+
.cp_cff_13 #fbuilder textarea:disabled{
|
178 |
+
background: rgba(255, 255, 255, 0.5);
|
179 |
+
border-color: rgba(222, 222, 222, 0.75);
|
180 |
+
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04);
|
181 |
+
color: rgba(51, 51, 51, 0.5);
|
182 |
+
}
|
183 |
+
|
184 |
+
.cp_cff_13 #fbuilder input[type="file"]:disabled,
|
185 |
+
.cp_cff_13 #fbuilder input[type="range"]:disabled{
|
186 |
+
background: none;
|
187 |
+
box-shadow: none;
|
188 |
+
cursor: default;
|
189 |
+
}
|
190 |
+
|
191 |
+
.cp_cff_13 #fbuilder input[type="checkbox"]:disabled,
|
192 |
+
.cp_cff_13 #fbuilder input[type="radio"]:disabled,
|
193 |
+
.cp_cff_13 #fbuilder input[type="checkbox"]:disabled:checked:before,
|
194 |
+
.cp_cff_13 #fbuilder input[type="radio"]:disabled:checked:before{
|
195 |
+
opacity: 0.7;
|
196 |
+
}
|
197 |
+
|
198 |
+
.cp_cff_13 #fbuilder .large {width: 100%;}
|
199 |
+
|
200 |
+
@media screen and (min-width: 740px),print{
|
201 |
+
.cp_cff_13 #fbuilder .medium {width: 50%;}
|
202 |
+
.cp_cff_13 #fbuilder .small {width: 25%;}
|
203 |
+
}
|
204 |
+
|
205 |
+
@media screen and (max-width: 640px){
|
206 |
+
.cp_cff_13 #fbuilder .medium,
|
207 |
+
.cp_cff_13 #fbuilder .small {width: 100%;}
|
208 |
+
}
|
209 |
+
|
210 |
+
.cp_cff_13 #fbuilder .pbSubmit,
|
211 |
+
.cp_cff_13 #fbuilder .pbreak .pbPrevious,
|
212 |
+
.cp_cff_13 #fbuilder .pbreak .pbNext,
|
213 |
+
.cp_cff_13 #fbuilder input[type=submit],
|
214 |
+
.cp_cff_13 #fbuilder input[type=button],
|
215 |
+
.cp_cff_13 #fbuilder input[type=reset]{
|
216 |
+
display: inline-block;
|
217 |
+
text-decoration: none;
|
218 |
+
font-size: 13px;
|
219 |
+
line-height: 2;
|
220 |
+
min-height: 28px;
|
221 |
+
margin: 0;
|
222 |
+
padding: 0 10px;
|
223 |
+
cursor: pointer;
|
224 |
+
border-width: 1px;
|
225 |
+
border-style: solid;
|
226 |
+
-webkit-appearance: none;
|
227 |
+
border-radius: 3px;
|
228 |
+
white-space: nowrap;
|
229 |
+
box-sizing: border-box;
|
230 |
+
vertical-align: baseline;
|
231 |
+
background: #007cba;
|
232 |
+
border-color: #007cba;
|
233 |
+
color: #fff;
|
234 |
+
text-shadow: none;
|
235 |
+
}
|
236 |
+
|
237 |
+
.cp_cff_13 #fbuilder button::-moz-focus-inner,
|
238 |
+
.cp_cff_13 #fbuilder input[type="reset"]::-moz-focus-inner,
|
239 |
+
.cp_cff_13 #fbuilder input[type="button"]::-moz-focus-inner,
|
240 |
+
.cp_cff_13 #fbuilder input[type="submit"]::-moz-focus-inner {
|
241 |
+
border-width: 0;
|
242 |
+
border-style: none;
|
243 |
+
padding: 0;
|
244 |
+
}
|
245 |
+
|
246 |
+
.cp_cff_13 #fbuilder .pbSubmit:hover,
|
247 |
+
.cp_cff_13 #fbuilder .pbreak .pbPrevious:hover,
|
248 |
+
.cp_cff_13 #fbuilder .pbreak .pbNext:hover,
|
249 |
+
.cp_cff_13 #fbuilder input[type=submit]:hover,
|
250 |
+
.cp_cff_13 #fbuilder input[type=button]:hover,
|
251 |
+
.cp_cff_13 #fbuilder input[type=reset]:hover{
|
252 |
+
background: #0071a1;
|
253 |
+
border-color: #0071a1;
|
254 |
+
color: #fff;
|
255 |
+
}
|
256 |
+
.cp_cff_13 #fbuilder .pbEnd .pbNext,
|
257 |
+
.cp_cff_13 #fbuilder .pb0 .pbPrevious{display:none;}
|
258 |
+
|
259 |
+
.cp_cff_13 #fbuilder .r{color:#FF0000;}
|
260 |
+
.cp_cff_13 #fbuilder .ui-slider-handle{background:#007cba;border:2px solid #fff;border-radius:15px;height: 1em;width: 1em;}
|
261 |
+
.cp_cff_13 #fbuilder .dfield.slider-container{border-radius: 10px;}
|
262 |
+
.cp_cff_13 #fbuilder .slider{background: #ececec; border-radius: 10px;border:0;height: .3em;}
|
263 |
+
.cp_cff_13 #fbuilder .ui-slider-range{background: #007cba;}
|
264 |
+
|
265 |
+
.cp_cff_13 #fbuilder span.uh{
|
266 |
+
font-size: 11px;
|
267 |
+
font-style: italic;
|
268 |
+
}
|
269 |
+
|
270 |
+
.cp_cff_13 #fbuilder fieldset{
|
271 |
+
border:1px solid #dcdcdc;
|
272 |
+
border-radius: 3px;
|
273 |
+
}
|
274 |
+
|
275 |
+
.cp_cff_13 #fbuilder fieldset legend{
|
276 |
+
border:1px solid #dcdcdc;
|
277 |
+
border-radius: 3px;
|
278 |
+
}
|
279 |
+
|
280 |
+
.cp_cff_13 #fbuilder fieldset legend,
|
281 |
+
.cp_cff_13 #fbuilder .fields.section_breaks>label{color: #23282d;font-size: 1.3em; margin: 1em 0;}
|
282 |
+
.cp_cff_13 #fbuilder .fields.section_breaks .section_break{border:0;}
|
283 |
+
.cp_cff_13 #fbuilder .fields.section_breaks{}
|
284 |
+
|
285 |
+
.cp_cff_13 #fbuilder .fields>label{font-weight: 500;}
|
286 |
+
|
287 |
+
.cp_cff_13 #fbuilder .discount-container{margin-top:10px;font-weight:bold;}
|
templates/13/thumbnail.jpg
ADDED
Binary file
|