-
-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathchangelog.txt
4143 lines (3547 loc) · 281 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
(newer changes: see readme.txt)
= 2.4.53 (2024/07/19) =
* A renamed option was not taken into account in all pages
= 2.4.52 (2024/07/17) =
* Fix an option code typo
= 2.4.51 (2024/07/17) =
* Add an EME dashboard to the main WP dashboard page
* Make automatic redirect to payment gateway work in all cases again, this time for memberships too
= 2.4.50 (2024/07/15) =
* Make automatic redirect to payment gateway work in all cases again
= 2.4.49 (2024/07/11) =
* Mollie API update
* Add email settings in case a member is deleted in the admin interface
* Also support #_CONSENT as placeholder (alias for #_GDPR)
* Show notice after upgrading EME (will be used to show/point to the changelog too)
= 2.4.48 (2024/07/01) =
* Mollie API update
* Avoid creating past events for recurrences
* Make sure captcha settings can be deactivated per event/membership
* Planned mailings will now no longer insert the individual mails but do that just before being sent
* Recurrences no longer need an end date, in which case the next 10 events will be planned (checked daily),
while older events will be removed except the most recent one.
* The number of spaces for a task can now be 0 too. If that's the case, the description of that task
will be used as a section header for the next set of tasks.
* Added action hook eme_ical_header_action, allows to add custom headers by just echo-ing them
= 2.4.47 (2024/06/08) =
* Make sort on membership name work in members overview
* Small fix in membership statistics (some counters included pending members)
= 2.4.46 (2024/05/26) =
* #_IS_USER_IN_GROUP fix for lists of group names (not ids)
* Get the first user with admin rights as default contact person if no other is found
* Only email is required for person import
* When trashing bookings for a trashed event, also execute the hook eme_trash_rsvp_action if present
= 2.4.45 (2024/05/21) =
* Update dompdf to 3.0.0
* Fix #_IS_USER_IN_GROUP for static groups
* Fix ical php warning
= 2.4.44 (2024/05/17) =
* Make #_IS_USER_IN_GROUP also work for dynamic groups
* Account for empty/forced from-email when inserting a mailing (the individual mails were ok, so it just caused a php warning)
= 2.4.43 (2024/05/09) =
* Correct direct adding of dynamic groups of people or members
* Added an option for exact search match for custom field searches (for dynamic groups too)
= 2.4.42 (2024/05/03) =
* Added an option to anonymize old members (and not just remove them), this allows for membership stats to be more correct and kept longer
* The date/time format set for custom fields was not respected in the form itself in firefox, this has been corrected
* When updating from a version older than 2.4.34, the per-event rsvp end cutoff day was set to the start date (if set at all)
= 2.4.41 (2024/04/24) =
* Typo caused #_IS_USER_MEMBER_OF not to work
= 2.4.40 (2024/04/24) =
* Better people-cleanup function
* Update dompdf to 2.0.7
* Make #_IS_USER_MEMBER_PENDING work
* Fix membership edit
= 2.4.39 (2024/04/18) =
* Show RSVP and task info overview in the event edit window too (in the sidebar), like in the events overview table
* PDF templates can now be added to the paid/pending/booking made/approved mails (default and per event)
* PDF templates can now be added to the paid/extended/new member mails (set per membership)
* Update dompdf to 2.0.5
= 2.4.38 (2024/04/01) =
* Avoid html-encoding of some options (like the smtp password)
* Make #_IS_REGISTERED_PENDING and #_IS_REGISTERED_APPROVED work as expected (there was a typo in the executed sql statement)
* Small tasklist improv: disable checkboxes if appropriate (not remove them), makes the list more uniform
* Upgraded braintree API to 6.18.0
* Fix auto-approve payments if pending seats are not considered as free
= 2.4.37 (2024/03/24) =
* Fix setting the "Allow renewal" property for memberships
* Check a borderline case for full events when a pending booking is being paid for
* Added a mail for the case when a payment arrives for a pending booking for an event with auto-approve active but the
event is fully booked so the booking can't get approved automatically
By default this mail will only be sent to the contact person (and is empty for the booker).
The mail content can only be changed via a mail filter (see doc on eme_rsvp_email_text_xxx_filter and eme_rsvp_email_html_xxx_filter
with 'xxx' being 'pendingButPaid')
= 2.4.36 (2024/03/18) =
* Fix typo for event payment gateways registration/activation
= 2.4.35 (2024/03/17) =
* Added #_IS_PERSON_MEMBER_OF{xx} so you can check if a person is an active member of certain memberships
* Added #_IS_PERSON_IN_GROUP{xx} so you can check if a person is a member of certain groups
* Added shortcode eme_person_memberinfo, that works like eme_mymemberinfo but on the EME person being treated (like during mail)
Takes 3 required arguments: person_id, template_id and membership_id. person_id can be #_PERSONID if used inside another shortcode (that then first replaces #_PERSONID with the required value and then the shortcode is interpreted)
= 2.4.34 (2024/03/10) =
* Fix a newly introduced bug if rsvp cutoff times were floating point numbers
= 2.4.33 (2024/03/08) =
* Remove abandonned 2Checkout payment gateway
* Event DB columns rsvp_number_days and rsvp_number_hours are gone, both are now event properties (in line with some other settings) and called rsvp_end_number_days and rsvp_end_number_hours
* Slovak language contribution by Jozef Gaal
* Make sure no countries with double alpha-2 code and the same language can exist
* Correct the use of the setting "Limit event listing?" It was not working due to a wrong column name in the database query
* Show the people/members of a group when editing that group (and allow filtering/actions as if in the people/member section)
* Added support for event placeholders #_RSVPSTART{xx} and #_RSVPEND{xx}, next to just #_RSVPSTART and #_RSVPEND so you can format the layout to your liking ('xx' being the date/time format in php date notation)
= 2.4.32 (2024/02/23) =
* Fix yet another named parameter usage (typo) causing event listing not to show in some shortcodes
= 2.4.31 (2024/02/23) =
* Fix a new named parameter usage (typo) causing rsvp not to work
= 2.4.30 (2024/02/22) =
* Fix extra charge for payment gateways if eme_payment_gateway_extra_cost was defined
* The dompdf included with EME uses a php-svg-lib version that had a security vulnerability
The php-svg-lib version has been upgraded to address this (probability to misuse this was low to non-existing in EME)
= 2.4.29 (2024/02/17) =
* Allow to have a folder wp-content/uploads/events-made-easy/includes. Files present in that folder will be included by EME
This allows for EME extensions and are not overwritten by theme/plugin updates
= 2.4.28 (2024/02/05) =
* Fix payment button for memberships
* Fix weekly recurrence edit
= 2.4.27 (2024/02/01) =
* Correction release: for payments the failure message was shown even after successfull payment (apart from the message, all is correctly handled)
= 2.4.26 (2024/02/01) =
* Added action hook eme_options_postsave_action, to allow own code to be called upon saving options
This is needed for e.g. custom payment gateways that need a webhook created
* Added option "old_select" for filters, so people wanting the old style of select back, they can get it
This option defaults to 0, other value: 1
* For multiselects and filter form, the label was not shown anymore: fixed
* Fix task cancel and the use of custom task signup forms
* Braintree API update to 6.16
= 2.4.25 (2024/01/23) =
* Added filters eme_payment_gateway_change_total and eme_payment_gateway_exra_cost.
Together with the filters eme_payment_gateways, eme_offline_payment_gateways and eme_configured_payment_gateways
these allow to create custom payment gateways
This all still needs to be documented though ...
* Fix the category/notcategory option for events when using a name and not an id
* Add shortcde eme_mymemberinfo (see doc: takes template_id and membership_id as parameters and returns the rendered template)
= 2.4.24 (2024/01/15) =
* Fix recurrence creation for specific/repeated months
= 2.4.23 (2024/01/15) =
* Prefill Stripe Payment Form with E-Mail from EME Booking Form (thanks to EweLoHD)
= Older changes: see changelog.txt
= 2.4.22 (2023/12/30) =
* Fix #_CONTACT and #_AUTHOR event placeholders if no EME person is linked to that wp id
* Sumup and Mollie API updates
* Prevent some loops when using shortcodes/filters together with other bad-behaving plugins
= 2.4.21 (2023/12/22) =
* Fix/improve usage of WP profile for membership (and others)
= 2.4.20 (2023/12/15) =
* Avoid being able to create an identical person (same name/email) in the backend
* More verifications done when checking for people integrity
* Better person image representation in the backend
* Make frontend member editing also work for dynamic data
* Upgrade dompdf to fix a small security issue
* Mollie update to 2.63
* Convert filter dropdowns to better select
= 2.4.19 (2023/12/12) =
* Added a new recurrence period "specific months", so you can choose on which months something transpires and repeat per year
* Avoid php warnings if an image for an event/person/location/... no longer exists
* Avoid possible XSS via shortcode eme_events and the format option
= 2.4.18 (2023/12/10) =
* Fix a php warning
* Fix registering members from frontend again
= 2.4.17 (2023/12/07) =
* Documented #_YOUNGPENDINGSEATS and #_YOUNGPENDINGSEATS{xx}
* Added #_EVENTLINK (or #_EVENTURL) to just get a link to the event (needs to be made clickable by yourself)
* When updating a recurrence, existing events with bookings will not get removed even if they no longer match the recurrence
* More granular permissions for mail sending/viewing
* event scope "0000-MM" will now show events for the specified month in the future (not necessarily the current year)
* Added event scope "0000-MM--relative+Xm" to show events from a specified month in the future till X months later
* Add new shortcode eme_edit_member_form, which (for logged in user with the needed permissions) allows to edit a member from the frontend (not personal info nor membership info, but only member-entered info concerning the membership which are in fact just custom fields)
* Fix contact pending emails for user-confirmed bookings
= 2.4.16 (2023/11/23) =
* Add scope and always_header_footer param to eme_bookings and eme_attendees shortcodes
* Add #_FREESPACES and #_FREESEATS as aliases for #_AVAILABLESPACES
* When clicking on a location in the location list generated beneath a map, jump to the map
* eme_cat_filter now also supports the category name/slug as param value
= 2.4.15 (2023/11/10) =
* Fix a php warning when sending email, due to newer wp phpmailer version
= 2.4.14 (2023/11/03) =
* Fix dynamic group editing
* Allow adding of dynamic groups of type people or members, and make it more clear which type of group we're editing
* Fix eme_ipn_member_action hook (need to use $member, not $booking)
= 2.4.13 (2023/10/24) =
* Fix for case where bookings are already made and then event switches from single to multiprice
= 2.4.12 (2023/10/24) =
* Add a setting to allow people signing up for tasks to be assigned to groups too
* Take into account case where bookings are already made and then event switches from single to multiprice
= 2.4.11 (2023/10/12) =
* Fix an error when saving an event
= 2.4.10 (2023/10/11) =
* The CSV output generated by the CSV button in the admin backend (when showing tables) now uses the EME generic setting for the CSV seperator
* Allow all people-placeholders in the task signup form (ADDRESS1, ... too) and also #_GDPR
* The waitinglist is now checked when updating an event too
= 2.4.9 (2023/09/19) =
* The CSV output generated by the shortcode eme_bookings_report_link now uses the EME generic setting for the CSV seperator
* Fix a typo causing a php warning for membership dynamic fields and the captcha
* Show a hint that mail recipients will be recalculated at send time
= 2.4.8 (2023/09/07) =
* Fix some php warnings when the option to use the client clock for the calendar was set
= 2.4.7 (2023/08/21) =
* quick small fix for 2.4.6
= 2.4.6 (2023/08/21) =
* Fix php warning when adding/updating a member via the admin backend with empty end-date
* Remove many unused variables and cleaned up some typing errors
= 2.4.5 (2023/08/03) =
* Fix 3 php warnings
* Mollie update to 2.60
* Don't show all event custom field answers for every booking in the list of bookings
= 2.4.4 (2023/07/30) =
* Fix showing a single event from the calendar
= 2.4.3 (2023/07/28) =
* Fix placeholder #_IS_LAST_RECURRENCE
* New events scope option: format being: YYYY-MM-DD HH:MM:SS--YYYY-MM-DD HH:MM:SS, so eme_get_events function can search for events in that range (not just days, but taking hour/min/sec into account too);
* Added location capacity, which limits the number of people present at a location. This will be checked for each overlapping event/booking at a location
* Mollie update to 2.59
* Mercadopago update to 2.5.5
* Leaflet update to 1.9.4
= 2.4.2 (2023/07/15) =
* Event list widget was showing urlencoded text (due to the new php-8 function call method, urlencode was no longer needed but forgot to remove it)
= 2.4.1 (2023/07/14) =
* Widget fix that caused php error
= 2.4.0 (2023/07/14) =
* PHP 8 is now the minimal requirement
* Move to named arguments, cleaner code
* Fix creating WP user after creating member/booking (if so configured for the membership/event)
= 2.3.72 (2023/07/08) =
* Make sure no newsletter is sent even due to empty number of entries after conditional placeholders
* When setting max usage count to 0 for a membership (if it was non-zero before), check that it is 0 when doing RSVP too
(a member could have a usage count >0 beforehand and that would cause booking failures in certain cases)
= 2.3.70 (2023/06/22) =
* A new option is added to a EME person to delete the linked WP user when the user gets trashed
This option is on by default if EME created the WP user, but a WP admin will never be deleted.
* You can now require in the RSVP settings that a logged in user must be member of a EME group or membership in order to be able to book.
This avoids the need of using eme_if or the #_ADDBOOKINGFORM_IF_USER_IN_GROUP and #_ADDBOOKINGFORM_IF_USER_IS_MEMBER_OF (which still work btw)
Thanks to this, a new option can be added to members (see below: 'max usage'), so we can now use a turns-based membership
* New generic placeholder #_ALLCATEGORYIDS and allow eme_for to use this as list-value, so people can loop over categories
* New option for memberships: max usage. If set to something bigger than 0, this will indicate the maximum times a member can RSVP to an event that requires this membership.
= 2.3.69 (2023/06/03) =
* Allow to use captcha only for logged out users
* Show price description in printable booking report
* No longer show the unique payment number in printable booking reports (only usefull in Belgium and for wired transfers anyway)
* Fixed showing the discount name in the printable booking report
* Fixed some php warnings
= 2.3.68 (2023/05/27) =
* List of bookings was empty due to new function being used, fixed now
= 2.3.67 (2023/05/27) =
* Always allow style, span and meta html-tags in formats
* Remove confusing nl2br option for templates
* Reuse mailing for event mails now fills out all mail options too
* Added action hook eme_delete_member_action (executed just before the member gets deleted). 1 param: $member (array)
* Added action hook eme_status_change_action (executed after the member status changes). 2 parasm: $member_id and status
* Action hook eme_ipn_member_action fires for members after payment arrives through a payment gateway (like eme_ipn_action for bookings)
* Placeholders for events can now all start with #_EVENT or #_EVENT_
* Placeholders for locations can now all start with #_LOCATION or #_LOCATION_
* Placeholders for memberships can now all start with #_MEMBERSHIP or #_MEMBERSHIP_
* Placeholders for people can now all start with #_PERSON or #_PERSON_
* Placeholders for members can now all start with #_MEMBER or #_MEMBER_
* Placeholders for bookings can now all start with #_BOOKING or #_BOOKING_
= 2.3.66 (2023/05/10) =
* Add order option for eme_bookings shortcode. The default order is 'people.lastname ASC, people.firstname ASC, bookings.booking_id ASC'.
* Added new placeholder #_IS_INVITE_URL so you can check if an event is being booked for via an invite url
* New option for discounts, so you can chose if a certain discount is only valid for invitation-followed urls
* Invite urls can be sent for any event, not just those marked 'invite only'
= 2.3.65 (2023/04/22) =
* Added actions eme_events_daily_action, eme_members_daily_action and eme_daily_action, which all 3 run on a daily basis without arguments
Since all 3 run on a daily basis, you could decice to put everything in eme_daily_action, but the distinction might be usefull.
* Fix member dynamic group search (typo resulted in wrong members being returned)
* improve on #_WPUSERDATA{xx} and #_WPUSERMETA{xx}: if field doesn't exist, empty string is returned, if result is an array, all values are concatenated with ", "
= 2.3.64 (2023/04/10) =
* Add action hook eme_frontend_cancel_booking_action, so you can execute an action before the booking gets cancelled by a user (like e.g. refund)
* Add placeholder #_HAS_USER_REGISTERED{xx} (with 'xx' being one or more event ids, seperated by comma) returns 1 if the current logged in user is registered for one of the mentioned events
* Add new function eme_get_bookings_by_person_id (see the code for arguments)
* Mollie update
= 2.3.63 (2023/03/31) =
* Fix THUMB-placeholders (again)
= 2.3.62 (2023/03/30) =
* Fix some sql statements when searching for custom fields (could impact the number of results found in dynamics groups for example)
* Fix THUMB-placeholders
= 2.3.61 (2023/03/29) =
* Really fix the conditional placeholders #_IS_USER_IN_*
* Mollie update
* Fix thumb showing for people
* Add simplistic membership stats
= 2.3.60 (2023/03/26) =
* Fix the conditional placeholders #_IS_USER_IN_*
= 2.3.59 (2023/03/25) =
* Improvement: French translation updated, thanks to Frédéric M
* Add #_REMEMBERME and #_PHONE as possible placeholers to task signup form too
* Add generic placeholders #_WPUSERDATA{xx} and #_WPUSERMETA{xx}
* Reply-to also set to forced-from if the email from-sender is forced everywhere (in the EME settings)
* Fix discounts without end-date for memberships
= 2.3.58 (2023/03/15) =
* Fix searching for empty strings for custom fields
= 2.3.57 (2023/03/15) =
* Add "-a" option to cli_mail.php, to allow people to bypasspass the massmail setting for certain mailgroups
* Allow to search on empty values for custom fields in members and people overview
* Update Mollie API to 2.51.0
* Add "Remember me" functionality for forms, has a #_REMEMBERME placeholder and a setting that needs to be activated.
#_REMEMBERME can have an optional lable (#_REMEMBERME{xx}) otherwise "Remember me?" will be used as label
* A comment can be added to task signups (generic comment, will be added to each signup). For this #_COMMENT can be used in the form and emails
* Improvement: German language updates, thanks to Joerg Knoerchen
* Allow to choose wether or not to send mails when approving/deleting task signups
* Fix: tasks for hidden events were not being rendered on public pages when specifying the event id
= 2.3.56 (2023/03/01) =
* Fix an ajax pagination bug
= 2.3.55 (2023/02/26) =
* Resolve two php notices
* Resolve a mailing php notice
* Also exclude mailings to members already subscribed for an event (if the option to do is chosen)
= 2.3.54 (2023/02/21) =
* Fix editing countries
* Fix captcha in forms
= 2.3.53 (2023/02/20) =
* Allow file upload for custom fields for events/locations and memberships too. This allows uploads per event that don't clutter the wp media anymore
* The placeholder #_FIELDVALUE will return the url of the uploaded file (only for single-file uploads), while #_FIELD will return a clickable url-list
= 2.3.52 (2023/02/16) =
* Don't escape the event name too much
* Don't include trashed events in some searches
* Correctly detect offline payment gateway to show the info
= 2.3.51 (2023/02/10) =
* Fix group mailing
= 2.3.50 (2023/02/07) =
* Remove polylang language from the special events page if set, so the language choosen is taken for that page
* Translate full name if it contains language tags
* Interpret language tags in template as early as possible, to avoid nested tags once placeholders get expanded
* Fix #_IS_USER_IN_GROUP{xx,xx,xx}
* Upgrade dompdf to 2.0.3
= 2.3.49 (2023/02/05) =
* "groups" is a reserved keyword in some mysql versions, so avoid using that as a table alias
* Fix 'from'-sender being set incorrectly to blog admin
= 2.3.48 (2023/02/02) =
* Fix an undefined var
* Translate cancel-not-allowed string for multi-language sites
* Upgrade dompdf to 2.0.2
* Due to a bug in php-cs (that 'fixed' code the wrong way), editing an event would cause all task signups to be lost
= 2.3.47 (2023/01/30) =
* Fix attendance scan and also allow people with "Manage attendees" capability to scan and insert attendance records
= 2.3.46 (2023/01/30) =
* Fix people mailing list subscribe
* Fix attendance count after qrcode scan
* Also include booking_id for attendance count, since payment id alone can count for multiple bookings
* Translate the subject for email subscriptions too, not just the mail body
* Fix editing a member's dynamic data if no mail template was defined in the membership for updating a member
= 2.3.44 (2023/01/27) =
* Show task info in event admin overview (identical to RSVP info)
* Implement simple task approval. Approval requirement can be set globally or per event (not per task, allthough in the future this might be)
* Make action eme_trash_person_action work again
* Better user confirmation logic for free events where no further approval is required
= 2.3.43 (2023/01/24) =
* Fix the new placeholders #_MEMBERPAYMENTDATE and #_MEMBERPAYMENTTIME (usage of an not-needed variable caused these not to work)
* Send the "update member" mail also when updating a single member in the backend, not just for the mass action "mark unpaid"
* Try to treat all payment methods the same way, will be easier to add others in the future in a dynamic manner
* Make sure only logged-in users with correct permissions can see the mailings (it was already nonce-protected, but better be safe than sorry)
* If payment is done via payconiq, refund might be possible (payconiq restrictions apply). But: a button will appear in the "payment gw" column, allowing you to get the IBAN number to refund to if done manually
* Fix adding categories to events via the mass-action
= 2.3.42 (2023/01/19) =
* Added #_MULTIBOOKING_TOTALPRICE_NO_VAT and #_MULTIBOOKING_TOTALPRICE_VAT_ONLY
* Added member placeholders #_MEMBERPAYMENTDATE and #_MEMBERPAYMENTTIME that return the payment date and/or time formatted based on your wp preferences
* Added member placeholders #_MEMBERPAYMENTDATE{xx} and #_MEMBERPAYMENTTIME{xx} so you can format the layout to your liking ('xx' being the date/time format in php date notation)
* Add the "Skip payment option" to memberships (identical as for event bookings)
* Family memberships now have a setting that defines the max number of family members allowed per main member (default 10)
* Allow paymentid to be given as param to wp-admin/admin.php?page=eme-registration-approval and wp-admin/admin.php?page=eme-registration-seats
so you can create a link to bookings just related to that payment. Example:
wp-admin/admin.php?page=eme-registration-seats&paymentid=#_PAYMENTID
* Add "Mark paid" button in the table for approved bookings too, similar to the "Mark paid and approve" button in the table for pending bookings
* Fix categories include/exclude in #_EVENTCATEGORIES placeholders (typo in php)
= 2.3.41 (2023/01/15) =
* Add an action to (retry to) resend all failed mails in a mailing
* Fix wrongfull captcha check if captcha was disabled for an event
* Decrease use of globals as much as possible, "define" is more than enough (and available during plugin install, while globals are not)
= 2.3.38 (2023/01/14) =
* Captcha also for gdpr-related forms (request/change personal info)
* Fix a warning during plugin activation
* Fix showing event title and booking comment in booking printable report
= 2.3.37 (2023/01/11) =
* Fix hCaptcha and Cloudflare Turnstile captcha verification
* Fix memberships going past grace period (upon which they daily received the stopped-member mail but the status was not set to stopped)
= 2.3.36 (2023/01/11) =
* Payment gateway updates for Mollie, Mercadopago and Stripe
* Fix updating a person personal info (due to double nonce-checking people received "access denied")
* Fix hCaptcha and Cloudflare Turnstile captcha verification
= 2.3.35 (2023/01/07) =
* Fix options title on some options
* Fix GDPR settings (typo prevented the page from rendering)
* Add a default member form format if none is provided (and alert in the list of memberships if done)
= 2.3.34 (2023/01/06) =
* Fix Google reCaptcha
= 2.3.33 (2023/01/05) =
* Fix multiprice/multiseat events
= 2.3.32 (2023/01/05) =
* Fix deleting custom fields
* Add Cloudflare Turnstile as captcha method for forms
= 2.3.31 (2023/01/01) =
* No changes, but release to make sure new updates come in fine
= 2.3.30 (2023/01/01) =
* Fix plugin update checker to actually use the released zip (of course that will only really work from this release onwards :-) )
* Use short php array notation, and updated lang files
= 2.3.29 (2022/12/30) =
* Update cron schedules to prefix them with "eme_".
After update, verify your EME Email setting "Send out queued mails in batches of" (if mail queuing is activated) and the Newsletter setting in the menu "Scheduled actions"
(the Newsletter setting will probably need to be set again)
* Fix autocomplete people
= 2.3.28 (2022/12/28) =
* Fix several sql statements (prepare statement only works with arrays as argument if that is the only one ...)
= 2.3.27 (2022/12/28) =
* Fix sending mail
= 2.3.26 (2022/12/27) =
* SQL code rewriting (not vulnerable, but more in line with what is expected by wp, not 100% done)
= 2.3.20 (2022/12/23) =
* Second github-based release
= 2.3.19 (2022/12/23) =
* First github-based release
= 2.3.17 (2022/12/22) =
* First PhpSniffer pass fixes
= 2.3.16 (2022/12/20) =
* More code sanitizing to improve security
* JS definition via plugin input is no longer allowed, so options in EME will no longer allow js under any circumstances either
= 2.3.15 (2022/12/19) =
* jquery-timepicker update to 1.14.0
* GDPR mail for change personal info was not send in html (if wanted to do so)
* Added extra security checks on certain ajax calls to make sure no SQL injection of any kind can take place
= 2.3.14 (2022/12/14) =
* Fix a discount list php error in some cases
= 2.3.13 (2022/12/07) =
* Fix a typo introduced in 2.3.12 to check for the sender email address
= 2.3.12 (2022/12/06) =
* Added distance option to eme_events shortcode, if that option and the location_id option are present, you can show "nearby events" with distance in meters
If using this inside a single event layout format, you can use #_LOCATIONID to get the location id of the current event
* Fix the replyto-sender for emails
= 2.3.11 (2022/11/30) =
* When people paid via a payment gateway, they didn't receive a payment confirmation mail
= 2.3.10 (2022/11/26) =
* Mail blacklisting implemented (see EME mail options)
= 2.3.9 (2022/11/18) =
* Fix booking done from the backend (the current logged in user was used, not the user info set in the rsvp form)
* Fix setting person initial phone when the option to create a wp user was set (due to a wp hook race condition, the EME phone field was emptied)
* Fix contact person email for events
= 2.3.8 (2022/11/18) =
* Holidays now can be specified using a range too, and an optional link, so these are now possible:
2022-12-25,Christmas
2022-12-20--2023-01-02,Christmas holidays
2022-12-25,Christmas,my_extra_css_class
2022-12-25,Christmas,my_extra_css_class,link_to_the_holiday_info
* Fix deleting a booking (the related payment was not deleted due to a typo)
* Change the email functions (eme_send_email, eme_queue_mail, ...) to also have from-name and email as an extra optional argument (if not present, the reply_to will be taken as usual)
* Add an extra option in the email configuration to use the default sender as "forced" sender/email (by default true if anything is entered for existing setups)
* If "forced" sender is not active, you can now change the "from" for generic emails
= 2.3.7 (2022/11/11) =
* Fix a bug introduced in 2.3.6 for events that had a multi-price setting without multi-seat (which is possible, e.g. to just have children pay less)
= 2.3.6 (2022/11/11) =
* Update dompdf to 2.0.1
* Allow CSV payment imports for bookings, three fields need to be present: payment_date, amount and one of the following 3: payment_id, payment_randomid or unique_nbr
* Allow #_TRANSFER_NBR_BE97 (deprecated) or #_UNIQUE_NBR for both booking and member placeholders
* Allow to show the unique nbr for members in the admin interface
* Make sure the correct discount value is taken into account upon update of a booking
* When editing a booking where a seat field is hidden (using eme_if), that seat was set to 0. This is now fixed by taking the current seat value for missing seats
* payment div id changed to avoid double ids: the id eme-payment-formtext is now eme-payment-formtext-header (or eme-payment-formtext-footer where relevant)
* payment database table change to have less double info (member id was stored in the payment table, the payment id was stored in the members table which is double info)
= 2.3.5 (2022/10/25) =
* Enqueue for forgotten shortcodes
= 2.3.4 (2022/10/23) =
* Keep payment info, even for trashed (cancelled bookings), this allows to return an "already cancelled" message when someone tries to cancel two times
* Fix a membership page check if dripped content option was used
* Only enqueue scripts and styles if needed
= 2.3.3 (2022/10/18) =
* Don't show signup checkbox for tasks past their end date
* Allow the start/end date of all tasks to be changed at once (usefull if you have a lot of tasks for an event and you copy the event to a new date)
* Fix mass action setting new recurrence start date if end date is empty
* For file uploads with dynamic data and multiple upload fields: only show the uploads relevant for each field (and not all)
* Dynamic data improvement when editing a booking in the backend (changing the seats or comment was not taken into account)
= 2.3.2 (2022/10/15) =
* Fix people update php warning
* New field type (multiple files upload) to allow to upload multiple files in one go
* Show uploaded files instead of the upload formfield when appropriate (and not a list of uploaded files at the top)
= 2.3.1 (2022/10/08) =
* For generic mails, the option to send to all people is no longer selected by default. This causes less mistakes
* Fix Stripe checkout for newer api keys
* Fix discount import when discount groups are used as well
* Update Stripe API to 9.6.0
* Update Mollie API to 2.46.0
= 2.3.0 (2022/10/02) =
* Improve the people cleanup function (take task signups into account as well)
* When editing a person in the backend, check the mail address validity too
* Improve the initials returned by #_INITIALS
* Fix dynamic data based on dropdown fields where the field tags are different than the field values
* For eme_attendees and eme_bookings: if the id-option is not given and inside a single event view, then the id of that event is taken
= 2.2.99 (2022/09/25) =
* Also allow #_FAMILYCOUNT and #_FAMILYMEMBERS for people placeholders
* Add multiprice_template_id to shortcode eme_add_multibooking_form (used as template in the list of events in a multibooking form if the event is multiprice and the value is not 0, the default is 0 in which caste template_id is used as usual). This allows mixing multiprice and regular price events in one multibooking form.
* Fix sending event mails to groups
= 2.2.98 (2022/09/16) =
* Small fix for custom fields of type person and RSVP form
* Add "eventStatus" to list of fields for google event headers
* Make sure event description is not empty in list of fields for google event headers
* Performer google event header is added if a custom field with name "performer" and purpose "event" exists and has a non-empty value for the event
= 2.2.97 (2022/09/08) =
* Add rsvp placeholder #_IS_USERPENDING
* Allow members, member groups and membership selection for event related emails too
* Take multibooking into account for bookings needing user confirmation
* Add option "Pause between mails"
* Fix placeholders #_TASKSTARTDATE and #_TASKENDDATE
= 2.2.96 (2022/08/17) =
* Forgot to update the dompdf path for templates, this fixes it
= 2.2.95 (2022/08/16) =
* Fix creating tables (the previous version used a new method to detect the table prefix more dynamically but that caused troubles for new installations)
* Correctly detect that #_EMAIL and #_LASTNAME are present in the RSVP form (also handle the usecase #_EMAIL{xx} and #_LASTNAME{xx})
* New event status "Unlisted", causing an event to be public but not to appear in the list of events (so less restrictive than private events)
* Make #_IS_USER_IN_GROUP{xx} also work for dynamic groups
* Typo fix for ignore_pending events and free space check upon payment
* Update dompdf to 2.0.0
* Update Mollie API to 2.45.0
* Update Braintree API to 6.9.0
* Update Mercadopago API to 2.4.9
* Update Stripe API to 9.1.0
* Update Instamojo API to 1.0
* Making a template copy is now possible
* Added filter eme_offline_payment_gateways (returns a list of gateways that can only be paid offline) and eme_configured_payment_gateways (returns a list of actual configured gateways, not all available). Both filters are usefull for creating custom payment gateways in the future
* Added placeholder #_MEMBERSHIPS, returning a comma-separated list of memberships a person is in
* Upgrade Leaflet to 1.8.0 . Support Ukraine!!!
= 2.2.94 (2022/08/07) =
* Fix order for #_ALLEVENTS, #_PASTEVENTS and #_NEXTEVENTS
* The order param for eme_people now can order on custom fields too, you'll need to know the field id and then as example to order on field with id 4 use FIELD_4:
[eme_people order="FIELD_4 ASC, LASTNAME, FIRSTNAME"]
* Multisite data sharing support, allowing subsites to use the data from the main site (not the options). This is not needed if no data sharing is required (and is off by default).
Planned actions will only be executed in the main site.
= 2.2.93 (2022/08/01) =
* Fix a regular expression for payment placeholder replacements, causing possible php warnings to pop up
= 2.2.92 (2022/07/30) =
* Make sure the task-form setting is saved when being modified in the options
* #_TASKBEGIN and #_TASKEND now also can have an optional datetime argument (php style), if not the generic style for date+time is used
Example: #_TASKBEGIN{j M H:i}
= 2.2.91 (2022/07/21) =
* Fix missing closing div, causing several payment methods to be grouped under the added Opaya one.
= 2.2.90 (2022/07/19) =
* Fix mass action to delete discount from group (it in fact added it, wrong function call ...)
* Added Opayo payment gateway (formerly known as Sage Pay)
* Add rsvp email action eme_rsvp_email_action (4 params: the booking, the action, the calculated person email subject and body)
This way you can hook into the mail action and based on the action itself, execute custom code (like sending a mail). See the doc for an example
* Added member email action eme_member_email_action (also 4 params: the member, the action, the calculated member email subject and body)
See the doc for an example
* If creating a new event/membership and there's only one payment gateway configured, select it by default
* The filterform can now have #MULTIPLE_ and #SINGLE_ prefixes, forcing a certain search field to be multiple while others not. For custom fields you can force a dropdown field to be single too using this, even if the definition of the dropdown is a multi-dropdown select (not the other way around)
* The formfields #_PHONE, #_CITY, #_ZIP or #_POSTAL, #_ADDRESS1, #_ADDRESS2, #_NAME, #_FIRSTNAME, #_BIRTHPLACE, #_BORTHDATE #_EMAIL, #_COMMENT and #_CANCELCOMMENT now have an extra argument that you can use to set the html placeholder on the field, if not used a default placeholder will be shown. Example: #_ADDRESS2{House number} will show "House number" as placeholder, while otherwise "Address line 2" will be shown as placeholder
* #_POSTAL is added as an alternative for #_ZIP (and the default translation is now "Postal code" since that's more international than "Zip")
* Convert discount group names to ids when importing discounts
= 2.2.89 (2022/07/08) =
* Added author and contact_person options to the eme_locations_map shortcode too
* Wordpress page access can now also be limited to EME groups, not just EME memberships
* Small payconiq correction
* Fix #_CURDATE and #_CURTIME
* Update Stripe API to 8.9.0
* Update Mollie API to 2.44.1
* Correct members state calculation for "forever" memberships when payment arrives
= 2.2.88 (2022/07/01) =
* Added author and contact_person options to the eme_locations shortcode, but only used if eventful=1 and then it gets locations with events (where events then match the author and/or contact person). If eventful=0 (default), the contact_person is ignored but location author is taken into account
* Document #_BIRTHDAY_EMAIL, #_BIRTHDATE and #_BIRTHPLACE
* Added generic placeholder #_DATE{xx}{yy} with "xx" being a php date expression (like e.g. "+7 days") and "yy" being the wanted format (can be left out, then the generic format for dates is used). This allows to create templates to send a mail to persons saying things like "this is valid until 7 days from now".
* Fix some searching functionality in admin backends (for discounts, countries, rsvp)
= 2.2.87 (2022/06/24) =
* To have less conflicts, #_EVENTFIELD{xx}, #_LOCATIONFIELD{xx}, #_BOOKINGFIELD{xx}, #_ATTENDFIELD{xx}, #_RESPFIELD{xx} and #_PERSONFIELD{xx} have been renamed to #_EVENTDBFIELD{xx}, #_LOCATIONDBFIELD{xx}, #_BOOKINGDBFIELD{xx}, #_ATTENDDBFIELD{xx}, #_RESPDBFIELD{xx} and #_PERSONDBFIELD{xx}
* The placeholders #_IMAGE and #_IMAGEURL now only works for people, no longer for locations. One should use #_LOCATIONIMAGE as placeholder for locations
* Fix showing "pending" string in the CSV export for multiseat events
* Show booking status (approved, pending, waiting list, awaiting user confirmation) as separate column in csv/printable booking report
* Fix debug statement causing discounts to not work as expected
= 2.2.86 (2022/06/17) =
* Fix closing form-tag for cancel form
* Fix discount import without start/end dates
= 2.2.85 (2022/06/14) =
* Allow slug to be changed when editing recurring events as well
* Added SumUp as payment gateway
* Fix locations shortcode (notcategory param was not taken correctly into account)
* Fix valid_from/to checks for imported discounts
= 2.2.84 (2022/06/06) =
* Fix #_LINKEDNAME (due to a typo, it was no longer showing the link at all)
= 2.2.83 (2022/06/05) =
* Add offset option to eme_events shortcode
* The birthday calendar picker will start with years first
* #_LINKEDNAME will create a url that opens in an new tab for events if the url is external
= 2.2.82 (2022/05/29) =
* Add notcategory as an option for eme_locations and eme_locations_map shortcodes
* Make sorting work again in members and membership overview (small bug introduced in 2.2.81)
* Fix list of people (reason was the use of wordpress function sanitize_sql_orderby which is not perfect ...)
= 2.2.81 (2022/05/27) =
* More potential sql fixes (not proven, but better safe than sorry), thanks to Erwan via https://wpscan.com
= 2.2.80 (2022/05/27) =
* Security update: fix SQL injection with unescaped lang variable (reported by Dave via https://wpscan.com)
Users are advised to update to the latest version immediately!
= 2.2.79 (2022/05/21) =
* Fix import of custom field answers for locations
* People birthday emails were being sent 2 times
* Added booking mailfilters userconfirmation_pending_subject/body
= 2.2.78 (2022/05/16) =
* Fix leftover php issue in ExpressiveDate.php so it works with php 8.1 and older
= 2.2.77 (2022/05/15) =
* Fix some php issues (trying to be ok with php 8.1 seems more daunting than expected)
= 2.2.76 (2022/05/15) =
* Add filter eme_wp_userdata_filter, which allows you to set extra info for the WP user being created after a booking (if that option is set)
The current EME person is given as argument (array), the result should be an array that is accepted by wp_update_user
* Fix waitinglist management in case a booking is not paid for but booking approval is not required
* Check free seats just before the payment form is shown, in case pending bookings are considered as free we need to make sure at the moment of payment seats are actually available
* If the option is set to consider pending bookings as free seats, pending bookings younger than 5 minutes are considered as occupied seats as well as to avoid possible clashes with slow payments (only if online payment for that event is possible)
* Added the possibility to filter on category in bookings overview
* Added #_YOUNGPENDINGSEATS: gives the number of pending seats younger than 5 minutes for an event (those are counted as occupied too, even if pending seats are considered as free)
* Added #_YOUNGPENDINGSEATS{xx} gives the number of pending seats younger than 5 minutes for the xx-th seat category for a multi-seat event
* Include all member attachments in mails to the contact person
= 2.2.75 (2022/05/06) =
* Fix BCC mail sending
* Add option for newsletter sub/unsub per person too (the automatic mail for new events)
* Add extra SEO permalink prefixes for calendar and payments
* Added placeholder #_BOOKING_CONFIRM_URL (which gives a nicer link for a booker to confirm his booking if permalinks are active, not just the payment url)
= 2.2.74 (2022/04/25) =
* Allow filter on email settings, so you can e.g. change server/port/... based on the 'to'
The filter is called eme_filter_mail_options and takes 1 array as argument:
$mail_options=array(
'fromMail',
'fromName',
'toMail',
'toName',
'replytoMail',
'replytoName',
'bcc_addresses',
'mail_send_method', // smtp, mail, sendmail, qmail, wp_mail
'send_html', // true or false
'smtp_host',
'smtp_encryption', // none, tls or ssl
'smtp_verify_cert', // true or false
'smtp_port',
'smtp_auth', // 0 or 1, false or true
'smtp_username',
'smtp_password',
'smtp_debug', // true or false
);
The return should be the filtered (changed) array
* Optionally show event categories in bookings
* Make "#_SINGLE_EVENTPAGE_EVENTID" placeholder work as expected
* Add generic placeholder #_SINGLE_EVENTPAGE_LOCATIONID, returning the location id of the event currently being shown (so you can e.g. show a location map of the current event in a widget)
* Add generic placeholder #_SINGLE_LOCATIONPAGE_LOCATIONID, returning the location id of the location currently being shown (so you can e.g. show a location map of the current location in a widget)
* #_PAYMENT_URL placeholder (also used to have the user confirm a booking) was not showing the link if online payment for the event was not possible
= 2.2.73 (2022/04/15) =
* Leaflet JS will now also switch to dark mode if your browser is set that way
* Allow direct template input for memberships too, without needing to define separate templates
* Make add-tasks work again (javascript error sneaked in)
= 2.2.72 (2022/04/11) =
* Delete old answers for custom fields for people if appropriate (when the custom formfield is no longer present) if updating the person in the backend
* Allow 0/empty as value for planned actions "Schedule the automatic removal of unpaid pending bookings older than" and "Schedule the automatic removal of unconfirmed bookings older than"
* Correct Donate button
= 2.2.71 (2022/04/09) =
* Better plan cron (WP only takes 24 hours in a day, not taking summer/winter timezones into account)
* Birthday mails needs to be sent for people indicated to do so, despite the default setting for new people
= 2.2.70 (2022/04/08) =
* Update Stripe API to 7.121.0
* Update Braintree API to 6.8.0
* Update Fondy API to 1.0.9.1
* Update Mercadopago API to 2.4.5
* Update Mollie API to 2.41.0
* Remove Paymill and Sagepay payment gateways
* Implement Braintree refunding
* Show Worldpay callback url in the payment options page
* Add RSVP placeholder #_WAITINGLIST_POSITION, returning the position of a booking on the waiting list
* Implement birthday functionality with new people placeholder #_BIRTHDAY_EMAIL, can be used to show a form field (yes/no) to allow people to indicate they want an email (or not) or as text info (Yes/No text)
Older changes can be found in changelog.txt
= 2.2.69 (2022/03/26) =
* Export also partial payment info (received and remaining) in the CSV export for bookings
* Add forgotten filter eme_event_formfields
* Cache extra queries, resulting in much better performance
* Add a div with a class around the text "You can change your last name in your WP profile." so you can hide it if you'd like.
= 2.2.68 (2022/03/22) =
* Fix PHP warning
* Add filters eme_event_formfields, eme_location_formfields, eme_membership_formfields, allowing you to influence e.g. the order of custom fields shown in the EME admin interface
for events, locations and memberships
= 2.2.67 (2022/03/19) =
* Fix a recursion detection, causing some placeholders/shortcodes not to be replaced in certain cases
= 2.2.66 (2022/03/18) =
* Do not apply the filter eme_event_list_filter in the backend
* Add booking placeholder #_IS_PENDING (returns 1 if booking is pending approval, 0 otherwise)
* Added #_USER_IS_REGISTERED placeholder for shortcode eme_tasks_signups, can be used as e.g. conditional tag
* Added #_HAS_USER_TASK_REGISTERED{xx} (with 'xx' being one or more task ids, seperated by comma) returns 1 if the current logged in user is registered for one of the mentioned tasks
* Added shortcode eme_mytasks to show the signups for the current logged in user. Extra options:
'scope' => 'future' (other values: 'past', 'all')
'task_id' => 0 (so you can use this shortcode inside a eme_tasks shortcode to show signups in a specific format)
'event_id' => 0 (so you can use this shortcode inside a eme_events shortcode to show signups in a specific format)
'template_id' => 0 (if not specified, the generic task signup template will be taken)
'template_id_header' and 'template_id_footer' (see the doc)
* Allow to change also start date for recurrences via mass action
* Improved regex to better catch paired curly brackets, even when enclosed in others
This also allows for more recursion for event and membership placeholders
= 2.2.65 (2022/03/02) =
* Take deleted groups into account when editing a custom field of type "people"
* Update Braintree API to 6.6.0
* Update Dompdf to 1.2.0
* Added "on behalf of" part for cli_mail forwarding
* Add all sent mails to the database, even if no queueing is active
* Support "scope" as a parameter for the shortcode eme_mybookings. Default value "future" (other options: "past" or "all"). The old "future" parameter will override the scope parameter if set
= 2.2.64 (2022/02/19) =
* Multiseat typo fix
= 2.2.63 (2022/02/16) =
* Bring back the "Mark paid and approve" button
* Fix the deprecated option "approval_status" for eme_my_bookings, eme_bookings and eme_attendees shortcodes
= 2.2.62 (2022/02/16) =
* Fix eme_mybookings (sql error) shortcode
= 2.2.61 (2022/02/15) =
* Added placeholders #_CURDATE{xx}, #_CURTIME{xx}, #_BOOKINGPAYMENTDATE{xx}, #_BOOKINGPAYMENTTIME{xx}, #_BOOKINGCREATIONDATE{xx} and #_BOOKINGCREATIONTIME{xx} so you can format the layout to your liking ('xx' being the date/time format in php date notation)
* Added bulk actions to set GDPR or Massmail to "no"
* Fix #_ATTENDEES showing trashed bookings too
= 2.2.60 (2022/02/15) =
* For sub/unsub form: the mailgroup select will be a single preselected dropdown if only 1 group is to be presented
* Also delete person linked to unconfirmed booking after cleanup if that person is not used in other bookings or memberships and created around the same time as the booking
* Add action eme_delete_person_action
* Fix eme_mybookings (sql error) shortcode
* Fix sending reminders for pending/approved bookings (was reversed) and #_BOOKINGS (was showing trashed bookings too)
= 2.2.59 (2022/02/14) =
* Remove the ugly code for linking rsvp section from one event to another. You can always use [eme_add_booking_form] if you want to use the booking form from another event.
* Changed option approval_status to rsvp_status (the old option will continue to work for now, but is depecrecated) for shortcodes eme_bookings, eme_mybokings, eme_attendees
* Add an option to ask for user confirmation after a booking. The booking itself will stay marked as pending until the person has confirmed it. Also cleanup actions have been added to remove unconfirmed bookings (default: unconfirmed bookings older than 24 hours will get removed)
* For subscribe/unsubscribe: #_MAILGROUPS shows by default a list of all public groups, now you can limit that list by using #_MAILGROUPS{xx} with xx a comma-separated list of group ids
* Obfuscate all emails of people (not just contact/author but also bookers or members) if shown on the site
* Defined action eme_trash_person_action
* Added code to prevent mail obfuscation in html mails
= 2.2.58 (2022/02/10) =
* Attendance check returned empty for qrcode scan if a booking was not paid and the user doing the scan was logged in
* Don't replace shortcodes in event or location notes too soon
* Make sure gdpr cron actions are planned
= 2.2.57 (2022/02/07) =
* Fix attendance-only events (if someone selected 0 seats, it was not accepted)
* Add condition 'not equal to' for dynamic data
* Make dynamic fields also work for RSVP forms in the admin backend
= 2.2.56 (2022/02/06) =
* Fix for forever memberships (end date was not correctly set to 0)
* Change "mail_only" to "public" for groups as an option, becayse #_SUBSCRIBE_TO_GROUP can also be used for those
* Groups to subscribe to (that are rendered via #_SUBSCRIBE_TO_GROUP in the rsvp/member form) need to be set to 'public', just as for eme_subform and eme_unsubform shortcode or the form generated by #_UNSUB_URL
* Make sure no mail error message is returned if the subject/body is empty for certain member actions
= 2.2.55 (2022/02/05) =
* A custom field of type "People" can now be in more than one group as a field condition, meaning the field will then appear for all people in one of the selected groups when editing a person
* Fix list of people being shown for an empty group (list should be empty, not everybody)
* Allow eme_email as an URL parameter for the page containing the eme_subform or eme_unsubform shortcode, causing the email field there to be filled in immediately
* Added bulk action "remove from group" for people in the admin backend
* Add placeholder #_SUBSCRIBE_TO_GROUP{xx} for RSVP and member forms, to allow people to indicate they want to be a member of a certain group
(xx can be the id or name of a group)
= 2.2.54 (2022/02/02) =
* Add order param for multibooking form shortcodes (only has effect when using together with scope or category_id options)
* Fix 2 possible php notices
= 2.2.53 (2022/01/27) =
* Ajax for author and contact in admin interface when adding/editing an event (for big sites the list of wp users was just too big)
* Readonly for email/lastname/firstname in multibooking too if logged in
* Fix a php error when the combo of multibooking+only_one_event+simple was used
* Fix booking for only_one_event
* Fix php warning for categories
= 2.2.52 (2022/01/25) =
* For events and memberships: only configured payment methods are now shown and never selected by default
* Fix conversion for answer values causing a php error when wanting to convert to a localized value (currently no longer converted)
= 2.2.51 (2022/01/24) =
* Convert value to price when using #_FIELDVALUE for answer of custom fields that had "extra charge" indicated
* Better layout for backend task signups overview (clickable events and people now)
* Fix a typo causing bookings to fail to work for events (one letter ...)
= 2.2.50 (2022/01/23) =
* Add options signupform_template_id and skip_full to eme_tasks_signupform shortcode
* Add task placeholder #_TASKID (allows you to call e.g. [eme_task_signups task_id=#_TASKID] when inside the list of task signups
* Add task placeholder #_TASKSIGNUPS, to be able to show a list of signups inside the signup form itself (format is then done via the generic EME settings for tasks)
* Added event placeholders #_AVAILABLETASKS and #_FREETASKS, returns the number of free tasks for an event
* Added the option "simple" to the shortcode eme_add_multibooking_form, allowing simpler multi-booking form (no need to change per-event mail formatting)
* Renamed the option "only_one" to "only_one_event" for the shortcode eme_add_multibooking_form
* Added the option "only_one_seat" to the shortcode eme_add_multibooking_form, which forces the min/max allowed seats to book per event to 1 (and thus hidden)
This is mostly usefull in combination with "only_one_event" or "simple"
* Added shortcode eme_add_simple_multibooking_form, which is identical to eme_add_multibooking_form with the simple=1 option
* Allow to show all custom fields of purpose "people" in the membership overview too. This is a setting in the members-section of the EME options
= 2.2.49 (2022/01/19) =
* Allow the definition of an extra charge for new members in a membership (applied to members in "pending" status only)
* Also allow auto-completion for task signups from the frontend if the permissions allow it
* Removed the long deprecated filter eme_eval_booking_form_filter
* When manually marking a member as stopped, set the end date to today
* Take the full name format into account to do name sorting in groups
* Added people placeholders #_FIRSTNAME{x} and #_LASTNAME{x} (to show only the first x characters of the first or last name, followed by "."), #_INITIALS and #_LASTNAME_INITIALS
* Added extra access settings to define who is able to access the people/groups/members/membership menu (the "list" access setting then does what it currently advertises)
= 2.2.48 (2022/01/14) =
* Allow empty firstname for csv import of people/members
* Indicate that the member-edit template is only used when marking a member as unpaid
* Correctly take the offline info into account before deciding wether or not automatically redirecting to the payment gateway
* Send correct booking mail after moving automatically from waiting list to pending or approved
* For eme_events shortcode: if not needing to show events by period (or "long_events option"), don't try to group by date because that will not provide a correct result for events when using the "order" option
= 2.2.47 (2022/01/12) =
* Use CSS to diable password autocomplete, chrome just keeps messing with it
* Make more personal info read-only when editing a member
* Respect the setting "redirect wait period" for member payments too when the option "Redirect immediately to payment gateway?" is set
= 2.2.46 (2022/01/06) =
* Allow to set a cutoff period in which people can renew their active membership (e.g. renewal only allowed 30 days before the membership currently ends), so people can't pay for multiple periods
= 2.2.45 (2022/01/02) =
* Make sure the ticket gets attached for approved bookings
= 2.2.44 (2021/12/30) =
* Keep existing choice of queue schedule for upgrade from 2.2.41 (can help if you use queue scheduling and didn't update to 2.2.42 yet, otherwise verify your queue settings in the EME mail options section)
= 2.2.43 (2021/12/30) =
* Make sure a sensible default is set for the mail queue schedule ('hourly' if nothing present).
Due to the upgrade to 2.2.42 this option might have been reset to 'hourly'. Please check your EME mail options to verify/change the schedule to your liking.
= 2.2.42 (2021/12/29) =
* Fix gdpr daily actions schedule
* Update Mollie API to 2.39.0
* Fix upgrade from 2.1.122 that might have lost customer answers for events/locations/memberships (not for bookings or members)
* For the subscribe form, lastname and firstname are optional (even when #_LASTNAME and #_FIRSTNAME are used).
They can be made required by using #REQ_LASTNAME and #REQ_FIRSTNAME
* Removed the cron action to send out reminders for unpaid bookings for all events. You can schedule reminders per event, so this cron is no longer needed
* The mail queue settings are moved to the options page (where they belong)
* Fix member transfer to other membership
= 2.2.41 (2021/12/11) =
* Typo fix for dynamic member data
= 2.2.40 (2021/12/11) =
* CSS fix for people image preview
* Small discount layout fix when deleting a group
* Mass action to remove discounts from a group
* Make sure dynamic price calculations happen late enough so the theme discount functions are taken into account too
* If no dynamic fields but "the dynamic data on all fields" is checked, now discount functions of type code will run too, so dynamic price gets updated as well
* Fix adding recurrent events where end time was smaller than start time
= 2.2.39 (2021/12/07) =
* Fix selecting people by random id
* Allow multiple group_ids when using [eme_people]
* Show the person image as personal info too if present, and allow it to be changed in the front too (use #_IMAGE in the "Change personal info Form template")
* Make sure older members get extended too (payment id was missing)
= 2.2.38 (2021/12/03) =
* Mollie tracking fix for members (the mollie payment tracking number was not saved per member after payment)
* Small bugfix causing attachments to not be sent anymore
= 2.2.37 (2021/12/02) =
* Discount fix
= 2.2.36 (2021/12/02) =
* Add mass action to resend member expiration reminder
* Security fix (possible SQL Injection by authenticated users): fix an unescaped search query in the ajax eme_searchmail action (reported via WPScan)
= 2.2.35 (2021/12/01) =
* Allow people to clear the lastname/firstname fields if "Require WP membership" is not selected for events or memberships
* Fix eme_tasks_signups shortcode and let it have the same options as the eme_tasks_signupform shortcode
* Add #_PAYMENTID as placeholder for bookings and members
= 2.2.34 (2021/11/26) =
* Fix sending out reminders for approved bookings
= 2.2.33 (2021/11/24) =
* Allow member id to be imported too for CSV import of members (column: member_id). If the member_id already exists, that value will be ignored