forked from wp-premium/gravityforms
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathchange_log.txt
4214 lines (3788 loc) · 310 KB
/
change_log.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
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
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
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
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
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
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
------------------------------------------------------------------------------------------------------------------
Version 1.9.16
- Added logging of form import failures.
- Added some additional logging statements.
- Added security enhancements. Credits: Allan Collins of 10up.com and Henri Salo from Nixu.
- Added "Email Service" field to notifications to allow for sending email notifications via third party services. Defaults to WordPress.
- Added "gform_notification_services" filter to add custom notification email services.
- Added "gform_notification_validation" filter to apply custom validations when saving notifications.
- Added action "gform_post_notification_save" which fires after notification is successfully saved.
- Added data-label attribute to the list field to support more responsive styles.
- Updated Spanish (es_ES) translation.
- Updated French translation. Credit: Yann Gauche.
- Updated plugin settings tab links to only include the page and subview query arguments.
- Updated Danish translation. Credit: WPbureauet.dk/Georg Adamsen.
- Updated "gform_notification_ui_settings" filter with the validation state as the fourth parameter.
- Updated "gform_pre_send_email" filter with the notification object as the third parameter.
- Updated Finnish translation. Credit: Aki Björklund.
- Updated Font Awesome to version 4.5.0.
- Updated Portuguese Brazilian translation. Credit: Dennis Franck.
- Updated the arguments used to retrieve the users to improve performance when populating the entries page filters. Credit: the GravityView team.
- Updated GFExport::get_field_row_count() to be a public method.
- Updated the gform_list_item_pre_add filter to include $group (the tr) as the second parameter.
- Fixed a layout issue effecting tabbed settings pages and the bulk add/predefined choices modal.
- Fixed an issue which could cause an incorrect result for the calculated product field.
- Fixed an issue with the restoring of the Email field default values by conditional logic when the email confirmation setting is enabled.
- Fixed an issue with the merge tag drop down for the default value setting containing some merge tags which are not replaced when the default value merge tags are processed.
- Fixed an issue with the fieldId parameter of the gform_format_option_label hook being undefined for radio and checkbox type fields.
- Fixed a PHP notice for the Address field which would occur if the selected address type does not exist.
- Fixed an issue with Number field validation of decimal values without a leading zero.
- Fixed fatal error which could occur on the entry detail page.
- Fixed an issue with the {embed_url} merge tag when notifications are resent from the admin.
- Fixed an issue which could cause an incorrect calculation result for the number field when using the decimal comma format.
- Fixed an issue with the embed_post and custom_field merge tags when the form is not located on a singular page.
- Fixed a PHP notice which could occur during post creation if the postAuthor property is not set in the form object.
- Fixed an issue causing some values to be encoded before being saved.
- Fixed an issue with the database permissions check.
- Fixed PHP warning when using GFCommon::replace_variables() without providing a form object.
- Fixed a PHP notice if the form CSS Class Name setting was not configured.
- Fixed missing Font Awesome file.
- Fixed an RTL layout issue with the Time field.
- Fixed an issue which could cause an incorrect calculation result during submission when using values from fields which don't have the number format setting.
- Fixed an issue where on some occasions the Post Category field choices could be missing from the field filters value dropdown on the entry list page.
- Fixed an issue with the entry list field filters where searching by the Post Category field would not return any entries.
- Fixed issue where division by zero generated warnings in calculation formulas
- Fixed PHP notice on the entry list page which could occur for multi-file enabled fields if the field value was modified post submission using a custom method.
- Fixed PHP warning on the entry detail page which could occur if the file upload field value was cleared post submission using a custom method.
- Fixed an issue creating the post when the category name includes the colon character.
- Fixed issue with entry list sorting on certain mySQL installations.
- Fixed PHP notice which could occur during merge tag replacement if the form id or title are not set in the supplied form object. Credit: the GravityView team.
- Fixed an issue with the Post Image field not retaining the title, description or caption values when the form fails validation. Credit: the GravityView team.
- Rolled back change to the entry count query for the Forms page made in 1.9.14.24 for performance reasons.
- API: Fixed an issue with the contains and like operators when searching entry meta.
- API: Updated title to "Gravity Forms Web API".
- AF: Fixed an issue whith cancelling subscription when multiple payment addons are installed.
- AF: Fixed an issue with the version number being appended to the script/style src attribute when using scripts()/styles() and the version parameter is set to null.
- AF: Added GFFeedAddOn::get_single_submission_feed_by_form() to return a single active feed for the current entry (evaluating any conditional logic).
- AF: Updated GFFeedAddOn::get_single_submission_feed() to use GFFeedAddOn::get_single_submission_feed_by_form().
- AF: Fixed an issue with the feed add-on setup routine. Use the 'setup' query string parameter (ie. ?page=gf_settings&setup) on the settings page to force table creation if required.
- AF: Fixed an issue with the input for the radio type setting having two id attributes if an id was configured for the choice in feed_settings_fields().
- AF: Fixed an issue with the field label markup for the field_map type setting.
- AF: Updated GFAddOn::get_field_value() to support calling a get_{$input_type}_field_value function if defined by the add-on.
- AF: Fixed a fatal error which could occur when processing callbacks if the RGCurrency class is not available.
- AF: Added gform_addon_field_value, a generic filter for overriding the mapped field value. See https://www.gravityhelp.com/documentation/article/gform_addon_field_value/
- AF: Fixed issue where templates with leading whitespace generated a jQuery warning in repeater.js
- AF: Updated 'add' callback to include 'index' as a fourth parameter
- AF: Updated bulk actions for feed list able to no longer include the duplicate action.
- AF: Updated checkbox and radio settings fields to support choices with icons. Icon can be an image URL or Font Awesome icon class.
- AF: Updated GFAddOn::single_setting_label() to not display PHP notice when label is not provided.
- AF: Added GFAddOn::maybe_get_tooltip().
- AF: Added support for tooltips to the child fields of the field_map setting.
- AF: Added "after_select" property to select field setting to show text after the select field.
------------------------------------------------------------------------------------------------------------------
Version 1.9.15
- Added the gform_search_criteria_entry_list filter allowing the search criteria for the entry list to be overridden. See https://www.gravityhelp.com/documentation/article/gform_search_criteria_entry_list/
- Added $default parameter to rgar() function to allow returning a specified value if the targeted property is empty
- Added security enhancements. Credit: Andrew Bauer - Boston University Web Team.
- Added security enhancements. Credit: Sathish Kumar from Cyber Security Works Pvt Ltd (http://cybersecurityworks.com/)
- Added the 'gform_media_upload_path' filter so the location post image files are copied to during post creation can be overridden. See https://www.gravityhelp.com/documentation/article/gform_media_upload_path/
- Added new filter 'gform_review_page' to enable review form page. See https://www.gravityhelp.com/documentation/article/gform_review_page/
- Added is_zero_decimal() helper to RGCurrency.
- Added "responsive" support to the entry list for a better experience on smaller screens. The first column is maintained while the rest of the columns collapse until toggled.
- Added new filter 'gform_print_entry_disable_auto_print' to disable auto-printing on Print Entry view.
See: https://gist.github.com/spivurno/e7d1e4563986b3bc5ac4
- Added new action 'gform_print_entry_content' to better support customizing the print entry output.
See: https://gist.github.com/spivurno/d617ce30b47d8a8bc8a8
- Added an index to the lead detail table to speed up searches.
- Added source_url to GFFormsModel::get_incomplete_submission_values().
- Updated the $review_page parameters for the gform_review_page hook to support configuring the next and previous buttons as images.
- Updated GFFormDisplay::gform_footer() to be a public method.
- Updated French translation. Credit: Thomas Villain.
- Updated order in which GFFormDisplay::maybe_add_review_page() was called
- Updated GFFormDisplay::maybe_add_review_page() to accept a $form parameter (rather than a $form_id)
- Updated GFFormDisplay::maybe_add_review_page() to only generate a temp entry if a function has been bound to the 'gform_review_page' filter
- Updated 'gform_pre_process' action to a filter to allow filtering the $form object before GF has begun processing the submission
- Updated gf_do_action() and gf_apply_filters() functions to no longer require a modifiers parameter; Modifiers should no longer be passed as a separate parameter. Combine the action name and modifier(s) into an array and pass that array as the first parameter of the function. Example: gf_do_action( array( 'action_name', 'mod1', 'mod2' ), $arg1, $arg2 );
- Updated all calls to gf_do_action() and gf_apply_filters() to use new parameter format
- Updated List field markup to include 'gfield_list_container' class on the table and 'gfield_list_group' on each table row.
- Updated the gformAddListItem(), gformDeleteListItem(), gformAdjustClasses(), gformToggleIcons() to target elements by class rather than element type; allows for custom, tableless List field markup.
- Updated conditional logic action description on Section field to 'this section if'.
- Updated Hungarian translation. Credit: Péter Ambrus.
- Updated Print Entry view to use 'gform_print_entry_content' hook to output print entry.
- Updated GFCommon::replace_variables() to improve performance. Credit: the GravityView team.
- Updated Hungarian, thanks to Békési László.
- Updated Swedish (sv_SE) translation thanks to Thomas Mårtensson.
- Updated Spanish (es_ES) translation.
- Updated entry detail page so the gform_field_content filter can be used to override how the Section Break field is displayed.
- Updated GFCommon::send_email() signature to include $entry as tenth parameter, defaults to false if not passed.
- Updated gform_send_email_failed action hook to include $entry as third parameter.
- Updated gform_after_email action hook to include $entry as twelfth parameter.
- Fixed an issue which could occur when resuming an incomplete submission after the number of Page fields has reduced.
- Fixed page header not appearing on Updates page.
- Fixed an issue which, if the user clicked the save and continue link and then used the browser back button, would cause the save and continue confirmation to be displayed when clicking the next button.
- Fixed an issue which could occur when resuming an incomplete submission after the number of Page fields has reduced.
- Fixed page header not appearing on Updates page.
- Fixed an issue with the form specific version of the gform_review_page hook not being used.
- Fixed a fatal error which could occur when using the gform_review_page hook.
- Fixed an issue with the calculation type Product field displaying the parameter name setting for the price input.
- Fixed an issue with the Product field quantity input missing the disabled attribute in the form editor.
- Fixed an issue which caused no columns to be displayed on the entry list page if the first five fields are display only.
- Fixed an issue introduced in 1.9.14.21 where the submitted checkbox values may not be available in certain scenarios.
- Fixed PHP warning on initial form display when using the 'gform_review_page' filter with a form that has calculations.
- Fixed an issue with the entries count on the forms list page including empty entries.
- Fixed issue where converting numbers to WP locale conflicted with numbers provided in conditional logic
- Fixed an issue which allowed a user without the gravityforms_create_form capability to create a new form.
- Fixed an issue which could prevent checkbox values containing ampersands being exported.
- Fixed notice in GFFormDisplay::get_conditional_logic() when field had no dependents.
- Fixed an issue with merge tag replacement when using a modifier along with a conditional shortcode.
- Fixed an issue which could prevent the lead detail table being created.
- Fixed an issue with merge tag replacement.
- Fixed an issue with conditional logic when wp locale is set to decimal comma.
- Fixed an issue with calculation fields on number fields formatted as currency.
- Fixed an issue with calculation fields on number fields formatted with decimal dot.
- Fixed an issue when using conditional shortcode on a field containing double quotes.
- Fixed an issue with the Total field when the page is refreshed in Firefox.
- Fixed an issue with the filter links when combined with screen options.
- Fixed an issue with the admin styles when screen options are present.
- Fixed an issue with encryption/decryption when mcrypt isn't available.
- Fixed an issue with the advanced options link toggling the advanced options on all expanded form widgets.
- Fixed issue with user defined price field not formatting to currency
- Fixed an issue with how multi-input date and time Post Custom field values are retrieved during post creation.
- API: Added the gform_post_add_entry action which fires at the end of GFAPI::add_entry(). See https://www.gravityhelp.com/documentation/article/gform_post_add_entry/
- API: Added support for using 'like' and '>=' as search operators.
- API: Added GFCommon::trim_deep().
- API: Fixed an issue in the Web API for the submit_form function using the wrong variable.
- API: Updated the comma separated list returned by GF_Field_MultiSelect::get_value_merge_tag() to include a space after the comma.
- API: Added the gform_filter_links_entry_list filter to allow the row of filter links to be extended.
- AF: Updated GFFeedAddOn::can_duplicate_feed() to return false instead of true to allow add-ons to opt-in to duplication rather that opt out.
- AF: Added ability to duplicate feeds.
- AF: Added ability to disable duplication of specific feeds via GFFeedAddOn::can_duplicate_feed().
- AF: Added duplication of feeds when form is duplicated.
- AF: Fixed the error message when the user tries to update settings without permissions.
- AF: Added security enhancements. Credit: the GravityView team.
- AF: Added GFFeedAddOn::get_active_feeds() method to get active feeds.
- AF: Updated delayed feed logging to also include feeds delayed by the gform_is_delayed_pre_process_feed hook.
- AF: Added GFPaymentAddOn::get_currency() helper for getting the currency object.
- AF: Added GFPaymentAddOn::get_amount_export() to format the amount for export to the payment gateway. In add-ons which extend GFPaymentAddOn you would set $_requires_smallest_unit to true for the amount to be converted to the smallest currency unit e.g. dollars to cents.
- AF: Added GFPaymentAddOn::get_amount_import() to, if necessary, convert the amount back from the smallest unit required by the gateway e.g cents to dollars.
- AF: Fixed an issue with the choices available for mapping for the field_map field type.
- AF: Fixed an issue with the select_custom field type.
- AF: Added support for optgroup elements in the conditional logic fields select list.
- AF: Added support for the title element in the config array for an app settings tab.
- AF: Updated GFAddOn::load_screen_options() to public.
- AF: Updated GFPaymentAddOn::get_submission_data() to public.
------------------------------------------------------------------------------------------------------------------
Version 1.9.14
- Added security enhancements to the entry export process.
- Added $support_placeholders parameter to GFCommon::get_select_choices() method
- Added gf_input_change() JS function
- Added action-based system to conditional_logic.js; new method will trigger conditional logic from generic 'gform_input_change' event. Allows more granular control of the order in which input-change-event-based functionality (i.e. conditional logic) is triggered.
- Added 'fields' property to gf_form_conditional_logic JS object. Used to determine field's with conditional logic dependent on the current field. This differs from the 'dependents' property in that the dependents property refers to fields that should be shown/hidden based on a "parent" field (i.e. fields within a Section Break).
- Added new JS helper functions: rgar() and rgars(); work just like their PHP counterparts
- Added field type specific classes to input containers
- Added Gravity API client class to support requests to remote Gravity server.
- Added the gform_forms_post_import action. See https://www.gravityhelp.com/documentation/article/gform_forms_post_import/
- Added gform_currency_pre_save_entry filter allowing entry currency code to be overridden. See https://www.gravityhelp.com/documentation/article/gform_currency_pre_save_entry/
- Added extra parameter to GFCache::get() to optimize performance for non persistent cache gets
- Added gform_is_encrypted_field hook to allow custom logic to check if a field is encrypted as well as disabling encryption checking
- Added GFCommon::safe_strtoupper. Uses mb_strtoupper if available; with a fallback to strtoupper.
- Added tabindex and onkeypress attributes to list field add/delete row buttons.
- Added the gform_pre_entry_list and gform_post_entry_list action hooks to the entry list page. $form_id is the only parameter.
- Added gform_product_field_types filter to support custom product fields.
- Added the tabindex attribute to the button input of the multi-file enabled upload field.
- Added Bengali translation, thanks to Md Akter Hosen
- Added a deactivation hook to flush the Gravity Forms Cache including persistent transients. This provides a workaround for a rare issue on WordPress 4.3 where Gravity Forms user locks are not released automatically on some systems.
- Added payment_method to the lead database columns list
- Updated 'gform_conditional_logic' script to depend on 'gform_gravityforms'; this is to support a new action-based method for handling functionality that is triggered by input change events (i.e. conditional logic).
- Updated thickbox URLs to include a set height as needed
- Updated GFFormDisplay::get_form_button() to be a public method.
- Updated GFFormDisplay::get_max_field_id() to be public.
- Updated Website field so placeholder defaults to http:// for new fields.
- Updated jQuery JSON script to v2.5.1.
- Updated the value column of the lead details table to longtext. Affects new installations only. This fixes an issue where searching in fields with long values may not return accurate results.
- Updated German translation, thanks to David Steinbauer.
- Updated the gform_multiselect_placeholder filter to include a field specific version and to include $field as the third parameter.
- Updated gform_save_field_value and gform_get_input_value hooks to trigger form and field specific versions
- Updated change to Akismet setting in 1.9.13.2 to be properly sanitized
- Updated the Dutch translation.
- Fixed an issue with conditional logic on number fields formatted with decimal comma.
- Fixed an issue with the gform_replace_merge_tags hook running twice when GFCommon::replace_variables() is used.
- Fixed an issue with GFNotification::get_first_routing_field() not using the array of field types returned by the gform_routing_field_types hook.
- Fixed an issue with the merge tag drop down and the credit card field.
- Fixed an issue with GF_Field_Address::get_country_code which failed to return a value if the passed country contained cyrillic characters.
- Fixed an issue with the List field which could occur if gform_column_input was used to return a comma and space separated string for $input_info['choices'].
- Fixed an issue with product field validation.
- Fixed a PHP notice on the confirmations page if confirmation type is not set.
- Fixed an issue when searching for entries that are non-blanks.
- Fixed an issue where entry detail page would save notes to the wrong entry.
- Fixed an issue with the caching of the form meta. This fixes an issue with the export of entries in some cases.
- Fixed an issue with the plugin page not displaying HTML correctly in the upgrade message.
- Fixed an issue with PHP7 list() function with the calculation field.
- Fixed a PHP notice which could occur if a required radio type Product field was submitted without a choice being selected.
- Fixed an issue with empty form validation not taking field conditional logic into account.
- Fixed an issue with the list field values restored by conditional logic when the field is populated by gform_field_value using the new array format.
- Fixed an issue with GFNotification::is_valid_notification_email().
- Fixed an issue with GF_Field_List::get_value_export retrieving the values for the first column when multiple columns enabled.
- Fixed an issue where checkbox values containing ampersands are not correctly exported
- Fixed issue where form markup was still generated for custom shortcode actions
- Fixed issue where Akismet setting was showing as "on" when it was "off"
- Removed style which forced all GF thickbox modals to a height of 400px
- AF: Added support for "Entry ID" to field maps.
- AF: Added gform_is_delayed_pre_process_feed filter, including form specific version, to allow feed processing to be delayed. See https://www.gravityhelp.com/documentation/article/gform_is_delayed_pre_process_feed/
- AF: Added GFPaymentAddOn::maybe_validate() to check that the honeypot field was not completed before calling GFPaymentAddOn::validation().
- AF: Updated uses of GFCommon::to_number in GFPaymentAddOn to also pass the entry currency code.
- AF: Fixed an issue in GFPaymentAddOn::complete_payment where the entry currency was being reset to the currency from the settings page.
- AF: Updated "select_custom" settings field to only show input field when only select choice is "gf_custom".
- AF: Added entry_list to the page conditions for script loading.
- AF: Updated GFFeedAddon::has_feed() to be a public method.
- API: Added debug statements for logging to the Web API
- API: Added the gform_webapi_authentication_required_ENDPOINT filter. Allows overriding of authentication for all the endpoints of the Web API.
For example, require authentication on the POST forms/[ID]/submissions endpoint:
add_filter( 'gform_webapi_authentication_required_post_form_submissions', '__return_true' );
- API: Added support for an array of supported operators per value in the field filters.
- API: Fixed an issue with GFAddOn::is_entry_list() where filtered results are not supported.
- API: Fixed a JS error on the API settings page.
- API: Fixed issue where the data property of the error object was not being populated for the Web API
- API: Fixed notices
- API: Fixed an issue with the API settings page.
-------------------------------------------------------------------------------------------------------------------
Version 1.9.13
- Added security enhancements. Credits to Jonathan Desrosiers & Aaron Ware of Linchpin and Thomas Kräftner (http://kraftner.com).
- Updated the German translation.
- Updated the Spanish (es_ES) translation.
- Updated Finnish translation.
- Updated Swedish translation.
- Updated the 'gform_after_update_entry' action hook to include $original_entry as the third parameters; added form specific version.
- Updated jQuery events in gformInitPriceFields() to use .on().
- Updated Time field max hour to 24.
- Updated entry exports to use GF_Field::get_value_export().
- Updated the gform_after_create_post action hook to include a form specific version; Added $entry and $form objects as the second and third parameters.
- Updated Sub-Label Placement string.
- Fixed a php notice which could occur when resuming a saved incomplete submission.
- Fixed an issue with the radio button field 'other' choice feature.
- Fixed an issue with the Time field when conditional logic is activated.
- Fixed an issue where field values would not appear in notifications.
- Fixed issue with multi-file uploader creating a javascript error on certain situations.
- Fixed an issue with the field filters for the name field.
- Fixed an empty translation string.
- Fixed issue with form meta caching on multi-site installs.
- Fixed PHP notices when product info being prepared during submission, caused by Shipping field with placeholder selected.
- Fixed a layout issue with reCAPTCHA and the Twenty Fifteen theme.
- Fixed an issue with the translation of some strings.
- Removed alt and title attributes from save and continue link to enhance accessibility.
- Removed name attribute from confirmation anchor to enhance accessibility.
- Removed the 'other choice' setting from the radio button type Shipping field.
- AF: Fixed an issue with GFToken not saving tokens for asynchronous API calls.
- AF: Updated feed edit page to show configure_addon_message() if can_create_feed() is false.
- AF: Updated has_plugin_settings_page() to check if plugin_settings_page() has been overridden.
- AF: Fixed an issue with the shipping line item in the payment framework Submission Data; item ID was missing which could cause an issue for some gateways.
- AF: Updated get_plugin_settings() and get_plugin_setting() to be public methods.
- AF: Added the 'gform_submission_data_pre_process_payment' filter, including form specific version; Allowing the submission data, such as payment amount, line items etc. to be modified before it is used by the payment add-on. See https://www.gravityhelp.com/documentation/article/gform_submission_data_pre_process_payment/
- AF: Updated validation error icon for checkbox fields, adding it after the first checkbox item.
- AF: Fixed an issue with the display of the total pages count on the sales/results page
- AF: Updated get_field_value(), get_full_address(), get_full_name(), and get_list_field_value() to use GF_Field::get_value_export().
- API: Updated the GET /entries/[ID] and GET /forms/[ID]/entries endpoints to return List field values in JSON format instead of serialized strings.
- API: Updated the PUT /entries/[ID] and POST /forms/[ID]/entries endpoints to accept List field values in JSON format in addition to serialized strings.
- API: Updated the 'gform_post_update_entry' action in GFAPI::update_entry() to include a form specific version.
- API: Added GF_Field::get_value_export() so the field entry value can be processed before being used by add-ons etc.
-------------------------------------------------------------------------------------------------------------------
Version 1.9.12
- Added get started wizard to initial installation.
- Added accessibility improvement by changing the way field labels are hidden.
- Added Russian translation.
- Added support for line breaks when displaying entry notes.
- Added form specific version of gform_entry_post_save filter.
- Added 'minItemCount' parameter for repeater script.
- Added the datepicker to the date fields in the entry filters on the entry list, export page and add-on results pages.
- Added gf_do_action() to allow providing a list of modifiers for a action.
Example: gf_do_action( 'gform_batchbook_error', array( $form_id ), $feed, $entry, $form );
- Added the 'gform_disable_installation_status' filter for disabling display of the Installation Status section on the Forms > Settings page.
add_filter( 'gform_disable_installation_status', '__return_true' );
- Updated tab labels in the form editor for the start paging and end paging fields.
- Updated some entry meta related strings to be translatable on the entries page column selector.
- Updated GFFormDisplay::get_max_page_number() to be a public method.
- Updated the list of currencies to display USD, GBP and EUR first.
- Updated repeater.addNewItem() to support manually adding an item.
- Updated repeater.removeItem() to support manually removing an item.
- Updated repeater script to support removing ALL items (and still adding new items back).
- Updated the gform_field_choice_markup_pre_render filter to include a field specific version and also to apply to select choices. See https://www.gravityhelp.com/documentation/article/gform_field_choice_markup_pre_render/
- Fixed typo in the form editor getting started steps.
- Fixed WP_List_Tables error in WordPress 4.3 for feed lists.
- Fixed a false positive being identified by some security scanners under certain conditions.
- Fixed WP_List_Tables error in WordPress 4.3 for Notifications lists, Confirmation lists and Payment Add-On sales results pages.
- Fixed minor grammar errors in Payment Add-On Framework.
- Fixed an issue with the number field where a placeholder with a percentage symbol will display incorrectly.
- Fixed an issue with the gform_entry_detail_title filter.
- Fixed notice in WP 4.3 with Widget constructor deprecation.
- Fixed an issue with the formatting of some negative values for the number field.
- Fixed an issue with the gform_disable_notification filter.
- Fixed an issue with the way GFFormsModel::create_lead() handled some multi-input field types.
- Fixed issue with special characters on drop down fields not allowing field to be maintained across pages in a multi-page form.
- Fixed a php warning related to the password field strength validation message.
- Fixed an issue with the saving of incomplete submissions and the credit card field.
- AF: Added GFFeedAddOn::supported_notification_events() to allow for custom notification events.
- AF: Added GFFeedAddOn::add_feed_error() for logging errors that occur during feed processing. Error is added to the error log and as an error note to the entry.
- AF: Added "gform_{slug}_error" and "gform_{slug}_error_{$form_id}" hook to allow actions to be taken when a feed error is added.
- AF: Added extra validation to select_custom settings field for when the field is required, the custom choice is selected and the custom value is blank.
- AF: Moved note helpers from GFFeedAddOn to GFAddOn.
- AF: Moved note helpers from GFPaymentAddOn to GFFeedAddOn.
- AF: Added support for can_create_feed() to Payment Add-On Framework.
- AF: Added "input_type" property to text settings field to change the type of the input field.
- AF: Added GFPaymentFeedAddOn::creditcard_token_info() to supply feed data to GFToken Javascript object for payment gateways that require creating charge tokens with Javascript.
- AF: Fixed an issue with GFFeedAddOn::maybe_process_feed() processing multiple feeds for GFPaymentAddOn based add-ons e.g. if conditional logic was not enabled on all the feeds.
- AF: Fixed select_custom settings field showing multiple validation errors when field was invalid.
- AF: Fixed an issue with GFFeedAddOn::has_feed() which caused it to return true even if feeds were inactive. Caused Stripe add-on front-end scripts to be included when not needed.
- AF: Fixed plugin settings save messages saying feed was(n't) updated when using the Feed Add-On Framework.
- AF: Fixed an issue on the uninstall page where the confirmation message does not get displayed in some cases.
- AF: Fixed a php notice when creating a new feed for some add-ons.
- AF: Fixed no field map choices being presented if field type is an empty array.
- API: Added support for the placeholder and cssClass properties to the entry filters.
- API: Added support for the datepicker in entry filters.
-------------------------------------------------------------------------------------------------------------------
Version 1.9.11
- Added some accessibility features.
- Added 'gform_entries_field_header_pre_export', 'gform_entries_field_header_pre_export_{form_id}' and 'gform_entries_field_header_pre_export_{form_id}_{field_id}' filters for modifying the fields header in the entry export.
add_filter( 'gform_entries_field_header_pre_export', function( $header, $form, $field ) {
// do stuff
return $header;
} );
- Updated loading of the text domains to prevent loading them more than once.
- Updated list field pre-population to accept an array in the same format currently saved to the database. This change is backwards-compatible and will accept the old array format.
Example:
$list_array = array(
array(
'Column 1' => 'row1col1',
'Column 2' => 'row1col2',
),
array(
'Column 1' => 'row2col1',
'Column 2' => 'row2col2',
),
);
- Updated GFFormDisplay::get_input_mask_init_script() to disable the input mask for Android phones. This is a temporary workaround for some issues with certain models of Android phones.
- Updated some security precautions.
- Updated shortcode parsing so that "form" is the default action.
- Updated Finnish translation.
- Updated the ajax submission <iframe> tag to include the title attribute when HTML5 is enabled in the settings to comply with WCAG 2.0.
- Removed the duplicate_setting from the multiselect field type.
- Fixed an issue with the select and multi-select type fields which could result in the incorrect choices being selected.
- Fixed notice.
- Fixed a formatting issue in the payment results table.
- Fixed a warning in debug mode on the updates page.
- Fixed fatal error if insert_with_markers() not available.
- Fixed an issue with the updates page not displaying the "No updates available" message appropriately.
- Fixed an issue with validation of the Reply To field on the edit notification page.
- Fixed a minor CSS conflict with the Lite Tooltip plugin.
- Fixed issue with number field formatting for certain currencies.
- Fixed an issue with the Swiss Franc currency.
- Fixed notices caused by new primary column parameter for classes extending the WP_List_Table class.
- AF: Added 'gform_post_payment_action' hook to allow actions to be taken when payment events are completed. See https://www.gravityhelp.com/documentation/article/gform_post_payment_action/
- AF: Added "after_input" property to text field setting to show text after the input field.
- AF: Added maybe_override_field_value(). Override to prevent use of the gform_{slug}_field_value filter or to replace with a customised filter.
- AF: Added can_create_feed() to control rendering of feed creation UI.
- AF: Added "gform_{slug}_field_value", "gform_{slug}_field_value_{$form_id}" and "gform_{slug}_field_value_{$form_id}_{$field_id}" filters to modify field value.
- AF: Added "get_first_field_by_type" function to get the field ID of the first field of the desired type.
- AF: Updated field map choices to show "Select a Field" as first choice.
- AF: Updated field map choices to show message to user asking them to add a field to their form if no fields of designated type were found.
- AF: Updated Feed Name to display a default incremented name based on existing feeds in the add-on.
- AF: Fixed PHP notice with field select setting field due to undefined first choice label.
- AF: Fixed an issue with the app uninstall confirmation message not displaying.
- AF: Fixed an issue with the feed name in some maybe_process_feed() logging statements.
- AF: Fixed an issue with the default feed name not incrementing correctly based on field name.
- AF: Fixed a PHP notice for settings fields if field_type setting property was an array.
- AF: Fixed a PHP warning related to sales pagination.
- API: Fixed an issue with GFAPI::update_entry_field() where values for field IDs higher than 99 get added instead of updated.
- API: Fixed an issue with the Serbia and Montenegro choices in GF_Field_Address get_countries() and get_country_codes().
-------------------------------------------------------------------------------------------------------------------
Version 1.9.10
- Added security enhancements.
- Added the gform_field_types_delete_files filter, including form specific version, for modifying field types to delete files when deleting entries.
add_filter( 'gform_field_types_delete_files', 'delete_custom_field_upload' );
function delete_custom_field_upload( $field_types ) {
$field_types[] = 'post_custom_field';
return $field_types;
}
- Added a javascript hook gform_pre_conditional_logic. Fires before conditional logic is executed.
- Updated Swiss Franc symbol to CHF.
- Updated some delete queries so that they perform better on large databases.
- Updated the links in the help page.
- Updated query which deletes entry values from the entry_detail_long table to be more performant. Thanks @strebel!
- Fixed an issue with the Address field in the form editor where the country input was not hidden when a country specific address type was selected.
- Fixed an issue in Internet Explorer when editing a drop down with choices that are part of conditional logic.
- Fixed an issue with exporting entries and the list type Custom field not outputting it's value correctly.
- Fixed issue with conditional logic 'less than' operator not saving properly.
- Fixed a PHP notice in the form editor when saving a form with a Page field without next button conditional logic.
- Fixed an issue with the formatting of Paragraph, Post Body and Post Excerpt field values when merge tags are processed in some situations.
- Fixed an issue with the input mask setting in the form editor where the mask is not saved correctly.
- AF: Fixed an issue with the add-on uninstall process where app settings are not removed.
- AF: Fixed a database error during the add-on uninstall process when no forms exist.
- AF: Added get_dynamic_field_map_values( $feed, $field_name ); Returns array of mapped fields for a dynamic field map field and their values.
- AF: Prevent "Add Custom Key" option from being added to dynamic field map choices if "gf_custom" exists in a choices child array.
- AF: Added get_list_field_value( $entry, $field_id, $field ); Returns a comma separated string for the specified column or when multiple columns are not enabled.
- AF: Updated get_mapped_field_value() to use get_field_value().
- AF: Updated get_field_value() to use get_list_field_value().
- AF: Updated get_field_map_choices() and get_form_fields_as_choices() to include the List fields individual columns.
- AF: Fixed styling issues with the app settings uninstall tab.
- API: Removed deprecation notices from GFCommon::get_us_state_code(), GFCommon::get_country_code(), GFCommon::get_us_states() and GFCommon::get_canadian_provinces().
- API: Added GFFormsModel::get_fields_by_type() and some refactoring.
- API: Added GF_Field::get_input_type() helper e.g. $type = $field->get_input_type();
- API: Added GFAPI::get_fields_by_type() for returning an array of form fields of the specified type or inputType.
- API: Updated the Web API to hook into the template_redirect action instead of the pre_get_posts filter. This fixes an issue for add-ons that need access to posts.
-------------------------------------------------------------------------------------------------------------------
Version 1.9.9
- Added gform_is_form_editor, gform_is_entry_detail, gform_is_entry_detail_view, gform_is_entry_detail_edit filters.
- Added security enhancements.
- Added 'gf_placeholder' class to placeholder option for selects to support special styling and easier selection via JS.
- Added gform_form_pre_update_entry filter to allow dynamically populated fields to get populated before the entry is updated.
- Updated styles for messages in Resend Notifications UI (on entry list and entry detail views).
- Updated styles for meta boxes on entry detail view (includes minor markup changes).
- Fixed an issue with the saving of entry field values (log gave the impression that the honeypot field was being saved).
- Fixed a PHP notice related to the HTML5 attributes of the year input of the Date field.
- Fixed an issue with the form list where the filter labels may not be displayed.
- Fixed an issue with the settings page which may prevent the settings being saved in some situations.
- Fixed an issue with the bulk printing of entries for some field types. This fixes an issue with the Survey Add-On where values are lost on bulk printing of entries.
- Fixed issue with the addon browser where the license key wasn't getting sent along with the remote request.
- Fixed an issue with the formatting of Paragraph, Post Body and Post Excerpt field values when merge tags are processed in some situations.
- Fixed a database error on setup in certain scenarios.
- Fixed uninstall process to drop also rg_incomplete_submissions table.
- Fixed issue when upgrading indexes using utf8mb4 (default since WP 4.2).
- Fixed bug where entry list would display icon with invalid link if multi-file upload field was an empty array.
- Fixed bug where Resend Notifications Override setting was still visible after resending notifications (on entry detail view).
- Fixed bug where notification checkboxes were still checked after Resend Notifications UI was reset (in entry list view).
- Fixed bug where rg_lead_meta table creation fails under some database storage engine and collation combination (e.g. MyISAM with utf8mb4)
- Fixed an issue with HTTPS/SSL and the math challenge type Captcha field.
- AF: Added editor support to the textarea settings field (enable using the "use_editor" argument)
- AF: Fixed an issue with the date_created case in GFAddOn::get_field_value() which could prevent the date being returned in some situations.
- AF: Fixed issue "checkbox_and_select"; if checkbox name property was provided it would not display the select on load when enabled.
- AF: Fixed an issue which could prevent the gf_addon_feed table from being created in some situations.
- AF: Added "checkbox_and_select" field setting; check the checkbox and the select will appear with additional options.
- AF: Added support for tooltips on sections.
- AF: Updated markup/styles for delay payment options to better match standard settings (appear on PayPal Standard feed).
- AF: Fixed an issue with repeater.js which could cause rows to be added in the incorrect order.
- AF: Field map choices now have an empty first option when a field type is set.
- API: Added gfMultiFileUploader.setup() to gravityforms.js to make it easier to set up the multi-file upload field.
-------------------------------------------------------------------------------------------------------------------
Version 1.9.8
- Fixed an issue with the delete permanently action links on the form list page.
- Fixed an issue with the setup process.
- Fixed an issue with the duplicate and trash form action links on the form list page.
-------------------------------------------------------------------------------------------------------------------
Version 1.9.7
- Added support for the ajax shortcode attribute and anchors in the save and continue confirmations.
- Added security enhancements to the Form Editor.
- Added security enhancements to the file upload process.
- Updated multi-file upload processing by deprecating the ?gf_page=upload page and supporting GFCommon::get_upload_page_slug() instead.
- Updated logging around saving entry field values.
- Updated Spanish (es_ES) translation.
- Updated GFCommon::date_display() to support an input and output format.
- Fixed issue with javascript total calculation taking options into account even when their associated product isn't selected.
- Fixed an issue with the checkbox field and resuming an incomplete submission which could result in the incorrect choices being selected.
- Fixed a low severity security vulnerability in the admin area which could be exploited by authenticated users with form administration permissions.
- Fixed an issue with the reCaptcha field where HTTPS/SSL may not be detected correctly under certain circumstances.
- Fixed an issue with the setup routine creating an infinite loop in some situations.
- Fixed issue in GFFormsModel::update_lead_property() where (in some cases) the $form object was not set.
- Fixed an issue with save and continue where tokens are not reissued when invalid tokens are reused to save the submission.
- Fixed an issue with the shortcode preview in WordPress 4.2.
- Fixed an issue on the entry list where the first column doesn't display correctly under certain circumstances.
- Fixed issue when prepopulating checkboxes hidden by conditional logic.
- Fixed an issue with the multi-file upload on mobile devices where multiple file selection is not supported.
- Fixed an issue with a variable name in gravityforms.js using a reserved word.
- Fixed PHP notices related to the math type Captcha field when the Really Simple Captcha plugin is not active.
- Fixed an issue with empty form validation occurring if the form has required fields which have already failed validation.
- Fixed an issue with empty form validation of multi-page forms with pages hidden by conditional logic.
- Fixed an issue with the values in the Payment Details box on the entry detail page. This fixes an issue with the edit links generated by the PayPal Add-On.
- AF: Small style change to field map UI.
- AF: Added function to allow addons to change field map header.
- AF: Added handling of the date_created merge tag to the get_field_value function for instances where this function is used before the entry has been created.
- AF: Added ability to set a limit on the number of fields that may be added for fields of type dynamic_field_map.
- AF: Added support for displaying validation errors set for fields created as type dynamic_field_map.
- AF: Change "get_field_value" to use "get_full_name" and "get_full_address" functions to prevent access level conflict with MailChimp Add-On.
- AF: Fixed a bug where an error would be thrown if the function plugin_settings_page was not included in the add-on.
- AF: Added the ability to exclude certain field types from field mapping in the get_field_map_choices function.
- AF: Added "get_field_value" helper function to get value of a selected field.
- AF: Added support for disabling custom key option on dynamic field map setting.
- AF: Fixed issue where GFFeedAddon::get_single_submission_feed() would sometimes fail to return a valid feed.
- AF: Added support for multiple-select elements in repeater.js.
- AF: Fixed an issue where custom fields for dynamic field maps were indented.
- AF: Fixed an issue where multiple dynamic field map fields could not be used on the same page.
- AF: Added "select_custom" field to allow for custom option in drop down.
- AF: Added "save_callback" field meta option for filtering settings fields before being saved.
- API: Added GF_Field::_is_entry_detail to allow GF_Field::is_entry_detail() to be overridden.
- API: Added GF_Field_Select::get_choices() and GF_Field_MultiSelect::get_choices() to make it easier to extend those fields.
-------------------------------------------------------------------------------------------------------------------
Version 1.9.6
- Added 'gform_pre_replace_merge_tags' filter; allows replacement of default GF merge tags.
- Added support for index on SetDefaultValues() JS function; allows 3rd parties adding custom field types to alter the default settings based on the position of the field being added
- Added support for the merge tag {pricing_fields} to handle the modifiers admin and value (ex: {pricing_fields:admin} )
- Added the gform_field_choice_markup_pre_render filter, including form specific version, for modifying the markup of radio and checkbox choices.
add_filter( 'gform_field_choice_markup_pre_render', function ( $choice_markup, $choice, $field, $value ) {
// do stuff
return $choice_markup;
}, 10, 4 );
- Added form specific version of the gform_form_post_get_meta filter.
- Added security and enhancements to the single file upload field for some server configurations.
- Added GFNotifications::get_routing_field_types() for fetching supported fields types
- Added 'gform_routing_field_types' filter; allows modifying supported routing field types
Example:
add_filter( 'gform_routing_field_types', function( $field_types ) {
array_push( $field_types, 'my-custom-field-type' );
return $field_types;
} );
- Added minified versions of all JavaScript and CSS files. All minified versions of JavaScript and CSS files are now loaded by default. Use the SCRIPT_DEBUG constant or the query param gform_debug (e.g. domain.com/?gform_debug) to override.
- Added security precautions to the file upload field. If the allowed file types setting is empty, then uploaded files will be checked against the WordPress whitelist of extensions and mime types. Use the WordPress filter upload_mimes to add or remove extensions/types. Use the gform_file_upload_whitelisting_disabled filter to disable completely. Example:
add_filter('gform_file_upload_whitelisting_disabled', '__return_true');
- Updated the Phone field to disable the input mask for Android phones. This is a temporary workaround for an issue with certain models of Android phones where numbers don't appear correctly inside the mask.
- Updated the way date and time fields are dynamically populated and how their default values are reset by conditional logic; will be followed by a more comprehensive refactoring next development cycle.
- Updated the gform_notification_events filter to include $form as the second parameter.
- Updated Finnish translation.
- Updated the Spanish (es_ES) translation.
- Fixed a low severity security vulnerability in the admin area which could be exploited by authenticated users with form administration permissions.
- Fixed an issue with resending notifications using admin label.
- Fixed an issue with "copy values" for address field when conditional logic was enabled on that field.
- Fixed PHP notices which occur when validating the Time field in some situations.
- Fixed issue with empty form validation on multi-page forms.
- Fixed a minor PHP Notice while in debug mode on the plugins page when the WordPress Simple Firewall plugin is active.
- Fixed an issue where default Country was not correctly reset when conditional logic hides an Address field.
- Fixed CSS issue with Enhanced UI Drop Downs on HDPI screens
- Fixed an issue with GFFormsModel::get_prepared_input_value() for Address fields returning an empty value when the copy values feature is enabled and the source field has a value.
- Fixed an issue where blank entries were allowed to be created, even though they aren't displayed on the entry list
- Fixed an issue where entry count would take into account blank entries that aren't displayed on the entry list
- Fixed an issue causing the multi-file upload not to allow you to select a file under certain situations.
- Fixed PHP warnings while in debug mode when adding a Form widget.
- Fixed an issue where query string with special characters in confirmation redirect setting would get saved incorrectly.
- Fixed an issue where post custom fields configured as Time or Date weren't getting properly upgraded to 1.9 format.
- Fixed an issue in the form editor on WordPress 4.2 where the fields lower down the page cannot be reordered.
- Fixed the shortcode preview on WordPress 4.2.
- Fixed a JavaScript error in the single File Upload field when clearing a file that has failed validation.
- AF: Added support for "callback" parameter to "field_select" setting type; allows custom filtering of fields to be populated in the select
- AF: Added support in add-on framework for add-on translation (.mo) files in the WP_LANG_DIR/gravityforms folder. e.g. /wp-content/languages/gravityforms/gravityformsmailchimp-es_ES.mo
- AF: Updated GFAddon::settings_dynamic_field_map() to use <th> instead of <td> for consistency
- AF: Updated dynamic field map setting field in add-on framework to match functionality in User Registration add-on. Adds custom key field to field map array if it does not exist. Only shows custom key field if no field map is provided
- AF: Fixed a PHP notice in debug mode when rendering the field_select field with the args property.
- AF: Fixed a PHP notice on the plugins page in WordPress 4.2 when updates are available for Rocketgenius add-ons.
- AF: Fixed an issue with the creation of app menu items where top level menu items may not appear if another app is installed.
- AF: Fixed an issue with credit card payment feeds continuing to run after the field is deleted causing a validation error. Relevant feeds are now set to inactive when the credit card field is deleted.
- AF: Fixed an issue with callback processing occurring before feed processing for payment framework add-ons.
- AF: Added support in add-on framework for limiting field map fields to specific field types
Example:
$field_map = array(
array(
'name' => 'email',
'label' => ‘Email Address’,
'required' => true,
'field_type' => array( 'email' )
),
array(
'name' => ‘name’,
'label' => ‘Your Name',
'field_type' => array( ‘name’ )
),
);
- AF: Fixed an issue with GFPaymentAddOn::get_submission_data() using rgpost() when preparing the billing info values instead of the $entry resulting in empty address values when the copy values feature is enabled and the source field has a value.
- AF: Fixed a PHP warning while in debug mode in the results page when the results are filtered and the result set is empty.
- AF: Fixed an issue whith styles not getting enqueued for in the app settings page.
- AF: Fixed an issue in the form submission process where feeds don't get processed for forms loaded via ajax or in the dashboard.
- API: Added support for arrays as entry search term values for entry meta combined with operators IN and NOT IN. Credit to Scott Kingsley Clark from Pods Framework.
Example:
$search_criteria = array(
'status' => 'active',
'field_filters' => array(
array(
'key' => 'my_entry_value',
'operator' => 'IN', // or 'NOT IN'
'value' => array( 'Second Choice', 'Third Choice' ),
),
)
);
- API: Updated entry meta functions to improve performance for bulk operations. Credits to Zack Katz from Katz Web Services.
-------------------------------------------------------------------------------------------------------------------
Version 1.9.5
- Added JS filter: 'gform_form_editor_can_field_be_added' allowing developers to prevent custom field types being added to the form if the conditions they define, such as a Product field being present, are not met.
gform.addFilter('gform_form_editor_can_field_be_added', function (canFieldBeAdded, type) {
// return false to prevent a field being added.
return canFieldBeAdded;
});
- Added gf_invisible CSS class for use hiding product fields that should not be visible but count towards the total.
- Added the placeholder setting to the Post Tags field.
- Added JS action hook: 'gform_post_conditional_logic_field_action' to allow performing custom actions when a field is displayed or hidden by conditional logic on frontend.
gform.addAction('gform_post_conditional_logic_field_action', function (formId, action, targetId, defaultValues, isInit) {
// do stuff
});
- Added Sint Marteen to the country list.
- Added logging of notification routing rule evaluation.
- Added entry id to some of the notification related logging statements.
- Added the 'gform_include_thousands_sep_pre_format_number' filter to allow users to disable inclusion of the thousands separator when the Number field value is formatted.
add_filter( 'gform_include_thousands_sep_pre_format_number', function ( $include_thousands_sep, $field ) {
return $field->id == 5 ? false : $include_thousands_sep;
}, 10, 2 );
- Updated Finish translation.
- Fixed an issue with the form submission process where inactive and trashed forms could still be processed.
- Fixed issue with single quote in a localized string.
- Fixed issue with the Cancel Subscription button on entry page where the message displayed to the user was always unsuccessful even though the subscription was successfully canceled.
- Fixed issue with post content containing extra <br/> tags.
- Fixed an issue with the quantity input of the Single Product field not having the disabled attribute in the form editor.
- Fixed issue with spinner icon not hiding when viewing the latest changes on the plugins page.
- Fixed a low severity security vulnerability in the admin area which could be exploited by users with form editor permissions.
- Fixed issue introduced in Chrome 40 where AJAX-enabled forms did not correctly scroll back to the form.
- Fixed issue with conditional logic and date fields causing a Javascript error.
- Fixed issue with conditional logic when showing fields with inline ready classes.
- Fixed issue with conditional logic when hiding date fields.
- AF: Added support for single submission feed add-ons (like User Registration).
- AF: Added support for GFAddon::delay_feed() method so add-ons can do something when feed is delayed.
- AF: Updated GFFeedAddon::is_delayed_payment, GFAddon::get_base_url, and GFAddon::get_base_path methods to be public (instead of protected).
- API: Fixed a potential security vulnerability in the object locking API for add-ons and custom code.
-------------------------------------------------------------------------------------------------------------------
Version 1.9.4
- Added 2 new helper styles to the readyclass.css file
1. "gf_simple_horizontal" - when applied to main form will create a very simple horizontal form layout (think simple email address field and inline form button)
2. "gf_section_right" - when applied to the section break fields will align the section break right with the form fields if the left/right label form setting is selected.
- Added logging for $phpmailer->ErrorInfo
- Updated the Number field to include the thousands separator when returning a validation failure if the input type is 'text'. Some browsers do not allow commas when using the HTML5 'number' input type.
- Updated number formatting to include the thousands separator on the entry list and detail pages and when merge tags are processed. The :value modifier will return the value without the thousand separator.
- Fixed security vulnerability in the import process of legacy forms on some systems.
- Fixed an issue with GFCommon::format_number using the currency defined on the Forms > Settings page instead of the currency used with the entry which resulted in the number being incorrectly formatted when using the third-party Gravity Forms Multi Currency add-on.
- Fixed an issue with conditional logic not updating the enhanced UI after resetting the value of the underlying select element.
- Fixed a security vulnerability in the admin area that could be exploited by users with permission to edit forms. Credit: 10up.
- Fixed a security vulnerability for forms that require login. Caching pages with forms that require login will now cause submissions to fail.
- Fixed a JavaScript error on the edit page for some custom post types that don't have an editor.
- Fixed issue with chosen sprite file name. Renamed it to prevent issues on some server configurations.
- Fixed calculations in the the post custom field when when the input type is set to number and calculations are enabled.
- Fixed an issue with the ID attributes of the left span elements of Email and Password fields.
- Fixed an issue with the field label for attribute in the form editor containing an extra underscore.
- AF: Updated logging in GFPaymentAddOn.
- API: Fixed an issue that could potentially pose a security vulnerability via third-party add-ons and custom code.
- API: Fixed a warning generated in the results endpoint when there are no entries.
-------------------------------------------------------------------------------------------------------------------
Version 1.9.3
- Added the 'gform_post_send_entry_note' hook to allow users to perform custom actions when an entry note has been sent.
add_action( 'gform_post_send_entry_note', function ( $result, $email_to, $email_from, $email_subject, $body, $form, $entry ) {
// do stuff
}, 10, 7 );
- Added the 'gform_entry_list_column_input_label_only' filter to allow users to override the default behaviour of only including the input label in the entry list column header.
add_filter( 'gform_entry_list_column_input_label_only', function ( $input_label_only, $form, $field ) {
return $field->type == 'product' ? false : $input_label_only;
}, 10, 3 );
- Added gf_apply_filters() to allow providing a list of modifiers for a filter.
Example: gf_apply_filters( 'gform_field_validation', array( $form_id, $field_id ), $custom_validation_result, $value, $form, $field );
- Added logging around key validation.
- Added Faroe Islands (FO) to the country list.
- Added additional security precautions to the file upload file.
- Added the 'gform_post_export_entries' hook to allow users to perform custom actions when entries have been exported.
add_action( 'gform_post_export_entries', function ( $form, $start_date, $end_date, $fields ) {
// do stuff
}, 10, 4 );
- Added context support to 'MM' string to allow different translations for abbreviation of minutes and month when needed.
- Updated Spanish translation.
- Updated the background updates setting to be activated by default on new installations.
- Updated Finnish translation.
- Fixed duplicate ID attribute on multi-page forms.
- Fixed a JavaScript error in the form editor that can sometimes occur when opening the date field on a form created in 1.8 or lower.
- Fixed issue with sales page when entries are deleted or moved to trash.
- Fixed styling issues with Year input overlapping other Date field inputs when format began with year.
- Fixed a XSS issue for some legacy forms. Credit: the a3rev.com team.
- Fixed and issue with the save and continue form setting where the Save and Continue Confirmation may not get generated on some servers.
- Fixed issue where default value for Date field and Drop Down date field would not populate correctly.
- Fixed styling issue where Date field "Year" input was cut off.
- Fixed an issue with the List field in the form editor where clicking on the field label opens and then immediately closes the field.
- Fixed a security vulnerability with the multi-file upload field.
- Fixed an issue in the conditional logic javascript which impacted loading data into the list field.
- API: Added support for WordPress cookie authentication to the Web API. Requires nonce with the action set to gf_api passed via the _gf_json_nonce query arg. Intended for use by JavaScript on the same site as the Gravity Forms installation.
- API: Removed authentication for the POST forms/[ID]/submissions endpoint.
- API: Fixed an issue with GFAPI::add_entry() which can result in entry values being blank for email, date and time fields.
-------------------------------------------------------------------------------------------------------------------
Version 1.9.2
- Added the disabled attribute to the datepicker input in the form editor.
- Added support for the field placeholder as an available choice in the conditional logic value drop down.
- Added self-healing security precautions.
- Added security precautions.
- Added THE BEST FIX EVER for on-going IE issues with the datepicker
- Added security precautions to updates.
- Added the gform_upload_root_htaccess_rules filter to allow the .htaccess file rules to be removed or modified. Please consult your system administrator before using this filter. Example:
add_filter( 'gform_upload_root_htaccess_rules', '__return_false' );
- Added extra CSS classes for name field to help in styling them.
- Added the gform_enable_shortcode_notification_message hook back, allowing shortcode processing of notification messages to be disabled.
- Added context to some strings to allow a better translation.
- Added 'svg-painter' to list of no conflict scripts.
- Updated the field type drop down on the Custom Field in the form editor to use optgroup for the standard fields and the advanced fields option headers.
- Updated the gform_address_display_format filter to also have access to the $field.
add_filter( 'gform_address_display_format', function ( $format, $field ) {
return $field->form_id == 40 ? 'zip_before_city' : $format;
}, 10, 2 );
- Updated Payment Add-On Framework cron job schedule to hourly instead of daily.
- Updated Masked Input script to latest version.
- Updated Finnish translation file.
- Updated small fix to French translation.
- Updated Spanish (es_ES) translation.
- Updated GFForms::get_admin_icon_b64() method to support a $color parameter for fetching the SVG icon in different colors.
$white_icon = GFForms::get_admin_icon_b64( '#fff' );
- Fixed an issue in the form editor in Chrome for Windows where the conditional logic dependency confirmation pops up multiple times while editing a field with a dependency.
- Fixed issue with multi file upload field when applied to a post custom field.
- Fixed the loading of the Add Form button for custom admin pages using the gform_display_add_form_button filter.
- Fixed a deprecation notice related to the Captcha field when the Really Simple Captcha plugin is active.
- Fixed a JavaScript error on the WordPress edit attachment details page.
- Fixed a string in Spanish translation that caused a JS error in the entries list.
- Fixed a rare fatal error which would occur if a third-party plugin caused wp_mail() to return a WP_Error instance instead of the expected boolean.
- Fixed issue with GFFormDisplay::is_last_page() where "render" mode would return a false positive if validation failed
- Fixed issue when aggregating conditional logic default values for selects when no price is set on the selected choice
- Fixed issue with special characters on password field.
- Fixed inconsistency between GFForms::post() and rgpost() functions.
- Fixed issue with email validation when confirmation email is active.
- Fixed an issue which prevents List field columns from being sorted in the form editor.
- Fixed an issue with the multi-file field on the edit entry page where existing files are lost when adding new files.
- Fixed an issue with the Post Tags field in the form editor where the Default Value setting is missing.
- Fixed a rare fatal error on some servers.
- Fixed a fatal error caused by a conflict with some themes.
- Fixed a XSS vulnerability.
- Fixed an issue with the capability required to export forms.
- Fixed issue where tabbing through Date field would skip the next field in the tabindex.
- Fixed an issue with validation of the address field when the option to use values from another field is enabled and activated.
- Fixed an issue with the multi-file uploader not functioning when editing an entry if the user didn't have the gravityforms_edit_forms capability.
- Fixed an issue with notifications assigned to custom events, added via the gform_notification_events hook, being omitted from the resend notifications feature.
- AF: Fixed an issue with the way multi-input Email, Password, Date and Time fields are listed in field mapping drop downs when configuring a feed.
- AF: Updated GFAddOn::get_full_address() to use GF_Field_Address::get_country_code().
- AF: Updated GFAddOn::get_full_name() to include the middle name value for multi-input Name fields.
- API: Added support for arrays as entry search term values combined with operators IN and NOT IN. Credit to Scott Kingsley Clark from Pods Framework.
Example:
$search_criteria = array(
'status' => 'active',
'field_filters' => array(
array(
'key' => '2',
'operator' => 'IN', // or 'NOT IN'
'value' => array( 'Second Choice', 'Third Choice' ),
),
)
);
- API: Added filters for each endpoint of the Web API to allow the capabilities to be modified.
- gform_web_api_capability_get_forms
- gform_web_api_capability_post_forms
- gform_web_api_capability_put_forms
- gform_web_api_capability_delete_forms
- gform_web_api_capability_put_forms_properties
- gform_web_api_capability_post_form_submissions
- gform_web_api_capability_get_entries
- gform_web_api_capability_post_entries
- gform_web_api_capability_put_entries
- gform_web_api_capability_put_entries_properties
- gform_web_api_capability_delete_entries
- gform_web_api_capability_get_results
Example:
add_filter( 'gform_web_api_capability_post_form_submissions', 'filter_gform_web_api_capability_post_form_submissions');
function filter_gform_web_api_capability_post_form_submissions( $capability ) {
return 'my_capability_post_form_submissions';
}
- API: Fixed fatal error if invalid entry id passed to GFAPI::update_entry_field().
- API: Fixed a warning in the Web API while filtering entries. On some server configurations, and with debug enabled, WordPress may issue an array to string conversion warning when adding field filters to the search query arg. Although backwards compatibility remains, the entire search query arg should now be sent as a urlencoded JSON string.
- API: Fixed an issue with gform_get_meta and gform_update_meta which can result in multiple rows in the database for the same key if the value is updated with an empty string.
-------------------------------------------------------------------------------------------------------------------
Version 1.9.1
- Added $failed_validation_page as a 3rd parameter to the gform_validation filter.
- Added GFCommon::has_merge_tag() method to determine if a string contains a GF merge tag.
- Added $from, $from_name, $bcc and $reply_to to the gform_after_email action.
- Added the 'gform_export_lines' to allow the csv entry export lines to be filtered just before sending to the browser. Use this filter to fix an issue on Excel for Mac e.g.:
add_filter( 'gform_export_lines', 'fix_csv_entry_export');
function fix_csv_entry_export ( $lines ) {
return mb_convert_encoding( $lines, 'UTF-16LE', 'UTF-8' );
}
- Added conditional logic setting to Post Category field.
- Added the 'gform_product_info_name_include_field_label' filter to enable the inclusion of the field label in the product name for radio and select type Product fields.
add_filter( 'gform_product_info_name_include_field_label', '__return_true' );
- Added the Description Placement field setting which overrides the form setting. Only available when the Label Placement form setting is set to Top.
- Added the label placement and sub-label placement field settings in the Form Editor. The options to hide labels and sub-labels are currently hidden by default. Use the gform_enable_field_label_visibility_settings filter to display the options.
add_filter("gform_enable_field_label_visibility_settings", "__return_true");
- Updated page label to be wrapped in a <span> to allow targeted styling when “Steps” is selected as “Progress Indicator”.
- Updated confirmation URL validation to bypass URLs that contain merge tags; this supports using a merge tag as the redirect value.
- Fixed issue where extra call to wp_print_scripts was causing issues and removing broke New Form modal.
- Fixed an issue with the No Duplicates validation for multi-input Email, Date and Time fields.
- Fixed issue whith entry limit where trashed entries were taken into account.
- Fixed an issue with logging of file uploads.
- Fixed an issue with plain text format notifications where values of some fields are missing from the merge tag output.
- Fixed issue with font size on mobile devices.
- Fixed issue with conditional logic on mobile devices.
- Fixed a fatal error in the Captcha field when the Really Simple Captcha plugin is installed and active.
- Fixed a fatal error in the merge tag for the Post Category field using the Multi Select field type.
- Fixed a fatal error under PHP 5.2 for single value field types.
- Fixed an issue with the single file upload field where the list of allowed file types is ignored on form submission.
- Fixed an issue with the the Dynamic Population setting for the date, email and time fields in the Form Editor.
- Fixed an issue with email validation when the email confirmation setting is enabled.
- Removed the No Duplicates setting from the Password field.
- Removed unused private functions GFCommon::get_logic_event() and GFCommon::hex2rgb().
- Removed the gform_enable_field_label_placement_settings filter.
- AF: Added some additional logging to Payment Add-On Framework.
- API: Added GFAPI::submit_form(). Sends input values through the complete form submission process. Supports field validation, notifications, confirmations, multiple-pages and save & continue.
- API: Added POST /forms/[ID]/submissions endpoint to the Web API to handle form submissions. Sends form input values through the complete form submission process. Supports field validation, notifications, confirmations, multiple-pages and save & continue.
- API: Added support for simple CORS requests in the Web API. Use the allowed_http_origin WordPress filter to activate. e.g.
add_filter( 'allowed_http_origin', '__return_true' );
-------------------------------------------------------------------------------------------------------------------
Version 1.9
- Added drop and drop to the field buttons in the Form Editor.
- Added placeholder field settings.
- Added default input values field settings.
- Added label placement and visibility field settings. These settings are currently hidden by default in the Form Editor. Use the gform_enable_field_label_placement_settings filter to display the settings.
add_filter("gform_enable_field_label_placement_settings", "__return_true");
- Added support for rendering forms in admin pages with the gravity_form() function and the gravityform shortcode. Use in conjunction with gravity_form_enqueue_scripts().
- Added support for retrieving form markup via ajax.
- Added save and continue.
- Added support for string customization options in the {save_email_input} merge tag. The two options, button_text and validation_message, can be added using shortcode syntax. E.g.,
{save_email_input: button_text="Send the link to my email address" validation_message="The link couldn't be sent because the email address is not valid."}
- Added automatic background updates. Minor versions only e.g. from 1.9.1 to 1.9.2
- Added setting to enable background updates. Use the GFORM_DISABLE_AUTO_UPDATE constant or gform_disable_auto_update filter to override. The filter will override the setting and the constant will override the filter.
define( 'GFORM_DISABLE_AUTO_UPDATE', true );
add_filter( 'gform_disable_auto_update', '__return_true' );
- Added shortcode preview in the post/page editor visual editor. The preview is disabled by default. Use the gform_shortcode_preview_disabled filter to enable.
add_filter('gform_shortcode_preview_disabled', '__return_false');
- Added gravityforms.min.js. The minified file loads by default unless SCRIPT_DEBUG is active or query param gform_debug is set. e.g. domain.com/?gform_debug
- Added the add-ons to the updates page.
- Added visual editor to the confirmation message UI.
- Added Middle Name input to the name field.
- Added Name Prefix drop-down plus sub-setting UI.
- Added Name Fields sub-setting to the Name field.
- Added Address Fields sub-setting to the Address field.
- Added support for translation (.mo) files in the WP_LANG_DIR/gravityforms folder. e.g. /wp-content/languages/gravityforms/gravityforms-es_ES.mo
- Added classes to complex fields.
- Added HTML5 support for date field when configured with input type "date field".
- Added support for 'gform_file_upload_markup' JS and PHP hooks; useful for modifying the multi-file upload "preview".
- Added the gform_incomplete_submissions_expiration_days filter to allow the lifetime of saved incomplete submissions to be customized.
- Added change event when updating value of total input.
- Added min='0' attribute to product field quantity input when HTML5 enabled.
- Added input mask to the Phone field (standard format).
- Added sub-label setting to Date, Time, Email and Credit Card Fields.
- Added min and max attributes to HTML5 number input with values using the fields min and max range setting.
- Added support for filtering entries using the contains operator for the name, address, single line and paragraph fields. Applies to the entry list, export entries and results pages.
- Added support for date format modifiers (:year, :month, :day, :dmy, :mdy, :ymd etc.) to Date field merge tag.
- Added support for :title, :caption, and :description modifiers to Post Image field merge tag.
- Added Gravity Font.
- Added min, max and step attributes to HTML5 Date Field number inputs. The min and max for the year input can be set using the gform_date_min_year and gform_date_max_year hooks.
- Added condition to not include "gform_chosen" if "chosen" is already enqueued.
- Added support for the Russian Ruble.
- Added Bulgarian translation file.
- Added gform_form_args hook to allow modification of the options used to display the form.
- Added $field_values as a third parameter for the gform_pre_render filter.
- Added form-specific version of "gform_pre_validation" filter.
- Added PHP version of the 'gform_merge_tag_value_pre_calculation' filter.
add_filter( 'gform_merge_tag_value_pre_calculation', 'merge_tag_value', 10, 6 );
function merge_tag_value( $value, $input_id, $modifier, $field, $form, $entry ) {
// modify the $value
return $value;
}
- Added the gform_submission_values_pre_save filter to allow submitted values to be modified before saving.
add_filter( 'gform_submission_values_pre_save', 'submission_values_pre_save', 10, 2 );
function submission_values_pre_save( $submitted_values, $form ) {
$submitted_values['custom_value'] = $_POST['custom_value'];
return $submitted_values;
}
- Added 'gform_disable_address_map_link' filter allowing address field map link to be removed.
add_filter( 'gform_disable_address_map_link', '__return_true' );
- Added 'gform_entry_detail_title' hook for changing the title in the entry detail table.
add_filter( 'gform_entry_detail_title', function( $title, $form, $entry ) {
return 'Your new title for entry #' . $entry['id'];
}, 10, 3 );
- Added 'gform_incomplete_submission_post_save' hook for performing custom actions when an incomplete submission has been saved.
add_action( 'gform_incomplete_submission_post_save', function ( $submission, $resume_token, $form, $entry ) {
// do stuff
}, 10, 4 );
- Added 'gform_save_and_continue_resume_url' hook to allow modification of the Save & Continue resume URL
add_filter( 'gform_save_and_continue_resume_url', function( $resume_url, $form, $token, $email ) {
// remove specific query arg
//$resume_url = remove_query_arg( array( 'boom' ), $resume_url );
// remove ALL query args
$resume_url = add_query_arg( array( 'gf_token' => $token ), array_shift( explode( '?', $resume_url ) ) );
return $resume_url;
}, 10, 4 );
- Added new action 'gform_pre_confirmation_deleted' to allow users to perform custom actions just before deleting a confirmation
add_action( 'gform_pre_confirmation_deleted', 'my_pre_confirmation_deleted_func' 10, 2);
function my_pre_confirmation_deleted_func( $confirmation_id, $form ) {
// perform action before a confirmation is deleted
}
- Added new action 'gform_post_form_activated' to allow users to perform custom actions just after a form has been activated
add_action( 'gform_post_form_activated', 'my_post_form_activated_func', 10);
function my_post_form_activated_func( $form_id ) {
// perform action after a form has been activated
}
- Added new action 'gform_post_form_deactivated' to allow users to perform custom actions just after a form has been deactivated
add_action( 'gform_post_form_deactivated', 'my_post_form_deactivated_func', 10);
function my_post_form_deactivated_func( $form_id ) {
// perform action after a form has been deactivated
}
- Added new action 'gform_post_form_trashed' to allow users to perform custom actions just after a form has been moved to the trash
add_action( 'gform_post_form_trashed', 'my_post_form_trashed_func', 10);
function my_post_form_trashed_func( $form_id ) {
// perform action after a form has been moved to the trash
}
- Added new action 'gform_post_form_restored' to allow users to perform custom actions just after a form has been restored
add_action( 'gform_post_form_restored', 'my_post_form_restored_func', 10);
function my_post_form_restored_func( $form_id ) {
// perform action after a form has been restored
}
- Added new action 'gform_post_form_duplicated' to allow users to perform custom actions just after a form has been duplicated. This replaces the deprecated gform_after_duplicate_form action.
add_action( 'gform_post_form_duplicated', 'my_post_form_duplicated_func', 10, 2);
function my_post_form_duplicated_func( $form_id, $new_form_id ) ) {
// perform action after a form has been duplicated
}
- Added new action 'gform_post_form_views_deleted' to allow users to perform custom actions just after the form view count has been reset to zero
add_action( 'gform_post_form_views_deleted', 'my_post_form_views_deleted_func', 10);
function my_post_form_views_deleted_func( $form_id ) {
// perform action after the form view count has been reset to zero
}
- Added new action 'gform_post_note_added' to allow users to perform custom actions just after a note has been added
add_action( 'gform_post_note_added', 'my_post_note_added_func', 10, 6);
function my_post_note_added_func( $note_id, $lead_id, $user_id, $user_name, $note, $note_type ) {
// perform action after the note has been added
}
- Added new action 'gform_pre_note_deleted' to allow users to perform custom actions just before a note has been deleted
add_action( 'gform_pre_note_deleted', 'my_pre_note_deleted_func', 10, 2);
function my_pre_note_deleted_func( $note_id, $lead_id ) {
// perform action just before after the note has been deleted
}
- Added PHP version of the "gform_calculation_result" filter
add_filter( 'gform_calculation_result', 'my_calc_result', 10, 5 );
function my_calc_result( $result, $formula, $field, $form, $entry ) {
// modify result as needed
return $result;
}
- Added new JS filter: 'gform_calculation_formula' to allow modifying formula before it is processed by GF on frontend
gform.addFilter( 'gform_calculation_formula', function( formula, formulaField, formId, calcObj ) {
// custom code here
return formula;
} );
- Added JS filter 'gform_list_item_pre_add' to allow new list field row to be modifed before the row is inserted.
gform.addFilter( 'gform_list_item_pre_add', function( clone ) {
// handle datepicker
clone.find( '.ui-datepicker-trigger' ).remove();
clone.find( 'input.datepicker' ).removeClass( 'hasDatepicker' ).removeAttr( 'id' );
return clone;
});
- Added JS 'gform_post_calculation_events' action hook to allow custom methods for triggering calculations.
gform.addAction( 'gform_post_calculation_events', function( mergeTagArr, formulaField, formId, calcObj ){
var fieldId = parseInt( mergeTagArr[1] ),
fieldSelector = '#field_' + formId + '_' + fieldId;
if ( jQuery( fieldSelector + ' table.gfield_list' ).length == 1 ) {
jQuery( fieldSelector )
.on( 'click', '.add_list_item', function () {
jQuery( fieldSelector + ' .delete_list_item' ).removeProp( 'onclick' );
calcObj.bindCalcEvent( fieldId, formulaField, formId, 0 );
})
.on( 'click', '.delete_list_item', function () {
gformDeleteListItem( this, 0 );
calcObj.bindCalcEvent( fieldId, formulaField, formId, 0 );
});