forked from EvanHerman/yikes-inc-easy-mailchimp-extender
-
Notifications
You must be signed in to change notification settings - Fork 0
/
changelog.txt
1183 lines (933 loc) · 79.1 KB
/
changelog.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
== Changelog ==
= 6.5.3 - July 1st, 2019 =
* Added support for showing whether your site is being blocked by Mailchimp. If you're blocked, you will now see an error on the plugin's General Settings page.
* Added a filter for our checkbox integrations, `yikes_mailchimp_checkbox_integration_additional_vars`. This allows you to use custom variables in our other filters.
* Added a filter for changing the placement (above/below/both) of form error/success messages. See the filter `yikes_mailchimp_feedback_message_placement`.
* Added support for setting the timestamp_signup Mailchimp merge variable to all new subscribers.
* Removed support for setting the timestamp_opt variable for all subscribers. This plugin will no longer set the timestamp_opt Mailchimp merge variable.
* Fixed an issue with default selected interest groups not working in our Gutenberg block.
* Fixed admin input field code injection vulnerability. Thanks to Henri Salo from Nixu Corporation for finding and reporting this to us.
* Fixed an error w/ error handling a failed API hit on the Manage Lists page.
= 6.5.2 - March 21st, 2019 =
* Fixing JS error on edit forms page where jQuery was referenced with the `$` variable instead of `jQuery`.
= 6.5.1 - February 27th, 2019 =
* Changed all strings from MailChimp to Mailchimp.
* Removed unused files.
= 6.5.0 - February 6th, 2019 =
* Added tags! You can now add tags to your Easy Form's Forms! Any tag attached to a form will be attached to subscribers of that form. When applying tags to new subscribers, they can be filtered with the following filters: `yikes_mailchimp_subscriber_tags` (filters the list of tabs being applied) and `yikes_mailchimp_subscriber_tag_active` (decides whether a certain tag will be added).
* Added `[fname]` and `[lname]` as email replacement tags. Also, all of our email replacement tags work when capitalized (e.g. both `[form_name]` and `[FORM_NAME]` will work).
* Removed the Google Maps iframe geolocation integration on the subscriber's profile (Mailing Lists page).
* Cleaned up code.
* Fixed some PHP warnings/notices.
* Fixed some styling issues inside the form builder.
* Fixed & cleaned some things in the Easy Form's Gutenberg block.
= 6.4.11 - December 11th, 2018 =
* Properly enabling the Easy Forms for Mailchimp gutenberg block.
= 6.4.10 - November 26th, 2018 =
* Improvements to the Easy Forms' Gutenberg block.
= 6.4.9 - October 30th, 2018 =
* Fixed PHP version compatibility issues.
* Added a new filter to customize the placement of the WooCommerce checkbox integrations.
* PHP Version >= 5.2.13 is now explicitly required and supported for this plugin. Note: The Gutenberg features in this plugin require PHP >=5.6.
= 6.4.8 - October 29th, 2018 =
* Fixed a plugin conflict between Easy Forms and Contact Form 7 when exporting forms.
* Fixed an issue with the bbPress integration where users were being subscribed regardless of checking the box.
* Fixed an issue with datepickers conflicting when the same form (with date pickers) is on the same page twice.
* Inline forms will now stack when the screen size is less than 650px.
* Cleaned/Standardized/Code Sniffed the checkbox integration classes.
* Removed checkbox integration CSS file.
* Moved the WooCommerce integration checkbox's placement on the checkout page (it now uses the filter `woocommerce_review_order_before_submit` instead of `woocommerce_checkout_after_order_review`).
* Added/Fixed several filters: `yikes_mailchimp_checkbox_integration_checkbox_html`, `yikes-mailchimp-filter-before-submission-$form_id`, `yikes-mailchimp-redirection`, `yikes-mailchimp-redirect-new-window`, `yikes_mailchimp_inline_stack_fields_width`, `yikes_mailchimp_checkbox_integration_checkbox_label`
* Removed "Vote that the plugin works" callout.
* Fixed & reorganized Mailchimp Gutenberg block.
* Added new tags for the update profile email: `[email]`, `[subscriber_id]`, and `[form_name]`.
= 6.4.7 - October 2nd, 2018 =
* Fixed an issue with logging an error from a dashboard widget.
* Added a warning to when changing an API key.
* Re-added WordPress' HTTP referer field to forms.
* Added a filter for default interest groups.
= 6.4.6 - September 10th, 2018 =
* Added the ability to re-subscribe to a list via an integration checkbox. Previously, users who were unsubscribed or pending confirmation were unable to re-subscribe. This only works when using the [default] double opt-in method.
* Added a check for reCAPTCHA/[GDPR Compliance for Mailchimp](https://wordpress.org/plugins/eu-opt-in-compliance-for-mailchimp/) when calculating inline styles. If you have the reCAPTCHA or [GDPR Compliance for Mailchimp](https://wordpress.org/plugins/eu-opt-in-compliance-for-mailchimp/) plugin active, then the submit button will become full width, drop below these items, and the fields will take up 100% of the width. A similar conversion occurs when the screen size is below 768px regardless of the reCAPTCHA or [GDPR Compliance for Mailchimp](https://wordpress.org/plugins/eu-opt-in-compliance-for-mailchimp/) plugin being active.
* Changed the calculation and rounding of form conversion statistics to be slightly more accurate.
* Cleaned up duplicate IDs in hidden HTML elements when multiple forms were on the same page.
= 6.4.5 - July 25th, 2018 =
* Fixed an issue where subscriptions would not be processed if only an email field was sent. Shoutout to Kamil (@paszczak000) for reporting this issue and working with us to resolve it, thank you!
= 6.4.4 - July 24th, 2018 =
* Fixed an issue where the Update Profile Email would not send when the submitted email address contained capital letters.
* Users will now be redirected in accordance with their submission settings after the Update Profile Email is successfully sent.
* The max character length of a MERGE field's label is now 50 characters to match Mailchimp's max length.
* The input field for editing a MERGE field's label has been increased.
= 6.4.3 - May 21st, 2018 =
* Fixed some issues with the readme
* Fixed an issue with required radio button fields that had no default value; they will now be required.
* Fixed a PHP warning related to interest groups in the form builder.
* Fixed a PHP warning related to error messages.
* Fixed a PHP notice on the integration checkbox page.
* Added a new action when a form is duplicated: `'yikes-mailchimp-after-duplicating-form'`
= 6.4.2 - May 9th, 2018 =
* Added a new API function to create notes on a subscriber's profile
* Added no default options for radio buttons and dropdowns (both merge fields and interest groups).
* Added a basic unsubscribe shortcode and all of the JS/CSS/API functions that support this.
* Added a filter, `yikes-mailchimp-wooco-integration-checkbox-checkout-fields`, that allows you to move the placement of the WooCommerce checkout integration checkbox to the bottom of the form.
* Fixed an issue where hidden interest groups required a default value
* Fixed an issue with the Easy Forms Gutenberg block
= 6.4.1 - May 2nd, 2018 =
- Fixing a syntax error in Easy Forms v6.4.0 related to PHP Versions < 5.4
= 6.4.0 - May 1st, 2018 =
* All calls to the Mailchimp v2 API have been removed or updated to the v3 API where possible.
* The Account page has been removed because it was relying on V2 API endpoints. Some account data from this page has been moved to the Manage Lists page.
* The ChimpChatter dashboard widget has been removed.
* The List Activity dashboard widget has a new filter, `yikes-mailchimp-dashboard-widgets-enabled`, that controls whether the widget is loaded or not.
* The welcome screen you see on plugin activation/updates has been removed.
* The error log now lives in a new place outside the plugin: wp-content/uploads/yikes-log/yikes-easy-mailchimp-error-log.php.
* The changelog is now in its own file, changelog.txt, and has been removed from the readme.
* The inline form styles should now handle a theme's default padding/margin better. There are also a bunch of new filters for customizing a form's inline styles.
* Setting up a scheduled form should be a much smoother process now.
* Some inline JavaScript for processing a form's shortcode has been moved into the form-submission-helpers.js file.
* You can now customize the message displayed to the user after an update profile email is requested. You'll see a new custom message section has been added to the form builder.
* Our checkbox integrations (e.g. Contact Form 7, WooCommerce) now allow you to choose multiple lists (and corresponding interest groups) for your subscribers to sign up to.
* Added some initial support for Easy Forms in Gutenberg. Feel free to download the Gutenberg plugin and test out the Easy Forms Block!
= 6.3.30 - February 15th, 2018 =
* Added a new filter: `yikes_mailchimp_widget_shortcode_attributes`. You can use this filter to customize the shortcode arguments for your Easy Forms widget. For example, you can remove the recaptcha from a widget.
* Added a new filter: `yikes-easy-mailchimp-email-address-field`. You can use this filter to customize the email merge field. For example, you can rename the field to something other than "Email Address."
* Fixed the way the loading SVGs were added in JavaScript. You can now use the existing filters to safely remove them.
* Removed the dependency from the Public CSS file.
= 6.3.29 - November 8th, 2017 =
* Refactored the way the support form works and integrates with add-ons
* Refactored the way the transients are deleted when the API key is cleared - adding a new API key should now properly clear all cached data
* Added a filter - `yikes-mailchimp-page-data` - that can be used to prevent page data from being POSTed with a subscription request
= 6.3.28 - October 21st, 2017 =
* Fixing bug with 6.3.27's single optin resubscribe
= 6.3.27 - October 20th, 2017 =
* Replaced the current loading gifs with SVGs
* Added support for address field placeholder values. You can filter these values with the filter `yikes-mailchimp-address-{$addr_type}-placeholder`.
* Added support for single opt-in unsubscribed users to re-subscribe. Shout out to @jasonhildebrand for adding this functionality.
* Fixed an issue with interest groups. This should fix the "Invalid Interest Group: 0" error some users saw. Another really big shoutout to @jasonhildebrand for fixing this directly.
* Fixed up some PHP warnings - thanks to @szepeviktor on GitHub for reporting these.
= 6.3.26 - October 4th, 2017 =
* Added two new filters: `yikes-mailchimp-{$merge_tag}-default-value` and `yikes-mailchimp-wooco-integration-checkbox-placement`.
= 6.3.25 - September 11th, 2017 =
* Fixing some HTML validation/markup errors related to labels. Thanks to @upekshapriya for bringing these to our attention.
= 6.3.24 - August 28th, 2017 =
* If a subscriber has unsubscribed, the signup form will re-send them a confirmation email (double opt-in only)
* If a subscriber received the double confirmation email but never subscribed (pending status), the signup form will re-send them a confirmation email (double opt-in only)
= 6.3.23 - August 14th, 2017 =
* Removed an additional `esc_url` call on the redirect URL. Redirect URLs should now be able to accept characters like ampersands without encoding them.
* Fixed the way the `yikes-mailchimp-general-error-response` filter works. You can now use the original response as the first argument in the function. This should allow you to change a Mailchimp response w/ str parsing.
* Some minor code cleanup
= 6.3.22 - June 23rd, 2017 =
* Fixed an issue with comment integration subscriptions - comments will now be spam checked correctly
= 6.3.21 - June 22nd, 2017 =
* Cleaned up some HTML on the form
* Fixed an issue with comment integration subscriptions - the commenter's name will now populate the First Name field in your Mailchimp list.
= 6.3.20 - May 31st, 2017 =
* Added a filter - `yikes-mailchimp-integration-is-user-subscribed` - for the integration checkbox. You can override whether the checkbox will display for already subscribed users (by default, the checkbox will not display).
* Updated the way we're logging errors for the homepage dashboard widgets - an error should no longer break your dashboard!
* Added some default excluded post types for our post query on the form builder (CPTS are forum, topic, and reply). This should help people who use bbPress and are experiencing timeout issues. (These can be filtered with the `yikes-mailchimp-excluded-redirect-post-types`).
= 6.3.19 - May 16th, 2017 =
* Fixed a bug where hidden form fields were being counted as visible.
* Added a new filter - yikes-mailchimp-save-form-filter - that allows you to filter all of a form's data before it gets saved.
* Replaced the current datepicker with the standard jQuery core datepicker. Added styles and custom code to support this.
* Added a new filter - yikes-mailchimp-datepicker-options - that allows you to filter the datepicker options.
= 6.3.18 - May 3rd, 2017 =
* Added a filter, `yikes-mailchimp-checkbox-integration-body`, for the checkbox integrations. You can now filter the entire request body before it's sent to Mailchimp.
* Fixed up the code that was requiring address 2. By default, the address 2 field will never be required (can be changed with filters `yikes-mailchimp-address-2-required` and `yikes-mailchimp-ignore-required-array-field`).
= 6.3.17 - May 1st, 2017 =
* Added a quick fix for the Addon Settings list
= 6.3.16 - April 26th, 2017 =
* Quick fix to 6.3.15 - forgot to add a couple of files that handle the "Description Above Field" when a form field/interest group is initially added to the form.
= 6.3.15 - April 26th, 2017 =
* Google Analytics Event Tracking is here! We've added an action - `yikes-mailchimp-google-analytics` - where you can add Google Analytics JavaScript. Check out our knowledge base article (https://codeparrots.com/support/knowledge-base/add-google-analytics-event-tracking/) for more instructions.
* The form builder field instructions are now hidden when there are no fields added to the form.
* Added the Clear API Cache button to the form builder - you can find the button in the Associated List Settings box.
* Added a new option to the fields in the form builder: the ability to place the description above the field. This also comes with some minor style changes and a couple new filters: `'yikes-mailchimp-{$interest_group_id}-description-html'` to filter the interest group's description HTML, and `'yikes-mailchimp-{$merge_tag}-description-html'` to filter a form/merge field's description HTML.
* Added HTML so that labels will work properly in the form builder. You can now select input fields by clicking on the field's label.
= 6.3.14 - April 21st, 2017 =
* Updating the WooCommerce Checkout integration checkbox with a new class and a filter for the classes (yikes-mailchimp-wooco-integration-checkbox-classes). The checkbox should now align correctly.
* Added a new setting to the General Setting page that controls using the nonce validation. The nonce has caused numerous people issues, and the filter is difficult for some people. This new setting will turn off the nonce validation for all forms on the website. The previously added filter, yikes-mailchimp-use-nonce-verification, can still turn off nonce validation on a per-form basis.
= 6.3.13 - April 17th, 2017 =
* Two new filters: `yikes-mailchimp-wp-comment-integration-placement` and `yikes-mailchimp-use-nonce-verification`.
* `yikes-mailchimp-use-nonce-verification` - Control whether we verify the nonce on form submissions. Default: `true` (by default, we check the nonce). @params: $use_nonce, $form_id
* `yikes-mailchimp-wp-comment-integration-placement` - Control the placement of the subscription checkbox for the WP Comment Form integration. Default: `comment_form_field_comment` (after the comment textarea box) - @params: $comment_form_field. This filter allows you to choose which WP Comment Form filter to use, and for the full list of WP Comment Form filters, check the documentation: https://codex.wordpress.org/Function_Reference/comment_form.
= 6.3.12 - April 6th, 2017 =
* Security vulnerability patched - Discovered with DefenseCode ThunderScan Source Code Security Analyzer by Neven Biruski
= 6.3.11 - March 23rd, 2017 =
* Optimized our query that fetches all posts/pages/CPTs - we now fetch only the IDs - this should prevent issues such as memory overflow or timeout
= 6.3.10 - March 21st, 2017 =
* Added a filter to customize the options in the states' dropdown. You can now add your own states/provinces, or remove the default ones. Use `yikes-mailchimp-state-province-list`
* Added a filter to customize the behavior of the zip code field. There are now around 20 different countries that the zip code field will be displayed for. Use the filter `yikes-mailchimp-countries-with-zip` to add/remove.
* Fixed an error handling bug that occurred when interest groups were empty for certain integrations
= 6.3.9.1 - March 14th, 2017 =
* Added a new option for AJAX submissions with redirect set: open in new window/tab. (Note: some browsers may detect the redirect as a popup and block it by default)
* Refactored the way the redirect logic worked
= 6.3.9 - March 10th, 2017 =
* The dismiss button for the "Please Review Us" box now redirects you to your current page instead of the admin home page.
= 6.3.8 - March 3rd, 2017 =
* Fixed an issue with label classes and refactored the code - there are now spaces in between the classes
= 6.3.7 - March 3rd, 2017 =
* Fixed an issue with the JavaScript helper file that was updated in 6.3.5 - the update profile link should now work as expected (shout out to @manouallouon on GitHub for pointing this out)
= 6.3.6 - February 27th, 2017 =
* Removing the following post types from our dropdown of potential redirect pages: `custom_css`, `customize_changeset`, and WooCommerce's `shop_order` and `shop_order_refund`.
* Adding a filter (`yikes-mailchimp-excluded-redirect-post-types`) to allow users to define which CPTs will be excluded from the list of potential redirect pages. See the "Other Notes" section for the default list of excluded post types.
= 6.3.5 - February 13th, 2017 =
* Added Canadian provinces to the state dropdown list. If you choose "Canada" as your country, you will see only the provinces. If you choose U.S. you will see only the states. For all other countries, the dropdown will fade out.
* Added the filter: `yikes-mailchimp-default-zip-code` for defaulting the zip code
* Added the variable $form_id to the `yikes-mailchimp-default-country-value`, `yikes-mailchimp-address-{$type}-label`, and `yikes-mailchimp-zip-pattern` filters
* Fixed an issue with pagination when viewing a list's subscribers. By default, each page jumps ahead 20 subscribers. This can be changed with the filter `yikes_admin_list_subscriber_limit`.
* Fixed an issue where using double/single quotes in field names could break the field name.
= 6.3.4 - February 2nd, 2017 =
* CSS update to fix an issue with interest groups displaying in the form builder caused by 6.3.3
= 6.3.3 - February 1st, 2017 =
* Security vulnerability patched - props to @nathan-hermit for bringing this to our attention
* New feature: the ability to edit field labels
* Generated new .pot file
= 6.3.2 - January 25th, 2017 =
* Custom message visibility is now dictated by your opt-in settings
* Fixed an issue with the PHP `array_keys` function that breaks PHP versions < 5.4
* Hidden interest groups now work properly and are defined as checkboxes for consistency with Mailchimp
* Some minor copy changes and a new .pot file
= 6.3.1 - January 18th, 2017 =
* Generated new .pot file for proper i18n/l10n
= 6.3.0 - January 17th, 2017 =
* Version 6.3.0's biggest change is migrating the plugin to use Mailchimp's v3 API.
* Created API classes to interact with the Mailchimp API
* Converted all supported v2 endpoints to the corresponding v3 endpoint
* Refactored all v2 endpoints that are unsupported in v3 to use the new API classes
* Added filters to customize API requests
* Version 6.3.0 includes a suite of custom message updates:
* Removed the "invalid email" custom message (v3 no longer supports error codes to detect things like an invalid email error)
* Updated the custom messages descriptions text
* Updated the success message - it is now specifically for successful double opt-in subscriptions
* Added two new custom success messages: "Success: Single opt-in" for successful single opt-in subscriptions, and "Success: Re-subscriber" for successful re-subscriptions
* Added two new custom messages for customizing the "update your profile link" email: "Email Subject" to customize the subject of the email, and "Email body" to customize the body of the email
* Added/Updated filters for each custom message type. See the `Filters` section for more details.
* Version 6.3.0 includes a suite of bug fixes, enhancements, and changes:
* Added server-side validation to check for required form fields and required interest groups; this supports browsers like Safari that do not support the HTML 5 `required` attribute, or situations where the JavaScript validation fails
* Added the HTML 5 required attribute to radio button and dropdown formatted interest groups
* Wrapped the subscription form submit button's text in a span to better support adding custom HTML to the submit button text
* Changed the types of values that are wiped out after submission to better support subscribing multiple times without refreshing the page
* Added a nonce to the subscription form submission
* Multiple interest groups can now be highlighted and added to the form at the same time (instead of one at a time)
* Fixed the way default values work for interest groups and checkbox/dropdown/radio form fields
* Changed the way the datepicker displays birthdays when the date format is DD/MM
* Added error handling and a default error message for fatal server errors ('Error collecting the API response')
* Allowing + signs for phone fields using Mailchimp's international phone format (supports country codes)
* Added transients throughout the application for common requests (e.g. API requests and internal form data requests)
* The "Send Welcome Email" option is no longer supported by Mailchimp and has been removed
* The second address line (addr2) is never required by default (this can be changed using a filter - see `yikes-mailchimp-address-2-required`).
* Version 6.3.0 includes a lot of new filters, some renamed filters, some new parameters added, and some filters removed. For a complete list of available filters, please see the newly updated filters section. Here are some of the highlights:
* Renamed filters `yikes-mailchimp-before-submission` and `yikes-mailchimp-before-submission-{$form_id}` to `yikes-mailchimp-filter-before-submission` and `yikes-mailchimp-filter-before-submission-{$form_id}`. This prevents conflicts between the actions of the same name.
* Renamed filter `yikes-mailchimp-user-already-subscribed-error` to `yikes-mailchimp-user-already-subscribed-text`
* Added filters `yikes-mailchimp-filter-groups-before-submission` and `yikes-mailchimp-filter-groups-before-submission-{$form_id}` to filter the interest groups before they're submitted
* Removed filters `yikes-mailchimp-user-subscribe-api-request`, `yikes-mailchimp-checkbox-integration-subscribe-api-request`
* Removed filter `yikes-mailchimp-interest-group-required-top-error` - replaced by `yikes-mailchimp-required-interest-group-missing` - this handles all types of interest group fields, not just checkboxes
* Removed filter `yikes-mailchimp-interest-group-checkbox-error` - missing fields are now highlighted
= 6.2.4 - December 6th, 2016 =
* Fixed the way birthday field data was being handled / stored
* Added version number to main AJAX JavaScript file - Thanks goes to Viktor Szépe for committing this change
* Tested with WordPress version 4.7 (and updated the corresponding 'Tested up to' tag)
* Added minor error handling and logic to the forms page
= 6.2.3 - November 1st, 2016 =
* Changed the way HTML field data is retrieved for compatibility with the options DB table and the Incentives Add-on
* Fixed the path to the Knowledge Base on the welcome page
* Refactored and localized the tinyMCE JS file
* Fixed an i18n issue where an incorrect URL was being displayed in an error message
* Changed the way the address field is displayed when viewing a mailing list user's info
= 6.2.2 - October 25th, 2016 =
* Minor security patch - Thanks goes to the Tristan Madani for locating and disclosing the issues below.
* Fixed a bug where request variable "section" was not sanitize before execution and rendering
* Fixed a bug where global constant "YIKES_MC_API_KEY" was not sanitize before execution and rendering
* Fixed a bug where WP option "yikes-mc-api-key" was not sanitize before validating and saving
= 6.2.1 - October 19th, 2016 =
* Fixed a bug where the title and description will not display using the shortcode.
* Fixed a bug where the `recaptcha` shortcode parameter doesn't work properly.
= 6.2.0 - October 17th, 2016 =
* Fixed a bug where the default for a radio button would not show up if the first item was selected ([#587](https://github.com/yikesinc/yikes-inc-easy-mailchimp-extender/issues/587))
* Fixed a bug where the form settings would not import properly ([#572](https://github.com/yikesinc/yikes-inc-easy-mailchimp-extender/issues/572))
* Fixed a bug in our Visual Composer extension ([#514](https://github.com/yikesinc/yikes-inc-easy-mailchimp-extender/issues/514))
* Fixed a bug where Interest Groups that are in radio format could not be changed when saving ([#584](https://github.com/yikesinc/yikes-inc-easy-mailchimp-extender/issues/584))
* Fixed a bug where the Phone Format field would continually append # signs ([#562](https://github.com/yikesinc/yikes-inc-easy-mailchimp-extender/issues/562))
* Fixed a compatibilty issue where our localized script variables were using common names ([#575](https://github.com/yikesinc/yikes-inc-easy-mailchimp-extender/issues/575))
* Updated the storage of form data to utilize the Options API instead of a custom database table.
* Under-the-hood improvements and enhancements
As noted above, this release modifies this plugin to utilize the Options API instead of a custom database table. After upgrading, a routine will run that will grab all of your forms from the custom database table and convert them into a WordPress Option that the code will use from this point forward. At this point, we're choosing to keep the existing custom database table in place, so you can rest assured that all of your form data will be safe.
If for some reason you need to revert to using the custom database table, you can add a constant to your `wp-config.php` file:
`define( 'YIKES_EMCE_CUSTOM_DB', true );`
If you find that you *need* to do this, please contact us to let us know what you're seeing. In a future release, we will remove the custom database table entirely.
= 6.1.3 - July 26th, 2016 =
* Minor security patch - Thanks goes to the Wordfence Research Team for locating and disclosing the issue.
* Cleared API/Account transient data when API key has changed.
* Refactored our shortcode function to abort early, when no fields are present (inline or not).
* Added `labels-hidden` class to the submit button `<span></span>` element so we can better style inline forms when <strong>all</strong> labels are hidden.
= 6.1.2 - July 21st, 2016 =
* Fixed incorrect date format on date picker for birthday fields (Front end).
* Ensure that hidden fields don't become visible when forms are submitted (.fadeTo() bug)
* Built in support for defining a constant for your API keys in wp-config.php (`YIKES_MC_API_KEY` see FAQ)
= 6.1.1 - July 20th, 2016 =
* Added helper classes to the address fields to allow for easier targeting (Supports zip lookup extension).
= 6.1 - July 11th, 2016 =
* Sanitized section request on the options page properly.
* Fixed the apostraphes converted to tildes.
* Added the missing space in the form field classes when labels were hidden.
* Added preloaders to the submit button and the form overlay. Lowered opacity during AJAX processing.
* Fixed the 'Duplicate' form function.
* Repaired phone number validation on the phone form fields.
* Properly hide descriptions when they are not set. (Markup should no longer be generated)
* Added a 'Clear API Cache' link below the associated list dropdown during form creation.
* Swapped out `get_currentuserinfo()` for the correct, newer, functions.
* Repaired undefined variable on the 'Birthday/Date' form fields, when no default was set.
* Users can now bulk add fields to forms, instead of having to do it one at a time.
* Removed any dependency to the RSS feeds served from https://www.codeparrots.com, which could potentially cause issues if the servers are ever down.
* Refactored the database creation function, and swapped out the field types - to support older versions of PHP (<v5.3).
* Added new filter to allow users to alter who can view/access the admin dashboard widgets - `yikes-mailchimp-admin-widget-capability`
* Added a new filter (`yikes-mailchimp-user-already-subscribed-error`) allowing the 'already subscribed' error message to be filtered.
* Added a new template tag (`[email]`) which can be used in the already subscribed response, to display the user entered email back in the response.
* Added a new template tag (`[link][/link]`) which can be used to wrap text in the 'update profile' link, allowing users to create a custom response & link.
= 6.0.5.5 - April 5th, 2016 =
* Fixed incompatibility with the avada theme options page.
* Removed the admin dashboard widgets for non-admins. Note: To alter, use the `yikes-mailchimp-user-role-access` filter.
= 6.0.5.4 - March 30th, 2016 =
* Added `yikes-mailchimp-before-form-submission` hook, to perform actions before data gets sent to Mailchimp.
* Setup unit tests, wrote a few basic tests to start.
* Added `no_priv` to the update profile email, so users who are not logged in do not hit an error.
= 6.0.5.3 - March 14th, 2016 =
* Removed rogue `return;` causing blank screen on certain pages.
* Wrapped transient in else statement to prevent wrong data from being stored when an error is hit.
= 6.0.5.2 - March 11th, 2016 =
* Added extra error check for empty forms.
* Fixed incorrect 'Invalid Email' response being displayed to the user. (Now more user friendly)
* Fixed some checkbox integrations not working properly.
* Enhanced error logging.
= 6.0.5.1 - March 7th, 2016 =
* Cleaned up an error getting by the check when no interest groups were enabled on a form.
* Ensured 'invalid email' error was being used where appropriate.
= 6.0.5 - March 5th, 2016 =
* Removed the old Mailchimp PHP wrapper (increasing stability, and decreasing overall plugin size by 200+kb).
* All API requests are now handled via WP HTTP class (goodbye SSL cert errors)
* Added new `yikes-mailchimp-sslverify` filter to toggle true/false on API requests.
* Added a new 'View List' link below the associated lists on the form edit page.
* Updated all api requests throughout the plugin.
* Re-wrote both the ajax and non-ajax form submission files.
* Re-wrote form validation, error checks and success/error responses.
* More specific error messages now coming from Mailchimp for a better debugging experience.
* Repaired broken strings, Optin/optin to Opt-in/opt-in, reCaptcha to reCAPTCHA.
* Fixed user data not properly displaying on the user cards page.
= 6.0.4.7 - March 4th, 2016 =
* Fix error being thrown when the user has not set their name on the profile page.
* Updated the API validation function to use WP HTTP class. (workaround for SSL cert error preventing API key validation)
* Add 'Custom URL' selection to page redirect drop down, allow users to hard code a custom URL to redirect users to (third party site etc.)
= 6.0.4.6 - March 2nd, 2016 =
* Repair 'update existing subscriber' parameter in the API request to respect the options set for the given form (AJAX and non-AJAX forms).
= 6.0.4.5 - March 1st, 2016 =
* Added `load_plugin_textdomain()` call to base class.
* Added missing string to translation.
= 6.0.4.4 - February 29th, 2016 =
* Fixed reCAPTCHA check being skipped when a non-ajax form is submitted.
* Fixed incorrect variable name in reCAPTCHA form submission (non-ajax).
* Re-worded the reCAPTCHA error message when left blank.
* Passed new reCAPTCHA error message through new filter (`yikes-mailchimp-recaptcha-required-error` - works for AJAX and standard forms).
* Added missing placeholder/default values to the date form fields.
* Fixed foreign characters causing issues on certain form fields (all languages should now work without issues).
= 6.0.4.3 - February 23rd, 2016 =
* Added new filter to alter the success message from the form (`yikes-mailchimp-success-response` - see readme.txt for help).
* Added new filter to alter the zip code regex pattern (`yikes-mailchimp-zip-pattern` - see readme.txt for help and default value).
* Added new filter to alter the default country selection in the dropdown. (`yikes-mailchimp-default-country-value` - Defaults to 'US'.)
* Altered zip/state fields, when the default value is set to something other than US via `yikes-mailchimp-default-country-value`.
* Removed `height: 100%` CSS declaration on form fields (causing minor issues on some themes).
* Tweaked front end .js.
= 6.0.4.2 - February 18th, 2016 =
* Add missing .js file to trigger the update existing subscriber detials email on non-ajax forms.
* Re-worded a few strings.
= 6.0.4.1 - February 17th, 2016 =
* Fixed foreign languages saving field labels with backslashes.
* Fixed foreign language dropdown not saving/displaying properly.
* Setup two-factor authentication when users go to update subscription details.
* Added new filters, `yikes-mailchimp-update-email-subject` and `yikes-mailchimp-update-email-content`.
* Removed languages directory, as everything is now handled within GlotPress.
= 6.0.4 - February 1st, 2016 =
* Added a conditional to upgrade the database if the user is not currently up to date.
* Some users report not being able to update form settings, due to database tables not being present.
= 6.0.3.9 - January 31st, 2016 =
* Refactored date form field submissions, to properly format international dates (dd/mm/yyyy).
* Re-worded sections.
* Added new screenshots.
= 6.0.3.8 - January 29th, 2016 =
* Added a new custom description parameter to the shortcode. eg: `[yikes-mailchimp custom_description="This is a custom description" description="1"]`
* Added all new settings on a per form level. New options now include - Form classes, Inline form, Submit button type, Submit button classes, schedule form by date/time, and require users to be logged in.
* Users can now specify if they want a form to display inline by using the `inline="1"` parameter in the shortcode. Example: `[yikes-mailchimp inline="1"]`. The shortcode parameter will take precedence over the form setting.
* Users can now set the submit button to image, and specify a custom image to use.
* Tweaked styles on the 'Account Activity/Chimp Chatter' page.
* Re-factored a few functions to be more performant.
* Added new, additional hooks for our add-ons to make use of. (`yikes-mailchimp-list-interest-groups-metabox`)
* Fixed the typo in our check box integration filter from `yikes-mailchimp-checkbox-integration-subscibe-api-request` to `yikes-mailchimp-checkbox-integration-subscribe-api-request`.
* Added missing `$charset_collate` variable when creating the database tables - which caused encoding issues with a few foreign characters.
* Localized all date pickers - for our international users.
* Added new sections to the welcome screen - 'Knowledge Base' and 'Add-Ons'.
* Fixed foreign language character encoding, and storing in database as question marks.
* Fixed date formats not storing properly when adding a date/birthday field to your form.
* Fixed the form editor being hidden on medium-width screens.
= 6.0.3.7 - December 28th, 2015 =
* Fixed certain [recaptcha parameters](https://codeparrots.com/support/knowledge-base/how-do-i-customize-the-recaptcha-field/) not working properly
= 6.0.3.6 - December 28th, 2015 =
* Removed extra closing php tag after 'Interest Group' dropdown field
= 6.0.3.5 - December 20th, 2015 =
* Ensured the `$form_id` variable is set before including the form processing file for non-ajax forms.
* Updated `yikes_retrieve_form_settings()`, to ensure we have a `$form_id` and settings to return.
= 6.0.3.4 - December 18th, 2015 =
* Make bundled classes work when field labels are hidden.
* Way to reset submission counts for individual forms.
* URL fields now prepend http:// to prevent confusion with the end user.
* Added conditionals to hide state/zip input fields in the address section when the country != US.
* Multiple reCAPTCHAs on a single page should now work.
* Non-Ajax Forms set to redirect, throw errors
* Check form descriptions generating additional `<p>` tags.yikes-mailchimp-form-description is not wrapped around the description.
* Add helper function to retrieve form data by ID. (eg: `$form_data = yikes_get_form_data( 1 );` )
= 6.0.3.3 - November 12th, 2015 =
* Patched a minor security issue where post passwords were accessible prior to entering the password - (props @ldwd)
= 6.0.3.2 - November 9th, 2015 =
* International characters in custom messages causing some escaping issues for AJAX forms.
* Added Google reCAPTCHA override to the shortcode recaptcha="1"/recpatcha="0" to manually set it on a per form basis (still needs to be globally enabled on the settings page).
* Added additional reCAPTCHA parameters to the shortcode. (see <a href="https://codeparrots.com/support/knowledge-base/how-do-i-customize-the-recaptcha-field/" target="_blank">https://codeparrots.com/support/knowledge-base/how-do-i-customize-the-recaptcha-field/</a>).
* Re-coded the redirect function for non-ajax forms, so that it properly utilizes `wp_redirect()` instead of a .js injection after submission.
* Added new constant `YIKES_MAILCHIMP_NULL_DEBUG` to debug 'null' API response from Mailchimp API (see <a href="https://codeparrots.com/support/knowledge-base/i-received-the-following-error-we-received-an-unexpected-error-null/" target="_blank">https://codeparrots.com/support/knowledge-base/i-received-the-following-error-we-received-an-unexpected-error-null/</a>).
= 6.0.3.1 - November 2nd, 2015 =
* Repair issue where multiple AJAX forms on same page was only submitting last displayed form.
* Parsed `[yikes-mailchimp-subscriber-count]`, to display the number of subscribers in the associated list on the manage forms page for form descriptions.
* When 'Hide Label' and 'Hide Field' are both checked, ensure that the associated form field is hidden.
* Confirmed error messages via the API are working as intended for both AJAX/standard opt-in forms.
* Fixed issue/spacing of the secondary 'Update Form' button on the edit forms page.
= 6.0.3 - October 29th, 2015 =
* Add filter to allow altering field descriptions. `yikes_mailchimp_frontend_content`
* Resolve error thrown when no default is set for checkbox inerest groups.
* Alter old knowledge base URLs to new KB URL.
* Confirm each form field type 'Hide Field' works as expected.
* Added a bit of spacing between checkbox/radio button default options.
* Added new class `yikes-mailchimp-form-class` to allow for additional classes to be added to the `<form>` element.
* Implemented a fix for required interest group checkbox type. (ajax = js validation/non-ajax = php).
* Appended form IDs to input field ID parameter. The new form IDs now prepended with yikes-mc-form-#- -- eg: Old: id="EMAIL", New: id="yikes-mc-form-1-EMAIL".
* Add a "Save Form" button to the left of the new "Clear Form Fields" on the Form builder. (better UX)
* Integrate with Visual Composer plugin.
* Ability to add a class to the form tag. Appropriate filter is `yikes-mailchimp-form-class` for `<form>` element, and `yikes-mailchimp-form-container-class` for parent `<section>` container.
* Fix Site Origin Page builder issues saving the widget form IDs.
= 6.0.3 - October 29th, 2015 =
* Fixed undefined variable warning for interest group labels
* Added new filter to allow alterations of each form field description
= 6.0.2.4 - October 17th, 2015 =
* Fixed error thrown for some users on edit forms page 'save'.
* Added new shortcode: `[yikes-mailchimp-subscriber-count list="#"]` to display the number of subscribers to a specified list (use: `[yikes-mailchimp-subscriber-count form="form_id"]` (preferred) or `[yikes-mailchimp-subscriber-count list="mc_list_id"]`)
* Added new filter to filter the submit button text (yikes-mailchimp-form-submit-button-text)
* Tweaked international phone number validation - now regex checks [0-9]{1,}
* Added two new classes to field labels - `.merge_tag-label` (eg: EMAIL-label) on all fields & `.yikes-mailchimp-field-required` on fields set to required.
* Added capability check to TinyMCE button in wp editor (defaults to manage_options).
* Tweaked 'show some love' container on the edit forms page.
* Ensured 'Clear Form Fields' button was hidden after all form fields were removed.
* Passed form descriptions through `the_content()` to allow for shortcodes to be processed.
= 6.0.2.3 - October 16th, 2015 =
* Fixed incorrect opt-in time being sent to Mailchimp for new subscribers (fixed for checkbox integrations, ajax and non-ajax forms)
* Fixed 'Hide Label' displaying twice under interest groups
* Fixed error thrown for custom_fields for some users
* Fixed dropdown interest group data not being sent to Mailchimp properly
= 6.0.2.2 - October 15th, 2015 =
* Added the ability to bulk remove form fields from the form builder
* Fixed hidden interest groups from not displaying the default value properly
* Added hidden interest groups to the field type switch
* Fixed interest group errors thrown for some users
* Added new option to replace/update interest groups
= 6.0.2/6.0.2.1 - October 12th, 2015 =
* Added ability to pre-select interest groups for each third party integration (bbpress, contact form 7, buddypress, edd, woocommerce, comment form, registration form).
* Removed "Check your email for the confirmation message." from the default success message if single opt-in is checked.
* Fixed Address field, zip not hiding properly.
* Tweaked class names, labels.
* Renamed clickable pre-defined tags to something more user friendly instead of tags (eg: 'Page Title' instead of {page_title}).
* Renamed the `field-third-left/right` class to `field-third` as it made more sense. Now elements floated left.
* Tweaked pre-defined class styles.
* Altered pre-defined class names for the address fields.
* Built in check for Mailchimp class to prevent conflict with other plugins integrating Mailchimp.
* Built in responsive styles for pre-defined form class styles (field-half-left/right & field-third).
* Tweak responsive styles on calendar date picker on mobile devices.
* Confirm each integration is working as intended.
= 6.0.1 - October 7th, 2015 =
* This release is a <strong>complete</strong> rewrite of the previous version. Before upgrading to the latest release, it is <em>highly recommended</em> that you take a backup of your database.
* Changed plugin name to Easy Forms for Mailchimp to comply with new guidelines for [Plugins that Include Company and/or Product Names in the Plugin Name](https://make.wordpress.org/plugins/2015/10/05/guidelines-for-plugins-that-include-company-andor-product-names-in-the-plugin-name/)
* Enhancements:
* All forms have moved to their own table in the database, yikes_easy_mc_forms.
* Admin interface has been re-designed for a seamless integration into the WordPress dashboard.
* You can now create an unlimited number of forms, and assign them to any of your lists (even multiple forms to the same list).
* Now you can easily duplicate forms at the click of a button.
* We have built out an advanced debugging feature that will log errors as they occur, for easy debugging.
* You can now toggle on/off AJAX form submissions on a per form basis.
* Toggle on or off the Mailchimp welcome email being sent.
* You can now quickly switch which list your forms assign subscribers to.
* We now support every type of field you can assign to a form, including interest groups.
* You can now set custom success and error messages, to set messages in your native language.
* Easily browse your lists and view individual subscribers. Manage your subscriptions directly within the plugin.
* We've completely re-designed the settings pages to allow for easier navigation.
* A whole number of additional settings have been enabled for different form input fields.
* Español translated started by @hiwhatsup
* Française translated by @mialevesque
* Português do Brasil translated by @enxaqueca
* reCAPTCHA now loads in the language of the site it's being displayed on.
* All translations functions have been implemented for worldwide i18n.
* We have built out an API and implemented a number of hooks and filters to enable developers to easily extend the plugin [see knowledge base](https://codeparrots.com/support/knowledge-base/product/developer-documentation/?utm_source=wp_plugin_repo&utm_medium=link&utm_campaign=easy_forms_for_mailchimp)
* We have started building out a number of add ons to extend the base functionality of the plugin. [check them out](https://codeparrots.com/plugins/?utm_source=wp_plugin_repo&utm_medium=link&utm_campaign=easy_forms_for_mailchimp)
= 5.4.3 - March 17th, 2015 =
* Fixed: Re-import form fields function not properly refreshing the page
* Fixed: Updating a list field no longer throws an empty error
= 5.4.2 - March 10th, 2015 =
* Fixed: custom class names on input fields merged together with other class names making them un-usable.
= 5.4.1 - March 3rd, 2015 =
* Fixed: tinyMCE error thrown when saving settings page, ultimately preventing the ability to store the API key.
= 5.4 - March 2nd, 2015 =
* Enhancement: Re-bundled unaltered Mailchimp API wrapper class file, and added appropriate class check to prevent conflicts with other Mailchimp plugins (Gravity Forms etc.)
* Enhancement: Removed the WYSIWYG editor from the options page. This caused issues for some users who were unable to validate the Mailchimp API key.
* Enhancement: Added a new setting to toggle the sending of the Mailchimp welcome email. Users can now disable the email all together, on a list by list basis. (checked = disabled)
* Enhancement: Prevented users from being able to update the 'EMAIL' merge variable. Added a notification with instruction on what filter to use.
* Enhancement: Replaced all instances of the old class name (wpyksMCMailchimp API) with the appropriate Mailchimp class (Mailchimp)
* Enhancement: Stripped slashes and properly escaped interest group labels
= 5.3.3 - February 26th, 2015 =
* Enhancement: Added a new filter to alter field labels. Very helpful when you want to alter the default 'Email Address' field label to something else. (`yikes_mc_field_label`) (see 'filters' section in 'Other Notes')
= 5.3.2 - February 17th, 2015 =
* Fixed: Patched the error displayed below the opt-in forms when `display_yikes_mc_form_messages` is not defined.
= 5.3.1 - January 13th, 2014 =
* Enhancement: Added new filter to allow users to change which role has access to the administration pages ( `yks-mailchimp-user-role` ) ( check readme for example )
= 5.3 - January 11th, 2014 =
* Enhancement: Added ability to move the success + error messages above or below the form based on a defined constant ( `display_yikes_mc_form_messages` [options: before/after] )
* Enhancement: Added new settings and the ability to show/hide * = required field , from the top of the forms, via the settings page
* Enhancement: Fixed incorrect error 'click here to update your profile' shown on front end on all errors
= 5.2 - December 10th, 2014 =
* New Feature: Added ability to add, edit or delete form fields directly from the WordPress dashboard
* New Feature: Added ability to add, edit or delete interest groups directly from the WordPress dashboard
* New Feature: Add "Update" link to forms when a user has previously subscribed
* New Feature: Added 'default' option to text fields ( with custom pre-defined tags : {post_id} , {post_title} , {page_url} , {blog_name} , {user_logged_in} with the ability to define your own! )
* New Feature: Added the ability to adjust required state, visibility state, merge tag and more
* New Feature: Added the ability to toggle between ssl_verifypeer true/false
* New Feature: Added an error log to help users diagnose errors happening within the plugin (and updated advanced debugging) - found on the debug options of the settings page
* Enhancement: Remove JavaScript dependency to populate place holder values
* Enhancement: Replaced CAPTCHA with the all new reCAPTCHA API from Google
* Enhancement: Introduced all new filters ( check documentation for examples )
* Enhancement: Un-checking 'visibility' now hides the input field (instead of not generating it at all)
* Enhancement: Re-defined YKSEME_PATH for users who have the plugins folder outside of wp-content
* Enhancement: Added new classes to labels and input fields on the front end forms ( new classes yks-mc-label-field-label , yks-mc-form-row-field-label , yks-mc-input-field-row-field-label , yks-mc-input-field-label )
* Bug Fix: Re-sorting fields that had a stored custom class name didn't store properly
* Bug Fix: Wrapped bundled template text in filters
* Bug Fix: Repaired some broken filters (get_form_data_before_send)
* Bug Fix: Fixed labels on 'Manage List Forms' page and added field names to titles
* Bug Fix: Fixed path to check box images on 'Clean Blue' bundled templates
* Bug Fix: Fixed empty Mailchimp API key from outputting any string (confused some users)
* Other: Split main class file into multiple included files (help organize the main class file (sub-files located in /lib/inc/)
* Other: Began to build up a [Wiki](https://github.com/yikesinc/yikes-inc-easy-mailchimp-extender/wiki) on Github , for plug in installation/usage instructions
* Other: Altered single/double opt-in strings inside shortcode_form.php ([reference thread](https://wordpress.org/support/topic/code-mangling-on-script-use-in-messageserror-handling))
* Other: Removed 'Interest Group Label' option, as users can now update the name from within the plugin
= 5.1.1 - November 5, 2014 =
Fix: repair 'Opt In' default list drop down on options page
Fix: repair errors being thrown when a commenter is added to a list
= 5.1.0.1 - November 4, 2014 =
Removed the update profile info link, some users brought up security concerns.
Fixed missing argument when using table display formatting.
= 5.1 - November 3, 2014 =
We have added brand new functionality, allowing users to easily customize forms on the fly, through a familiar UI as well as a templating framework to allow users to design and implement their own custom forms. A minor security bug was patched in this release as well. We fixed an issue with the Mailchimp API key check running on each page load, and added a few new filters to allow users to alter text.
= 5.0.9 - October 3rd, 2014 =
**Fixes**
* Added autocomplete="false" to Mailchimp API input field
* Added event listener to form submission (forms can now be placed in modals/slideout menus)
= 5.0.8 - September 23, 2014 =
**Fixes**
* Band-aid fix for the -1 response returned from ajax.php
= 5.0.7 - September 19, 2014 =
**Fixes**
* Security Vulnerability patched - props @g0blinResearch for privately disclosing the issue
= 5.0.6 - August 22, 2014 =
**Fixes**
* fix bug with nonce security check when using table 'Preferred Form Layout' setting
= 5.0.5 - August 21, 2014 =
**Fixes**
- added `stripslashes()` to the following settings fields :
- Single Opt-in Confirmation Message
- Double Opt-in Confirmation Message
- Interest Group Label
- Opt-in Checkbox Text
**Updates**
- Updated readme FAQ section
= 5.0.4 - August 6, 2014 =
* Update SSL conditional in main plugin file
* Added mcrypt module check, for API encryption
* Conditionally loaded scripts and styles in admin ( prevent conflicts )
* Included NONCE security checks on form submissions ( helps prevent CSRF and other attacks )
* Added proper update task function to add missing settings to the options page ( prevents undefined variables for new settings )
* Added missing styles to post page ( added missing icon to tinyMCE button )
* Added missing styles to widget page
* Adjusted Chimp Chatter activity time formatting to return correct time based on user time zone
* New Feature: Real time updates to Account Activity ( utilizing the heartbeat API )
* New Feature: Added account activity widget to dashboard ( with live updates using heartbeat API )
* Added screenshot of admin dashboard account activity widget
= 4.5 =
* Added reCAPTCHA support to prevent bots and spammers from submitting forms
* Split settings page into three separate sections
* Removed Jetpack sharing icons from appearing in the success messages (removed sharedaddy filter)
* Updated translation files with new strings
* Update existing screen shots and add new screen shot
* Update FAQ
* Added "loaded server modules" to the debug page, to better aid in support requests
= 3.0 =
* Update Mailchimp API to v2.0
* Added API Key Validation Check
= 2.2.0 =
* Added support for multiples of the same list
* Bug fixes
= 2.1.0 =
* Changed name of plugin to Easy Forms
* Added support for multiples of the same list
* Bug fixes
= 2.0.0 =
* Supports custom merge vars now
* Allows import from Mailchimp
* Allows Table or Div output
= 1.3.1 =
* Fixed form not submitting to Mailchimp for anonymous users bug
= 1.3.0 =
* Custom merge vars allows more customized field configuration
= 1.2.0 =
* Removed required from First Name and Last Name fields
* Added update routines for future versions
= 1.1.0 =
* Changed the list logic and added a notice for the MERGE VAR naming schema
= 1.0.1 =
* Changed CSS paths from Absolute to Relative
= 1.0.0 =
* Initial Release
== Upgrade Notice ==
= 6.1.3 - July 26th, 2016 =
* Minor security patch - Thanks goes to the Wordfence Research Team for locating and disclosing the issue.
* Cleared API/Account transient data when API key has changed.
* Refactored our shortcode function to abort early, when no fields are present (inline or not).
* Added `labels-hidden` class to the submit button `<span></span>` element so we can better style inline forms when <strong>all</strong> labels are hidden.
= 6.1.2 - July 21st, 2016 =
* Fixed incorrect date format on date picker for birthday fields (Front end).
* Ensure that hidden fields don't become visible when forms are submitted (.fadeTo() bug)
* Built in support for defining a constant for your API keys in wp-config.php (`YIKES_MC_API_KEY` see FAQ)
= 6.1.1 - July 20th, 2016 =
* Added helper classes to the address fields to allow for easier targeting (Supports zip lookup extension).
= 6.1 - July 11th, 2016 =
* Sanitized section request on the options page properly.
* Fixed the apostraphes converted to tildes.
* Added the missing space in the form field classes when labels were hidden.
* Added preloaders to the submit button and the form overlay. Lowered opacity during AJAX processing.
* Fixed the 'Duplicate' form function.
* Repaired phone number validation on the phone form fields.
* Properly hide descriptions when they are not set. (Markup should no longer be generated)
* Added a 'Clear API Cache' link below the associated list dropdown during form creation.
* Swapped out `get_currentuserinfo()` for the correct, newer, functions.
* Repaired undefined variable on the 'Birthday/Date' form fields, when no default was set.
* Users can now bulk add fields to forms, instead of having to do it one at a time.
* Removed any dependency to the RSS feeds served from https://www.codeparrots.com, which could potentially cause issues if the servers are ever down.
* Refactored the database creation function, and swapped out the field types - to support older versions of PHP (<v5.3).
* Added new filter to allow users to alter who can view/access the admin dashboard widgets - `yikes-mailchimp-admin-widget-capability`
* Added a new filter (`yikes-mailchimp-user-already-subscribed-error`) allowing the 'already subscribed' error message to be filtered.
* Added a new template tag (`[email]`) which can be used in the already subscribed response, to display the user entered email back in the response.
* Added a new template tag (`[link][/link]`) which can be used to wrap text in the 'update profile' link, allowing users to create a custom response & link.
= 6.0.5.5 - April 5th, 2016 =
* Fixed incompatibility with the avada theme options page.
* Removed the admin dashboard widgets for non-admins. Note: To alter, use the `yikes-mailchimp-user-role-access` filter.
= 6.0.5.4 - March 30th, 2016 =
* Added `yikes-mailchimp-before-form-submission` hook, to perform actions before data gets sent to Mailchimp.
* Setup unit tests, wrote a few basic tests to start.
* Added `no_priv` to the update profile email, so users who are not logged in do not hit an error.
= 6.0.5.3 - March 14th, 2016 =
* Removed rogue `return;` causing blank screen on certain pages.
* Wrapped transient in else statement to prevent wrong data from being stored when an error is hit.
= 6.0.5.2 - March 11th, 2016 =
* Added extra error check for empty forms.
* Fixed incorrect 'Invalid Email' response being displayed to the user. (Now more user friendly)
* Fixed some checkbox integrations not working properly.
* Enhanced error logging.
= 6.0.5.1 - March 7th, 2016 =
* Cleaned up an error getting by the check when no interest groups were enabled on a form.
* Ensured 'invalid email' error was being used where appropriate.
= 6.0.5 - March 5th, 2016 =
* Removed the old Mailchimp PHP wrapper (increasing stability, and decreasing overall plugin size by 200+kb).
* All API requests are now handled via WP HTTP class (goodbye SSL cert errors)
* Added new `yikes-mailchimp-sslverify` filter to toggle true/false on API requests.
* Added a new 'View List' link below the associated lists on the form edit page.
* Updated all api requests throughout the plugin.
* Re-wrote both the ajax and non-ajax form submission files.
* Re-wrote form validation, error checks and success/error responses.
* More specific error messages now coming from Mailchimp for a better debugging experience.
* Repaired broken strings, Optin/optin to Opt-in/opt-in, reCaptcha to reCAPTCHA.
* Fixed user data not properly displaying on the user cards page.
= 6.0.4.7 - March 4th, 2016 =
* Fix error being thrown when the user has not set their name on the profile page.
* Updated the API validation function to use WP HTTP class. (workaround for SSL cert error preventing API key validation)
* Add 'Custom URL' selection to page redirect drop down, allow users to hard code a custom URL to redirect users to (third party site etc.)
= 6.0.4.6 - March 2nd, 2016 =
* Repair 'update existing subscriber' parameter in the API request to respect the options set for the given form (AJAX and non-AJAX forms).
= 6.0.4.5 - March 1st, 2016 =
* Added `load_plugin_textdomain()` call to base class.
* Added missing string to translation.
= 6.0.4.4 - February 29th, 2016 =
* Fixed reCAPTCHA check being skipped when a non-ajax form is submitted.
* Fixed incorrect variable name in reCAPTCHA form submission (non-ajax).
* Re-worded the reCAPTCHA error message when left blank.
* Passed new reCAPTCHA error message through new filter (`yikes-mailchimp-recaptcha-required-error` - works for AJAX and standard forms).
* Added missing placeholder/default values to the date form fields.
* Fixed foreign characters causing issues on certain form fields (all languages should now work without issues).
= 6.0.4.3 - February 23rd, 2016 =
* Added new filter to alter the success message from the form (`yikes-mailchimp-success-response` - see readme.txt for help).
* Added new filter to alter the zip code regex pattern (`yikes-mailchimp-zip-pattern` - see readme.txt for help and default value).
* Added new filter to alter the default country selection in the dropdown. (`yikes-mailchimp-default-country-value` - Defaults to 'US'.)
* Altered zip/state fields, when the default value is set to something other than US via `yikes-mailchimp-default-country-value`.
* Removed `height: 100%` CSS declaration on form fields (causing minor issues on some themes).
* Tweaked front end .js.
= 6.0.4.2 - February 18th, 2016 =
* Add missing .js file to trigger the update existing subscriber detials email on non-ajax forms.
* Re-worded a few strings.
= 6.0.4.1 - February 3rd, 2015 =
* Fixed foreign languages saving field labels with backslashes
* Fixed foreign language dropdown not saving/displaying properly
= 6.0.4 - February 1st, 2015 =
* Added a conditional to upgrade the database if the user is not currently up to date.
* Some users report not being able to update form settings, due to database tables not being present.
= 6.0.3.9 - January 31st, 2015 =
* Refactored date form field submissions, to properly format international dates (dd/mm/yyyy).
* Re-worded sections.
* Added new screenshots.
= 6.0.3.8 - January 29th, 2015 =
* Added a new custom description parameter to the shortcode. eg: `[yikes-mailchimp custom_description="This is a custom description" description="1"]`
* Added all new settings on a per form level. New options now include - Form classes, Inline form, Submit button type, Submit button classes, schedule form by date/time, and require users to be logged in.
* Users can now specify if they want a form to display inline by using the `inline="1"` parameter in the shortcode. Example: `[yikes-mailchimp inline="1"]`. The shortcode parameter will take precedence over the form setting.
* Users can now set the submit button to image, and specify a custom image to use.
* Tweaked styles on the 'Account Activity/Chimp Chatter' page.
* Re-factored a few functions to be more performant.
* Added new, additional hooks for our add-ons to make use of. (`yikes-mailchimp-list-interest-groups-metabox`)
* Fixed the typo in our check box integration filter from `yikes-mailchimp-checkbox-integration-subscibe-api-request` to `yikes-mailchimp-checkbox-integration-subscribe-api-request`.
* Added missing `$charset_collate` variable when creating the database tables - which caused encoding issues with a few foreign characters.
* Localized all date pickers - for our international users.
* Added new sections to the welcome screen - 'Knowledge Base' and 'Add-Ons'.
* Fixed foreign language character encoding, and storing in database as question marks.
* Fixed date formats not storing properly when adding a date/birthday field to your form.
* Fixed the form editor being hidden on medium-width screens.
= 6.0.3.7 - December 28th, 2015 =
* Fixed certain [recaptcha parameters](https://codeparrots.com/support/knowledge-base/how-do-i-customize-the-recaptcha-field/) not working properly
= 6.0.3.6 - December 28th, 2015 =
* Removed extra closing php tag after 'Interest Group' dropdown field
= 6.0.3.5 - December 20th, 2015 =
* Ensured the `$form_id` variable is set before including the form processing file for non-ajax forms.
* Updated `yikes_retrieve_form_settings()`, to ensure we have a `$form_id` and settings to return.
= 6.0.3.4 - December 18th, 2015 =
* Make bundled classes work when field labels are hidden.
* Way to reset submission counts for individual forms.
* URL fields now prepend http:// to prevent confusion with the end user.
* Added conditionals to hide state/zip input fields in the address section when the country != US.
* Multiple reCAPTCHAs on a single page should now work.
* Non-Ajax Forms set to redirect, throw errors
* Check form descriptions generating additional `<p>` tags.yikes-mailchimp-form-description is not wrapped around the description.
* Add helper function to retrieve form data by ID. (eg: `$form_data = yikes_get_form_data( 1 );` )
= 6.0.3.3 - November 12th, 2015 =
* Patched a minor security issue where post passwords were accessible prior to entering the password - (props @ldwd)
= 6.0.3.2 - November 9th, 2015 =
* International characters in custom messages causing some escaping issues for AJAX forms.
* Added Google ReCaptcha override to the shortcode recaptcha="1"/recpatcha="0" to manually set it on a per form basis (still needs to be globally enabled on the settings page).
* Added additional reCAPTCHA parameters to the shortcode. (see <a href="https://codeparrots.com/support/knowledge-base/how-do-i-customize-the-recaptcha-field/" tareget="_blank">https://codeparrots.com/support/knowledge-base/how-do-i-customize-the-recaptcha-field/</a>).
* Re-coded the redirect function for non-ajax forms, so that it properly utilizes `wp_redirect()` instead of a .js injection after submission.
* Added new constant `YIKES_MAILCHIMP_NULL_DEBUG` to debug 'null' API response from Mailchimp API (see <a href="https://codeparrots.com/support/knowledge-base/i-received-the-following-error-we-received-an-unexpected-error-null/" target="_blank">https://codeparrots.com/support/knowledge-base/i-received-the-following-error-we-received-an-unexpected-error-null/</a>).
= 6.0.3.1 - November 2nd, 2015 =
* Repair issue where multiple AJAX forms on same page was only submitting last displayed form.
* Parsed `[yikes-mailchimp-subscriber-count]`, to display the number of subscribers in the associated list on the manage forms page for form descriptions.
* When 'Hide Label' and 'Hide Field' are both checked, ensure that the associated form field is hidden.
* Confirmed error messages via the Mailchimp API are working as intended for both AJAX/standard opt-in forms.
* Fixed issue/spacing of the secondary 'Update Form' button on the edit forms page.
= 6.0.3 - October 29th, 2015 =
* Add filter to allow altering field descriptions. `yikes_mailchimp_frontend_content`
* Resolve error thrown when no default is set for checkbox inerest groups.
* Alter old knowledge base URLs to new KB URL.
* Confirm each form field type 'Hide Field' works as expected.
* Added a bit of spacing between checkbox/radio button default options.
* Added new class `yikes-mailchimp-form-class` to allow for additional classes to be added to the `<form>` element.
* Implemented a fix for required interest group checkbox type. (ajax = js validation/non-ajax = php).
* Appended form IDs to input field ID parameter. The new form IDs now prepended with yikes-mc-form-#- -- eg: Old: id="EMAIL", New: id="yikes-mc-form-1-EMAIL".
* Add a "Save Form" button to the left of the new "Clear Form Fields" on the Form builder. (better UX)
* Integrate with Visual Composer plugin.
* Ability to add a class to the form tag. Appropriate filter is `yikes-mailchimp-form-class` for `<form>` element, and `yikes-mailchimp-form-container-class` for parent `<section>` container.
* Fix Site Origin Page builder issues saving the widget form IDs.
= 6.0.2.4 - October 17th, 2015 =
* Fixed error thrown for some users on edit forms page 'save'.
* Added new shortcode: `[yikes-mailchimp-subscriber-count list="#"]` to display the number of subscribers to a specified list (use: `[yikes-mailchimp-subscriber-count form="form_id"]` (preferred) or `[yikes-mailchimp-subscriber-count list="mc_list_id"]`)
* Added new filter to filter the submit button text (yikes-mailchimp-form-submit-button-text)
* Tweaked international phone number validation - now regex checks [0-9]{1,}
* Added two new classes to field labels - `.merge_tag-label` (eg: EMAIL-label) on all fields & `.yikes-mailchimp-field-required` on fields set to required.
* Added capability check to TinyMCE button in wp editor (defaults to manage_options).
* Tweaked 'show some love' container on the edit forms page.
* Passed form descriptions through `the_content()` to allow for shortcodes to be processed.
= 6.0.2.3 - October 16th, 2015 =
* Fixed incorrect opt-in time being sent to Mailchimp for new subscribers (fixed for checkbox integrations, ajax and non-ajax forms)
* Fixed 'Hide Label' displaying twice under interest groups
* Fixed error thrown for custom_fields for some users
* Fixed dropdown interest group data not being sent to Mailchimp properly
= 6.0.2.2 - October 15th, 2015 =
* Added the ability to bulk remove form fields from the form builder
* Fixed hidden interest groups from not displaying the default value properly
* Added hidden interest groups to the field type switch
* Fixed interest group errors thrown for some users
* Added new option to replace/update interest groups
= 6.0.2/6.0.2.1 - October 12th, 2015 =
* Added ability to pre-select interest groups for each third party integration (bbpress, contact form 7, buddypress, edd, woocommerce, comment form, registration form).
* Removed "Check your email for the confirmation message." from the default success message if single opt-in is checked.
* Fixed Address field, zip not hiding properly.
* Tweaked class names, labels.
* Renamed clickable pre-defined tags to something more user friendly instead of tags (eg: 'Page Title' instead of {page_title}).
* Renamed the `field-third-left/right` class to `field-third` as it made more sense. Now elements floated left.
* Tweaked pre-defined class styles.
* Altered pre-defined class names for the address fields.
* Built in check for Mailchimp class to prevent conflict with other plugins integrating Mailchimp.
* Built in responsive styles for pre-defined form class styles (field-half-left/right & field-third).
* Tweak responsive styles on calendar date picker on mobile devices.
* Confirm each integration is working as intended.
= 6.0.1 - October 7th, 2015 =
* This release is a <strong>complete</strong> rewrite of the previous version. Before upgrading to the latest release, it is <em>highly recommended</em> that you take a backup of your database.
* Changed plugin name to Easy Forms for Mailchimp to comply with new guidelines for [Plugins that Include Company and/or Product Names in the Plugin Name](https://make.wordpress.org/plugins/2015/10/05/guidelines-for-plugins-that-include-company-andor-product-names-in-the-plugin-name/)
* Enhancements:
* All forms have moved to their own table in the database, yikes_easy_mc_forms.
* Admin interface has been re-designed for a seamless integration into the WordPress dashboard.
* You can now create an unlimited number of forms, and assign them to any of your lists (even multiple forms to the same list).
* Now you can easily duplicate forms at the click of a button.
* We have built out an advanced debugging feature that will log errors as they occur, for easy debugging.
* You can now toggle on/off AJAX form submissions on a per form basis.