Version Description
- Fixes a conflict with the latest update of Divi.
Download this release
Release Info
Developer | codepeople |
Plugin | Calculated Fields Form |
Version | 1.0.463 |
Comparing to | |
See all releases |
Code changes from version 1.0.449 to 1.0.463
- README.txt +436 -441
- changelog.txt +73 -68
- cp_calculatedfieldsf_free.php +6 -2
- css/spinner.gif +0 -0
- css/stylepublic.css +2 -0
- feedback/cp-feedback.php +97 -0
- feedback/feedback.html +167 -0
- inc/cpcff_admin_int_list.inc.php +3 -1
- inc/cpcff_main.inc.php +10 -1
- inc/cpcff_public_int.inc.php +18 -5
- js/fbuilder-loader-public.php +8 -5
- js/fbuilder-pro-admin.jquery.js +8 -1
- js/fbuilder-pro-public.jquery.js +3 -1
- js/fields-admin/02_fbuilder.fslider.js +4 -1
- js/fields-admin/04_fbuilder.fdate.js +1 -1
- js/fields-admin/16_fbuilder.fsummary.js +3 -0
- js/fields-admin/fbuilder.fcalculated.js +4 -2
- js/fields-public/02_fbuilder.fnumber.js +12 -0
- js/fields-public/02_fbuilder.fslider.js +28 -7
- js/fields-public/04_fbuilder.fdate.js +17 -11
- js/fields-public/06_fbuilder.fcheck.js +6 -0
- js/fields-public/07_fbuilder.fradio.js +6 -0
- js/fields-public/08_fbuilder.fdropdown.js +10 -0
- js/fields-public/11_fbuilder.fphone.js +3 -4
- js/fields-public/16_fbuilder.fsummary.js +5 -3
- js/fields-public/fbuilder.fcalculated.js +19 -9
- js/modules/01_mathematical_logical/public/module_public.js +5 -5
- js/modules/05_managing_fields/public/05_managing_fields.js +2 -0
- js/modules/08_url/public/01_url.js +1 -1
- languages/calculated-fields-form-en_US.mo +0 -0
- languages/calculated-fields-form-en_US.po +55 -55
- pagebuilders/divi/cff.pb.php +1 -1
- pagebuilders/gutenberg/assets/js/gutenberg.js +100 -86
README.txt
CHANGED
@@ -3,52 +3,26 @@ 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
|
7 |
Stable tag: trunk
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
11 |
-
Calculated Fields Form
|
12 |
|
13 |
== Description ==
|
14 |
|
15 |
-
Calculated Fields Form
|
16 |
|
17 |
-
|
18 |
-
♦ Finance calculators
|
19 |
-
♦ Quote calculators
|
20 |
-
♦ Booking cost calculators
|
21 |
-
♦ Date calculators
|
22 |
-
♦ Health / fitness calculators
|
23 |
-
♦ Form builder for adding input fields on the form
|
24 |
-
♦ Add one or more calculated fields
|
25 |
-
♦ Predefined forms templates
|
26 |
|
27 |
-
|
28 |
|
29 |
-
|
30 |
|
31 |
-
|
32 |
|
33 |
-
|
34 |
-
|
35 |
-
* Visual **form builder** with multiple fields and form formatting options
|
36 |
-
* Any number of **calculated fields** can be added
|
37 |
-
* Easy and visual calculator interface
|
38 |
-
* The calculator supports both easy and advanced operations, including ternary operators and common Math functions
|
39 |
-
* Supports **multiple field types**, like drop-down, checkboxes, radiobuttons, dates, numbers
|
40 |
-
* Accept operations with dates (ex: days between two dates)
|
41 |
-
* Smart automatic number and prices identification into the field values
|
42 |
-
* Supports form separators and comments sections to layout the form in a friendlier way
|
43 |
-
* Manage multiple calculated forms
|
44 |
-
* Practical "clone" button to duplicate a form
|
45 |
-
* Five pre-built practical samples included
|
46 |
-
* Multi pages forms supported
|
47 |
-
* Conditional rules supported. Useful for creating wizards
|
48 |
-
* Intuitive and interactive form builder interface
|
49 |
-
* Predefined forms templates
|
50 |
-
|
51 |
-
The "Calculated Fields Form" plugin allows the specific integration with the following editors:
|
52 |
|
53 |
* Classic WordPress Editor.
|
54 |
* Gutenberg Editor.
|
@@ -57,21 +31,35 @@ The "Calculated Fields Form" plugin allows the specific integration with the fol
|
|
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 |
|
62 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
|
64 |
-
|
65 |
-
* Dependent fields from calculated values: Fields can be shown/hidden based on the value of a calculated field
|
66 |
-
* Throubleshoot area to automatically fix conflicts with other scripts on themes or third party plugins and also for special characters support
|
67 |
-
* Multi page calculated forms
|
68 |
-
* New validations, fields types and features in the form builder
|
69 |
-
* Calculated fields can be hidden fields.
|
70 |
-
* Includes new controls to create more versatile forms.
|
71 |
-
* Allows to create a cache of the javascript files to increase the website's performance.
|
72 |
-
* Allows to disable the forms when the website is visited by search engine spiders and crawlers, increasing the website's speed.
|
73 |
|
74 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
|
76 |
1. Simple Calculator Operations
|
77 |
2. Calculation with Dates (bookings with check-in and check-out dates)
|
@@ -79,138 +67,149 @@ There are five samples already included with the installation:
|
|
79 |
4. Pregnancy Calculator
|
80 |
5. Lease Calculator
|
81 |
|
82 |
-
|
83 |
-
|
84 |
-
You can **mix text and numbers** into a field. If a field contains a number it will be automatically identified and used for the calculations. In addition to that, the checkboxes, radio buttons and drop-down fields can have separately a visual "text" and a hidden "value" linked to each test: the value will be the one used for the calculation.
|
85 |
|
86 |
-
|
|
|
87 |
|
88 |
-
|
89 |
|
90 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
91 |
|
92 |
-
= Features
|
93 |
|
94 |
-
*
|
95 |
-
*
|
96 |
-
*
|
97 |
-
*
|
98 |
-
*
|
99 |
-
*
|
100 |
-
*
|
101 |
-
* Includes a dashboard widget to display the submissions of the last week
|
102 |
-
* Allows to store the forms in cache to increase the rendering speed
|
103 |
|
104 |
-
|
105 |
|
106 |
-
*
|
107 |
-
*
|
108 |
-
*
|
109 |
-
*
|
110 |
-
*
|
111 |
-
*
|
112 |
-
*
|
113 |
-
* Includes an add-on to define Server Side Equations.
|
114 |
-
* Includes an add-on to integrate the forms with the WooCommerce products
|
115 |
-
* Includes an add-on to integrate the forms with the SalesForce service
|
116 |
-
* Includes an add-on to post the submitted information by the forms to WebHooks URLs, allowing integrate the forms with services like Zapier, or Microsoft Flow. Both services: Zapier and Microsoft Flow, connect services as important and popular as Zoho CRM, Dropbox, Mailchimp, Evernote, Google Drive, Facebook, Twitter, and more than 300 services
|
117 |
-
* Includes an add-on to associate the information submitted with the users on website
|
118 |
-
* Includes the User Registration Form add-on to register new users in the website with the data collected by the form
|
119 |
-
* Includes an add-on to integrate the forms with Google reCAPTCHA, instead the captcha distributed with the plugin
|
120 |
|
121 |
-
= Features
|
122 |
|
123 |
* All features of free, premium, and developer versions of the plugin.
|
124 |
-
*
|
125 |
-
*
|
126 |
-
*
|
127 |
-
*
|
128 |
-
*
|
129 |
-
*
|
130 |
-
*
|
131 |
-
*
|
132 |
-
*
|
133 |
-
*
|
134 |
-
*
|
135 |
-
*
|
136 |
-
*
|
137 |
-
*
|
138 |
-
*
|
139 |
-
*
|
140 |
-
*
|
141 |
-
*
|
142 |
-
*
|
143 |
-
*
|
144 |
-
*
|
145 |
-
* Authorize.Net add-on
|
146 |
-
* Stripe add-on
|
147 |
-
* Skrill Payments Integration provides integration with Skrill Moneybookers payment gateway.
|
148 |
-
* TargetPay (iDeal) add-on provides integration with iDeal, the
|
149 |
-
* Mollie (iDeal) add-on
|
150 |
-
* RedSys / Servired / Sermepa add-on provides a secure interface for accepting credit card payments
|
151 |
-
* PayTM add-on provides a secure interface for accepting payments
|
152 |
-
* SagePay add-on provides a secure interface for accepting payments
|
153 |
-
* Sage Payment add-on provides a secure interface for accepting payments through a secure SSL checkout system for both bankcard and virtual check transactions.
|
154 |
-
|
155 |
-
|
|
|
156 |
|
157 |
== Other Notes ==
|
158 |
|
159 |
-
This section contains mainly notes about the form builder features that are too long to explain in the main description page.
|
160 |
|
161 |
-
|
|
|
|
|
162 |
|
163 |
-
|
164 |
|
165 |
-
|
166 |
|
167 |
-
|
168 |
|
169 |
-
|
170 |
|
171 |
-
|
172 |
|
173 |
-
|
174 |
|
|
|
175 |
|
176 |
-
= The "Instructions
|
177 |
|
178 |
-
|
179 |
|
180 |
-
=
|
181 |
|
182 |
-
|
183 |
|
184 |
-
|
185 |
|
186 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
187 |
|
188 |
column2
|
189 |
column3
|
190 |
column4
|
191 |
|
192 |
-
For example if you want to put two fields
|
193 |
-
|
194 |
-
The CSS classes/rules can be placed into the file "wp-content\plugins\calculated-fields-form\css\stylepublic.css" or into your theme CSS files.
|
195 |
|
|
|
196 |
|
197 |
-
|
198 |
|
199 |
-
|
200 |
|
|
|
201 |
|
202 |
-
|
203 |
|
204 |
-
|
205 |
|
|
|
206 |
|
207 |
-
= Equations / formulas
|
208 |
|
209 |
-
|
210 |
|
211 |
* With simple mathematical operations:
|
212 |
|
213 |
-
|
214 |
`fieldname1 + fieldname2`
|
215 |
|
216 |
`fieldname1 * fieldname2`
|
@@ -219,360 +218,368 @@ Here are some sample formulas that can be used as base:
|
|
219 |
|
220 |
`fieldname1 - fieldname2`
|
221 |
|
|
|
222 |
|
|
|
223 |
|
224 |
-
*
|
225 |
|
|
|
226 |
|
227 |
-
`
|
228 |
|
|
|
229 |
|
|
|
|
|
|
|
|
|
230 |
|
231 |
-
*
|
232 |
|
|
|
|
|
|
|
|
|
|
|
233 |
|
234 |
-
|
235 |
|
|
|
236 |
|
|
|
237 |
|
238 |
-
|
239 |
|
240 |
-
|
241 |
-
` if(fieldname3 > 100) return fieldname1+fieldname2;`
|
242 |
-
` if(fieldname3 <= 100) return fieldname1*fieldname2;`
|
243 |
-
`})();`
|
244 |
|
|
|
245 |
|
246 |
-
|
247 |
|
248 |
-
|
249 |
-
(function(){`
|
250 |
-
` var calculatedValue = 0;`
|
251 |
-
` //Your code here`
|
252 |
-
` return calculatedValue;`
|
253 |
-
`})();`
|
254 |
|
|
|
255 |
|
256 |
-
|
257 |
|
|
|
258 |
|
259 |
-
|
260 |
|
261 |
-
|
262 |
|
263 |
-
|
264 |
|
265 |
-
|
266 |
|
267 |
-
|
268 |
|
269 |
-
|
270 |
|
271 |
-
|
272 |
|
273 |
-
|
274 |
|
275 |
-
|
276 |
|
277 |
-
[
|
278 |
|
279 |
-
|
280 |
|
281 |
-
|
282 |
|
283 |
-
=
|
284 |
|
285 |
-
|
286 |
|
287 |
-
|
288 |
|
289 |
-
|
290 |
|
291 |
-
|
292 |
|
293 |
-
|
|
|
|
|
|
|
|
|
294 |
|
295 |
-
|
296 |
|
297 |
-
|
298 |
|
299 |
-
|
300 |
|
301 |
-
|
302 |
|
303 |
-
|
304 |
|
305 |
-
=
|
306 |
|
307 |
-
The
|
308 |
|
309 |
-
|
310 |
|
311 |
-
|
312 |
|
313 |
-
|
314 |
|
315 |
-
|
316 |
|
317 |
-
|
318 |
|
319 |
-
|
320 |
|
321 |
-
|
322 |
|
323 |
-
|
324 |
|
325 |
-
|
326 |
|
327 |
-
|
328 |
|
329 |
-
|
330 |
|
331 |
-
|
332 |
|
333 |
-
|
334 |
|
335 |
-
|
336 |
|
337 |
-
|
338 |
|
339 |
-
|
340 |
|
341 |
-
The
|
342 |
|
343 |
-
|
344 |
|
345 |
-
|
346 |
|
347 |
-
|
348 |
|
349 |
-
|
350 |
|
351 |
-
|
352 |
|
353 |
-
|
354 |
|
355 |
-
|
356 |
|
357 |
-
|
358 |
|
359 |
-
|
360 |
|
361 |
-
|
362 |
|
363 |
-
|
364 |
|
365 |
-
|
366 |
|
367 |
-
|
368 |
|
369 |
-
|
370 |
|
371 |
-
|
372 |
|
373 |
-
|
374 |
|
375 |
-
|
376 |
|
377 |
-
|
378 |
|
379 |
-
|
380 |
|
381 |
-
|
382 |
|
383 |
-
|
384 |
|
385 |
-
|
386 |
|
387 |
-
|
388 |
|
389 |
-
|
390 |
|
391 |
-
|
392 |
|
393 |
-
|
394 |
|
395 |
-
|
396 |
|
397 |
-
|
398 |
|
399 |
-
|
400 |
|
401 |
-
|
402 |
|
403 |
-
|
404 |
|
405 |
-
|
406 |
|
407 |
-
|
408 |
|
409 |
-
|
410 |
|
411 |
-
|
412 |
|
413 |
-
|
414 |
|
415 |
-
|
416 |
|
417 |
-
|
418 |
|
419 |
-
|
420 |
|
421 |
-
|
422 |
|
423 |
-
|
424 |
|
425 |
-
|
426 |
|
427 |
-
|
428 |
|
429 |
-
|
430 |
|
431 |
-
|
432 |
|
433 |
-
|
434 |
|
435 |
-
|
436 |
|
437 |
-
|
438 |
|
439 |
-
|
440 |
|
441 |
-
|
442 |
|
443 |
-
|
444 |
|
445 |
-
|
446 |
|
447 |
-
|
448 |
|
449 |
-
|
450 |
|
451 |
-
|
452 |
|
453 |
-
|
454 |
|
455 |
-
|
456 |
|
457 |
-
|
458 |
|
459 |
-
|
460 |
|
461 |
-
|
462 |
|
463 |
-
|
464 |
|
465 |
-
|
466 |
|
467 |
-
|
468 |
|
469 |
-
|
470 |
|
471 |
-
|
472 |
|
473 |
-
|
474 |
|
475 |
-
|
476 |
|
477 |
-
|
478 |
|
479 |
-
|
480 |
|
481 |
-
|
482 |
|
483 |
-
|
484 |
|
485 |
-
|
486 |
|
487 |
-
|
488 |
|
489 |
-
|
490 |
|
491 |
-
|
492 |
|
493 |
-
|
494 |
|
495 |
-
|
496 |
|
497 |
-
|
498 |
|
499 |
-
|
500 |
|
501 |
-
|
502 |
|
503 |
-
|
504 |
|
505 |
-
|
506 |
|
507 |
-
|
508 |
|
509 |
-
|
510 |
|
511 |
-
|
512 |
|
513 |
-
|
514 |
|
515 |
-
|
516 |
|
517 |
-
|
518 |
|
519 |
-
|
520 |
|
521 |
-
|
522 |
|
523 |
-
|
524 |
|
525 |
-
|
526 |
|
527 |
-
|
528 |
|
529 |
-
|
530 |
|
531 |
-
|
532 |
|
533 |
-
|
534 |
|
535 |
-
|
536 |
|
537 |
-
|
538 |
-
|
539 |
-
1. Download and unzip the Calculated Fields Form plugin
|
540 |
-
2. Upload the entire calculated-fields-form/ directory to the /wp-content/plugins/ directory
|
541 |
-
3. Activate the Calculated Fields Form plugin through the Plugins menu in WordPress
|
542 |
-
4. Configure the settings at the administration menu >> Settings >> Calculated Fields Form
|
543 |
-
5. To insert the calculated / contact form into some content or post use the icon that will appear when editing contents
|
544 |
|
545 |
== Frequently Asked Questions ==
|
546 |
|
547 |
= Q: Is the "Calculated Fields Form" plugin compatible with "Autoptimize"? =
|
548 |
|
549 |
-
A: [Yes,
|
550 |
|
551 |
= Q: Is the "Calculated Fields Form" plugin compatible with "Plugin Organizer"? =
|
552 |
|
553 |
-
A: [Yes,
|
554 |
-
|
555 |
-
= Q: What means each field in the Calculated Fields Form settings area? =
|
556 |
|
557 |
-
|
558 |
|
559 |
-
|
560 |
|
561 |
= Q: Where can I publish a calculated fields form? =
|
562 |
|
563 |
-
A: You can publish the forms into pages and posts. The shortcode can be also placed into the
|
|
|
|
|
564 |
|
565 |
-
|
566 |
|
567 |
-
|
568 |
|
569 |
-
= Q: Which calculation operations are
|
570 |
|
571 |
-
A: The Free and Professional versions of the plugin
|
572 |
|
573 |
= Q: How can I round the calculated result to 2 decimal digits? =
|
574 |
|
575 |
-
A: [
|
576 |
|
577 |
= Q: Which are the operations with date values that the plugin allows? =
|
578 |
|
@@ -584,64 +591,57 @@ A: [List and description of financial operations](http://cff.dwbooster.com/docum
|
|
584 |
|
585 |
= Q: How to calculate the payments amortization? =
|
586 |
|
587 |
-
A: The CALCULATEAMORTIZATION
|
588 |
|
589 |
[How calculate an amortization?](http://cff.dwbooster.com/faq#q219 "CALCULATEAMORTIZATION Operation")
|
590 |
|
591 |
= Q: Can I create global variables to be used in the equations? =
|
592 |
|
593 |
-
A: [Yes, it is possible create global javascript variables through the shortcode
|
594 |
|
595 |
= Q: How to populate the form fields with URL parameters? =
|
596 |
|
597 |
-
A:
|
598 |
|
599 |
= Q: How to use a session variable in the equations? =
|
600 |
|
601 |
-
A: Please, read the answer in the FAQ entry:
|
602 |
-
[Click Here](http://cff.dwbooster.com/faq#q268 "FAQ Entry")
|
603 |
|
604 |
= Q: How to use cookie variables in the equations? =
|
605 |
|
606 |
-
A: Please, read the answer in the FAQ entry:
|
607 |
-
[Click Here](http://cff.dwbooster.com/faq#q269 "FAQ Entry")
|
608 |
|
609 |
= Q: How to use a parameter passed by post in the equations? =
|
610 |
|
611 |
-
A: Please, read the answer in the FAQ entry:
|
612 |
-
[Click Here](http://cff.dwbooster.com/faq#q270 "FAQ Entry")
|
613 |
|
614 |
-
= Q: How to use a parameter passed by
|
615 |
|
616 |
-
A: Please, read the answer in the FAQ entry:
|
617 |
-
[Click Here](http://cff.dwbooster.com/faq#q271 "FAQ Entry")
|
618 |
|
619 |
-
= Q: If I've inserted multiple shortcodes for
|
620 |
|
621 |
-
A: Please, visit the following link to the plugin documentation
|
622 |
-
[Click Here](http://cff.dwbooster.com/documentation#direct-javascript-vars "Create direct variables")
|
623 |
|
624 |
-
= Q: How to
|
625 |
|
626 |
A: [Initializing date/time fields](http://cff.dwbooster.com/faq#q220 "FAQ Entry")
|
627 |
|
628 |
= Q: How to change the language on datepicker? =
|
629 |
|
630 |
-
A: There are different alternatives, directly through the form's structure
|
631 |
-
|
632 |
-
[How to change the language on datepicker?](http://cff.dwbooster.com/faq#q221 "FAQ Entry")
|
633 |
|
634 |
= Q: How to create relationships between date fields? =
|
635 |
|
636 |
-
A: It is possible define the min date, max date, or select a date dynamically
|
637 |
|
638 |
[Create relationships between date fields](http://cff.dwbooster.com/documentation#relationship-between-date-fields "Documentation")
|
639 |
|
640 |
-
= Q: Is there a way to format the form in a table structure (various fields in the same line)
|
641 |
|
642 |
-
A: Yes
|
643 |
|
644 |
-
= Q: How to convert a
|
645 |
|
646 |
A: To convert a button's field in a submit button, enter the following code as its onclick event:
|
647 |
|
@@ -656,11 +656,11 @@ Additionally, to hide the checkboxes and radio buttons, for using only the image
|
|
656 |
#fbuilder input[type="radio"],
|
657 |
#fbuilder input[type="checkbox"]{display:none !important;}
|
658 |
|
659 |
-
= Q: How to replace the image displayed in a Media
|
660 |
|
661 |
-
A: [How to replace the image displayed in a Media Field](http://cff.dwbooster.com/faq#q266 "FAQ Entry")
|
662 |
|
663 |
-
= Q: In which order
|
664 |
|
665 |
A: [Evaluating the equations](http://cff.dwbooster.com/faq#q79 "FAQ Entry")
|
666 |
|
@@ -670,19 +670,19 @@ A: That feature is available in the [commercial versions of the plugin](https://
|
|
670 |
|
671 |
Additional details in the "[PayPal Payment Configuration](https://cff.dwbooster.com/documentation#paypal-settings "PayPal Payment Integration")" section in the documentation page of the plugin.
|
672 |
|
673 |
-
= Q: Non-
|
674 |
|
675 |
-
A: [
|
676 |
|
677 |
-
= Q: The calculated form doesn't appear
|
678 |
|
679 |
-
A:
|
680 |
|
681 |
-
|
682 |
|
683 |
-
= Q: How to create
|
684 |
|
685 |
-
A:
|
686 |
|
687 |
= Q: How to display the selected values in the slider control? =
|
688 |
|
@@ -692,25 +692,25 @@ A: [Displaying selected values in slider control](http://cff.dwbooster.com/faq#q
|
|
692 |
|
693 |
A: [Create new validation rules](http://cff.dwbooster.com/documentation#new-validation-rules "New Validation Rules")
|
694 |
|
695 |
-
= Q: How to display a summary of entered data
|
696 |
|
697 |
-
A: Insert a summary control in the form, and
|
698 |
|
699 |
= Q: How to highlight the fields in the summary control? =
|
700 |
|
701 |
A: [Highlighting fields](http://cff.dwbooster.com/faq#q229 "FAQ Entry")
|
702 |
|
703 |
-
= Q: Can a summary of
|
704 |
|
705 |
-
A:
|
706 |
|
707 |
= Q: How can I apply CSS styles to the form fields? =
|
708 |
|
709 |
A: [Applying CSS styles to the form fields](http://cff.dwbooster.com/faq#q82 "FAQ Entry")
|
710 |
|
711 |
-
= Q:
|
712 |
|
713 |
-
A: [Modifying the predefined templates](http://cff.dwbooster.com/faq#q231 "FAQ Entry")
|
714 |
|
715 |
= Q: How to create a new template to use with my forms? =
|
716 |
|
@@ -720,21 +720,23 @@ A: [Creating new templates](http://cff.dwbooster.com/documentation#create-templa
|
|
720 |
|
721 |
A: [Hiding the fields in form](http://cff.dwbooster.com/faq#q232 "FAQ Entry")
|
722 |
|
723 |
-
= Q: Why after
|
724 |
|
725 |
-
A: [
|
726 |
|
727 |
= Q: How assign multiple class names to a field? =
|
728 |
|
729 |
-
A: The class names are assigned to the fields through the attribute: "Add Css Layout Keywords"
|
|
|
|
|
730 |
|
731 |
= Q: What files can be uploaded through the form? =
|
732 |
|
733 |
-
A: [
|
734 |
|
735 |
= Q: How can I include the links to the uploaded files into the notification emails? =
|
736 |
|
737 |
-
A: [Inserting the links to the uploaded files](http://cff.dwbooster.com/faq#q160 "FAQ Entry")
|
738 |
|
739 |
= Q: Why the form builder is displaying the error message: "The entered data includes invalid characters..."? =
|
740 |
|
@@ -742,31 +744,25 @@ A: If you are copying the information used to configure the form from third-part
|
|
742 |
|
743 |
= Q: How to use conditional statements in the equations? =
|
744 |
|
745 |
-
A: There are different alternatives to use conditional statements in the equations:
|
746 |
|
747 |
-
|
748 |
|
749 |
-
|
750 |
|
751 |
-
|
752 |
|
753 |
-
|
754 |
|
755 |
-
= Q:
|
756 |
|
757 |
-
A:
|
758 |
|
759 |
-
= Q:
|
760 |
|
761 |
-
A:
|
762 |
|
763 |
-
= Q:
|
764 |
-
|
765 |
-
A: If the users are not receiving the notification emails after the form's submission, there are different possible reasons:
|
766 |
-
|
767 |
-
[Visit the following link](http://cff.dwbooster.com/faq#q241 "FAQ Entry")
|
768 |
-
|
769 |
-
= Q: How to insert lines changes in the notification emails, when the HTML format is selected? =
|
770 |
|
771 |
A: If you are using the HTML format in the notification emails, you should insert BR tags for the lines changes in the emails' contents:
|
772 |
|
@@ -776,19 +772,19 @@ A: If you are using the HTML format in the notification emails, you should inser
|
|
776 |
|
777 |
A: [Inserting images in the notification emails](http://cff.dwbooster.com/faq#q223 "FAQ Entry")
|
778 |
|
779 |
-
= Q: How to send specific fields in the notification emails
|
780 |
|
781 |
-
A: The
|
782 |
|
783 |
-
[Accepted tags](https://cff.dwbooster.com/documentation#special-tags "Special tags in the notification emails and the thank you pages")
|
784 |
|
785 |
-
= Q: How to create dependencies between fields in the notification emails
|
786 |
|
787 |
-
A:
|
788 |
|
789 |
-
= Q: How to implement
|
790 |
|
791 |
-
A:
|
792 |
|
793 |
= Q: How to calculate the number of words in a text? =
|
794 |
|
@@ -802,44 +798,44 @@ A: [Calculating the number of characters in a text](http://cff.dwbooster.com/faq
|
|
802 |
|
803 |
A: [Assigning values to the fields from equations](http://cff.dwbooster.com/faq#q248 "FAQ Entry")
|
804 |
|
805 |
-
= Q: How to insert
|
806 |
|
807 |
-
A: The form builder does not include a specific field for links,
|
808 |
|
809 |
**<a href="http://cff.dwbooster.com">Visit the website</a>**
|
810 |
|
811 |
= Q: How to define dependencies between fields in the form? =
|
812 |
|
813 |
-
A: [Click Here](https://cff.dwbooster.com/
|
814 |
|
815 |
-
= Q: How
|
816 |
|
817 |
-
A:
|
818 |
|
819 |
-
= Q: How to prevent users vary the values
|
820 |
|
821 |
-
A: The form settings include the attribute "Base amount" to define the minimum price allowed.
|
822 |
|
823 |
-
= Q: How to
|
824 |
|
825 |
-
A:
|
826 |
|
827 |
-
= Q: How to allow to the users decide the frequency
|
828 |
|
829 |
A: Follows the instructions below:
|
830 |
|
831 |
1. Inserts a Radio Button or DropDown field in the form.
|
832 |
-
2. Enters
|
833 |
-
3. Selects the
|
834 |
-
4. Finally, select the field inserted in the second step
|
835 |
|
836 |
-
Tip: The maximum number of
|
837 |
|
838 |
-
If you
|
839 |
|
840 |
= Q: How to select a choice in a DropDown field, or Radio Button, based on calculated value? =
|
841 |
|
842 |
-
A: I'll try to describe the process with some hypothetical examples. Assuming the radio button field is fieldname123, and you can
|
843 |
|
844 |
getField(123).setVal(5);
|
845 |
|
@@ -855,11 +851,11 @@ A: Please, read the answer in the plugin's documentation:
|
|
855 |
= Q: How to use the "DS" fields? =
|
856 |
|
857 |
A: Please, visit the following post in our technical blog:
|
858 |
-
[Click Here](https://cff.dwbooster.com/blog/2019/02/14/ds/ "Using the information stored in a database or
|
859 |
|
860 |
-
= Q: In a form with multiple "DS" fields. How to reduce the number of queries to database? =
|
861 |
|
862 |
-
A: In this case the recommendation is to use "RecordSet DS" fields as
|
863 |
|
864 |
= Q: How to use the data submitted by a form in another one? =
|
865 |
|
@@ -873,15 +869,15 @@ A: Please, read the instructions in the plugin's documentation.
|
|
873 |
|
874 |
= Q: How do I integrate forms with WooCommerce products? =
|
875 |
|
876 |
-
[Integrating the forms with WooCommerce products](
|
877 |
|
878 |
-
= Q: How to customize the fields displayed
|
879 |
|
880 |
[Customizing the fields in the shopping cart of WooCommerce](http://cff.dwbooster.com/faq#q315 "FAQ Entry")
|
881 |
|
882 |
= Q: Why the WooCommerce product is not displaying the "Add to Cart" button? =
|
883 |
|
884 |
-
A:
|
885 |
|
886 |
= Q: What is SalesForce, and how to create new leads from my forms? =
|
887 |
|
@@ -895,10 +891,9 @@ A: Activates and configure the DropBox add-on, distributed with the Platinum ver
|
|
895 |
|
896 |
= Q: How to generate a PDF file dynamically with the submitted information? =
|
897 |
|
898 |
-
A:
|
899 |
-
[Click Here](http://cff.dwbooster.com/faq#q273 "FAQ Entry")
|
900 |
|
901 |
-
= Q: How to use
|
902 |
|
903 |
A: Please, visits the following link to get the answer to your question:
|
904 |
[Click Here](http://cff.dwbooster.com/faq#q274 "FAQ Entry")
|
@@ -908,24 +903,21 @@ A: Please, visits the following link to get the answer to your question:
|
|
908 |
A: Please, visits the following link to get the answer to your question:
|
909 |
[Click Here](http://cff.dwbooster.com/faq#q312 "FAQ Entry")
|
910 |
|
911 |
-
= Q: How to protect the form against the attacks of the
|
912 |
|
913 |
-
A: Please,
|
914 |
[Click Here](http://cff.dwbooster.com/faq#q313 "FAQ Entry")
|
915 |
|
916 |
-
= Q: I
|
917 |
-
|
918 |
-
A: If this happens follow these steps to correctly import the file:
|
919 |
|
920 |
-
|
921 |
-
2. Open Excel
|
922 |
-
3. Import the data using Data < Import External Data < Import Data
|
923 |
-
4. Select the file type of "csv" and browse to your file
|
924 |
-
5. In the import wizard change the File_Origin to the related language character identifier
|
925 |
-
6. Change the Delimiter to comma if needed
|
926 |
-
7. Select where to import to and Finish
|
927 |
|
928 |
-
|
|
|
|
|
|
|
|
|
|
|
929 |
|
930 |
== Screenshots ==
|
931 |
|
@@ -949,54 +941,57 @@ This way the special characters should show correctly.
|
|
949 |
|
950 |
== Changelog ==
|
951 |
|
952 |
-
= 1.0.
|
953 |
|
954 |
-
*
|
955 |
|
956 |
-
= 1.0.
|
957 |
|
958 |
-
* Modifies the
|
959 |
-
*
|
960 |
|
961 |
-
= 1.0.
|
962 |
|
963 |
-
*
|
964 |
-
*
|
965 |
-
* Fixes an issue in the PRESENTVALUE operation (Developer and Platinum versions of the plugin).
|
966 |
|
967 |
-
= 1.0.
|
968 |
|
969 |
-
* Fixes a
|
970 |
-
* Modifies the WooCommerce add-on to allow its use with WooCommerce Booking and similar plugins (Developer and Platinum versions of the plugin).
|
971 |
|
972 |
-
= 1.0.
|
973 |
|
974 |
-
*
|
975 |
-
*
|
976 |
|
977 |
-
= 1.0.
|
978 |
|
979 |
-
*
|
|
|
980 |
|
981 |
-
= 1.0.
|
982 |
|
983 |
-
*
|
984 |
|
985 |
-
= 1.0.
|
986 |
|
987 |
-
*
|
988 |
-
*
|
|
|
|
|
989 |
|
990 |
-
= 1.0.
|
991 |
|
992 |
-
*
|
|
|
|
|
993 |
|
994 |
-
= 1.0.
|
995 |
|
996 |
-
* Modifies the
|
997 |
|
998 |
== Upgrade Notice ==
|
999 |
|
1000 |
-
= 1.0.
|
1001 |
|
1002 |
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.7.1
|
7 |
Stable tag: trunk
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
11 |
+
Calculated Fields Form allows you to create both simple and rich forms, quickly like a professional. It includes a form builder with dynamic calculated fields and many other controls.
|
12 |
|
13 |
== Description ==
|
14 |
|
15 |
+
The "Calculated Fields Form" plugin allows you to create web forms with calculated fields, whose values are dynamically calculated based on other fields' values in the web form.
|
16 |
|
17 |
+
The possibilities are unlimited. You can create forms with financial calculations, date operations to create reservation forms, calculate the products' prices. The plugin includes text operations for editing, translation, or advertising services. There are available more advanced operations such as determining the distance between addresses or generating graphs. The resulting forms are 100% mobile responsive.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
|
19 |
+
And the most impressive thing is that you don't need to hire a programmer to create the forms. With basic knowledges, you will have a professional form in just five minutes.
|
20 |
|
21 |
+
Creating a form is all visual. The "Calculated Fields Form" plugin includes a form editor with multiple controls. Text fields, numeric fields, currency fields, slider controls, email fields, radio buttons, checkboxes, container fields, page breaks to create multipage forms, etc., and most importantly, calculated fields.
|
22 |
|
23 |
+
The form editor includes the list of controls, the property bar to edit field properties easily, the dashboard where you can design your forms, and the attributes for form configuration. Also, the plugin comes with multiple predefined layouts to change the forms' appearances. And if the predefined layouts are not enough for your project, there is a style editor to customize the form's design.
|
24 |
|
25 |
+
The "Calculated Fields Form" plugin includes integration with popular page builders:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
|
27 |
* Classic WordPress Editor.
|
28 |
* Gutenberg Editor.
|
31 |
* Beaver Builder.
|
32 |
* WPBakery Page Builder.
|
33 |
* DIVI Builder.
|
|
|
34 |
|
35 |
+
For other editors, it is possible to insert the form into the pages via its shortcode. Each web form has a shortcode associated that allows you to insert it wherever you want.
|
36 |
+
|
37 |
+
== Features ==
|
38 |
+
|
39 |
+
= Main features: =
|
40 |
+
|
41 |
+
* Visual [form builder](https://cff.dwbooster.com/documentation#form-builder) with an intuitive and interactive interface.
|
42 |
+
* Includes [general-purpose controls](https://cff.dwbooster.com/documentation#common-fields) such as radio buttons, checkboxes, menu lists, date fields, slider controls, numeric fields, text currency fields, etc.
|
43 |
+
* Includes [calculated fields](https://cff.dwbooster.com/documentation#calculated-fields-settings) whose values resulting from operations involving other form fields.
|
44 |
+
You can insert as many calculated fields in the form as you need.
|
45 |
+
* Contains advanced formula editor associated with the calculated fields with syntax highlighting and error detection.
|
46 |
+
* It has many operations modules, [mathematical operations](https://cff.dwbooster.com/documentation#mathematical-module), [operations with dates](https://cff.dwbooster.com/documentation#datetime-module), [financial operations](https://cff.dwbooster.com/documentation#financial-module), [distance operations](https://cff.dwbooster.com/documentation#distance-module), text management, [operations for calling remote services](https://cff.dwbooster.com/documentation#connection-module), etc. The calculated fields can identify numbers and prices within the values of the fields.
|
47 |
+
* It is distributed with several predefined forms that you can use as a starting point for your projects.
|
48 |
+
* As well as several [design templates](https://cff.dwbooster.com/templates).
|
49 |
+
* Supports multi-pages forms by inserting page breaks controls between fields belonging to different pages.
|
50 |
+
* Allows grouping fields inside container controls (DIV and Fieldset).
|
51 |
+
* It is possible to define [dependency rules](https://cff.dwbooster.com/blog/2020/03/01/dependencies/) between fields in the form, very useful in the design of wizards.
|
52 |
|
53 |
+
= Other features: =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
|
55 |
+
* From the plugin configuration page, it is possible to duplicate a form by pressing the "Clone" button associated with it. By cloning a form, you can reuse the work already done.
|
56 |
+
* Includes a troubleshooting and optimization area.
|
57 |
+
* Allows you to disable forms in the indexing process to improve the speed of the website.
|
58 |
+
* Includes a version control in the forms to be able to recover previous versions.
|
59 |
+
|
60 |
+
= Predefined forms: =
|
61 |
+
|
62 |
+
"Calculated Fields Form" is distributed with five predefined sample forms.
|
63 |
|
64 |
1. Simple Calculator Operations
|
65 |
2. Calculation with Dates (bookings with check-in and check-out dates)
|
67 |
4. Pregnancy Calculator
|
68 |
5. Lease Calculator
|
69 |
|
70 |
+
Which you can clone to implement your project, or you can create the form from scratch.
|
|
|
|
|
71 |
|
72 |
+
> <strong>Calculated Fields Form Commercial</strong><br />
|
73 |
+
>The free version of the "Calculated Fields Form" plugin includes only basic functionality. Other distributions (Professional, Developer, and Platinum) are available with advanced functionalities, such as sending notification emails, integration with payment gateways and external services, controls for database's connection (and connection to other data sources), complex operations, and many other features.
|
74 |
|
75 |
+
= Features of the Profesional version: =
|
76 |
|
77 |
+
* All the features of the free version of the plugin.
|
78 |
+
* Allows submitting the data collected by the forms and [store it on the website](https://cff.dwbooster.com/documentation#check-submissions) for review.
|
79 |
+
* Allows sending [notification emails](https://cff.dwbooster.com/documentation#email-settings) with the data collected by the form (as well as [confirmation emails](https://cff.dwbooster.com/documentation#copy-user) to the users).
|
80 |
+
* Allows to [integrate the form to PayPal](https://cff.dwbooster.com/documentation#paypal-settings) and calculate the amount to be charged through a calculated field.
|
81 |
+
Payments allow SCA (strong customer authentication), compatible with the new payment services (PSD 2) - Directive (EU).
|
82 |
+
* Allows [exporting and importing forms](https://cff.dwbooster.com/documentation#import-export-form) between different WordPress.
|
83 |
+
* Includes different mechanisms to protect forms, such as [Captcha](https://cff.dwbooster.com/documentation#captcha-settings), WordPress Nonce, honeypots fields.
|
84 |
+
* Allows associating thank you pages to the forms. You can show a summary of the form's submission on the thank you pages.
|
85 |
+
* Includes a dashboard widget to show the last week's submissions.
|
86 |
+
* Allows caching the forms to increase the rendering speed.
|
87 |
+
* Includes the option to [export the information submitted](https://cff.dwbooster.com/documentation#export-submissions) by the forms to a CSV file and use it with third-party tools such as Excel, OpenOffice, LibreOffice, or any other spreadsheet editor.
|
88 |
|
89 |
+
= Features of the Developer version: =
|
90 |
|
91 |
+
* Includes all the features of the free and professional version of the plugin.
|
92 |
+
* Includes advanced [controls that connect to different data sources](https://cff.dwbooster.com/blog/2019/02/14/ds/) (databases, CSV files, posts, taxonomies, user information, and JSON objects).
|
93 |
+
* Includes a [financial operations module](https://cff.dwbooster.com/documentation#financial-module).
|
94 |
+
* Includes a [date and time operations module](https://cff.dwbooster.com/documentation#datetime-module).
|
95 |
+
* Includes a [distance and travel time operations module](https://cff.dwbooster.com/documentation#distance-module). Uses "Google Maps".
|
96 |
+
* Includes [Chart.js operations module](https://cff.dwbooster.com/documentation#chart-module) to generate charts with the form data. It uses the ChartJS.org library.
|
97 |
+
* Includes a script that allows the developer to save the data collected by the form in an [external database](https://cff.dwbooster.com/documentation#third-party-database).
|
|
|
|
|
98 |
|
99 |
+
**Includes add-ons to extend the form features and make use of third-party plugins and external services**
|
100 |
|
101 |
+
* [SERVER SIDE EQUATION add-on](https://cff.dwbooster.com/add-ons/server-side-equations). It allows defining server-side equations.
|
102 |
+
* [WooCommerce add-on](https://cff.dwbooster.com/add-ons/woocommerce). It allows you to integrate forms with WooCommerce products and calculate their prices, dimensions, and weight at the runtime.
|
103 |
+
* [SalesForce add-on](https://cff.dwbooster.com/add-ons/salesforce). It allows integrating the form with the SalesForce service.
|
104 |
+
* [WebHooks add-on](https://cff.dwbooster.com/add-ons/webhook). It allows sending the information collected by the form to a WebHook URL. This add-on opens countless possibilities. By connecting your form to services such as Zapier, Microsoft Flow, IFTTT, Workato, and others, you would be connecting to hundreds of third-party services (Zoho CRM, Dropbox, Mailchimp, Google Drive, Facebook, Twitter, and many others).
|
105 |
+
* [Users Permissions add-on](https://cff.dwbooster.com/add-ons/users-permissions). It allows controlling the forms' access. As well as allow users to access and edit their data.
|
106 |
+
* [Users Registration Form add-on](https://cff.dwbooster.com/add-ons/user-registration-form). It allows you to build a user registration form that captures the user's basic information and metadata.
|
107 |
+
* [reCAPTCHA add-on](https://cff.dwbooster.com/add-ons/recaptcha). It allows replacing the basic captcha with Google reCAPTCHA to protect the forms.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
|
109 |
+
= Features of the Platinum version: =
|
110 |
|
111 |
* All features of free, premium, and developer versions of the plugin.
|
112 |
+
* [Easy Digital Downloads add-on](https://cff.dwbooster.com/add-ons/edd) to integrate the forms into the Easy Digital Downloads products and calculate their prices at the runtime.
|
113 |
+
* [Google Analytics add-on](https://cff.dwbooster.com/add-ons/google-analytics) to generate usage reports in "Google Analytics" for the users' actions.
|
114 |
+
* [PayPal Pro add-on](https://cff.dwbooster.com/add-ons/paypal-pro) to ask for the credit card details of payers and charge it directly into your website without any redirection through the PayPal website.
|
115 |
+
* [Upload Files add-on](https://cff.dwbooster.com/add-ons/upload) to add the uploaded files into the media library and extend the files' types accepted by WordPress.
|
116 |
+
* [DropBox Integration add-on](https://cff.dwbooster.com/add-ons/dropbox) to copy or move the uploaded files to a DropBox account.
|
117 |
+
* [ip2location add-on](https://cff.dwbooster.com/add-ons/ip2location) to identify the users' data using the ip2location databases.
|
118 |
+
* [Google Places add-on](https://cff.dwbooster.com/add-ons/google-places) to transform form fields into autocomplete address fields.
|
119 |
+
* [Autocomplete Places add-on](https://cff.dwbooster.com/add-ons/autocomplete-places) to transform form fields into autocomplete address fields by using the Photon API.
|
120 |
+
* [Signature add-on](https://cff.dwbooster.com/add-ons/signature) to convert form fields into "Signature" fields, allowing the users to sign the form with the mouse or touchscreens.
|
121 |
+
* [iCal add-on](https://cff.dwbooster.com/add-ons/ical) to send iCal file in the notification emails to import the events into most popular calendars like Outlook and Google Calendar.
|
122 |
+
* [CSV Generator add-on](https://cff.dwbooster.com/add-ons/csv-generator) to export the information collected by the form to CSV files and attach them in the notification emails.
|
123 |
+
* [PDF Generator add-on](https://cff.dwbooster.com/add-ons/pdf-generator) to generate PDF files with the information collected by the forms and attach them to the notification emails.
|
124 |
+
* [WebMerge add-on](https://cff.dwbooster.com/add-ons/webmerge) to integrate the forms with the FormStack documents (formerly WebMerge) to generate PDF and Office documents at runtime with the information collected by the web forms.
|
125 |
+
* [PrintFriendly add-on](https://cff.dwbooster.com/add-ons/printfriendly) to generate PDF files with the PrintFriendly API and attach the resulting files to the notification emails.
|
126 |
+
* [MailChimp add-on](https://cff.dwbooster.com/add-ons/mailchimp) to add new members to the MailChimp account.
|
127 |
+
* [Mautic add-on](https://cff.dwbooster.com/add-ons/mautic) to add new contacts (or update the existent ones) into the Mautic Service.
|
128 |
+
* [HubSpot add-on](https://cff.dwbooster.com/add-ons/hubspot) to add/update contacts in HubSpot, using the information collected by the form.
|
129 |
+
* [Emma add-on](https://cff.dwbooster.com/add-ons/emma) to add new members to the Emma Service.
|
130 |
+
* [Twilio add-on](https://cff.dwbooster.com/add-ons/twilio) for sending notification messages (SMS) in the forms' submissions.
|
131 |
+
* [MailPoet add-on](https://cff.dwbooster.com/add-ons/mailpoet) to add new subscribers to the MailPoet's Mailing Lists (Both versions, MailPoet 2 and MailPoet 3).
|
132 |
+
* [AffiliateWP add-on](https://cff.dwbooster.com/add-ons/affiliatewp) to integrate the forms with the AffiliateWP plugin.
|
133 |
+
* [Authorize.Net add-on](https://cff.dwbooster.com/add-ons/authorize) to accept payments via Authorize.Net from the forms.
|
134 |
+
* [Stripe add-on](https://cff.dwbooster.com/add-ons/stripe) to accept payments via the Stripe payment gateway from the form.
|
135 |
+
* [Skrill Payments Integration](https://cff.dwbooster.com/add-ons/skrill) provides integration with Skrill Moneybookers payment gateway.
|
136 |
+
* [TargetPay (iDeal) add-on](https://cff.dwbooster.com/add-ons/targetpay) provides integration with iDeal, the favorite Dutch payment method.
|
137 |
+
* [Mollie (iDeal) add-on](https://cff.dwbooster.com/add-ons/mollie) to accept payments via iDeal.
|
138 |
+
* [RedSys / Servired / Sermepa add-on](https://cff.dwbooster.com/add-ons/redsys) provides a secure interface for accepting credit card payments from most banks in Spain.
|
139 |
+
* [PayTM add-on](https://cff.dwbooster.com/add-ons/paytm) provides a secure interface for accepting payments with credit cards, debit cards, net banking, wallets, and EMI.
|
140 |
+
* [SagePay add-on](https://cff.dwbooster.com/add-ons/sagepay) provides a secure interface for accepting payments via SagePay.
|
141 |
+
* [Sage Payment add-on](https://cff.dwbooster.com/add-ons/sagepayment) provides a secure interface for accepting payments through a secure SSL checkout system for both bankcard and virtual check transactions.
|
142 |
+
|
143 |
+
Please, keep the plugin updated. Updates contain bug fixes as well as new features. The WordPress directory distributes the updates for the free version of the plugin. But for commercial versions, it would be necessary to register your copy of the plugin. The following link describes the registration process: [CLICK HERE](https://cff.dwbooster.com/documentation#register "Registering the plugin")
|
144 |
+
|
145 |
|
146 |
== Other Notes ==
|
147 |
|
|
|
148 |
|
149 |
+
This section mainly contains notes on features of the form builder that are too long to explain in the main description.
|
150 |
+
|
151 |
+
= Conditional rules =
|
152 |
|
153 |
+
It is possible to show or hide form fields (dependent fields) based on the options ticked in checkbox fields, radio buttons, the options selected in dropdown menus, or the result of calculated fields.
|
154 |
|
155 |
+
The value of a dependent field is zero when it is hidden/disabled. The plugin excludes from submission the disabled form fields.
|
156 |
|
157 |
+
[Additional details about the use of dependencies](https://cff.dwbooster.com/blog/2020/03/01/dependencies/ "Description about the use of dependencies")
|
158 |
|
159 |
+
= Predefined values =
|
160 |
|
161 |
+
The predefined values in the fields have two possible uses:
|
162 |
|
163 |
+
1- To fill the field by default. That makes it easier for the end-user to enter values.
|
164 |
|
165 |
+
2- Hint of the values to be entered in the field (like "enter your name"). To use the predefined value as a placeholder, you must tick the checkbox "Hide predefined value on click" The value will disappear once the user starts filling in the field. The calculated fields ignore placeholders from the equations.
|
166 |
|
167 |
+
= The "User Instructions" attributes =
|
168 |
|
169 |
+
The "User instructions" attribute in the field settings allows you to instruct the user on fill in the field. By default, the instructions appear as a smaller text on the public website. But they can be configured as tooltips.
|
170 |
|
171 |
+
= Adding CSS layout keywords =
|
172 |
|
173 |
+
The "Add CSS layout keywords" attribute in the fields settings allows you to apply CSS styles to fields. You must enter only the name of the CSS classes names and not their definitions.
|
174 |
|
175 |
+
You can define the CSS classes via the "Customize Form Design" attribute in the "Form Settings" tab. This attribute contains a CSS editor with syntax highlighting and error checking.
|
176 |
|
177 |
+
If you want to assign several class names to the field, separate them by space characters.
|
178 |
+
|
179 |
+
The plugin includes multiple predefined classes that you can assign to the form fields.
|
180 |
+
|
181 |
+
More information about the form's design, by reading the following post in the plugin's blog:
|
182 |
+
|
183 |
+
[Customizing the form's design](https://cff.dwbooster.com/blog/2020/01/12/form-design/ "Customizing the form's design")
|
184 |
+
|
185 |
+
The classes listed below allow you to align two, three, or four fields on the same line:
|
186 |
|
187 |
column2
|
188 |
column3
|
189 |
column4
|
190 |
|
191 |
+
For example, if you want to put two fields on the same line, give both fields the class name "column2".
|
|
|
|
|
192 |
|
193 |
+
There are other variants for displaying several fields on the same line, such as container fields (Div or Fieldset). Container fields allow you to select the number of columns in your configuration. The following post describes all the alternatives for positioning the fields in the form:
|
194 |
|
195 |
+
[Formatting the form (distributing the fields in columns)](https://cff.dwbooster.com/blog/2019/01/06/columns/ "Formatting the form (distributing the fields in columns)")
|
196 |
|
197 |
+
= Multi-page form =
|
198 |
|
199 |
+
To create multi-pages forms, you must insert "Page break" controls between fields belonging to different pages.
|
200 |
|
201 |
+
When the user presses the "Next Page" button, the plugin validates the fields in the current form. If there is any validation error (such as an unfilled required field), the plugin stops the "Next page" action.
|
202 |
|
203 |
+
= Hidden calculated fields =
|
204 |
|
205 |
+
Calculated fields include a checkbox in their configuration that allows to hide them from the public website. This feature is essential in those fields that we will use to calculate intermediate values or when we want to show the results only in emails or thank you pages.
|
206 |
|
207 |
+
= Equations / formulas format for calculated fields =
|
208 |
|
209 |
+
Below, I will include some possible formulas as examples, but the possibilities are endless.
|
210 |
|
211 |
* With simple mathematical operations:
|
212 |
|
|
|
213 |
`fieldname1 + fieldname2`
|
214 |
|
215 |
`fieldname1 * fieldname2`
|
218 |
|
219 |
`fieldname1 - fieldname2`
|
220 |
|
221 |
+
`fieldname1 - fieldname2`
|
222 |
|
223 |
+
* With mathematical operations involving multiple fields and grouped fields:
|
224 |
|
225 |
+
`fieldname1 * (fieldname2 + fieldname3)`
|
226 |
|
227 |
+
* With rounding operations. Round the result to two decimal places:
|
228 |
|
229 |
+
`PREC(fieldname2 / fieldname3, 2)`
|
230 |
|
231 |
+
* There is an infinity of formulas that require complex structures. For example, the following formula includes conditional statements:
|
232 |
|
233 |
+
`(function () {`
|
234 |
+
`if (100 < fieldname3) return fieldname1 + fieldname2;`
|
235 |
+
`if (fieldname3 <= 100) return fieldname1 * fieldname2;`
|
236 |
+
`})();`
|
237 |
|
238 |
+
* For complex formulas/equations you must use the function format with return statement to return the result to the calculated field:
|
239 |
|
240 |
+
`(function () {`
|
241 |
+
`var result = 0;`
|
242 |
+
`/* Your code here */`
|
243 |
+
`return result;`
|
244 |
+
`}) ();`
|
245 |
|
246 |
+
= Operations and operators to use in equations/formulas =
|
247 |
|
248 |
+
One of the "Calculated Fields Form" strengths is to use any valid javascript code to implement the equations/formulas.
|
249 |
|
250 |
+
However, the plugin includes a wide variety of operations and operators to simplify the development process.
|
251 |
|
252 |
+
[Mathematical Operations and Operators](http://cff.dwbooster.com/documentation#mathematical-module)
|
253 |
|
254 |
+
[Conditional operations](http://cff.dwbooster.com/documentation#conditions-module)
|
|
|
|
|
|
|
255 |
|
256 |
+
[Field Handling Operations](http://cff.dwbooster.com/documentation#managing-fields-module)
|
257 |
|
258 |
+
[Operations for interacting with external services](http://cff.dwbooster.com/documentation#connection-module)
|
259 |
|
260 |
+
[Operations for handling URLs and query strings](http://cff.dwbooster.com/documentation#url-module)
|
|
|
|
|
|
|
|
|
|
|
261 |
|
262 |
+
In addition to the operations modules listed above, the Developer and Platinum versions of the plugin include additional modules:
|
263 |
|
264 |
+
[Date and time operations](http://cff.dwbooster.com/documentation#datetime-module)
|
265 |
|
266 |
+
[Financial Operations](http://cff.dwbooster.com/documentation#financial-module)
|
267 |
|
268 |
+
[Distance and Travel Time Operations](http://cff.dwbooster.com/documentation#distance-module)
|
269 |
|
270 |
+
[Operations to generate charts](http://cff.dwbooster.com/documentation#chart-module)
|
271 |
|
272 |
+
= Controls available in the form generator of the "Calculated Fields Form" =
|
273 |
|
274 |
+
The complete list of controls is available at the link: [CLICK HERE](http://cff.dwbooster.com/documentation#common-fields)
|
275 |
|
276 |
+
= Create JavaScript variables to use in the equations from parameters received by "GET" or "POST", "SESSION" variables, or "COOKIES" =
|
277 |
|
278 |
+
The plugin includes the shortcode [CP_CALCULATED_FIELDS_VAR] to generate javascript variables from parameters received by "GET" or "POST", "SESSION" variables, or "COOKIES":
|
279 |
|
280 |
+
`[CP_CALCULATED_FIELDS_VAR name="..."]`
|
281 |
|
282 |
+
In the shortcode, you must replace the "..." symbols with the name of the parameter or variable. It will be the same name for the javascript variable.
|
283 |
|
284 |
+
For example:
|
285 |
|
286 |
+
`[CP_CALCULATED_FIELDS_VAR name="varname"]`
|
287 |
|
288 |
+
You can use the variables generated through the shortcode [CP_CALCULATED_FIELDS_VAR] in the formulas of the calculated fields: `fieldname1*varname`
|
289 |
|
290 |
+
The complete list of parameters accepted by the variables shortcode is available at the following link: [CLICK HERE](http://cff.dwbooster.com/documentation#javascript-variables)
|
291 |
|
292 |
+
= Tips for calculating prices =
|
293 |
|
294 |
+
One of the most frequent uses of our plugin is for price calculation. When displaying the prices of a good, you may want to split the form into two pages. The first page would request the information needed to calculate the price, and the second page would include the calculated field with the final price. Also, you could use the "Instruct. Text" fields to indicate the terms, conditions, and validity time of the offer.
|
295 |
|
296 |
+
Note that you can make the "Instruct. Text" fields dependent on the calculated value. That allows you to vary the text displayed to the user depending on the calculated price. As often, the terms, conditions, or offers depend on the amount of the transaction.
|
297 |
|
298 |
+
== Installation ==
|
299 |
|
300 |
+
To install the "Calculated Fields Form" plugin, please follow these steps:
|
301 |
|
302 |
+
1. Download the .zip the Calculated Fields Form plugin.
|
303 |
+
2. Go to the Plugins section on your WordPress.
|
304 |
+
3. Press the "Add New" button at the top of the section.
|
305 |
+
4. Press the "Upload Plugin" button and then select the zipped file downloaded in the first step.
|
306 |
+
5. Finally, install and activate the plugin.
|
307 |
|
308 |
+
To build a form, go to the menu option "Calculated Fields Form"
|
309 |
|
310 |
+
To insert the calculated / contact form into some content or post, use the corresponding form's shortcode. Each web form has associated a shortcode.
|
311 |
|
312 |
+
== Add ons ==
|
313 |
|
314 |
+
The add ons are distributed only with the Developer and Platinum versions of the plugin.
|
315 |
|
316 |
+
The plugin list the add ons in the "Add-ons area" of the settings page. For enabling the add ons, you must tick their corresponding checkbox and press the "Activate/Deactivate Add ons" button.
|
317 |
|
318 |
+
= Server Side Equations add on - included in the Developer and Platinum versions of the plugin =
|
319 |
|
320 |
+
The "Server-Side Equations" add-on allows defining equations with PHP code on the server-side. The calculated fields call the server-side equations via AJAX.
|
321 |
|
322 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#server-side-equations-addon "Server Side Equations add-on")
|
323 |
|
324 |
+
= WooCommerce add on - included in the Developer and Platinum versions of the plugin =
|
325 |
|
326 |
+
The WooCommerce add-on allows integrating the forms created by the "Calculated Fields Form" with the WooCommerce products and calculate their prices, weights, dimensions, and more at the runtime.
|
327 |
|
328 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#woocommerce-addon "WooCommerce add-on")
|
329 |
|
330 |
+
= Easy Digital Downloads add on - included in the Platinum version of the plugin =
|
331 |
|
332 |
+
The Easy Digital Downloads add-on allows integrating the forms created by the "Calculated Fields Form" with the EDD products and calculate their price dynamically at the runtime.
|
333 |
|
334 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#edd-addon "Easy Digital Downloads add-on")
|
335 |
|
336 |
+
= SalesForce add on - included in the Developer and Platinum versions of the plugin =
|
337 |
|
338 |
+
The SalesForce add-on allows adding new leads in the SalesForce account with the data collected by the forms.
|
339 |
|
340 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#salesforce-addon "SalesForce add-on")
|
341 |
|
342 |
+
= WebHook add on - included in the Developer and Platinum versions of the plugin =
|
343 |
|
344 |
+
The add-on allows posting the information collected by the forms to WebHooks URLs.
|
345 |
|
346 |
+
Connecting the forms created by the plugin with services like Zapier, Microsoft Flow, Workato, or IFTTT (and many others), you would have access to hundreds of third-party services, like Zoho CRM, Dropbox, Mailchimp, Evernote, Google Drive, Facebook, Twitter, and more than 300 services [https://zapier.com/zapbook/apps/](https://zapier.com/zapbook/apps/ "Zapier"), [https://flow.microsoft.com/](https://flow.microsoft.com/ "Microsoft Flow"), [https://ifttt.com/discover](https://ifttt.com/discover "IFTTT")
|
347 |
|
348 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#webhook-addon "WebHook add-on")
|
349 |
|
350 |
+
= Users Permissions add on - included in the Developer and Platinum versions of the plugin =
|
351 |
|
352 |
+
The add-on allows you to control access to forms. You can allow access only to registered users, users with certain roles, or to specific users.
|
353 |
|
354 |
+
The plugin adds a new shortcode to the plugin to list the data submitted by the logged user (it is possible to insert the new shortcode in the user's profile) and assign users permissions to edit their information or delete an entry.
|
355 |
|
356 |
+
Also, the add-on allows limiting the number of submissions to only one per form/user.
|
357 |
|
358 |
+
[CLICK HERE for additional information ](http://cff.dwbooster.com/documentation#users-addon "Users add-on")
|
359 |
|
360 |
+
= User Registration Form add on - included in the Developer and Platinum versions of the plugin =
|
361 |
|
362 |
+
The add-on allows building user registration forms. The form could collect the basic user information and metadata required by other plugins.
|
363 |
|
364 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#user-registration-form-addon "User Registration Form add-on")
|
365 |
|
366 |
+
= reCAPTCHA add on - included in the Developer and Platinum versions of the plugin =
|
367 |
|
368 |
+
The add-on allows protecting the forms using the Google reCAPTCHA instead of the basic captcha distributed with the plugin. reCAPTCHA is more visual and intuitive than traditional captchas.
|
369 |
|
370 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#recaptcha-addon "reCAPTCHA add-on")
|
371 |
|
372 |
+
= Google Analytics add on - included in the Platinum version of the plugin =
|
373 |
|
374 |
+
The "Google Analytics" add-on allows generating usage reports in "Google Analytics" for the users' actions.
|
375 |
|
376 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#google-analytics-addon "Google Analytics add-on")
|
377 |
|
378 |
+
= PayPal Pro add on - included in the Platinum version of the plugin =
|
379 |
|
380 |
+
PayPal Pro allows asking for the credit card details and charging them directly from your website without redirecting the user to the PayPal website. Once the user has filled the form fields and clicks the submit button, the payment is processed, and the posted data (excluding the credit card information) is stored in the WordPress database.
|
381 |
|
382 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#paypal-pro-addon "PayPal Pro add-on")
|
383 |
|
384 |
+
= Upload Files add on - included in the Platinum version of the plugin =
|
385 |
|
386 |
+
Every commercial version of the plugin includes the "Upload File" control to upload files from the form. However, the "Upload Files" add-on allows adding the uploaded files to the Media Library and access to them from the pages and posts of the website.
|
387 |
|
388 |
+
WordPress restricts the files' types you can upload. The "Uploads Files" add-on allows extending the list of the accepted files.
|
389 |
|
390 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#upload-addon "Upload Files add-on")
|
391 |
|
392 |
+
= DropBox Integration add on - included in the Platinum version of the plugin =
|
393 |
|
394 |
+
"DropBox Integration" add-on allows copying or moving files uploaded through the forms to a DropBox account.
|
395 |
|
396 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#dropbox-addon "DropBox Integration add-on")
|
397 |
|
398 |
+
= ip2location add on - included in the Platinum version of the plugin =
|
399 |
|
400 |
+
The add-on allows using the ip2location databases to identify additional information of the users based on their IP. Countries, City Name, Coordinates, Weather Station, Time Zone, ZIP Code, etc.
|
401 |
|
402 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#ip2location-addon "ip2location add-on")
|
403 |
|
404 |
+
= Google Places add on - included in the Platinum version of the plugin =
|
405 |
|
406 |
+
The "Google Places" add-on allows transforming fields into autocomplete address fields calling the Google Places API.
|
407 |
|
408 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#google-places-addon "Google Places add-on")
|
409 |
|
410 |
+
= Autocomplete Places add on - included in the Platinum version of the plugin =
|
411 |
|
412 |
+
The "Autocomplete Places" add-on allows transforming fields into autocomplete address fields by calling the Photon API.
|
413 |
|
414 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#autocomplete-places-addon "Autocomplete Places add-on")
|
415 |
|
416 |
+
= Signature add on - included in the Platinum version of the plugin =
|
417 |
|
418 |
+
The "Signature" add-on transforms fields into "Signature" fields to allow the users to sign the form with their mouses or touchscreens.
|
419 |
|
420 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#signature-addon "Signature add-on")
|
421 |
|
422 |
+
= iCal add on - included in the Platinum version of the plugin =
|
423 |
|
424 |
+
The "iCal" add-on sends the users iCal files attached to the confirmation emails to import events into most popular calendars like Outlook and Google Calendar.
|
425 |
|
426 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#ical-addon "iCal add-on")
|
427 |
|
428 |
+
= CSV Generator add on - included in the Platinum version of the plugin =
|
429 |
|
430 |
+
The "CSV Generator" add-on exports the information collected by the form to CSV files and attaches them to the notification emails.
|
431 |
|
432 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#csv-generator-addon "CSV Generator add-on")
|
433 |
|
434 |
+
= PDF Generator add on - included in the Platinum version of the plugin =
|
435 |
|
436 |
+
The "PDF Generator" is an experimental add-on. It generates PDF files with the information collected by the forms and attaches them to the notification emails.
|
437 |
|
438 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#pdf-generator-addon "PDF Generator add-on")
|
439 |
|
440 |
+
= WebMerge add on - included in the Platinum version of the plugin =
|
441 |
|
442 |
+
The "WebMerge" add-on integrates the forms with the FormStack Documents service (formerly WebMerge) to generate PDF and Office documents with the form collected information.
|
443 |
|
444 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#webmerge-addon "WebMerge add-on")
|
445 |
|
446 |
+
The "WebMerge" add-on allows integrating the form with the Silverpop service (today IBM Watson Campaign Automation) [CLICK HERE for additional information](http://cff.dwbooster.com/documentation#silverpop-integration "Silverpop integration")
|
447 |
|
448 |
+
= PrintFriendly add on - included in the Platinum version of the plugin =
|
449 |
|
450 |
+
The "PrintFriendly" add-on sends the information collected by the forms to PrintFriendly and attaches the resulting PDF files to the notification emails.
|
451 |
|
452 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#printfriendly-addon "PrintFriendly add-on")
|
453 |
|
454 |
+
= MailChimp add on - included in the Platinum version of the plugin =
|
455 |
|
456 |
+
It allows adding new members to the MailChimp lists with the information collected by the form.
|
457 |
|
458 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#mailchimp-addon "MailChimp add-on")
|
459 |
|
460 |
+
= Mautic add on - included in the Platinum version of the plugin =
|
461 |
|
462 |
+
The "Mautic" add-on adds/updates contacts in the Mautic service with the information collected by the forms.
|
463 |
|
464 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#mautic-addon "Mautic add-on")
|
465 |
|
466 |
+
= HubSpot add on - included in the Platinum version of the plugin =
|
467 |
|
468 |
+
This add-on adds/updates HubSpot contacts with the information collected by the form.
|
469 |
|
470 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#hubspot-addon "HubSpot add-on")
|
471 |
|
472 |
+
= Emma add on - included in the Platinum version of the plugin =
|
473 |
|
474 |
+
The "Emma" add-on connects the forms to the Emma Service to add new members to the Emma groups.
|
475 |
|
476 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#emma-addon "Emma add-on")
|
477 |
|
478 |
+
= Twilio add on - included in the Platinum version of the plugin =
|
479 |
|
480 |
+
The "Twilio" add-on allows sending notification messages (SMS) through Twilio in the form's submissions.
|
481 |
|
482 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#twilio-addon "Twilio add-on")
|
483 |
|
484 |
+
= MailPoet add on - included in the Platinum version of the plugin =
|
485 |
|
486 |
+
The "MailPoet" add-on adds subscribers to the MailPoet's Mailing Lists (Both versions, MailPoet 2 and MailPoet 3).
|
487 |
|
488 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#mailpoet-addon "MailPoet add-on")
|
489 |
|
490 |
+
= AffiliateWP add-on - included in the Platinum version of the plugin =
|
491 |
|
492 |
+
The "AffiliateWP" add-on integrates the forms with the "AffiliateWP" plugin.
|
493 |
|
494 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#affiliatewp-addon "AffiliateWP add-on")
|
495 |
|
496 |
+
= Authorize.Net add on - included in the Platinum version of the plugin =
|
497 |
|
498 |
+
The Authorize.net Server Integration Method (Authorize.net SIM) is a hosted payment processing solution that handles all of the steps in processing a transaction.
|
499 |
|
500 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#authorize-addon "Authorize.Net add-on")
|
501 |
|
502 |
+
= Stripe add on - included in the Platinum version of the plugin =
|
503 |
|
504 |
+
The Stripe Payments add-on (www.stripe.com) provides a way to accept all major cards from customers around the world.
|
505 |
|
506 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#stripe-addon "Stripe add-on")
|
507 |
|
508 |
+
= Skrill Payments Integration add on - included in the Platinum version of the plugin =
|
509 |
|
510 |
+
The Skrill Payments add-on provides an interface for accepting payments through secure pages.
|
511 |
|
512 |
+
You can accept cards, more than 20 local payment methods, and over 80 direct bank transfer connections with a single integration.
|
513 |
|
514 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#skrill-addon "Skrill add-on")
|
515 |
|
516 |
+
= TargetPay (iDeal) add on - included in the Platinum version of the plugin =
|
517 |
|
518 |
+
The TargetPay add-on provides integration with iDeal, the most popular Dutch payment method. The integration is made via TargetPay: [https://www.targetpay.com/info/ideal?setlang=en](https://www.targetpay.com/info/ideal?setlang=en "TargetPay")
|
519 |
|
520 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#targetpay-addon "TargetPay iDeal add-on")
|
521 |
|
522 |
+
= Mollie (iDeal) add on - included in the Platinum version of the plugin =
|
523 |
|
524 |
+
The Mollie add-on provides integration with iDeal, the favorite Dutch payment method.
|
525 |
|
526 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#mollie-addon "Mollie add-on")
|
527 |
|
528 |
+
= RedSys / Servired / Sermepa add on - included in the Platinum version of the plugin =
|
529 |
|
530 |
+
The RedSys / Servired / Sermepa add-on provides a secure interface for accepting credit card payments through most banks in Spain (Sabadell, Banco Popular, BBVA, Santander, Bankia-Caixa, Bankinter, etc.)
|
531 |
|
532 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#redsys-addon "RedSys / Servired / Sermepa TPV add-on")
|
533 |
|
534 |
+
= PayTM add-on - included in the Platinum version of the plugin =
|
535 |
|
536 |
+
The PayTM add-on provides a secure interface for accepting payments through credit cards, debit cards, net banking, wallets, and EMI. With over 100mn Paytm users in India, your customers will love the option to pay with their trusted PayTM Wallet.
|
537 |
|
538 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#paytm-addon "PayTM add-on")
|
539 |
|
540 |
+
= SagePay add-on - included in the Platinum version of the plugin =
|
541 |
|
542 |
+
The SagePay add-on provides a secure interface for accepting payments through SagePay.
|
543 |
|
544 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#sagepay-addon "SagePay add-on")
|
545 |
|
546 |
+
= Sage Payment add-on - included in the Platinum version of the plugin =
|
547 |
|
548 |
+
The SagePayments add-on provides an interface for accepting payments through a secure SSL-Checkout system for both bank cards and virtual check transactions. All authorized and approved transactions will be delivered into your current bank card and/or virtual check batches viewable within the Virtual Terminal for order processing and settlement.
|
549 |
|
550 |
+
[CLICK HERE for additional information](http://cff.dwbooster.com/documentation#sagepayment-addon "Sage Payment add-on")
|
|
|
|
|
|
|
|
|
|
|
|
|
551 |
|
552 |
== Frequently Asked Questions ==
|
553 |
|
554 |
= Q: Is the "Calculated Fields Form" plugin compatible with "Autoptimize"? =
|
555 |
|
556 |
+
A: [Yes, it is](http://cff.dwbooster.com/faq#q214 "Yes, it is")
|
557 |
|
558 |
= Q: Is the "Calculated Fields Form" plugin compatible with "Plugin Organizer"? =
|
559 |
|
560 |
+
A: [Yes, it is](http://cff.dwbooster.com/faq#q319 "Yes, it is")
|
|
|
|
|
561 |
|
562 |
+
= Q: What control types include the plugin? =
|
563 |
|
564 |
+
A: The Calculated Fields Form's page contains detailed information about each field in the plugin: [Click Here](https://cff.dwbooster.com/documentation#common-fields "Click Here")
|
565 |
|
566 |
= Q: Where can I publish a calculated fields form? =
|
567 |
|
568 |
+
A: You can publish the forms into pages and posts. The shortcode can be also placed into the theme templates. [Read more](https://cff.dwbooster.com/documentation#insertion-page "Publishing the forms")
|
569 |
+
|
570 |
+
= Q: Can I send the form data and calculated results by email? =
|
571 |
|
572 |
+
A: This feature is included in the commercial versions of the plugin.
|
573 |
|
574 |
+
The commercial versions of the plugin allow processing the forms' submissions, send notification emails, and integrate the forms with payment gateways. [Comparing the different versions of the plugin](https://cff.dwbooster.com/download#comparison "Comparing the plugin's distributions")
|
575 |
|
576 |
+
= Q: Which calculation operations are available with the plugin? =
|
577 |
|
578 |
+
A: The Free and Professional versions of the plugin include the Mathematical operations module, logical operations, the managing fields module, and the third-party connection module. Other interesting operations modules are distributed only with the Developer and Platinum versions of the plugin: the Date/Time operations module, Financial operations module, Distance module, and Server Side operations module. [Read more](https://cff.dwbooster.com/documentation#modules "Operations modules")
|
579 |
|
580 |
= Q: How can I round the calculated result to 2 decimal digits? =
|
581 |
|
582 |
+
A: [Use the "PREC" operation for rounding numbers with decimal places.](http://cff.dwbooster.com/documentation#prec "PREC Operation")
|
583 |
|
584 |
= Q: Which are the operations with date values that the plugin allows? =
|
585 |
|
591 |
|
592 |
= Q: How to calculate the payments amortization? =
|
593 |
|
594 |
+
A: The CALCULATEAMORTIZATION is the most complex operation in the plugin and deserves its own section. Please, visit the following link to read a detailed description of its use:
|
595 |
|
596 |
[How calculate an amortization?](http://cff.dwbooster.com/faq#q219 "CALCULATEAMORTIZATION Operation")
|
597 |
|
598 |
= Q: Can I create global variables to be used in the equations? =
|
599 |
|
600 |
+
A: [Yes, it is possible to create global javascript variables through the form shortcode, or by using the variables shortcode: CP_CALCULATED_FIELDS_VAR](http://cff.dwbooster.com/faq#q199 "FAQ Entry")
|
601 |
|
602 |
= Q: How to populate the form fields with URL parameters? =
|
603 |
|
604 |
+
A: Please, read the answer in the FAQ entry: [Click Here](http://cff.dwbooster.com/faq#q251 "FAQ Entry")
|
605 |
|
606 |
= Q: How to use a session variable in the equations? =
|
607 |
|
608 |
+
A: Please, read the answer in the FAQ entry: [Click Here](http://cff.dwbooster.com/faq#q268 "FAQ Entry")
|
|
|
609 |
|
610 |
= Q: How to use cookie variables in the equations? =
|
611 |
|
612 |
+
A: Please, read the answer in the FAQ entry: [Click Here](http://cff.dwbooster.com/faq#q269 "FAQ Entry")
|
|
|
613 |
|
614 |
= Q: How to use a parameter passed by post in the equations? =
|
615 |
|
616 |
+
A: Please, read the answer in the FAQ entry: [Click Here](http://cff.dwbooster.com/faq#q270 "FAQ Entry")
|
|
|
617 |
|
618 |
+
= Q: How to use a parameter passed by GET in the equations? =
|
619 |
|
620 |
+
A: Please, read the answer in the FAQ entry: [Click Here](http://cff.dwbooster.com/faq#q271 "FAQ Entry")
|
|
|
621 |
|
622 |
+
= Q: If I've inserted multiple shortcodes for the same form in a webpage, each of them defines an additional variable with the same name. How to access the value of the variable defined in its shortcode from the equations in the form? =
|
623 |
|
624 |
+
A: Please, visit the following link to the plugin documentation. Pay attention to the definition of the new variables as a hash of the values: [Click Here](http://cff.dwbooster.com/documentation#direct-javascript-vars "Create direct variables")
|
|
|
625 |
|
626 |
+
= Q: How to initialize a date field? =
|
627 |
|
628 |
A: [Initializing date/time fields](http://cff.dwbooster.com/faq#q220 "FAQ Entry")
|
629 |
|
630 |
= Q: How to change the language on datepicker? =
|
631 |
|
632 |
+
A: There are different alternatives, directly through the form's structure or uploading a new file to the plugin's folder. Please, visit the following link to read the instructions: [Click Here](http://cff.dwbooster.com/faq#q221 "FAQ Entry")
|
|
|
|
|
633 |
|
634 |
= Q: How to create relationships between date fields? =
|
635 |
|
636 |
+
A: It is possible to define the min date, max date, or select a date dynamically based on the value of another date field.
|
637 |
|
638 |
[Create relationships between date fields](http://cff.dwbooster.com/documentation#relationship-between-date-fields "Documentation")
|
639 |
|
640 |
+
= Q: Is there a way to format the form in a table structure (various fields in the same line)? =
|
641 |
|
642 |
+
A: Yes, that's possible. Please, read the following post in the plugin's blog: [Formatting the form (distributing the fields in columns)](https://cff.dwbooster.com/blog/2019/01/06/columns/ "Blog")
|
643 |
|
644 |
+
= Q: How to convert a button field into a submit button? =
|
645 |
|
646 |
A: To convert a button's field in a submit button, enter the following code as its onclick event:
|
647 |
|
656 |
#fbuilder input[type="radio"],
|
657 |
#fbuilder input[type="checkbox"]{display:none !important;}
|
658 |
|
659 |
+
= Q: How to replace the image displayed in a Media field based on the radio buttons selection? =
|
660 |
|
661 |
+
A: [How to replace the image displayed in a Media Field?](http://cff.dwbooster.com/faq#q266 "FAQ Entry")
|
662 |
|
663 |
+
= Q: In which order the plugin evaluates the equations associated with the calculated fields? =
|
664 |
|
665 |
A: [Evaluating the equations](http://cff.dwbooster.com/faq#q79 "FAQ Entry")
|
666 |
|
670 |
|
671 |
Additional details in the "[PayPal Payment Configuration](https://cff.dwbooster.com/documentation#paypal-settings "PayPal Payment Integration")" section in the documentation page of the plugin.
|
672 |
|
673 |
+
= Q: Non-Latin characters are not displayed in the form. Is there a solution? =
|
674 |
|
675 |
+
A: Please, read the following entry in the plugin's FAQ: [Click Here]](http://cff.dwbooster.com/faq#q225 "utf-8")
|
676 |
|
677 |
+
= Q: The calculated form doesn't appear on the public website. Solution? =
|
678 |
|
679 |
+
A: Please, change the "Script load method" from "Classic" to "Direct" in the "troubleshoot area" located below the forms list in the settings page of the plugin.
|
680 |
|
681 |
+
The optimization plugins are another possible cause of the issue. Please, read additional details in the [FAQ page](https://cff.dwbooster.com/faq#compatibility-with-other-plugins "Compatibility with Other Plugins") of the plugin.
|
682 |
|
683 |
+
= Q: How to create a multipage form? =
|
684 |
|
685 |
+
A: Insert "Page Break" between the fields belonging to different pages.
|
686 |
|
687 |
= Q: How to display the selected values in the slider control? =
|
688 |
|
692 |
|
693 |
A: [Create new validation rules](http://cff.dwbooster.com/documentation#new-validation-rules "New Validation Rules")
|
694 |
|
695 |
+
= Q: How to display a summary of entered data into the form? =
|
696 |
|
697 |
+
A: Insert a summary control in the form, and enter the names of the fields to display in the summary through its settings.
|
698 |
|
699 |
= Q: How to highlight the fields in the summary control? =
|
700 |
|
701 |
A: [Highlighting fields](http://cff.dwbooster.com/faq#q229 "FAQ Entry")
|
702 |
|
703 |
+
= Q: Can I display a summary of the fields on the "Thank You" page? =
|
704 |
|
705 |
+
A: Yes, that's possible by using the shortcode for results. Additional details [HERE](https://cff.dwbooster.com/documentation#thanks-page "Thanks page")
|
706 |
|
707 |
= Q: How can I apply CSS styles to the form fields? =
|
708 |
|
709 |
A: [Applying CSS styles to the form fields](http://cff.dwbooster.com/faq#q82 "FAQ Entry")
|
710 |
|
711 |
+
= Q: Can I modify any of the predefined templates included with the plugin? =
|
712 |
|
713 |
+
A: Yes, that's possible: [Modifying the predefined templates](http://cff.dwbooster.com/faq#q231 "FAQ Entry")
|
714 |
|
715 |
= Q: How to create a new template to use with my forms? =
|
716 |
|
720 |
|
721 |
A: [Hiding the fields in form](http://cff.dwbooster.com/faq#q232 "FAQ Entry")
|
722 |
|
723 |
+
= Q: Why, after assigning some of the column class names (column2, column3, column4, col-...) to a group of fields, the next field is displaced at right? =
|
724 |
|
725 |
+
A: [You can fix this behavior by inserting a separator field between rows](http://cff.dwbooster.com/faq#q320 "FAQ Entry")
|
726 |
|
727 |
= Q: How assign multiple class names to a field? =
|
728 |
|
729 |
+
A: The class names are assigned to the fields through the attribute: "Add Css Layout Keywords"
|
730 |
+
|
731 |
+
To assign multiple class names to a field, you must separate them by space characters. For example, myclass1 myclass2
|
732 |
|
733 |
= Q: What files can be uploaded through the form? =
|
734 |
|
735 |
+
A: [Accepted files](http://cff.dwbooster.com/faq#q235 "FAQ Entry")
|
736 |
|
737 |
= Q: How can I include the links to the uploaded files into the notification emails? =
|
738 |
|
739 |
+
A: [Inserting the links to the uploaded files into the notification emails](http://cff.dwbooster.com/faq#q160 "FAQ Entry")
|
740 |
|
741 |
= Q: Why the form builder is displaying the error message: "The entered data includes invalid characters..."? =
|
742 |
|
744 |
|
745 |
= Q: How to use conditional statements in the equations? =
|
746 |
|
747 |
+
A: There are different alternatives to use conditional statements in the equations: [Visit the following link](http://cff.dwbooster.com/faq#q239 "FAQ Entry")
|
748 |
|
749 |
+
= Q: How to print the form only and not the complete page? =
|
750 |
|
751 |
+
A: To print only the form, but not the rest of the page's content, please, follows the instructions in the following link: [Click Here](http://cff.dwbooster.com/documentation#print-form "Documentation")
|
752 |
|
753 |
+
= Q: How to disable the dynamic evaluation of the equations associated with the calculated fields? =
|
754 |
|
755 |
+
A: To disable the dynamic evaluation of the equations in the form, you must untick the checkbox "Eval dynamically the equations associated to the calculated fields" from the "Form Settings" tab of the form builder. After disabling the dynamic evaluation of the equations, you must insert a button field with the "calculate" option as its type. The plugin evaluates the equations by pressing the calculate button.
|
756 |
|
757 |
+
= Q: My company has different departments (like the sales department, the support group, etc.). Can I send a notification email to every department when the form be submitted? =
|
758 |
|
759 |
+
A: Yes, that is possible. You must enter the emails' addresses separated by the comma through the "Destination emails" attribute in the form's settings.
|
760 |
|
761 |
+
= Q: Why the user are not receiving the confirmation emails? =
|
762 |
|
763 |
+
A: If the users are not receiving the notification emails after the form's submission, there are different possible reasons: [please, read about them here](http://cff.dwbooster.com/faq#q241 "FAQ Entry")
|
764 |
|
765 |
+
= Q: How to insert line changes in the notification emails when the HTML format is selected? =
|
|
|
|
|
|
|
|
|
|
|
|
|
766 |
|
767 |
A: If you are using the HTML format in the notification emails, you should insert BR tags for the lines changes in the emails' contents:
|
768 |
|
772 |
|
773 |
A: [Inserting images in the notification emails](http://cff.dwbooster.com/faq#q223 "FAQ Entry")
|
774 |
|
775 |
+
= Q: How to send only specific fields in the notification emails? =
|
776 |
|
777 |
+
A: The notification emails can include all fields submitted by the form (<%INFO%>), or specific fields by using their tags(<%fieldname#%>). Furthermore, there are other tags you can include in the notification emails.
|
778 |
|
779 |
+
Please, visit the following link to get the complete list of tags to include in the email: [Accepted tags](https://cff.dwbooster.com/documentation#special-tags "Special tags in the notification emails and the thank you pages")
|
780 |
|
781 |
+
= Q: How to create dependencies between fields in the notification emails and the thank you pages? =
|
782 |
|
783 |
+
A: Please, read the answer in the FAQ page of the plugin: [Click Here](http://cff.dwbooster.com/faq#q318 "FAQ Entry")
|
784 |
|
785 |
+
= Q: How to implement custom operations? =
|
786 |
|
787 |
+
A: Please, read the answer in the FAQ page of the plugin: [Click Here](http://cff.dwbooster.com/faq#q245 "FAQ Entry")
|
788 |
|
789 |
= Q: How to calculate the number of words in a text? =
|
790 |
|
798 |
|
799 |
A: [Assigning values to the fields from equations](http://cff.dwbooster.com/faq#q248 "FAQ Entry")
|
800 |
|
801 |
+
= Q: How to insert links in the form? =
|
802 |
|
803 |
+
A: The form builder does not include a specific field for links. However, you can insert a link (or any other HTML tag) using an "HTML Content" field. Insert an "HTML Content" field in the form, and enter the anchor tag as its content. For example, to insert a link to our website:
|
804 |
|
805 |
**<a href="http://cff.dwbooster.com">Visit the website</a>**
|
806 |
|
807 |
= Q: How to define dependencies between fields in the form? =
|
808 |
|
809 |
+
A: Please, read the following post in the plugin's blog: [Click Here](https://cff.dwbooster.com/blog/2020/03/01/dependencies/ "Dependencies")
|
810 |
|
811 |
+
= Q: How to define dependencies with multiple fields? =
|
812 |
|
813 |
+
A: Create dependencies with values of multiple fields requires the use of calculated fields. [Read more](https://cff.dwbooster.com/blog/2020/03/01/dependencies/ "Dependencies")
|
814 |
|
815 |
+
= Q: How to prevent users vary the fields' values for paying less than the calculated price? =
|
816 |
|
817 |
+
A: The form settings include the attribute "Base amount" to define the minimum price allowed. If a user manipulates the calculated field for paying less, the plugin applies the base amount.
|
818 |
|
819 |
+
= Q: How to vary the PayPal product's name from the public form? =
|
820 |
|
821 |
+
A: You can enter the PayPal product's name through the "Paypal product name" attribute in the form's settings. If you enter a field's tag as the product's name, for example, <%fiedname1%> the product's name will be the value submitted by the fieldname1 field.
|
822 |
|
823 |
+
= Q: How to allow to the users decide the payment frequency for recurring payments? =
|
824 |
|
825 |
A: Follows the instructions below:
|
826 |
|
827 |
1. Inserts a Radio Button or DropDown field in the form.
|
828 |
+
2. Enters the number of months as the choices' values.
|
829 |
+
3. Selects the "From field" option in the "Payment Frequency" attribute.
|
830 |
+
4. Finally, select the field inserted in the second step from the list beside the "Payment Frequency" attribute.
|
831 |
|
832 |
+
Tip: The maximum number of moFrequencywed by PayPal for recurring payments is 12 months.
|
833 |
|
834 |
+
If you allow the users to select the payment frequency, you must implement the equation to vary the amount based on the payment frequency.
|
835 |
|
836 |
= Q: How to select a choice in a DropDown field, or Radio Button, based on calculated value? =
|
837 |
|
838 |
+
A: I'll try to describe the process with some hypothetical examples. Assuming the radio button field is fieldname123, and you can select the choice with the value 5, uses the following piece of code as part of the equation associated with the calculated field:
|
839 |
|
840 |
getField(123).setVal(5);
|
841 |
|
851 |
= Q: How to use the "DS" fields? =
|
852 |
|
853 |
A: Please, visit the following post in our technical blog:
|
854 |
+
[Click Here](https://cff.dwbooster.com/blog/2019/02/14/ds/ "Using the information stored in a database or CSV file in the form")
|
855 |
|
856 |
+
= Q: In a form with multiple "DS" fields. How to reduce the number of queries to the database? =
|
857 |
|
858 |
+
A: In this case, the recommendation is to use "RecordSet DS" fields as the data source: [Click Here for instructions](https://cff.dwbooster.com/blog/2019/02/14/ds/ "Recordset DS field")
|
859 |
|
860 |
= Q: How to use the data submitted by a form in another one? =
|
861 |
|
869 |
|
870 |
= Q: How do I integrate forms with WooCommerce products? =
|
871 |
|
872 |
+
[Integrating the forms with WooCommerce products](https://cff.dwbooster.com/blog/2018/11/26/woocommerce "WooCommerce")
|
873 |
|
874 |
+
= Q: How to customize the fields displayed on the cart page of WooCommerce? =
|
875 |
|
876 |
[Customizing the fields in the shopping cart of WooCommerce](http://cff.dwbooster.com/faq#q315 "FAQ Entry")
|
877 |
|
878 |
= Q: Why the WooCommerce product is not displaying the "Add to Cart" button? =
|
879 |
|
880 |
+
A: You must assign a price to the product through its attribute: "Regular Price" or WooCommerce won't display the "Add to Cart" button.
|
881 |
|
882 |
= Q: What is SalesForce, and how to create new leads from my forms? =
|
883 |
|
891 |
|
892 |
= Q: How to generate a PDF file dynamically with the submitted information? =
|
893 |
|
894 |
+
A: There are multiple alternatives, by using the [PDF generator add-on](https://cff.dwbooster.com/blog/2020/07/19/pdf-generator/ "PDF Generator" ), the [PrintFriendly add-on](https://cff.dwbooster.com/blog/2019/09/19/printfriendly/ "PrintFriendly") or the [WebMerge add-on](https://cff.dwbooster.com/blog/2018/10/15/webmerge/ "WebMerge").
|
|
|
895 |
|
896 |
+
= Q: How to use an "Upload File field" with multiple selections from Zapier? =
|
897 |
|
898 |
A: Please, visits the following link to get the answer to your question:
|
899 |
[Click Here](http://cff.dwbooster.com/faq#q274 "FAQ Entry")
|
903 |
A: Please, visits the following link to get the answer to your question:
|
904 |
[Click Here](http://cff.dwbooster.com/faq#q312 "FAQ Entry")
|
905 |
|
906 |
+
= Q: How to protect the form against the attacks of the spambots? =
|
907 |
|
908 |
+
A: Please, follow the instructions described in the plugin's FAQ:
|
909 |
[Click Here](http://cff.dwbooster.com/faq#q313 "FAQ Entry")
|
910 |
|
911 |
+
= Q: I have an issue with the character encoding in the exported CSV files? =
|
|
|
|
|
912 |
|
913 |
+
A: Please, follow the steps below:
|
|
|
|
|
|
|
|
|
|
|
|
|
914 |
|
915 |
+
1. Open Excel.
|
916 |
+
2. Import the data using Data < Import External Data < Import Data.
|
917 |
+
3. Select the file type of "CSV" and browse to your file.
|
918 |
+
4. In the import wizard, change the File_Origin to the related language character identifier.
|
919 |
+
5. Change the Delimiter to the comma if needed.
|
920 |
+
7. Select where to import to and Finish.
|
921 |
|
922 |
== Screenshots ==
|
923 |
|
941 |
|
942 |
== Changelog ==
|
943 |
|
944 |
+
= 1.0.463 =
|
945 |
|
946 |
+
* Fixes a conflict with the latest update of Divi.
|
947 |
|
948 |
+
= 1.0.462 =
|
949 |
|
950 |
+
* Modifies the Slider control. Allow to configure them as read-only and format the typed values.
|
951 |
+
* Loads the styles files as soon as possible to fix an issue with the loading form animation.
|
952 |
|
953 |
+
= 1.0.461 =
|
954 |
|
955 |
+
* Modifies the getURLParameter operation.
|
956 |
+
* Improves the integration with the Gutenberg editor.
|
|
|
957 |
|
958 |
+
= 1.0.460 =
|
959 |
|
960 |
+
* Fixes a typo.
|
|
|
961 |
|
962 |
+
= 1.0.459 =
|
963 |
|
964 |
+
* Includes a new attribute in the calculated fields to indicate the equation's result is a currency and display the negative numbers like -$5.30
|
965 |
+
* Fixes a compatibility issue with PHP 8.
|
966 |
|
967 |
+
= 1.0.458 =
|
968 |
|
969 |
+
* Modifies the Summary control to allow hiding the empty fields.
|
970 |
+
* Improves the errors detection.
|
971 |
|
972 |
+
= 1.0.457 =
|
973 |
|
974 |
+
* The slider fields can be excluded from submission.
|
975 |
|
976 |
+
= 1.0.456 =
|
977 |
|
978 |
+
* Fixes an issue in the date controls.
|
979 |
+
* Modifies the CDATE operation.
|
980 |
+
* Fixes some conflicts with PHP 8.
|
981 |
+
* Adds the EOMONTH operation in the Date/Time operations module (Developer and Platinum versions).
|
982 |
|
983 |
+
= 1.0.455 =
|
984 |
|
985 |
+
* Includes a new option in the form's settings to display a loading form animation.
|
986 |
+
* Modifies the tooltips icons.
|
987 |
+
* Fixes an issue displaying the tooltips on forms' pages.
|
988 |
|
989 |
+
= 1.0.454 =
|
990 |
|
991 |
+
* Modifies the IGNOREFIELD and ACTIVATEFIELD operations for accepting the form as the second parameter.
|
992 |
|
993 |
== Upgrade Notice ==
|
994 |
|
995 |
+
= 1.0.463 =
|
996 |
|
997 |
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
|
changelog.txt
CHANGED
@@ -1,5 +1,77 @@
|
|
1 |
== Changelog ==
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
= 1.0.449 =
|
4 |
|
5 |
* Modifies the SUM and CONCATENATE operations for accepting plain objects as arguments.
|
@@ -463,71 +535,4 @@
|
|
463 |
|
464 |
= 1.0.363 =
|
465 |
|
466 |
-
* Modifies the next/previous page behavior, in multi-pages forms, for jumping pages without active fields.
|
467 |
-
|
468 |
-
= 1.0.362 =
|
469 |
-
|
470 |
-
* Fixes a conflict with third party plugins like MailChimp for WooCommerce.
|
471 |
-
|
472 |
-
= 1.0.361 =
|
473 |
-
|
474 |
-
* Improves the accessibility, duplicating the Preview button over the forms builder.
|
475 |
-
* Fixes an issue cloning the fields in the forms builder.
|
476 |
-
* Fixes an issue in the DATEDIFF operation (Developer and Platinum versions of the plugin)
|
477 |
-
* Modifies the server side code of datasource fields (Developer and Platinum versions of the plugin)
|
478 |
-
|
479 |
-
= 1.0.360 =
|
480 |
-
|
481 |
-
* Fixes an issue in the cffProxy operation.
|
482 |
-
|
483 |
-
= 1.0.359 =
|
484 |
-
|
485 |
-
* Modifies the styles to improve the forms appearance on small screens, when they are configure as left or right aligned.
|
486 |
-
|
487 |
-
= 1.0.358 =
|
488 |
-
|
489 |
-
* Modifies the database structure to allow the implementation of very long forms, with hundreds of fields.
|
490 |
-
|
491 |
-
= 1.0.357 =
|
492 |
-
|
493 |
-
* Fixes an issue in the expanded CSS editor, where the latest rows were being hidden or unaccessible.
|
494 |
-
|
495 |
-
= 1.0.356 =
|
496 |
-
|
497 |
-
* 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.
|
498 |
-
|
499 |
-
= 1.0.355 =
|
500 |
-
|
501 |
-
* 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.
|
502 |
-
|
503 |
-
= 1.0.354 =
|
504 |
-
|
505 |
-
* 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.
|
506 |
-
* 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();
|
507 |
-
* Includes new logs in the dependencies to detect possible issues easier.
|
508 |
-
* 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)
|
509 |
-
|
510 |
-
= 1.0.353 =
|
511 |
-
|
512 |
-
* Fixes an issue in the CFFPROXY operation of the Third-party Connection module.
|
513 |
-
|
514 |
-
= 1.0.352 =
|
515 |
-
|
516 |
-
* Modifies the settings of some controls to adjust them to the latest version of WordPress.
|
517 |
-
|
518 |
-
= 1.0.351 =
|
519 |
-
|
520 |
-
* Modifies the module that generates the froms revisions.
|
521 |
-
* Modifies the MailChimp and EDD modules (Platinum version of the plugin).
|
522 |
-
|
523 |
-
= 1.0.350 =
|
524 |
-
|
525 |
-
* Improves the appearance of the dependencies.
|
526 |
-
* Modifies the access to the plugin's resources.
|
527 |
-
|
528 |
-
= 1.0.349 =
|
529 |
-
|
530 |
-
* Modifies the calculation's module for triggering the equationsQueueEmpty event when the queue of equations be emptied.
|
531 |
-
* Modifies the calculate buttons to allow display a calculation in progress indicator until all equations be evaluated.
|
532 |
-
* 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)
|
533 |
-
* 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)
|
1 |
== Changelog ==
|
2 |
|
3 |
+
= 1.0.463 =
|
4 |
+
|
5 |
+
* Fixes a conflict with the latest update of Divi.
|
6 |
+
|
7 |
+
= 1.0.462 =
|
8 |
+
|
9 |
+
* Modifies the Slider control. Allow to configure them as read-only and format the typed values.
|
10 |
+
* Loads the styles files as soon as possible to fix an issue with the loading form animation.
|
11 |
+
|
12 |
+
= 1.0.461 =
|
13 |
+
|
14 |
+
* Modifies the getURLParameter operation.
|
15 |
+
* Improves the integration with the Gutenberg editor.
|
16 |
+
|
17 |
+
= 1.0.460 =
|
18 |
+
|
19 |
+
* Fixes a typo.
|
20 |
+
|
21 |
+
= 1.0.459 =
|
22 |
+
|
23 |
+
* Includes a new attribute in the calculated fields to indicate the equation's result is a currency and display the negative numbers like -$5.30
|
24 |
+
* Fixes a compatibility issue with PHP 8.
|
25 |
+
|
26 |
+
= 1.0.458 =
|
27 |
+
|
28 |
+
* Modifies the Summary control to allow hiding the empty fields.
|
29 |
+
* Improves the errors detection.
|
30 |
+
|
31 |
+
= 1.0.457 =
|
32 |
+
|
33 |
+
* The slider fields can be excluded from submission.
|
34 |
+
|
35 |
+
= 1.0.456 =
|
36 |
+
|
37 |
+
* Fixes an issue in the date controls.
|
38 |
+
* Modifies the CDATE operation.
|
39 |
+
* Fixes some conflicts with PHP 8.
|
40 |
+
* Adds the EOMONTH operation in the Date/Time operations module (Developer and Platinum versions).
|
41 |
+
|
42 |
+
= 1.0.455 =
|
43 |
+
|
44 |
+
* Includes a new option in the form's settings to display a loading form animation.
|
45 |
+
* Modifies the tooltips icons.
|
46 |
+
* Fixes an issue displaying the tooltips on forms' pages.
|
47 |
+
|
48 |
+
= 1.0.454 =
|
49 |
+
|
50 |
+
* Modifies the IGNOREFIELD and ACTIVATEFIELD operations for accepting the form as the second parameter.
|
51 |
+
|
52 |
+
= 1.0.453 =
|
53 |
+
|
54 |
+
* Fixes an issue with the default values in the Phone fields.
|
55 |
+
* Implements the IRR operation in the Financial Operations module (Developer and Platinum versions).
|
56 |
+
* Includes a new attribute in the CFF - WooCommerce add-on. It allows you to define the product's title in the cart through the form (Developer and Platinum versions).
|
57 |
+
|
58 |
+
= 1.0.452 =
|
59 |
+
|
60 |
+
* Fixes an issue in the Slider control synchronizing the typed values and the handle's position.
|
61 |
+
* Adds the new method set_step in the number controls.
|
62 |
+
|
63 |
+
= 1.0.451 =
|
64 |
+
|
65 |
+
* Fixes an issue with the Slider controls entered manually.
|
66 |
+
* Improves the settings of date/time fields.
|
67 |
+
* Fixes an issue the DATEDIFF operation (Developer and Platinum versions of the CFF)
|
68 |
+
|
69 |
+
= 1.0.450 =
|
70 |
+
|
71 |
+
* Fixes an issue formatting the values in the calculated field.
|
72 |
+
* Includes the getIndex method in Radio Buttons, checkbox, and DropDown fields.
|
73 |
+
* Implements the integration between the Calculated Fields From and the Appointment Hour Booking (Platinum version of the CFF)
|
74 |
+
|
75 |
= 1.0.449 =
|
76 |
|
77 |
* Modifies the SUM and CONCATENATE operations for accepting plain objects as arguments.
|
535 |
|
536 |
= 1.0.363 =
|
537 |
|
538 |
+
* Modifies the next/previous page behavior, in multi-pages forms, for jumping pages without active fields.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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,11 +16,15 @@ 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 ) );
|
23 |
|
|
|
|
|
|
|
|
|
24 |
require_once 'inc/cpcff_auxiliary.inc.php';
|
25 |
require_once 'config/cpcff_config.cfg.php';
|
26 |
|
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.463
|
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.463' );
|
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 ) );
|
23 |
|
24 |
+
// Feedback system
|
25 |
+
require_once 'feedback/cp-feedback.php';
|
26 |
+
new CP_FEEDBACK('calculated-fields-form', __FILE__, 'https://cff.dwbooster.com/contact-us');
|
27 |
+
|
28 |
require_once 'inc/cpcff_auxiliary.inc.php';
|
29 |
require_once 'config/cpcff_config.cfg.php';
|
30 |
|
css/spinner.gif
ADDED
Binary file
|
css/stylepublic.css
CHANGED
@@ -17,6 +17,7 @@
|
|
17 |
#fbuilder label{white-space:normal;}
|
18 |
#fbuilder label{position:relative;}
|
19 |
#fbuilder .cff-help-icon{clear:none;display:inline-block;vertical-align:middle;margin-left:5px;}
|
|
|
20 |
|
21 |
#fbuilder input[type="text"],
|
22 |
#fbuilder input[type="date"],
|
@@ -452,6 +453,7 @@
|
|
452 |
}
|
453 |
#fbuilder .cff-dialog{position:fixed;z-index:999999;padding:30px;width:600px;height:300px;background:#fff;top:50%;left:50%;box-shadow:rgba(0, 0, 0, 0.5) 0px 0px 10px 0px;}
|
454 |
#fbuilder .cff-dialog-content{width:100%;height:100%;overflow:auto;white-space:normal;}
|
|
|
455 |
#fbuilder #loginform label{min-width:250px;display:inline-block;}
|
456 |
|
457 |
/* ZOOM IPHONE */
|
17 |
#fbuilder label{white-space:normal;}
|
18 |
#fbuilder label{position:relative;}
|
19 |
#fbuilder .cff-help-icon{clear:none;display:inline-block;vertical-align:middle;margin-left:5px;}
|
20 |
+
#fbuilder .cff-help-icon::before{width:14px;height:14px;display:block !important;content:"i";font-size:12px !important;font-weight:normal !important;line-height:16px;font-family:Sans-Serif !important;color:#fff !important;background: #1d94ff !important;border-radius:25px !important;text-align:center !important;margin-top:-3px;}
|
21 |
|
22 |
#fbuilder input[type="text"],
|
23 |
#fbuilder input[type="date"],
|
453 |
}
|
454 |
#fbuilder .cff-dialog{position:fixed;z-index:999999;padding:30px;width:600px;height:300px;background:#fff;top:50%;left:50%;box-shadow:rgba(0, 0, 0, 0.5) 0px 0px 10px 0px;}
|
455 |
#fbuilder .cff-dialog-content{width:100%;height:100%;overflow:auto;white-space:normal;}
|
456 |
+
#fbuilder .cff-processing-form{position:fixed; top:calc( 50% - 50px ); left:calc( 50% - 50px ); width:100px; height:100px; background-image:url("spinner.gif");background-size:cover;z-index:99999;}
|
457 |
#fbuilder #loginform label{min-width:250px;display:inline-block;}
|
458 |
|
459 |
/* ZOOM IPHONE */
|
feedback/cp-feedback.php
ADDED
@@ -0,0 +1,97 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
if(!class_exists('CP_FEEDBACK'))
|
3 |
+
{
|
4 |
+
class CP_FEEDBACK
|
5 |
+
{
|
6 |
+
private $feedback_url = 'https://wordpress.dwbooster.com/licensesystem/debug-data.php';
|
7 |
+
private $plugin_slug;
|
8 |
+
private $plugin_file;
|
9 |
+
private $support_link;
|
10 |
+
private $full_support_link;
|
11 |
+
|
12 |
+
public function __construct($plugin_slug, $plugin_file, $support_link)
|
13 |
+
{
|
14 |
+
$this->plugin_slug = $plugin_slug;
|
15 |
+
$this->plugin_file = $plugin_file;
|
16 |
+
$this->support_link = $support_link;
|
17 |
+
$this->full_support_link = $support_link.((strpos($support_link, '?') === false) ? '?' : '&' ).'priority-support=yes';
|
18 |
+
|
19 |
+
// To know when the plugin was installed
|
20 |
+
if (!get_option('installed_'.$this->plugin_slug, false))
|
21 |
+
{
|
22 |
+
update_option('installed_'.$this->plugin_slug, time() );
|
23 |
+
}
|
24 |
+
// Actions and filters
|
25 |
+
add_action( 'admin_enqueue_scripts', array($this, 'enqueue_scripts'), 1);
|
26 |
+
add_action( 'wp_ajax_cp_feedback', array($this,'feedback_action'));
|
27 |
+
} // End __construct
|
28 |
+
|
29 |
+
public function enqueue_scripts($hook)
|
30 |
+
{
|
31 |
+
if( 'plugins.php' == $hook )
|
32 |
+
{
|
33 |
+
wp_enqueue_style('wp-jquery-ui-dialog');
|
34 |
+
wp_enqueue_script('jquery');
|
35 |
+
wp_enqueue_script('jquery-ui-dialog');
|
36 |
+
|
37 |
+
add_action( 'admin_footer', array($this, 'feedback_interface') );
|
38 |
+
}
|
39 |
+
} // End insert_admin_scripts
|
40 |
+
|
41 |
+
public function feedback_interface()
|
42 |
+
{
|
43 |
+
// Varibles to use into the feedback interface
|
44 |
+
$plugin_slug = $this->plugin_slug;
|
45 |
+
$support_link = $this->support_link;
|
46 |
+
$full_support_link = $this->full_support_link;
|
47 |
+
|
48 |
+
include_once dirname($this->plugin_file).'/feedback/feedback.html';
|
49 |
+
} // End feedback_interface
|
50 |
+
|
51 |
+
// This function is used only if explicitly accepted (opt-in) by the user
|
52 |
+
public function feedback_action()
|
53 |
+
{
|
54 |
+
if(isset($_POST['feedback_plugin']) && $_POST['feedback_plugin'] == $this->plugin_slug)
|
55 |
+
{
|
56 |
+
$plugin_data = get_plugin_data( $this->plugin_file );
|
57 |
+
$plugin_version = $plugin_data['Version'];
|
58 |
+
$time = time() - get_option('installed_'.$this->plugin_slug, 0);
|
59 |
+
|
60 |
+
$data = array(
|
61 |
+
'plugin' => $plugin_data['Name'],
|
62 |
+
'pluginv' => $plugin_version,
|
63 |
+
'wordpress' => get_bloginfo('version'),
|
64 |
+
'itime' => $time,
|
65 |
+
'phpversion' => phpversion()
|
66 |
+
);
|
67 |
+
|
68 |
+
foreach($_POST as $parameter => $value)
|
69 |
+
{
|
70 |
+
$data[$parameter] = $value;
|
71 |
+
}
|
72 |
+
|
73 |
+
if(!isset($_POST["cp_feedback_anonymous"])) // send this data only if explicitly accepted
|
74 |
+
{
|
75 |
+
$current_user = wp_get_current_user();
|
76 |
+
$data['email'] = $current_user->user_email;
|
77 |
+
$data['website'] = $_SERVER['HTTP_HOST'];
|
78 |
+
$data['url'] = get_site_url();
|
79 |
+
}
|
80 |
+
|
81 |
+
// Send data
|
82 |
+
$response = wp_remote_post(
|
83 |
+
$this->feedback_url,
|
84 |
+
array(
|
85 |
+
'body' => $data,
|
86 |
+
'sslverify' => false
|
87 |
+
)
|
88 |
+
);
|
89 |
+
|
90 |
+
wp_die(); // this is required to terminate immediately and return a proper response
|
91 |
+
}
|
92 |
+
|
93 |
+
|
94 |
+
} // End feedback_action
|
95 |
+
|
96 |
+
} // End class
|
97 |
+
}
|
feedback/feedback.html
ADDED
@@ -0,0 +1,167 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script id="cp_feedback_html<?php print esc_attr($plugin_slug); ?>" type="text/template">
|
2 |
+
<div title="QUICK FEEDBACK">
|
3 |
+
<div style="padding:10px;">
|
4 |
+
<style type="text/css">
|
5 |
+
.cp-feedback-reason-block { margin-top:8px; }
|
6 |
+
</style>
|
7 |
+
<h3><strong>Please let me know the reason why you are deactivating our plugin:</strong></h3>
|
8 |
+
<form id="cp_feedback_form{{plugin_slug}}">
|
9 |
+
<div class="cp-feedback-reason-block">
|
10 |
+
<label>
|
11 |
+
<input type="radio" name="answer" value="collect-data">
|
12 |
+
I want to receive an email with the data collected by the form.<br />
|
13 |
+
</label>
|
14 |
+
<div id="cp_feedback_collect_data" style="margin-left:25px;display:none;padding:10px;border:1px dotted gray;color:#660000">
|
15 |
+
<p>Please, before deciding to disable the plugin, we recommend that you check the features of its <a href="https://cff.dwbooster.com/download/#comparison" target="_blank">commercial version</a>.</p>
|
16 |
+
<p>Or the <a href="https://cff-bundles.dwbooster.com/product/data-collector" target="_blank">Data Collector plugin</a> as an alternative.</p>
|
17 |
+
</div>
|
18 |
+
</div>
|
19 |
+
<div class="cp-feedback-reason-block">
|
20 |
+
<label>
|
21 |
+
<input type="radio" name="answer" value="temporary-deactivation"> This is a temporary deactivation. I'm just upgrading to the Commercial version or debugging an issue.<br />
|
22 |
+
</label>
|
23 |
+
</div>
|
24 |
+
<div class="cp-feedback-reason-block">
|
25 |
+
<label>
|
26 |
+
<input type="radio" name="answer" value="better-plugin"> I found a better plugin.<br />
|
27 |
+
</label>
|
28 |
+
<div id="cp_feedback_otherplugin" style="margin-left:25px;display:none;">
|
29 |
+
<input type="text" name="otherplugin" placeholder="Please, enter its name" style="width:100%">
|
30 |
+
</div>
|
31 |
+
</div>
|
32 |
+
<div class="cp-feedback-reason-block">
|
33 |
+
<label>
|
34 |
+
<input type="radio" name="answer" value="other"> Another reason.<br />
|
35 |
+
</label>
|
36 |
+
<div id="cp_feedback_other" style="margin-left:25px;display:none;">
|
37 |
+
Please, describe the reason so that we can improve our plugin.<br />
|
38 |
+
<input type="text" name="otherinfo" style="width:100%">
|
39 |
+
</div>
|
40 |
+
</div>
|
41 |
+
<div id="cp_feedback_anonymous" style="display:none;margin-top:30px;text-align:right">
|
42 |
+
<input type="checkbox" name="cp_feedback_anonymous" value="yes"> Anonymous feedback
|
43 |
+
</div>
|
44 |
+
</form>
|
45 |
+
</div>
|
46 |
+
</div>
|
47 |
+
</script>
|
48 |
+
<script type="text/javascript">
|
49 |
+
jQuery(window).on(
|
50 |
+
'load',
|
51 |
+
function()
|
52 |
+
{
|
53 |
+
var $ = jQuery,
|
54 |
+
plugin_slug = '<?php print esc_js($plugin_slug); ?>',
|
55 |
+
support_link = '<?php print esc_js($support_link); ?>',
|
56 |
+
full_support_link = '<?php print esc_js($full_support_link); ?>';
|
57 |
+
$('[data-slug="'+plugin_slug+'"] .deactivate a').
|
58 |
+
on(
|
59 |
+
'click',
|
60 |
+
function(evt)
|
61 |
+
{
|
62 |
+
evt.preventDefault()
|
63 |
+
evt.stopPropagation();
|
64 |
+
// Define events
|
65 |
+
$(document).on(
|
66 |
+
'change',
|
67 |
+
'[id="cp_feedback_form'+plugin_slug+'"] [name="answer"]',
|
68 |
+
function()
|
69 |
+
{
|
70 |
+
var field = $(this),
|
71 |
+
value = field.val(),
|
72 |
+
form = field.closest('form');
|
73 |
+
$("#cp_feedback_deactivatebtn:visible").val('Submit & Deactivate');
|
74 |
+
$("#cp_feedback_deactivatebtn:visible").html('<span class="ui-button-text">Submit & Deactivate</span>');
|
75 |
+
form.find("#cp_feedback_anonymous").show();
|
76 |
+
form.find("#cp_feedback_other,#cp_feedback_otherplugin,#cp_feedback_collect_data").hide();
|
77 |
+
switch(value)
|
78 |
+
{
|
79 |
+
case 'other':
|
80 |
+
form.find("#cp_feedback_other").show();
|
81 |
+
break;
|
82 |
+
case 'better-plugin':
|
83 |
+
form.find("#cp_feedback_otherplugin").show();
|
84 |
+
break;
|
85 |
+
case 'collect-data':
|
86 |
+
form.find("#cp_feedback_collect_data").show();
|
87 |
+
break;
|
88 |
+
}
|
89 |
+
}
|
90 |
+
);
|
91 |
+
var url_redirect = $('[data-slug="'+plugin_slug+'"] .deactivate a').attr('href'),
|
92 |
+
html = $('[id="cp_feedback_html'+plugin_slug+'"]').html();
|
93 |
+
html = html.replace(/\{\{plugin_slug\}\}/g, plugin_slug)
|
94 |
+
.replace(/\{\{support_link\}\}/g, full_support_link)
|
95 |
+
.replace(/\{\{support_link_text\}\}/g, support_link);
|
96 |
+
$(html).dialog(
|
97 |
+
{
|
98 |
+
width:'600',
|
99 |
+
dialogClass: 'wp-dialog',
|
100 |
+
modal: true,
|
101 |
+
close: function(event, ui)
|
102 |
+
{
|
103 |
+
$(this).dialog("close");
|
104 |
+
$(this).remove();
|
105 |
+
},
|
106 |
+
closeOnEscape: true,
|
107 |
+
buttons: [
|
108 |
+
{
|
109 |
+
id: 'cp_feedback_deactivatebtn',
|
110 |
+
text: "Skip & Deactivate",
|
111 |
+
click: function()
|
112 |
+
{
|
113 |
+
var form = $('[id="cp_feedback_form'+plugin_slug+'"]'),
|
114 |
+
answer = form.find("input[name='answer']:checked").val(),
|
115 |
+
submitFeedback = function(){
|
116 |
+
var data = {
|
117 |
+
'action': 'cp_feedback',
|
118 |
+
'feedback_plugin': plugin_slug
|
119 |
+
};
|
120 |
+
$.each(form.serializeArray(), function(i,v){data[v['name']] = v['value'];});
|
121 |
+
if(ajaxurl) // WordPress global variable with the AJAX URL
|
122 |
+
{
|
123 |
+
$.post(
|
124 |
+
ajaxurl,
|
125 |
+
data,
|
126 |
+
function(response)
|
127 |
+
{
|
128 |
+
window.location.href = url_redirect;
|
129 |
+
}
|
130 |
+
);
|
131 |
+
}
|
132 |
+
};
|
133 |
+
|
134 |
+
if (answer == undefined || answer == '')
|
135 |
+
{
|
136 |
+
window.location.href = url_redirect;
|
137 |
+
}
|
138 |
+
else
|
139 |
+
{
|
140 |
+
submitFeedback();
|
141 |
+
}
|
142 |
+
}
|
143 |
+
},
|
144 |
+
{
|
145 |
+
text: "We can help: Support Service",
|
146 |
+
click: function()
|
147 |
+
{
|
148 |
+
window.open(support_link);
|
149 |
+
$(this).dialog("close");
|
150 |
+
}
|
151 |
+
},
|
152 |
+
{
|
153 |
+
text: "Cancel",
|
154 |
+
"class": 'button button-primary button-close',
|
155 |
+
click: function()
|
156 |
+
{
|
157 |
+
$(this).dialog("close");
|
158 |
+
}
|
159 |
+
}
|
160 |
+
]
|
161 |
+
}
|
162 |
+
); // End dialog
|
163 |
+
}
|
164 |
+
); // End onclick deactivate btn
|
165 |
+
}
|
166 |
+
); // End onload window
|
167 |
+
</script>
|
inc/cpcff_admin_int_list.inc.php
CHANGED
@@ -214,7 +214,9 @@ if ($message) echo "<div id='setting-error-settings_updated' class='updated sett
|
|
214 |
</div>
|
215 |
</div>
|
216 |
<div style="border:1px solid #F0AD4E;background:#FBE6CA;padding:10px;margin:10px 0;font-size:1.3em;">
|
217 |
-
|
|
|
|
|
218 |
</div>
|
219 |
<div id="metabox_basic_settings" class="postbox" >
|
220 |
<h3 class='hndle' style="padding:5px;"><span><?php _e( 'Troubleshoot Area & General Settings', 'calculated-fields-form' ); ?></span></h3>
|
214 |
</div>
|
215 |
</div>
|
216 |
<div style="border:1px solid #F0AD4E;background:#FBE6CA;padding:10px;margin:10px 0;font-size:1.3em;">
|
217 |
+
<div><?php _e('For additional resources visit the plugin\'s', 'calculated-fields-form')?> <a href="https://cff-bundles.dwbooster.com" target="_blank" style="font-weight:bold;"><?php _e('Marketplace', 'calculated-fields-form'); ?></a></div>
|
218 |
+
<div class="cff-bundles-plugin"></div>
|
219 |
+
<script src="https://cff-bundles.dwbooster.com/plugins/plugins.js"></script>
|
220 |
</div>
|
221 |
<div id="metabox_basic_settings" class="postbox" >
|
222 |
<h3 class='hndle' style="padding:5px;"><span><?php _e( 'Troubleshoot Area & General Settings', 'calculated-fields-form' ); ?></span></h3>
|
inc/cpcff_main.inc.php
CHANGED
@@ -184,6 +184,7 @@ if(!class_exists('CPCFF_MAIN'))
|
|
184 |
add_action( 'admin_enqueue_scripts', array( $this, 'admin_resources' ), 1 );
|
185 |
}
|
186 |
$this->_define_shortcodes();
|
|
|
187 |
} // End init
|
188 |
|
189 |
/**
|
@@ -403,7 +404,7 @@ if(!class_exists('CPCFF_MAIN'))
|
|
403 |
{
|
404 |
print '<!DOCTYPE html><html><head profile="http://gmpg.org/xfn/11"><meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1"></head><body>';
|
405 |
print $message;
|
406 |
-
print '<style>body>*:not(form){visibility: hidden;} .ui-datepicker,.ui-datepicker *{visibility: visible;}</style></body></html>';
|
407 |
exit;
|
408 |
}
|
409 |
else
|
@@ -414,6 +415,14 @@ if(!class_exists('CPCFF_MAIN'))
|
|
414 |
}
|
415 |
} // End form_preview
|
416 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
417 |
/**
|
418 |
* Returns the public version of the form wih its resources.
|
419 |
*
|
184 |
add_action( 'admin_enqueue_scripts', array( $this, 'admin_resources' ), 1 );
|
185 |
}
|
186 |
$this->_define_shortcodes();
|
187 |
+
add_action('wp_enqueue_scripts', array($this, 'enqueue_public_style') );
|
188 |
} // End init
|
189 |
|
190 |
/**
|
404 |
{
|
405 |
print '<!DOCTYPE html><html><head profile="http://gmpg.org/xfn/11"><meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1"></head><body>';
|
406 |
print $message;
|
407 |
+
print '<style>body>*:not(form){visibility: hidden;} .ui-tooltip, .ui-tooltip *,.ui-datepicker,.ui-datepicker *{visibility: visible;}</style></body></html>';
|
408 |
exit;
|
409 |
}
|
410 |
else
|
415 |
}
|
416 |
} // End form_preview
|
417 |
|
418 |
+
public function enqueue_public_style()
|
419 |
+
{
|
420 |
+
global $post;
|
421 |
+
|
422 |
+
if(!empty($post) && has_shortcode($post->post_content, 'CP_CALCULATED_FIELDS'))
|
423 |
+
wp_enqueue_style( 'cpcff_stylepublic', plugins_url('/css/stylepublic.css', CP_CALCULATEDFIELDSF_MAIN_FILE_PATH), array(), CP_CALCULATEDFIELDSF_VERSION );
|
424 |
+
} // End enqueue_public_style
|
425 |
+
|
426 |
/**
|
427 |
* Returns the public version of the form wih its resources.
|
428 |
*
|
inc/cpcff_public_int.inc.php
CHANGED
@@ -50,12 +50,25 @@ if( !empty( $form_data ) )
|
|
50 |
<form name="<?php echo $form_data[ 1 ][ 'formid' ]; ?>" id="<?php echo $form_data[ 1 ][ 'formid' ]; ?>" action="?" method="post" enctype="multipart/form-data" class="<?php
|
51 |
if(!empty($form_data[1][0]) && !empty($form_data[1][0]->persistence)) echo ' persist-form';
|
52 |
if(!empty($atts) && !empty($atts['class'])) echo ' '.esc_attr($atts['class']);
|
53 |
-
?>"
|
|
|
|
|
54 |
<div id="fbuilder">
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
</div>
|
60 |
<div class="clearer"></div>
|
61 |
</form>
|
50 |
<form name="<?php echo $form_data[ 1 ][ 'formid' ]; ?>" id="<?php echo $form_data[ 1 ][ 'formid' ]; ?>" action="?" method="post" enctype="multipart/form-data" class="<?php
|
51 |
if(!empty($form_data[1][0]) && !empty($form_data[1][0]->persistence)) echo ' persist-form';
|
52 |
if(!empty($atts) && !empty($atts['class'])) echo ' '.esc_attr($atts['class']);
|
53 |
+
?>">
|
54 |
+
<input type="hidden" name="cp_calculatedfieldsf_pform_psequence" value="_<?php echo CPCFF_MAIN::$form_counter; ?>" />
|
55 |
+
<input type="hidden" name="cp_calculatedfieldsf_id" value="<?php echo $id; ?>" /><pre style="display:none !important;"><!--noptimize--><script>form_structure_<?php echo CPCFF_MAIN::$form_counter; ?>=<?php print str_replace( array( "\n", "\r" ), " ", ((version_compare(CP_CFF_PHPVERSION,"5.3.0")>=0)?json_encode($form_data, JSON_HEX_QUOT|JSON_HEX_TAG):json_encode($form_data)) ); ?>;</script><!--/noptimize--></pre>
|
56 |
<div id="fbuilder">
|
57 |
+
<?php
|
58 |
+
if(
|
59 |
+
!empty($form_data) &&
|
60 |
+
!empty($form_data[1]) &&
|
61 |
+
!empty($form_data[1][0]) &&
|
62 |
+
!empty($form_data[1][0]->loading_animation)
|
63 |
+
)
|
64 |
+
{
|
65 |
+
print '<div class="cff-processing-form"></div>';
|
66 |
+
}
|
67 |
+
?>
|
68 |
+
<div id="fbuilder_<?php echo CPCFF_MAIN::$form_counter; ?>">
|
69 |
+
<div id="formheader_<?php echo CPCFF_MAIN::$form_counter; ?>"></div>
|
70 |
+
<div id="fieldlist_<?php echo CPCFF_MAIN::$form_counter; ?>"></div>
|
71 |
+
</div>
|
72 |
</div>
|
73 |
<div class="clearer"></div>
|
74 |
</form>
|
js/fbuilder-loader-public.php
CHANGED
@@ -75,11 +75,14 @@ fbuilderjQuery.fbuilderjQueryGenerator = function(){
|
|
75 |
while(typeof window["cp_calculatedfieldsf_fbuilder_config"+fnum] != 'undefined' || fcount < 10 )
|
76 |
{
|
77 |
try {
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
|
|
|
|
|
|
83 |
fcount++;
|
84 |
fnum = "_"+fcount;
|
85 |
}
|
75 |
while(typeof window["cp_calculatedfieldsf_fbuilder_config"+fnum] != 'undefined' || fcount < 10 )
|
76 |
{
|
77 |
try {
|
78 |
+
var cp_calculatedfieldsf_fbuilder_config = window["cp_calculatedfieldsf_fbuilder_config"+fnum];
|
79 |
+
if(cp_calculatedfieldsf_fbuilder_config)
|
80 |
+
{
|
81 |
+
var f = $("#fbuilder"+fnum).fbuilder(( typeof cp_calculatedfieldsf_fbuilder_config.obj == 'string' ) ? $.parseJSON(cp_calculatedfieldsf_fbuilder_config.obj) : cp_calculatedfieldsf_fbuilder_config.obj );
|
82 |
+
f.fBuild.loadData("form_structure"+fnum);
|
83 |
+
found_form = true;
|
84 |
+
}
|
85 |
+
} catch (e) {if(typeof console != 'undefined') console.log(e);}
|
86 |
fcount++;
|
87 |
fnum = "_"+fcount;
|
88 |
}
|
js/fbuilder-pro-admin.jquery.js
CHANGED
@@ -217,6 +217,12 @@
|
|
217 |
$.fbuilder.reloadItems({'form':1});
|
218 |
});
|
219 |
|
|
|
|
|
|
|
|
|
|
|
|
|
220 |
$("#fAutocomplete").click(function()
|
221 |
{
|
222 |
theForm.autocomplete = ($(this).is( ':checked' )) ? 1 : 0;
|
@@ -533,6 +539,7 @@
|
|
533 |
formtemplate:"",
|
534 |
evalequations:1,
|
535 |
evalequationsevent:2,
|
|
|
536 |
autocomplete:1,
|
537 |
persistence:0,
|
538 |
customstyles:"",
|
@@ -576,7 +583,7 @@
|
|
576 |
template += '<option value="'+$.fbuilder.showSettings.formTemplateDic[i].prefix+'" ' + selected + '>'+$.fbuilder.showSettings.formTemplateDic[i].title+'</option>';
|
577 |
}
|
578 |
|
579 |
-
str += '<div><label>Form Name</label><input class="large" name="fTitle" id="fTitle" value="'+$.fbuilder.htmlEncode(this.title)+'" /></div><div><label>Description</label><textarea class="large" name="fDescription" id="fDescription">'+this.description+'</textarea></div><div><label>Label Placement</label><select name="fLayout" id="fLayout" class="large">'+layout+'</select></div><div><label><input type="checkbox" name="fAutocomplete" id="fAutocomplete" '+( ( this.autocomplete ) ? 'CHECKED' : '' )+' /> Enable autocompletion</label></div><div><label><input type="checkbox" name="fPersistence" id="fPersistence" '+( ( this.persistence ) ? 'CHECKED' : '' )+' /> Enable the browser\'s persistence (the data are stored locally on browser)</label></div>';
|
580 |
|
581 |
if(typeof $.fbuilder.controls[ 'fCalculated' ] != 'undefined')
|
582 |
{
|
217 |
$.fbuilder.reloadItems({'form':1});
|
218 |
});
|
219 |
|
220 |
+
$("#fLoadingAnimation").click(function()
|
221 |
+
{
|
222 |
+
theForm.loading_animation = ($(this).is( ':checked' )) ? 1 : 0;
|
223 |
+
$.fbuilder.reloadItems({'form':1});
|
224 |
+
});
|
225 |
+
|
226 |
$("#fAutocomplete").click(function()
|
227 |
{
|
228 |
theForm.autocomplete = ($(this).is( ':checked' )) ? 1 : 0;
|
539 |
formtemplate:"",
|
540 |
evalequations:1,
|
541 |
evalequationsevent:2,
|
542 |
+
loading_animation:0,
|
543 |
autocomplete:1,
|
544 |
persistence:0,
|
545 |
customstyles:"",
|
583 |
template += '<option value="'+$.fbuilder.showSettings.formTemplateDic[i].prefix+'" ' + selected + '>'+$.fbuilder.showSettings.formTemplateDic[i].title+'</option>';
|
584 |
}
|
585 |
|
586 |
+
str += '<div><label>Form Name</label><input class="large" name="fTitle" id="fTitle" value="'+$.fbuilder.htmlEncode(this.title)+'" /></div><div><label>Description</label><textarea class="large" name="fDescription" id="fDescription">'+this.description+'</textarea></div><div><label>Label Placement</label><select name="fLayout" id="fLayout" class="large">'+layout+'</select></div><div><label><input type="checkbox" name="fLoadingAnimation" id="fLoadingAnimation" '+( ( this.loading_animation ) ? 'CHECKED' : '' )+' /> Display loading form animation</label></div><div><label><input type="checkbox" name="fAutocomplete" id="fAutocomplete" '+( ( this.autocomplete ) ? 'CHECKED' : '' )+' /> Enable autocompletion</label></div><div><label><input type="checkbox" name="fPersistence" id="fPersistence" '+( ( this.persistence ) ? 'CHECKED' : '' )+' /> Enable the browser\'s persistence (the data are stored locally on browser)</label></div>';
|
587 |
|
588 |
if(typeof $.fbuilder.controls[ 'fCalculated' ] != 'undefined')
|
589 |
{
|
js/fbuilder-pro-public.jquery.js
CHANGED
@@ -337,7 +337,7 @@
|
|
337 |
var uh = items[i].jQueryRef();
|
338 |
if(items[i].userhelp && items[i].userhelp.length)
|
339 |
{
|
340 |
-
if(items[i].tooltipIcon) $('<span class="cff-help-icon
|
341 |
else $(uh.find(".dfield")[0] || uh).attr('uh', items[i].userhelp);
|
342 |
}
|
343 |
uh.find(".uh").remove();
|
@@ -450,6 +450,7 @@
|
|
450 |
'formIdentifier' : opt.identifier
|
451 |
}
|
452 |
);
|
|
|
453 |
}, 50
|
454 |
);
|
455 |
|
@@ -474,6 +475,7 @@
|
|
474 |
formtemplate:"",
|
475 |
evalequations:1,
|
476 |
evalequationsevent:2,
|
|
|
477 |
autocomplete:1,
|
478 |
show:function(){
|
479 |
return '<div class="fform" id="field"><h2>'+this.title+'</h2><span>'+this.description+'</span></div>';
|
337 |
var uh = items[i].jQueryRef();
|
338 |
if(items[i].userhelp && items[i].userhelp.length)
|
339 |
{
|
340 |
+
if(items[i].tooltipIcon) $('<span class="cff-help-icon"></span>').attr('uh', items[i].userhelp).appendTo($(uh.children('label')[0] || uh));
|
341 |
else $(uh.find(".dfield")[0] || uh).attr('uh', items[i].userhelp);
|
342 |
}
|
343 |
uh.find(".uh").remove();
|
450 |
'formIdentifier' : opt.identifier
|
451 |
}
|
452 |
);
|
453 |
+
$('.cff-processing-form').remove();
|
454 |
}, 50
|
455 |
);
|
456 |
|
475 |
formtemplate:"",
|
476 |
evalequations:1,
|
477 |
evalequationsevent:2,
|
478 |
+
loading_animation:0,
|
479 |
autocomplete:1,
|
480 |
show:function(){
|
481 |
return '<div class="fform" id="field"><h2>'+this.title+'</h2><span>'+this.description+'</span></div>';
|
js/fields-admin/02_fbuilder.fslider.js
CHANGED
@@ -13,6 +13,7 @@
|
|
13 |
title:"Slider",
|
14 |
ftype:"fslider",
|
15 |
exclude:false,
|
|
|
16 |
predefined:"",
|
17 |
predefinedMin:"",
|
18 |
predefinedMax:"",
|
@@ -64,6 +65,8 @@
|
|
64 |
},
|
65 |
showRangeIntance: function()
|
66 |
{
|
67 |
-
return
|
|
|
|
|
68 |
}
|
69 |
});
|
13 |
title:"Slider",
|
14 |
ftype:"fslider",
|
15 |
exclude:false,
|
16 |
+
readonly:false,
|
17 |
predefined:"",
|
18 |
predefinedMin:"",
|
19 |
predefinedMax:"",
|
65 |
},
|
66 |
showRangeIntance: function()
|
67 |
{
|
68 |
+
return $.fbuilder.showSettings.showExclude(this.exclude) +
|
69 |
+
$.fbuilder.showSettings.showReadonly(this.readonly) +
|
70 |
+
'<div><div class="column width30"><label>Min</label><input type="text" name="sMin" id="sMin" value="'+$.fbuilder.htmlEncode(this.min)+'" placeholder="0 by default" class="large"></div><div class="column width30"><label>Max</label><input type="text" name="sMax" id="sMax" value="'+$.fbuilder.htmlEncode(this.max)+'" placeholder="100 by default" class="large"></div><div class="column width30"><label>Step</label><input type="text" name="sStep" id="sStep" value="'+$.fbuilder.htmlEncode(this.step)+'" placeholder="1 by default" class="large"></div><div class="clearer" /></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><input class="large" type="text" name="sCaption" id="sCaption" value="'+$.fbuilder.htmlEncode( this.caption )+'"></div><div><label>Min Corner Caption</label><input class="large" type="text" name="sMinCaption" id="sMinCaption" value="'+$.fbuilder.htmlEncode( this.minCaption )+'"></div><div><label>Max Corner Caption</label><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>';
|
71 |
}
|
72 |
});
|
js/fields-admin/04_fbuilder.fdate.js
CHANGED
@@ -108,7 +108,7 @@
|
|
108 |
for (var i in me.separators)
|
109 |
separatorOpts += '<option value="'+me.separators[i]+'" '+((me.separators[i]==me.dseparator)?"selected":"")+'>'+me.separators[i]+'</option>';
|
110 |
|
111 |
-
return '<hr></hr><label><input type="checkbox" name="sShowDatepicker" id="sShowDatepicker" '+( ( me.showDatepicker ) ? 'CHECKED' : '' )+' > Show input field for the date</label><div class="width50 column"><label>Date Format</label><select name="sFormat" id="sFormat" class="large">'+formatOpts+'</select></div><div class="width50 column"><label>Parts separator</label><select name="sSeparator" id="sSeparator" class="large">'+separatorOpts+'</select></div><div class="clearer"
|
112 |
},
|
113 |
showSpecialDataInstance: function()
|
114 |
{
|
108 |
for (var i in me.separators)
|
109 |
separatorOpts += '<option value="'+me.separators[i]+'" '+((me.separators[i]==me.dseparator)?"selected":"")+'>'+me.separators[i]+'</option>';
|
110 |
|
111 |
+
return '<hr></hr><label><input type="checkbox" name="sShowDatepicker" id="sShowDatepicker" '+( ( me.showDatepicker ) ? 'CHECKED' : '' )+' > Show input field for the date</label><div class="width50 column"><label>Date Format</label><select name="sFormat" id="sFormat" class="large">'+formatOpts+'</select></div><div class="width50 column"><label>Parts separator</label><select name="sSeparator" id="sSeparator" class="large">'+separatorOpts+'</select></div><div class="clearer"></div>';
|
112 |
},
|
113 |
showSpecialDataInstance: function()
|
114 |
{
|
js/fields-admin/16_fbuilder.fsummary.js
CHANGED
@@ -12,6 +12,7 @@
|
|
12 |
{
|
13 |
title:"Summary",
|
14 |
ftype:"fsummary",
|
|
|
15 |
fields:"",
|
16 |
titleClassname:"summary-field-title",
|
17 |
valueClassname:"summary-field-value",
|
@@ -23,6 +24,7 @@
|
|
23 |
{
|
24 |
var evt = [
|
25 |
{s:"#sFields",e:"change keyup", l:"fields"},
|
|
|
26 |
{s:"#sTitleClassname",e:"change keyup", l:"titleClassname"},
|
27 |
{s:"#sValueClassname",e:"change keyup", l:"valueClassname"},
|
28 |
{s:"#sPlusBtn",e:"click", l:"fields",f:function(){
|
@@ -54,6 +56,7 @@
|
|
54 |
str += '<option value="'+items[i].name+'">'+( ( typeof items[i].title != 'undefined' ) ? items[i].title : '' )+'('+items[i].name+')'+'</option>';
|
55 |
}
|
56 |
str += '</select><div style="margin-top:10px;"><input type="button" value="+" name="sPlusBtn" id="sPlusBtn" style="padding:3px 10px;" /></div>'+
|
|
|
57 |
'<label>Classname for fields titles</label><input type="text" class="large" name="sTitleClassname" id="sTitleClassname" value="'+$.fbuilder.htmlEncode(this.titleClassname)+'">'+
|
58 |
'<label>Classname for fields values</label><input type="text" class="large" name="sValueClassname" id="sValueClassname" value="'+$.fbuilder.htmlEncode(this.valueClassname)+'">';
|
59 |
|
12 |
{
|
13 |
title:"Summary",
|
14 |
ftype:"fsummary",
|
15 |
+
exclude_empty:false,
|
16 |
fields:"",
|
17 |
titleClassname:"summary-field-title",
|
18 |
valueClassname:"summary-field-value",
|
24 |
{
|
25 |
var evt = [
|
26 |
{s:"#sFields",e:"change keyup", l:"fields"},
|
27 |
+
{s:"#sExcludeEmpty",e:"click", l:"exclude_empty", f:function(el){return el.is(':checked');}},
|
28 |
{s:"#sTitleClassname",e:"change keyup", l:"titleClassname"},
|
29 |
{s:"#sValueClassname",e:"change keyup", l:"valueClassname"},
|
30 |
{s:"#sPlusBtn",e:"click", l:"fields",f:function(){
|
56 |
str += '<option value="'+items[i].name+'">'+( ( typeof items[i].title != 'undefined' ) ? items[i].title : '' )+'('+items[i].name+')'+'</option>';
|
57 |
}
|
58 |
str += '</select><div style="margin-top:10px;"><input type="button" value="+" name="sPlusBtn" id="sPlusBtn" style="padding:3px 10px;" /></div>'+
|
59 |
+
'<label>Exclude empty fields: <input type="checkbox" id="sExcludeEmpty" name="sExcludeEmpty" '+((this.exclude_empty) ? 'CHECKED' : '')+'/></label>'+
|
60 |
'<label>Classname for fields titles</label><input type="text" class="large" name="sTitleClassname" id="sTitleClassname" value="'+$.fbuilder.htmlEncode(this.titleClassname)+'">'+
|
61 |
'<label>Classname for fields values</label><input type="text" class="large" name="sValueClassname" id="sValueClassname" value="'+$.fbuilder.htmlEncode(this.valueClassname)+'">';
|
62 |
|
js/fields-admin/fbuilder.fcalculated.js
CHANGED
@@ -22,6 +22,7 @@
|
|
22 |
decimalsymbol:".",
|
23 |
groupingsymbol:"",
|
24 |
readonly:true,
|
|
|
25 |
noEvalIfManual:true,
|
26 |
formatDynamically:false,
|
27 |
hidefield:false,
|
@@ -46,6 +47,7 @@
|
|
46 |
{s:"#sHideField",e:"click", l:"hidefield", f:function(el){return el.is(':checked');}},
|
47 |
{s:"#sFormatDynamically",e:"click", l:"formatDynamically", f:function(el){return el.is(':checked');}},
|
48 |
{s:"#sNoEvalIfManual",e:"click", l:"noEvalIfManual", f:function(el){return el.is(':checked');}},
|
|
|
49 |
{s:"#sSize",e:"change", l:"size"}
|
50 |
];
|
51 |
$("#sEq").bind("change keyup", {obj: this}, function(e)
|
@@ -266,7 +268,7 @@
|
|
266 |
},
|
267 |
showFormatDynamically:function()
|
268 |
{
|
269 |
-
return '<label><input type="checkbox" name="sFormatDynamically" id="sFormatDynamically" '+((this.
|
270 |
},
|
271 |
showHideField:function()
|
272 |
{
|
@@ -380,7 +382,7 @@
|
|
380 |
out += '<option value="' + fName + '">'+item[ 'name' ] + ( ( item[ 'title' ] && !/^\s*$/.test( item[ 'title' ] ) ) ? '('+item[ 'title' ] + ')' : '' ) + '</option>';
|
381 |
}
|
382 |
}
|
383 |
-
out += '
|
384 |
|
385 |
return out;
|
386 |
}
|
22 |
decimalsymbol:".",
|
23 |
groupingsymbol:"",
|
24 |
readonly:true,
|
25 |
+
currency:false,
|
26 |
noEvalIfManual:true,
|
27 |
formatDynamically:false,
|
28 |
hidefield:false,
|
47 |
{s:"#sHideField",e:"click", l:"hidefield", f:function(el){return el.is(':checked');}},
|
48 |
{s:"#sFormatDynamically",e:"click", l:"formatDynamically", f:function(el){return el.is(':checked');}},
|
49 |
{s:"#sNoEvalIfManual",e:"click", l:"noEvalIfManual", f:function(el){return el.is(':checked');}},
|
50 |
+
{s:"#sCurrency",e:"click", l:"currency", f:function(el){return el.is(':checked');}},
|
51 |
{s:"#sSize",e:"change", l:"size"}
|
52 |
];
|
53 |
$("#sEq").bind("change keyup", {obj: this}, function(e)
|
268 |
},
|
269 |
showFormatDynamically:function()
|
270 |
{
|
271 |
+
return '<label><input type="checkbox" name="sFormatDynamically" id="sFormatDynamically" '+((this.formatDynamically)?"checked":"")+'> If editable, format dynamically</label>';
|
272 |
},
|
273 |
showHideField:function()
|
274 |
{
|
382 |
out += '<option value="' + fName + '">'+item[ 'name' ] + ( ( item[ 'title' ] && !/^\s*$/.test( item[ 'title' ] ) ) ? '('+item[ 'title' ] + ')' : '' ) + '</option>';
|
383 |
}
|
384 |
}
|
385 |
+
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" style="margin-top:10px;">'+$.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><input type="checkbox" id="sCurrency" name="sCurrency" '+((me.currency) ? 'CHECKED' : '')+' /> it is a currency</label><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)+'" />';
|
386 |
|
387 |
return out;
|
388 |
}
|
js/fields-public/02_fbuilder.fnumber.js
CHANGED
@@ -16,6 +16,18 @@
|
|
16 |
max:"",
|
17 |
formatDynamically:false,
|
18 |
dformat:"digits",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
set_min:function(v, rmv)
|
20 |
{
|
21 |
var e = $('[id="'+this.name+'"]');
|
16 |
max:"",
|
17 |
formatDynamically:false,
|
18 |
dformat:"digits",
|
19 |
+
set_step:function(v, rmv)
|
20 |
+
{
|
21 |
+
var e = $('[id="'+this.name+'"]');
|
22 |
+
if(rmv) e.removeAttr('step');
|
23 |
+
else {
|
24 |
+
var vb = e.val();
|
25 |
+
e.removeAttr('value');
|
26 |
+
e.attr('step', v);
|
27 |
+
e.val(vb);
|
28 |
+
}
|
29 |
+
e.valid();
|
30 |
+
},
|
31 |
set_min:function(v, rmv)
|
32 |
{
|
33 |
var e = $('[id="'+this.name+'"]');
|
js/fields-public/02_fbuilder.fslider.js
CHANGED
@@ -5,6 +5,8 @@
|
|
5 |
{
|
6 |
title:"Slider",
|
7 |
ftype:"fslider",
|
|
|
|
|
8 |
predefined:"",
|
9 |
predefinedMin:"",
|
10 |
predefinedMax:"",
|
@@ -61,8 +63,8 @@
|
|
61 |
vlf = me._setThousandsSeparator(vl),
|
62 |
vrf = me._setThousandsSeparator(vr);
|
63 |
|
64 |
-
$('#'+me.name+'_component_left').val(
|
65 |
-
$('#'+me.name+'_component_right').val(
|
66 |
$('#'+me.name).val('['+vl+','+vr+']').attr('vt', '['+vlf+','+vrf+']');
|
67 |
$('#'+me.name+'_caption').html(
|
68 |
me.caption
|
@@ -75,7 +77,7 @@
|
|
75 |
var v = $('#'+me.name+'_slider').slider('value'),
|
76 |
vf = me._setThousandsSeparator(v);
|
77 |
$('#'+me.name).val(v).attr('vt', vf);
|
78 |
-
$('#'+me.name+'_component_center').val(
|
79 |
$('#'+me.name+'_caption').html(
|
80 |
me.caption.replace(/\{\s*0\s*\}/, vf)
|
81 |
);
|
@@ -111,19 +113,36 @@
|
|
111 |
),
|
112 |
timeoutId;
|
113 |
|
114 |
-
$(document).on('keyup change', '#'+me.name+'_component_'+c, function(){
|
115 |
var v = $('#'+me.name+'_component_center').val(),
|
116 |
v1 = $('#'+me.name+'_component_left').val(),
|
117 |
-
v2 = $('#'+me.name+'_component_right').val()
|
|
|
118 |
clearTimeout(timeoutId);
|
|
|
119 |
timeoutId = setTimeout(function(){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
120 |
$('#'+me.name+'_slider').slider(
|
121 |
((v != undefined) ? 'value' : 'values'),
|
122 |
((v != undefined) ? v*1 : [Math.min(v1*1,v2*1), Math.max(v1*1,v2*1)])
|
123 |
);
|
124 |
-
me._setFieldValue();},
|
125 |
});
|
126 |
-
return '<div class="slider-type-'+c+'-component"><input aria-label="'+$.fbuilder.htmlEncode(me.title)+'" id="'+me.name+'_component_'+c+'" class="large" type="
|
127 |
};
|
128 |
|
129 |
var str = '';
|
@@ -222,6 +241,8 @@
|
|
222 |
}
|
223 |
else opt[ 'value' ] = Math.min( Math.max( me._getAttr('predefined'), opt.min ), opt.max );
|
224 |
|
|
|
|
|
225 |
opt[ 'slide' ] = opt[ 'stop' ] = ( function( e ){
|
226 |
return function( event, ui )
|
227 |
{
|
5 |
{
|
6 |
title:"Slider",
|
7 |
ftype:"fslider",
|
8 |
+
exclude:false,
|
9 |
+
readonly:false,
|
10 |
predefined:"",
|
11 |
predefinedMin:"",
|
12 |
predefinedMax:"",
|
63 |
vlf = me._setThousandsSeparator(vl),
|
64 |
vrf = me._setThousandsSeparator(vr);
|
65 |
|
66 |
+
$('#'+me.name+'_component_left').val(vlf);
|
67 |
+
$('#'+me.name+'_component_right').val(vrf);
|
68 |
$('#'+me.name).val('['+vl+','+vr+']').attr('vt', '['+vlf+','+vrf+']');
|
69 |
$('#'+me.name+'_caption').html(
|
70 |
me.caption
|
77 |
var v = $('#'+me.name+'_slider').slider('value'),
|
78 |
vf = me._setThousandsSeparator(v);
|
79 |
$('#'+me.name).val(v).attr('vt', vf);
|
80 |
+
$('#'+me.name+'_component_center').val(vf);
|
81 |
$('#'+me.name+'_caption').html(
|
82 |
me.caption.replace(/\{\s*0\s*\}/, vf)
|
83 |
);
|
113 |
),
|
114 |
timeoutId;
|
115 |
|
116 |
+
$(document).on('keyup change', '#'+me.name+'_component_'+c, function(evt){
|
117 |
var v = $('#'+me.name+'_component_center').val(),
|
118 |
v1 = $('#'+me.name+'_component_left').val(),
|
119 |
+
v2 = $('#'+me.name+'_component_right').val(),
|
120 |
+
t = 0;
|
121 |
clearTimeout(timeoutId);
|
122 |
+
if(evt.type == 'keyup') t = 2000;
|
123 |
timeoutId = setTimeout(function(){
|
124 |
+
if(v != undefined)
|
125 |
+
{
|
126 |
+
v = $.fbuilder.parseVal( v, this.thousandSeparator, this.centSeparator );
|
127 |
+
if(isNaN(v)) v = 0;
|
128 |
+
}
|
129 |
+
if(v1 != undefined)
|
130 |
+
{
|
131 |
+
v1 = $.fbuilder.parseVal( v1, this.thousandSeparator, this.centSeparator );
|
132 |
+
if(isNaN(v1)) v1 = 0;
|
133 |
+
}
|
134 |
+
if(v2 != undefined)
|
135 |
+
{
|
136 |
+
v2 = $.fbuilder.parseVal( v2, this.thousandSeparator, this.centSeparator );
|
137 |
+
if(isNaN(v2)) v2 = 0;
|
138 |
+
}
|
139 |
$('#'+me.name+'_slider').slider(
|
140 |
((v != undefined) ? 'value' : 'values'),
|
141 |
((v != undefined) ? v*1 : [Math.min(v1*1,v2*1), Math.max(v1*1,v2*1)])
|
142 |
);
|
143 |
+
me._setFieldValue();}, t);
|
144 |
});
|
145 |
+
return '<div class="slider-type-'+c+'-component"><input aria-label="'+$.fbuilder.htmlEncode(me.title)+'" id="'+me.name+'_component_'+c+'" class="large" type="text" value="'+predefined+'" '+((me.readonly) ? 'readonly' : '')+' /></div>';
|
146 |
};
|
147 |
|
148 |
var str = '';
|
241 |
}
|
242 |
else opt[ 'value' ] = Math.min( Math.max( me._getAttr('predefined'), opt.min ), opt.max );
|
243 |
|
244 |
+
opt['disabled'] = me.readonly;
|
245 |
+
|
246 |
opt[ 'slide' ] = opt[ 'stop' ] = ( function( e ){
|
247 |
return function( event, ui )
|
248 |
{
|
js/fields-public/04_fbuilder.fdate.js
CHANGED
@@ -369,7 +369,7 @@
|
|
369 |
if(raw) return $.fbuilder.parseValStr(v, raw);
|
370 |
|
371 |
v = $.trim(e.val());
|
372 |
-
var re = new RegExp( o.r+'(\\s(\\d{1,2})[:\\.](\\d{1,2})
|
373 |
d = re.exec( v ),
|
374 |
h = 0,
|
375 |
m = 0,
|
@@ -377,31 +377,37 @@
|
|
377 |
|
378 |
if( d )
|
379 |
{
|
380 |
-
if( typeof d[
|
381 |
-
if( typeof d[
|
382 |
-
if( typeof d[
|
383 |
{
|
384 |
-
var am = d[
|
385 |
if(am == 'pm' && h < 12 ) h += 12;
|
386 |
if(am == 'am' && h == 12) h -= 12;
|
387 |
}
|
388 |
switch( o.d )
|
389 |
{
|
390 |
case 'yyyy/dd/mm':
|
391 |
-
date = new Date( d[
|
392 |
break;
|
393 |
case 'yyyy/mm/dd':
|
394 |
-
date = new Date( d[
|
395 |
break;
|
396 |
case 'dd/mm/yyyy':
|
397 |
-
date = new Date( d[
|
398 |
break;
|
399 |
case 'mm/dd/yyyy':
|
400 |
-
date = new Date( d[
|
401 |
break;
|
402 |
}
|
403 |
-
|
404 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
405 |
}
|
406 |
}
|
407 |
return 0;
|
369 |
if(raw) return $.fbuilder.parseValStr(v, raw);
|
370 |
|
371 |
v = $.trim(e.val());
|
372 |
+
var re = new RegExp( '('+o.r+')?(\\s*(\\d{1,2})[:\\.](\\d{1,2})\\s*([amp]{2})?)?' ),
|
373 |
d = re.exec( v ),
|
374 |
h = 0,
|
375 |
m = 0,
|
377 |
|
378 |
if( d )
|
379 |
{
|
380 |
+
if( typeof d[ 6 ] != 'undefined' ) h = d[ 6 ]*1;
|
381 |
+
if( typeof d[ 7 ] != 'undefined' ) m = d[ 7 ]*1;
|
382 |
+
if( typeof d[ 8 ] != 'undefined' )
|
383 |
{
|
384 |
+
var am = d[ 8 ].toLowerCase();
|
385 |
if(am == 'pm' && h < 12 ) h += 12;
|
386 |
if(am == 'am' && h == 12) h -= 12;
|
387 |
}
|
388 |
switch( o.d )
|
389 |
{
|
390 |
case 'yyyy/dd/mm':
|
391 |
+
date = new Date( d[ 2 ], ( d[ 4 ] * 1 - 1 ), d[ 3 ], h, m, 0, 0 );
|
392 |
break;
|
393 |
case 'yyyy/mm/dd':
|
394 |
+
date = new Date( d[ 2 ], ( d[ 3 ] * 1 - 1 ), d[ 4 ], h, m, 0, 0 );
|
395 |
break;
|
396 |
case 'dd/mm/yyyy':
|
397 |
+
date = new Date( d[ 4 ], ( d[ 3 ] * 1 - 1 ), d[ 2 ], h, m, 0, 0 );
|
398 |
break;
|
399 |
case 'mm/dd/yyyy':
|
400 |
+
date = new Date( d[ 4 ], ( d[ 2 ] * 1 - 1 ), d[ 3 ], h, m, 0, 0 );
|
401 |
break;
|
402 |
}
|
403 |
+
|
404 |
+
if(isFinite(date))
|
405 |
+
{
|
406 |
+
if( me.showTimepicker ) return date.valueOf() / 86400000;
|
407 |
+
else return Math.ceil( date.valueOf() / 86400000 );
|
408 |
+
}
|
409 |
+
else if(!me.showDatepicker && me.showTimepicker)
|
410 |
+
return (h*3600000+m*60000)/86400000;
|
411 |
}
|
412 |
}
|
413 |
return 0;
|
js/fields-public/06_fbuilder.fcheck.js
CHANGED
@@ -153,6 +153,12 @@
|
|
153 |
if(ipb) e.find('input').addClass('ignorepb');
|
154 |
this.setVal(bk);
|
155 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
}
|
157 |
}
|
158 |
);
|
153 |
if(ipb) e.find('input').addClass('ignorepb');
|
154 |
this.setVal(bk);
|
155 |
}
|
156 |
+
},
|
157 |
+
getIndex:function()
|
158 |
+
{
|
159 |
+
var i = [];
|
160 |
+
$('[name*="'+this.name+'"]').each(function(j,v){if(this.checked){i.push(j);}});
|
161 |
+
return i;
|
162 |
}
|
163 |
}
|
164 |
);
|
js/fields-public/07_fbuilder.fradio.js
CHANGED
@@ -144,6 +144,12 @@
|
|
144 |
if(ipb) e.find('input').addClass('ignorepb');
|
145 |
this.setVal(bk);
|
146 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
147 |
}
|
148 |
}
|
149 |
);
|
144 |
if(ipb) e.find('input').addClass('ignorepb');
|
145 |
this.setVal(bk);
|
146 |
}
|
147 |
+
},
|
148 |
+
getIndex:function()
|
149 |
+
{
|
150 |
+
var i = -1;
|
151 |
+
$('[name*="'+this.name+'"]').each(function(j,v){if(this.checked){i = j; return false;}});
|
152 |
+
return i;
|
153 |
}
|
154 |
}
|
155 |
);
|
js/fields-public/08_fbuilder.fdropdown.js
CHANGED
@@ -170,6 +170,16 @@
|
|
170 |
if(ipb) e.find('select').addClass('ignorepb');
|
171 |
this.setVal(bk);
|
172 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
173 |
}
|
174 |
}
|
175 |
);
|
170 |
if(ipb) e.find('select').addClass('ignorepb');
|
171 |
this.setVal(bk);
|
172 |
}
|
173 |
+
},
|
174 |
+
getIndex:function()
|
175 |
+
{
|
176 |
+
var f = $('[name*="'+this.name+'"]');
|
177 |
+
if(this.multiple){
|
178 |
+
var i = [];
|
179 |
+
f.find('option').each(function(j,v){if(this.selected) i.push(j);});
|
180 |
+
return i;
|
181 |
+
}
|
182 |
+
else return f[0].selectedIndex;
|
183 |
}
|
184 |
}
|
185 |
);
|
js/fields-public/11_fbuilder.fphone.js
CHANGED
@@ -34,7 +34,7 @@
|
|
34 |
}
|
35 |
}
|
36 |
|
37 |
-
return '<div class="fields '+this.csslayout+' '+this.name+' cff-phone-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 type="hidden" id="'+this.name+'" name="'+this.name+'" class="field " />'+str+'<span class="uh">'+this.userhelp+'</span></div><div class="clearer"></div></div>';
|
38 |
},
|
39 |
after_show: function()
|
40 |
{
|
@@ -71,11 +71,10 @@
|
|
71 |
}
|
72 |
}
|
73 |
},
|
74 |
-
val:function(
|
75 |
{
|
76 |
-
raw = raw || false;
|
77 |
var e = $( '[id="' + this.name + '"]:not(.ignore)' ),
|
78 |
-
p = $.fbuilder.parseValStr(
|
79 |
|
80 |
if( e.length ) return ($.isNumeric(p)) ? '"'+p+'"' : p;
|
81 |
return 0;
|
34 |
}
|
35 |
}
|
36 |
|
37 |
+
return '<div class="fields '+this.csslayout+' '+this.name+' cff-phone-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 type="hidden" id="'+this.name+'" name="'+this.name+'" class="field " '+attr+'="'+tmpv.join('')+'" />'+str+'<span class="uh">'+this.userhelp+'</span></div><div class="clearer"></div></div>';
|
38 |
},
|
39 |
after_show: function()
|
40 |
{
|
71 |
}
|
72 |
}
|
73 |
},
|
74 |
+
val:function()
|
75 |
{
|
|
|
76 |
var e = $( '[id="' + this.name + '"]:not(.ignore)' ),
|
77 |
+
p = $.fbuilder.parseValStr(e.val(), true);
|
78 |
|
79 |
if( e.length ) return ($.isNumeric(p)) ? '"'+p+'"' : p;
|
80 |
return 0;
|
js/fields-public/16_fbuilder.fsummary.js
CHANGED
@@ -6,6 +6,7 @@
|
|
6 |
title:"Summary",
|
7 |
ftype:"fsummary",
|
8 |
fields:"",
|
|
|
9 |
titleClassname:"summary-field-title",
|
10 |
valueClassname:"summary-field-value",
|
11 |
fieldsArray:[],
|
@@ -116,10 +117,11 @@
|
|
116 |
}
|
117 |
}
|
118 |
);
|
119 |
-
|
120 |
tt.find( '.cff-summary-title' )[(/^\s*$/.test(t)) ? 'hide' : 'show']().html(t);
|
121 |
-
tt.find( '.cff-summary-value' ).html( v
|
122 |
-
|
|
|
123 |
{
|
124 |
tt.hide();
|
125 |
}
|
6 |
title:"Summary",
|
7 |
ftype:"fsummary",
|
8 |
fields:"",
|
9 |
+
exclude_empty: false,
|
10 |
titleClassname:"summary-field-title",
|
11 |
valueClassname:"summary-field-value",
|
12 |
fieldsArray:[],
|
117 |
}
|
118 |
}
|
119 |
);
|
120 |
+
v = v.join(', ');
|
121 |
tt.find( '.cff-summary-title' )[(/^\s*$/.test(t)) ? 'hide' : 'show']().html(t);
|
122 |
+
tt.find( '.cff-summary-value' ).html( v );
|
123 |
+
|
124 |
+
if( e.hasClass( 'ignore' ) || (this.exclude_empty && v == ''))
|
125 |
{
|
126 |
tt.hide();
|
127 |
}
|
js/fields-public/fbuilder.fcalculated.js
CHANGED
@@ -15,6 +15,7 @@
|
|
15 |
groupingsymbol:"",
|
16 |
dependencies:[ {'rule' : '', 'complex' : false, 'fields' : [ '' ] } ],
|
17 |
readonly:true,
|
|
|
18 |
noEvalIfManual:true,
|
19 |
formatDynamically:false,
|
20 |
hidefield:false,
|
@@ -27,7 +28,7 @@
|
|
27 |
{
|
28 |
// Add equations
|
29 |
var me = this,
|
30 |
-
configuration = { "suffix" : me.suffix, "prefix" : me.prefix, "groupingsymbol" : me.groupingsymbol, "decimalsymbol" : me.decimalsymbol },
|
31 |
dependencies = [];
|
32 |
|
33 |
$.each( me.dependencies, function( i, d )
|
@@ -75,9 +76,12 @@
|
|
75 |
);
|
76 |
}
|
77 |
}
|
78 |
-
).on('
|
79 |
-
|
|
|
|
|
80 |
{
|
|
|
81 |
var v = me.val();
|
82 |
this.value = $.fbuilder.calculator.format(v, configuration);
|
83 |
}
|
@@ -497,13 +501,13 @@
|
|
497 |
},
|
498 |
format : function( value, config )
|
499 |
{
|
500 |
-
|
501 |
{
|
|
|
502 |
if( $.isNumeric( value ) && !/[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)/.test( value ) )
|
503 |
{
|
504 |
-
|
505 |
-
var
|
506 |
-
parts = value.toString().replace( "-", "" ).split("."),
|
507 |
counter = 0,
|
508 |
str = '';
|
509 |
|
@@ -518,17 +522,23 @@
|
|
518 |
parts[0] = str;
|
519 |
}
|
520 |
|
521 |
-
value =
|
522 |
}
|
523 |
|
524 |
if( config.prefix )
|
525 |
{
|
526 |
-
|
|
|
|
|
|
|
|
|
|
|
527 |
}
|
528 |
if( config.suffix )
|
529 |
{
|
530 |
value += config.suffix;
|
531 |
}
|
|
|
532 |
}
|
533 |
return value;
|
534 |
},
|
15 |
groupingsymbol:"",
|
16 |
dependencies:[ {'rule' : '', 'complex' : false, 'fields' : [ '' ] } ],
|
17 |
readonly:true,
|
18 |
+
currency:false,
|
19 |
noEvalIfManual:true,
|
20 |
formatDynamically:false,
|
21 |
hidefield:false,
|
28 |
{
|
29 |
// Add equations
|
30 |
var me = this,
|
31 |
+
configuration = { "suffix" : me.suffix, "prefix" : me.prefix, "groupingsymbol" : me.groupingsymbol, "decimalsymbol" : me.decimalsymbol, "currency": me.currency },
|
32 |
dependencies = [];
|
33 |
|
34 |
$.each( me.dependencies, function( i, d )
|
76 |
);
|
77 |
}
|
78 |
}
|
79 |
+
).on('keyup', function(){
|
80 |
+
me.manual = true;
|
81 |
+
}).on('change', function(){
|
82 |
+
if('manual' in me && me.manual && me.formatDynamically)
|
83 |
{
|
84 |
+
me.manual = false;
|
85 |
var v = me.val();
|
86 |
this.value = $.fbuilder.calculator.format(v, configuration);
|
87 |
}
|
501 |
},
|
502 |
format : function( value, config )
|
503 |
{
|
504 |
+
if( !/^\s*$/.test( value ) )
|
505 |
{
|
506 |
+
var symbol = '';
|
507 |
if( $.isNumeric( value ) && !/[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)/.test( value ) )
|
508 |
{
|
509 |
+
if( value < 0 ) symbol = '-';
|
510 |
+
var parts = value.toString().replace( "-", "" ).split("."),
|
|
|
511 |
counter = 0,
|
512 |
str = '';
|
513 |
|
522 |
parts[0] = str;
|
523 |
}
|
524 |
|
525 |
+
value = parts.join( config.decimalsymbol );
|
526 |
}
|
527 |
|
528 |
if( config.prefix )
|
529 |
{
|
530 |
+
if(!config.currency)
|
531 |
+
{
|
532 |
+
value = symbol + value;
|
533 |
+
symbol = '';
|
534 |
+
}
|
535 |
+
value = config.prefix + value;
|
536 |
}
|
537 |
if( config.suffix )
|
538 |
{
|
539 |
value += config.suffix;
|
540 |
}
|
541 |
+
value = symbol+value;
|
542 |
}
|
543 |
return value;
|
544 |
},
|
js/modules/01_mathematical_logical/public/module_public.js
CHANGED
@@ -91,17 +91,17 @@ fbuilderjQuery[ 'fbuilder' ][ 'modules' ][ 'default' ] = {
|
|
91 |
|
92 |
if(isFinite(num*1))
|
93 |
{
|
|
|
94 |
num = Math.round(num*86400000);
|
95 |
-
|
96 |
var date = new Date(num),
|
97 |
-
d = date.getDate(),
|
98 |
-
m = date.getMonth()+1,
|
99 |
-
y = date.getFullYear(),
|
100 |
h = date.getHours(),
|
101 |
i = date.getMinutes(),
|
102 |
s = date.getSeconds(),
|
103 |
a = '';
|
104 |
-
|
105 |
m = (m < 10) ? '0'+m : m;
|
106 |
d = (d < 10) ? '0'+d : d;
|
107 |
|
91 |
|
92 |
if(isFinite(num*1))
|
93 |
{
|
94 |
+
var time_only = (num<1);
|
95 |
num = Math.round(num*86400000);
|
96 |
+
if(time_only) num += (new Date(2021,01,01,0,0,0,0)).valueOf();
|
97 |
var date = new Date(num),
|
98 |
+
d = (time_only) ? 0 : date.getDate(),
|
99 |
+
m = (time_only) ? 0 : date.getMonth()+1,
|
100 |
+
y = (time_only) ? 0 : date.getFullYear(),
|
101 |
h = date.getHours(),
|
102 |
i = date.getMinutes(),
|
103 |
s = date.getSeconds(),
|
104 |
a = '';
|
|
|
105 |
m = (m < 10) ? '0'+m : m;
|
106 |
d = (d < 10) ? '0'+d : d;
|
107 |
|
js/modules/05_managing_fields/public/05_managing_fields.js
CHANGED
@@ -15,6 +15,8 @@
|
|
15 |
function _getForm(_form)
|
16 |
{
|
17 |
if(typeof _form == 'undefined') return '_1';
|
|
|
|
|
18 |
return $(_form).find('[name="cp_calculatedfieldsf_pform_psequence"]').val();
|
19 |
}
|
20 |
|
15 |
function _getForm(_form)
|
16 |
{
|
17 |
if(typeof _form == 'undefined') return '_1';
|
18 |
+
if(/^_\d*$/.test(_form)) return _form;
|
19 |
+
if(/^\d*$/.test(_form)) return '_'+_form;
|
20 |
return $(_form).find('[name="cp_calculatedfieldsf_pform_psequence"]').val();
|
21 |
}
|
22 |
|
js/modules/08_url/public/01_url.js
CHANGED
@@ -111,7 +111,7 @@
|
|
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 |
|
111 |
var parameters = lib.getURLParameters();
|
112 |
paramName = paramName.toLowerCase();
|
113 |
if(paramName in parameters) return parameters[paramName];
|
114 |
+
else if(typeof defaultValue != 'undefined') return defaultValue;
|
115 |
else return null;
|
116 |
}
|
117 |
|
languages/calculated-fields-form-en_US.mo
CHANGED
Binary file
|
languages/calculated-fields-form-en_US.po
CHANGED
@@ -1,25 +1,25 @@
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: \n"
|
4 |
-
"POT-Creation-Date:
|
5 |
-
"PO-Revision-Date:
|
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.4.
|
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:
|
19 |
msgid "Form Preview"
|
20 |
msgstr ""
|
21 |
|
22 |
-
#: cp_calculatedfieldsf_free.php:
|
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 "
|
@@ -28,7 +28,7 @@ msgid ""
|
|
28 |
"please <a href=\"https://cff.dwbooster.com/contact-us\">contact us</a></div>"
|
29 |
msgstr ""
|
30 |
|
31 |
-
#: cp_calculatedfieldsf_free.php:
|
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 "
|
@@ -41,7 +41,7 @@ msgstr ""
|
|
41 |
msgid "Settings saved"
|
42 |
msgstr ""
|
43 |
|
44 |
-
#: inc/cpcff_admin_int.inc.php:50 inc/cpcff_admin_int_list.inc.php:
|
45 |
#: inc/cpcff_page_builders.inc.php:155
|
46 |
#: pagebuilders/beaverbuilder/cff/cff/cff.php:9
|
47 |
#: pagebuilders/beaverbuilder/cff/cff/cff.php:11
|
@@ -208,7 +208,7 @@ msgstr ""
|
|
208 |
msgid "To insert this form in a post/page, use the dedicated icon"
|
209 |
msgstr ""
|
210 |
|
211 |
-
#: inc/cpcff_admin_int.inc.php:316 inc/cpcff_main.inc.php:
|
212 |
msgid "Insert Calculated Fields Form"
|
213 |
msgstr ""
|
214 |
|
@@ -219,12 +219,12 @@ msgid ""
|
|
219 |
msgstr ""
|
220 |
|
221 |
#: inc/cpcff_admin_int.inc.php:326 inc/cpcff_admin_int.inc.php:624
|
222 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
223 |
msgid "Request Custom Modifications"
|
224 |
msgstr ""
|
225 |
|
226 |
#: inc/cpcff_admin_int.inc.php:326 inc/cpcff_admin_int.inc.php:624
|
227 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
228 |
msgid "Help"
|
229 |
msgstr ""
|
230 |
|
@@ -296,7 +296,7 @@ msgstr ""
|
|
296 |
msgid "Valid until"
|
297 |
msgstr ""
|
298 |
|
299 |
-
#: inc/cpcff_admin_int.inc.php:376 inc/cpcff_admin_int_list.inc.php:
|
300 |
msgid "Add"
|
301 |
msgstr ""
|
302 |
|
@@ -516,181 +516,181 @@ msgstr ""
|
|
516 |
msgid "Font"
|
517 |
msgstr ""
|
518 |
|
519 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
520 |
msgid "Item added"
|
521 |
msgstr ""
|
522 |
|
523 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
524 |
msgid "Item updated"
|
525 |
msgstr ""
|
526 |
|
527 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
528 |
msgid "Item deleted"
|
529 |
msgstr ""
|
530 |
|
531 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
532 |
msgid "Item duplicated/cloned"
|
533 |
msgstr ""
|
534 |
|
535 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
536 |
msgid "Duplicate/Clone Error, the form cannot be cloned"
|
537 |
msgstr ""
|
538 |
|
539 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
540 |
msgid "Troubleshoot settings updated"
|
541 |
msgstr ""
|
542 |
|
543 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
544 |
msgid "Are you sure that you want to delete this item?"
|
545 |
msgstr ""
|
546 |
|
547 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
548 |
msgid "Are you sure that you want to update these settings?"
|
549 |
msgstr ""
|
550 |
|
551 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
552 |
msgid "Form List / Items List"
|
553 |
msgstr ""
|
554 |
|
555 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
556 |
msgid "ID"
|
557 |
msgstr ""
|
558 |
|
559 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
560 |
msgid "Form Name"
|
561 |
msgstr ""
|
562 |
|
563 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
564 |
msgid "Options"
|
565 |
msgstr ""
|
566 |
|
567 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
568 |
msgid "Shortcode"
|
569 |
msgstr ""
|
570 |
|
571 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
572 |
msgid "Update"
|
573 |
msgstr ""
|
574 |
|
575 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
576 |
msgid "Settings"
|
577 |
msgstr ""
|
578 |
|
579 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
580 |
msgid "Messages"
|
581 |
msgstr ""
|
582 |
|
583 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
584 |
msgid "Clone"
|
585 |
msgstr ""
|
586 |
|
587 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
588 |
msgid "Delete"
|
589 |
msgstr ""
|
590 |
|
591 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
592 |
msgid "New Form"
|
593 |
msgstr ""
|
594 |
|
595 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
596 |
msgid "Item Name"
|
597 |
msgstr ""
|
598 |
|
599 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
600 |
msgid "For additional resources visit the plugin's"
|
601 |
msgstr ""
|
602 |
|
603 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
604 |
msgid "Marketplace"
|
605 |
msgstr ""
|
606 |
|
607 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
608 |
msgid "Troubleshoot Area & General Settings"
|
609 |
msgstr ""
|
610 |
|
611 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
612 |
msgid ""
|
613 |
"<strong>Important!</strong>: Use this area <strong>only</strong> if you are "
|
614 |
"experiencing conflicts with third party plugins, with the theme scripts or "
|
615 |
"with the character encoding."
|
616 |
msgstr ""
|
617 |
|
618 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
619 |
msgid "Script load method"
|
620 |
msgstr ""
|
621 |
|
622 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
623 |
msgid "Classic (Recommended)"
|
624 |
msgstr ""
|
625 |
|
626 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
627 |
msgid "Direct"
|
628 |
msgstr ""
|
629 |
|
630 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
631 |
msgid ""
|
632 |
"* Change the script load method if the form doesn't appear in the public "
|
633 |
"website."
|
634 |
msgstr ""
|
635 |
|
636 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
637 |
msgid "Character encoding"
|
638 |
msgstr ""
|
639 |
|
640 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
641 |
msgid "Keep current charset (Recommended)"
|
642 |
msgstr ""
|
643 |
|
644 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
645 |
msgid "try this first"
|
646 |
msgstr ""
|
647 |
|
648 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
649 |
msgid "Only from MySQL 5.5"
|
650 |
msgstr ""
|
651 |
|
652 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
653 |
msgid ""
|
654 |
"* Update the charset if you are getting problems displaying special/non-"
|
655 |
"latin characters. After updated you need to edit the special characters "
|
656 |
"again."
|
657 |
msgstr ""
|
658 |
|
659 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
660 |
msgid "There is active an optimization plugin in WordPress"
|
661 |
msgstr ""
|
662 |
|
663 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
664 |
msgid ""
|
665 |
"* Tick the checkbox if there is an optimization plugin active on the "
|
666 |
"website, and the forms are not visible."
|
667 |
msgstr ""
|
668 |
|
669 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
670 |
msgid "Activate Javascript Cache"
|
671 |
msgstr ""
|
672 |
|
673 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
674 |
msgid "Allows to access the forms directly"
|
675 |
msgstr ""
|
676 |
|
677 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
678 |
msgid "Allows to access the forms from amp pages"
|
679 |
msgstr ""
|
680 |
|
681 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
682 |
msgid "Do not load the forms with crawlers"
|
683 |
msgstr ""
|
684 |
|
685 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
686 |
msgid "* The forms are not loaded when website is being indexed by searchers."
|
687 |
msgstr ""
|
688 |
|
689 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
690 |
msgid "UPDATE"
|
691 |
msgstr ""
|
692 |
|
693 |
-
#: inc/cpcff_admin_int_list.inc.php:
|
694 |
msgid "Upgrade"
|
695 |
msgstr ""
|
696 |
|
@@ -742,11 +742,11 @@ msgid ""
|
|
742 |
"settings."
|
743 |
msgstr ""
|
744 |
|
745 |
-
#: inc/cpcff_main.inc.php:
|
746 |
msgid "Request custom changes"
|
747 |
msgstr ""
|
748 |
|
749 |
-
#: inc/cpcff_main.inc.php:
|
750 |
msgid "Create a JavaScript var from POST, GET, SESSION, or COOKIE var"
|
751 |
msgstr ""
|
752 |
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: \n"
|
4 |
+
"POT-Creation-Date: 2021-05-03 16:03+0200\n"
|
5 |
+
"PO-Revision-Date: 2021-05-03 16: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.4.3\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:78
|
19 |
msgid "Form Preview"
|
20 |
msgstr ""
|
21 |
|
22 |
+
#: cp_calculatedfieldsf_free.php:113
|
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 "
|
28 |
"please <a href=\"https://cff.dwbooster.com/contact-us\">contact us</a></div>"
|
29 |
msgstr ""
|
30 |
|
31 |
+
#: cp_calculatedfieldsf_free.php:129
|
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 "
|
41 |
msgid "Settings saved"
|
42 |
msgstr ""
|
43 |
|
44 |
+
#: inc/cpcff_admin_int.inc.php:50 inc/cpcff_admin_int_list.inc.php:100
|
45 |
#: inc/cpcff_page_builders.inc.php:155
|
46 |
#: pagebuilders/beaverbuilder/cff/cff/cff.php:9
|
47 |
#: pagebuilders/beaverbuilder/cff/cff/cff.php:11
|
208 |
msgid "To insert this form in a post/page, use the dedicated icon"
|
209 |
msgstr ""
|
210 |
|
211 |
+
#: inc/cpcff_admin_int.inc.php:316 inc/cpcff_main.inc.php:238
|
212 |
msgid "Insert Calculated Fields Form"
|
213 |
msgstr ""
|
214 |
|
219 |
msgstr ""
|
220 |
|
221 |
#: inc/cpcff_admin_int.inc.php:326 inc/cpcff_admin_int.inc.php:624
|
222 |
+
#: inc/cpcff_admin_int_list.inc.php:269
|
223 |
msgid "Request Custom Modifications"
|
224 |
msgstr ""
|
225 |
|
226 |
#: inc/cpcff_admin_int.inc.php:326 inc/cpcff_admin_int.inc.php:624
|
227 |
+
#: inc/cpcff_admin_int_list.inc.php:269 inc/cpcff_main.inc.php:221
|
228 |
msgid "Help"
|
229 |
msgstr ""
|
230 |
|
296 |
msgid "Valid until"
|
297 |
msgstr ""
|
298 |
|
299 |
+
#: inc/cpcff_admin_int.inc.php:376 inc/cpcff_admin_int_list.inc.php:211
|
300 |
msgid "Add"
|
301 |
msgstr ""
|
302 |
|
516 |
msgid "Font"
|
517 |
msgstr ""
|
518 |
|
519 |
+
#: inc/cpcff_admin_int_list.inc.php:26
|
520 |
msgid "Item added"
|
521 |
msgstr ""
|
522 |
|
523 |
+
#: inc/cpcff_admin_int_list.inc.php:32
|
524 |
msgid "Item updated"
|
525 |
msgstr ""
|
526 |
|
527 |
+
#: inc/cpcff_admin_int_list.inc.php:38
|
528 |
msgid "Item deleted"
|
529 |
msgstr ""
|
530 |
|
531 |
+
#: inc/cpcff_admin_int_list.inc.php:42
|
532 |
msgid "Item duplicated/cloned"
|
533 |
msgstr ""
|
534 |
|
535 |
+
#: inc/cpcff_admin_int_list.inc.php:43
|
536 |
msgid "Duplicate/Clone Error, the form cannot be cloned"
|
537 |
msgstr ""
|
538 |
|
539 |
+
#: inc/cpcff_admin_int_list.inc.php:92
|
540 |
msgid "Troubleshoot settings updated"
|
541 |
msgstr ""
|
542 |
|
543 |
+
#: inc/cpcff_admin_int_list.inc.php:146
|
544 |
msgid "Are you sure that you want to delete this item?"
|
545 |
msgstr ""
|
546 |
|
547 |
+
#: inc/cpcff_admin_int_list.inc.php:154
|
548 |
msgid "Are you sure that you want to update these settings?"
|
549 |
msgstr ""
|
550 |
|
551 |
+
#: inc/cpcff_admin_int_list.inc.php:170
|
552 |
msgid "Form List / Items List"
|
553 |
msgstr ""
|
554 |
|
555 |
+
#: inc/cpcff_admin_int_list.inc.php:175
|
556 |
msgid "ID"
|
557 |
msgstr ""
|
558 |
|
559 |
+
#: inc/cpcff_admin_int_list.inc.php:175
|
560 |
msgid "Form Name"
|
561 |
msgstr ""
|
562 |
|
563 |
+
#: inc/cpcff_admin_int_list.inc.php:175
|
564 |
msgid "Options"
|
565 |
msgstr ""
|
566 |
|
567 |
+
#: inc/cpcff_admin_int_list.inc.php:175
|
568 |
msgid "Shortcode"
|
569 |
msgstr ""
|
570 |
|
571 |
+
#: inc/cpcff_admin_int_list.inc.php:189
|
572 |
msgid "Update"
|
573 |
msgstr ""
|
574 |
|
575 |
+
#: inc/cpcff_admin_int_list.inc.php:190 inc/cpcff_main.inc.php:219
|
576 |
msgid "Settings"
|
577 |
msgstr ""
|
578 |
|
579 |
+
#: inc/cpcff_admin_int_list.inc.php:191
|
580 |
msgid "Messages"
|
581 |
msgstr ""
|
582 |
|
583 |
+
#: inc/cpcff_admin_int_list.inc.php:192
|
584 |
msgid "Clone"
|
585 |
msgstr ""
|
586 |
|
587 |
+
#: inc/cpcff_admin_int_list.inc.php:193
|
588 |
msgid "Delete"
|
589 |
msgstr ""
|
590 |
|
591 |
+
#: inc/cpcff_admin_int_list.inc.php:206
|
592 |
msgid "New Form"
|
593 |
msgstr ""
|
594 |
|
595 |
+
#: inc/cpcff_admin_int_list.inc.php:210
|
596 |
msgid "Item Name"
|
597 |
msgstr ""
|
598 |
|
599 |
+
#: inc/cpcff_admin_int_list.inc.php:217
|
600 |
msgid "For additional resources visit the plugin's"
|
601 |
msgstr ""
|
602 |
|
603 |
+
#: inc/cpcff_admin_int_list.inc.php:217
|
604 |
msgid "Marketplace"
|
605 |
msgstr ""
|
606 |
|
607 |
+
#: inc/cpcff_admin_int_list.inc.php:222
|
608 |
msgid "Troubleshoot Area & General Settings"
|
609 |
msgstr ""
|
610 |
|
611 |
+
#: inc/cpcff_admin_int_list.inc.php:233
|
612 |
msgid ""
|
613 |
"<strong>Important!</strong>: Use this area <strong>only</strong> if you are "
|
614 |
"experiencing conflicts with third party plugins, with the theme scripts or "
|
615 |
"with the character encoding."
|
616 |
msgstr ""
|
617 |
|
618 |
+
#: inc/cpcff_admin_int_list.inc.php:234
|
619 |
msgid "Script load method"
|
620 |
msgstr ""
|
621 |
|
622 |
+
#: inc/cpcff_admin_int_list.inc.php:236
|
623 |
msgid "Classic (Recommended)"
|
624 |
msgstr ""
|
625 |
|
626 |
+
#: inc/cpcff_admin_int_list.inc.php:237
|
627 |
msgid "Direct"
|
628 |
msgstr ""
|
629 |
|
630 |
+
#: inc/cpcff_admin_int_list.inc.php:239
|
631 |
msgid ""
|
632 |
"* Change the script load method if the form doesn't appear in the public "
|
633 |
"website."
|
634 |
msgstr ""
|
635 |
|
636 |
+
#: inc/cpcff_admin_int_list.inc.php:241
|
637 |
msgid "Character encoding"
|
638 |
msgstr ""
|
639 |
|
640 |
+
#: inc/cpcff_admin_int_list.inc.php:243
|
641 |
msgid "Keep current charset (Recommended)"
|
642 |
msgstr ""
|
643 |
|
644 |
+
#: inc/cpcff_admin_int_list.inc.php:244
|
645 |
msgid "try this first"
|
646 |
msgstr ""
|
647 |
|
648 |
+
#: inc/cpcff_admin_int_list.inc.php:245
|
649 |
msgid "Only from MySQL 5.5"
|
650 |
msgstr ""
|
651 |
|
652 |
+
#: inc/cpcff_admin_int_list.inc.php:248
|
653 |
msgid ""
|
654 |
"* Update the charset if you are getting problems displaying special/non-"
|
655 |
"latin characters. After updated you need to edit the special characters "
|
656 |
"again."
|
657 |
msgstr ""
|
658 |
|
659 |
+
#: inc/cpcff_admin_int_list.inc.php:250
|
660 |
msgid "There is active an optimization plugin in WordPress"
|
661 |
msgstr ""
|
662 |
|
663 |
+
#: inc/cpcff_admin_int_list.inc.php:251
|
664 |
msgid ""
|
665 |
"* Tick the checkbox if there is an optimization plugin active on the "
|
666 |
"website, and the forms are not visible."
|
667 |
msgstr ""
|
668 |
|
669 |
+
#: inc/cpcff_admin_int_list.inc.php:254
|
670 |
msgid "Activate Javascript Cache"
|
671 |
msgstr ""
|
672 |
|
673 |
+
#: inc/cpcff_admin_int_list.inc.php:256
|
674 |
msgid "Allows to access the forms directly"
|
675 |
msgstr ""
|
676 |
|
677 |
+
#: inc/cpcff_admin_int_list.inc.php:258
|
678 |
msgid "Allows to access the forms from amp pages"
|
679 |
msgstr ""
|
680 |
|
681 |
+
#: inc/cpcff_admin_int_list.inc.php:260
|
682 |
msgid "Do not load the forms with crawlers"
|
683 |
msgstr ""
|
684 |
|
685 |
+
#: inc/cpcff_admin_int_list.inc.php:260
|
686 |
msgid "* The forms are not loaded when website is being indexed by searchers."
|
687 |
msgstr ""
|
688 |
|
689 |
+
#: inc/cpcff_admin_int_list.inc.php:262
|
690 |
msgid "UPDATE"
|
691 |
msgstr ""
|
692 |
|
693 |
+
#: inc/cpcff_admin_int_list.inc.php:269 inc/cpcff_main.inc.php:220
|
694 |
msgid "Upgrade"
|
695 |
msgstr ""
|
696 |
|
742 |
"settings."
|
743 |
msgstr ""
|
744 |
|
745 |
+
#: inc/cpcff_main.inc.php:218
|
746 |
msgid "Request custom changes"
|
747 |
msgstr ""
|
748 |
|
749 |
+
#: inc/cpcff_main.inc.php:238
|
750 |
msgid "Create a JavaScript var from POST, GET, SESSION, or COOKIE var"
|
751 |
msgstr ""
|
752 |
|
pagebuilders/divi/cff.pb.php
CHANGED
@@ -56,7 +56,7 @@ class CFF_DIVI extends ET_Builder_Module
|
|
56 |
);
|
57 |
}
|
58 |
|
59 |
-
public function render($unprocessed_props, $content = null, $render_slug)
|
60 |
{
|
61 |
$output = '';
|
62 |
$form = @intval($this->props['cff_form_id']);
|
56 |
);
|
57 |
}
|
58 |
|
59 |
+
public function render($unprocessed_props, $content = null, $render_slug = '')
|
60 |
{
|
61 |
$output = '';
|
62 |
$form = @intval($this->props['cff_form_id']);
|
pagebuilders/gutenberg/assets/js/gutenberg.js
CHANGED
@@ -134,73 +134,80 @@ jQuery(function()
|
|
134 |
{
|
135 |
key: 'cpcff_inspector'
|
136 |
},
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
204 |
)
|
205 |
);
|
206 |
}
|
@@ -240,25 +247,32 @@ jQuery(function()
|
|
240 |
{
|
241 |
key: 'cpcff_inspector'
|
242 |
},
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
262 |
),
|
263 |
el(
|
264 |
'textarea',
|
134 |
{
|
135 |
key: 'cpcff_inspector'
|
136 |
},
|
137 |
+
el(
|
138 |
+
'div',
|
139 |
+
{
|
140 |
+
key: 'cpcff_inspector_container',
|
141 |
+
style:{paddingLeft:'20px',paddingRight:'20px'}
|
142 |
+
},
|
143 |
+
[
|
144 |
+
el(
|
145 |
+
'span',
|
146 |
+
{
|
147 |
+
key: 'cpcff_inspector_help',
|
148 |
+
style:{fontStyle: 'italic'}
|
149 |
+
},
|
150 |
+
'If you need help: '
|
151 |
+
),
|
152 |
+
el(
|
153 |
+
'a',
|
154 |
+
{
|
155 |
+
key : 'cpcff_inspector_help_link',
|
156 |
+
href : 'https://cff.dwbooster.com/documentation#insertion-page',
|
157 |
+
target : '_blank'
|
158 |
+
},
|
159 |
+
'CLICK HERE'
|
160 |
+
),
|
161 |
+
el(
|
162 |
+
'hr',
|
163 |
+
{
|
164 |
+
key : 'cpcff_inspector_separator'
|
165 |
+
}
|
166 |
+
),
|
167 |
+
el(
|
168 |
+
'label',
|
169 |
+
{
|
170 |
+
key : 'cpcff_inspector_forms_label'
|
171 |
+
},
|
172 |
+
cpcff_gutenberg_editor_config['labels']['forms']
|
173 |
+
),
|
174 |
+
el(
|
175 |
+
'select',
|
176 |
+
{
|
177 |
+
key : 'cpcff_inspector_forms_list',
|
178 |
+
style : {width: '100%'},
|
179 |
+
onChange : set_attributes,
|
180 |
+
value: id
|
181 |
+
},
|
182 |
+
options
|
183 |
+
),
|
184 |
+
el(
|
185 |
+
'label',
|
186 |
+
{
|
187 |
+
key : 'cpcff_inspector_attributes_label'
|
188 |
+
},
|
189 |
+
cpcff_gutenberg_editor_config['labels']['attributes']
|
190 |
+
),
|
191 |
+
el(
|
192 |
+
'input',
|
193 |
+
{
|
194 |
+
type : 'text',
|
195 |
+
key : 'cpcff_inspector_text',
|
196 |
+
value : get_addtional_atts(),
|
197 |
+
onChange : set_attributes,
|
198 |
+
style: {width:"100%"}
|
199 |
+
}
|
200 |
+
),
|
201 |
+
el(
|
202 |
+
'span',
|
203 |
+
{
|
204 |
+
key : 'cpcff_inspector_attributes_help',
|
205 |
+
style:{fontStyle: 'italic'}
|
206 |
+
},
|
207 |
+
'variable_name="value"'
|
208 |
+
)
|
209 |
+
]
|
210 |
+
)
|
211 |
)
|
212 |
);
|
213 |
}
|
247 |
{
|
248 |
key: 'cpcff_inspector'
|
249 |
},
|
250 |
+
el(
|
251 |
+
'div',
|
252 |
+
{
|
253 |
+
key: 'cpcff_inspector_container',
|
254 |
+
style:{paddingLeft:'20px',paddingRight:'20px'}
|
255 |
+
},
|
256 |
+
[
|
257 |
+
el(
|
258 |
+
'span',
|
259 |
+
{
|
260 |
+
key: 'cpcff_inspector_help',
|
261 |
+
style:{fontStyle: 'italic'}
|
262 |
+
},
|
263 |
+
'If you need help: '
|
264 |
+
),
|
265 |
+
el(
|
266 |
+
'a',
|
267 |
+
{
|
268 |
+
key : 'cpcff_inspector_help_link',
|
269 |
+
href : 'https://cff.dwbooster.com/documentation#javascript-variables',
|
270 |
+
target : '_blank'
|
271 |
+
},
|
272 |
+
'CLICK HERE'
|
273 |
+
)
|
274 |
+
]
|
275 |
+
)
|
276 |
),
|
277 |
el(
|
278 |
'textarea',
|