Events Made Easy

Описание

Events Made Easy is a full-featured event and membership management solution for WordPress. Events Made Easy supports public, private, draft and recurring events, membership and locations management, RSVP (+ optional approval), several payment gateways (Paypal, 2Checkout, FirstData, Mollie and others) and OpenStreetMap integration. With Events Made Easy you can plan and publish your event, or let people book spaces for your weekly meetings. You can add events list, calendars and description to your blog using multiple sidebar widgets or shortcodes; if you are a web designer you can simply employ the template tags provided by Events Made Easy.

Main features:
* public, private, draft and recurring events with custom and dynamic fields in the RSVP form
* membership management with custom and dynamic fields
* People and groups with custom fields per person
* PDF creation for membership, bookings and people info
* Membership card or booking ticket can be sent as PDF via mail automatically
* RSS and ICAL feeds
* Calendar management, with holidays integration
* Several widgets for event listings and calendar
* location management, with optional OpenStreetMap integration
* RSVP bookings with custom fields and dynamic fields, payment tracking, optional approval, discounts
* Templating for mails, event lists, single events, feeds, RSVP forms, … with specific placeholders for each
* Lots of shortcodes and options
* Payment gateways: Paypal, FirstData, 2CheckOut, Mollie, Worldpay, Sagepay, Stripe, Braintree, Paymill, Instamojo
* Send mails to registered people, automatically send reminders for payments
* Mail queueing and newsletter functionality
* Mailings can be planned in the future, cancelled …
* Multi-site compatible
* Fully localisable and already fully localised in German, Swedish and Dutch. Also fully compatible with (m)qtranslate(-xt): most of the settings allow for language tags so you can show your events in different languages to different people. The booking mails also take the choosen language into account.

For more information, documentation and support forum visit the Official site .

Скриншоты

Установка

Always take a backup of your db before doing the upgrade, just in case …
1. Upload the events-made-easy folder to the /wp-content/plugins/ directory
2. Activate the plugin through the ‘Plugins’ menu in WordPress
3. Add events list or calendars following the instructions in the Usage section.

Применение

After the installation, Events Made Easy add a top level «Events» menu to your WordPress Administration.

  • The Events page lets you edit or delete the events. The Add new page lets you insert a new event.
    In the event edit page you can specify the number of spaces available for your event. You just need to turn on RSVP for the event and specify the spaces available in the right sidebar box.
    When a visitor responds to your events, the box sill show you his booking. You can remove bookings by clicking on the x button or view the respondents data in a printable page.
    You can also specify the category the event is in, if you activated the Categories support in the Settings page.
    Also fine grained control of the RSVP mails and the event layout are possible here, if the defaults you configured in the Settings page are not ok for this specific event.
  • The Locations page lets you add, delete and edit locations directly. Locations are automatically added with events if not present, but this interface lets you customise your locations data and add a picture.
  • The Categories page lets you add, delete and edit categories (if Categories are activated in the Settings page).
  • The People page serves as a gathering point for the information about the people who booked a space for one of your events.
  • The Pending bookings page is used to manage bookings for events that require approval
  • The Change bookings page is used to change bookings for events
  • The CRON page is used to plan automated EME tasks (like sending reminders, cancel unpaid bookings, newsletter)
  • The Settings page allows a fine-grained control over the plugin. Here you can set the format of events in the Events page.
  • Access control is in place for managing events and such:
    — a user with role «Editor» can do anything
    — with role «Author» you can only add events or edit existing events for which you are the author or the contact person
    — with role «Contributor» you can only add events in draft or edit existing events for which you are the author or the contact person

Events list and calendars can be added to your blogs through widgets, shortcodes and template tags. See the full documentation at the Events Made Easy Support Page.

Часто задаваемые вопросы

See the FAQ section at the documentation site.

Отзывы

Well structured plugin

From the first look it seems a complicated plugin. So first I deactivated it and started to look for other event plugins. Then I came back to EME (including the front end plugin) and started to read the description more carefully. As soon as you get a grip on the structure, it is a breeze to set it up and create your events pages. You can do almost anything with it. It is very flexible and you are not restricted by a time frame to pay for the use of a very well written plugin as it is free. But I am convinced that no good work must left unpaid. And the best feature of this plugin is the support. It is super fast and the author does more than expected to help you with your problems. He even looked into the theme that was actually creating the problem and found the solution. This is what I call a SUPPORT.

Most flexible plugin

Franky, you have created a perfect plugin. I never have seen any other plugin which is so flexible to manage all information regarding events. Also your support is very prompt and my requests regarding changes or new functions have been implemented immediately. I will give you 5 stars for the EMEFS as well.

Powerful Event Plugin — for FREE! Yay!

This free plugin include features that a lot of the premium make you pay for such as payment integration, reservations, location managment etc. Yes, it takes some learning curve to learn how to set it up to do what you want. That's because it can do a lot. If you are not faint-hearted and willing to put in some effort, I think you will find this plugin can meet your event management needs - for free!

Very useful

This plugin is very complex and universal. I can imagine that in the begin it was really simple plugin, but now has so many functions. This plugin is able to manage all the event from the invitation to the payments. I also developed an Excel application which is connected to EME, where the rest of processing is done, like the prints. The Author's support is also very good.

Love this plugin

Been using it for years... highly customizable, tons of features that I don't even use, but still gives me a great platform for events. Very robust event planning plugin and calendar.
Посмотреть все 89 отзывов

Участники и разработчики

«Events Made Easy» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:

Участники

«Events Made Easy» переведён на 5 языков. Благодарим переводчиков за их работу.

Перевести «Events Made Easy» на ваш язык.

Заинтересованы в разработке?

Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.

Журнал изменений

2.1.23 (2019/05/22)

  • Don’t remove carriage returns from tables when sending mail
  • The event notes field now obeys the wordpres regular filters (meaning all should behave as it does in regular posts for the notes field)

2.1.22 (2019/05/15)

  • Fix custom field headers in printable output
  • Fix mollie payment detection
  • Fix #_RESPSEATS{xx} and #_ATTENDSEATS{xx}
  • Don’t show the single location map if the lat/lon coordinates are empty (and thus avoid a javascript error on the page too)

2.1.21 (2019/05/09)

  • Add Instamojo payment gateway for Indian users (only Indian Rupee supported)
  • Support Indian Rupee in the currency selection
  • Added member placeholder #_MEMBER_QRCODE, which returns a qrcoded-url to check if a member is active.
    This can be used inside a membercard pdf and allows EME member admins to quickly check (using a qr-reading app) if a member is active

2.1.20 (2019/05/04)

  • Make sure the paypal payment works for production sites

2.1.19 (2019/05/04)

  • Fix a PHP warning for memberships and number of function arguments

2.1.18 (2019/05/03)

  • Add an option that influences whether or not a list of events should be shown on the default special events page.
    This complements the option to show a calendar on the default special events page.
    It is recommended to leave this option off and use placeholders on regular wordpress pages instead.
  • Custom fields of type «People field» can now be included in the CSV export for bookings
    This can be set in the definition of the custom field.
  • Mollie notification can arrive later than the return page shown, resulting in an wrong message shown of the payment not being paid
    Now we store the mollie payment id generated with the EME payment, so we can check in the return page the result too
  • Image url in the db was stored as relative url. Although the image id takes precedence, it is cleaner to store the url as is too.
    Also the image placeholders (for events, people) now have a full url (so they work correctly in mails too)
  • Add a parseFloat conversion in the javascript for single map locations, to make sure javascript recognizes the coordinates as floating point and not text
  • In the location map, the popup was not sized correctly if an image was included, due to the image size not being known yet. JS code has been added to rectify that.
  • Update to new v2-API for PayPal payments (v1 is in the process of being deprecated by PayPal)
    While webhooks don’t work, it should be fine. Bugs in the API or the way PayPal shows info (in the sandbox the amount and description are not shown to the buyer)
    will hopefully get fixed by PayPal.
  • Legacy paypal IPN works again
  • Update to Braintree API version 3.40, and make Braintree actually work (typo fix)
  • Update Stripe API to conform with their use of Strong Customer Authentication

2.1.17 (2019/04/19)

  • Fix a longstanding bug (but unnoticed) where a combination of groups to send mail to would result in not all the intented people to receive it
  • Block the change of «field purpose» for custom fields if the field is already being used in answers
  • QR-code fixes (qrcode was not being generated ok and optimisations done when generating)
  • Some more options added when you want to send out the optional ticket PDF for bookings
  • Fix an undefined variable php warning

2.1.16 (2019/04/17)

  • Fix a race condition where placeholders for people fields would replace #_FIELD-related placeholders that were in fact meant for rsvp/members

2.1.15 (2019/04/16)

  • Small fix so #_NAME is also accepted again (as a fallback, deprecated alternative to #_PERSONLASTNAME)
  • Clarification notice: #_RESP* and #_ATTEND* related placeholders still work
    (they might be considered as deprecated and the doc will change accordingly but currently there’s no need for people to change their templates or config)

2.1.14 (2019/04/16)

  • If the booking price is 0 and there’s no approval required, the optional PDF will be included in the mail sent at booking time
  • #_ATTENDANCE_QRCODE can now also be used in regular mails, not only in a PDF template
  • #_PERSONAL_FILES is now a people placeholder too
  • For people, #_ID is deprecated in favor of #_PERSONID, and all people placeholders can be preceded with #_PERSON (so #_PERSONID, #_PERSONLASTNAME, etc …)
  • For bookings and attendees: the person-related placeholders should now start with #_PERSONxxx (and not with #_RESP or #_ATTEND anymore for the placeholders that hold person info)
  • #_INVITEURL and #_INVITEURL{xx} can now be used in mails towards people (in case the mail is event-related #_INVITEURL will take the event id of the related event,
    otherwise #_INVITEURL{xx} should be used with ‘xx’ being the id or name of the event)
    These 2 can send out an invite url to people concerning an event. In case the event is then marked as invite-only, only the people that received such a mail can rsvp once.
  • Added a new event placeholder #_IS_INVITE_ONLY (can be used in a eme_if-condition to show some other content if the event is invitation-only)
  • CSS fix for the small calendar widget month name (it was not centered anymore)

2.1.13 (2019/03/28)

  • Fix [eme_events] showing only 1 event when the option «Number of events to show in lists» is 0 and no specific limit is set in the shortcode itself

2.1.12 (2019/03/28)

  • When you send out a mailing immediately and the «always queue» option is active, that mailing will now get a name and be visible in the mailing overview too
  • Fix using show_recurrent_events_once and limit together
  • Beter default contact person detection
  • Ignore people in trash status in more functions, avoids problems when someone subscribes to an email group and the same person/email is already in the trash
  • Make adding attachments work also when html mails are not activated
  • CSS change: the calendar header showing the month name (when using the table layout) is now also using thead+th and not thead+td

2.1.11 (2019/03/16)

  • Fix template sorting by name
  • Make attachment selection for mail templates work when editing a membership
  • Add placeholder #_USER_HAS_ROLE{xxx} (‘xxx’ being the name of a wp role), so you can check if a user has a certain wp role and show/hide things based on that
    Also added #_ADDBOOKINGFORM_IF_USER_HAS_ROLE{xxx}
  • Fix for rsvp start/end conditions
  • Added extra discount conditions: now you can require users to be logged-in for the discount to apply, or to be a part of an EME group or membership or have a certain WP role

2.1.10 (2019/03/05)

  • Add an option (in the «Other» section) where you can add extra html tags and attributes to be allowed for html content in eme settings (like templates)
  • Add an option (in the «Events» section) that allows to specify a redirect url if a person not logged-in tries to view a private event (by default redirect to wp login page is done)

2.1.9 (2019/03/02)

  • Fix editing a multiprice booking when the total amount of seats is 0 (meaning unlimited)
  • Allow sending a mail when adding a new member via the admin backend
  • Fix #_FIELDS in rsvp mails
  • Small sql fixes to be able to sort (as expected) on custom fields in people/members admin screen

2.1.8 (2019/02/22)

  • Deprecated #_CANCELBOOKINGFORM and _CANCELBOOKINGFORM_IF_NOT_REGISTERED in favor of #_CANCEL_ALL_BOOKINGS_FORM and #_CANCEL_ALL_BOOKINGS_FORM_IF_NOT_REGISTERED
  • Cancel format options have been simplified and can contain people too
  • Fix legacy paypal button not showing up due to typo

2.1.7 (2019/02/20)

  • Get a XML sitemap by visiting the url https://../?eme_sitemap=public
  • For CSV imports, the enclosure can be an empty string too
  • If the admin email is not matched to a user, take the first person with admin role as email sender
  • Allow html in attributes and properties again
  • Disable autofill on forms for events/locations/members, to aid people having autofill issues
  • Allow attachments to be sent for approved, pending and booking paid emails, also for mailgroup subscriber emails and new members
  • Added an option to allow RSVP cancel based on age of the booking
  • Deprecated shortcode eme_cancel_booking_form in favor of eme_cancel_all_bookings_form
  • Add options to set a template to cancel a payment (the form shown when browsing the url #_CANCEL_URL)
  • Added the old paypal method back (but it is called «Legacy Paypal» now)
  • Added 2 placeholders #_CURDATE and #_CURTIME, can be used to inform people/contacts of the date/time an action happened (like rsvp, cancel, member signup, payment, …)

2.1.6 (2019/02/10)

  • A discount can now be in more than one group
  • Fix html showing in extra html headers for events or locations
  • ical fixes for utf-8 encoded characters (and line folding like required by the rfc)

2.1.5 (2019/02/06)

  • Event status was always set as draft upon save, this has been corrected

2.1.4 (2019/02/05)

  • Add a new option in the RSVP settings for an event so you can decide in which mail the optional PDF attachment should be included: the approval or payment mail
  • Placeholders #_ADDBOOKINGFORM_IF_USER_IN_GROUP{xx}, #_ADDBOOKINGFORM_IF_USER_IS_MEMBER_OF{xx}, #_IS_USER_IN_GROUP{xx} and #_IS_USER_MEMBER_OF{xx} can now also take the id of the group or membership as parameter (and not just the name anymore)
  • Send membership reminder mails also in grace period
  • Some more sanitizing, we don’t even trust admins …
  • Unslash where needed
  • RSVP cancel cutoff time was ignored

2.1.3 (2019/02/01)

  • Fix a typo that prevented RSVP bookings from happening

2.1.2 (2019/01/30)

  • Security Fix: one could bypass the allowed file types to be uploaded
  • Update Paypal to use their new interface.
    WARNING: THIS IS BACKWARDS INCOMPATIBLE
    If you have a Paypal account, you need to undertake actions if you wish to continue to accept payments via Paypal.
    You need to create a Paypal «app» and enter the newly obtained client ID and secret in the EME payment options.
    See this page for more info and guidelines.
  • Add custom fields for membership definitions too (like for events and locations)
  • Disabling certificates for sending mail is now only possible for private ip’s, not for public mailservers anymore

2.1.1 (2019/01/27)

  • Fix dynamic-table html generation (closing «>» was missing for «table», most browsers fix this automatically, but is not nice)
  • Make pdf generation more resilient to html errors (like the one mentioned above)
  • eme_holidays was not working as expected

2.1.0 (2019/01/26)

  • Fix people import from csv
  • Improve sql when searching for custom field answers
  • Add an option to automatically archive old mailings after a certain period of days (can be set in GDPR options)
  • Add an option to automatically remove old events after a certain period of days (can be set in GDPR options)
  • Make the permalink for calendar days a little more strict, so events starting with yyyy-mm-dd-* don’t match and correctly go to the event
  • «Extra event html headers» and «Extra location html headers» now allow javascript too
  • Add an action in the People admin window to verify the integrity between WP users and EME people (a WP user should be linked to at most 1 EME person)
  • Add a mailing option to ignore the massmail setting if wanted (explanation added in-screen) for both event and generic mails
  • Early-bird discount is possible by just leaving the coupon code empty for the discount and if you define an expiration date
  • Fix mail logic for rsvp mails (some combinations of EME settings did not send out mails as would be expected)
  • Avoid loading the Mollie API if it is already loaded by another plugin
  • Update Mollie API to 2.5.0
  • RSVP full message can now also be changed in the backend
  • Disable (or try to) autocomplete for RSVP password protection
  • Add placeholder #_ATTENDANCE_QRCODE, generating a qrcode to send to people. This in facts just encodes the attendance url (generated by #_ATTENDANCE_URL also)
  • Document the use of #_ATTENDANCE_QRCODE ==> #_ATTENDANCE_QRCODE can only be used in the pdf template for tickets or membership cards
    If any other php lib is loaded providing the same qrcode class, the qrcode will refuse to load, so then you’ll need to use a shortcode provided by the other
    plugin to create the qrcode based on the value of #_ATTENDANCE_URL
  • Allow event/location/people properties (see functions eme_init_event_props, eme_init_location_props, eme_init_person_props) to be imported too
  • Fix a show_recurrent_events_once sql bug (in fact not a bug, but indeterministic result) due to newer mysql/mariadb versions
  • Add scope parameter to shortcode eme_holidays (default=all, other values: past or future; shows all/past/future holidays)

2.0.85 (2019/01/09)

  • Correct yet another bug at activation when using offset-based timezones

2.0.84 (2019/01/09)

  • Correct a bug at activation when using offset-based timezones

2.0.83 (2019/01/09)

  • Add an option to automatically remove pending members after a certain period of days (can be set per membership)
  • Add an option to automatically remove expired members or old bookings after a certain period of days (can be set in GDPR options)
  • Allow a separator to be specified for multi-value custom fields when printing the values via #_FIELD or #_FIELDVALUE by using a second set of braces specifying the separator
    This can be used as: #_FIELD{xx}{yy}
    The current known #_FIELD{xx} corresponds with #_FIELD{xx}{||}
  • Fix readonly/hidden formfields
  • Also update people fields from within a new booking
  • Stripe currency upon submit needs to be lowercase …
  • Membership payments via several payment gateways (stripe, paymill and braintree) was not calculating the correct price resulting in the payment not being successful.
  • No file upload allowed as custom field for events or locations
  • Number of bookedseats can be 0 if set to be
  • Update dompdf to 0.8.3
  • Update leaflet to 1.4.0
  • Update leaflet-markercluster to 1.4.1
  • Update Mollie API to 2.4.1

2.0.82 (2019/01/02)

  • GDPR is now a field per person, will be completed when asking for it via #_GDPR in a form (until now the #_GDPR was not stored in the DB)
  • Placeholder #_GDPR now also works for people info (like #_LASTNAME etc), so you can let people now in e.g. the RSVP or member mail that they approved.
  • New shortcode [eme_gdpr_approve], shows a form where people can give their GDPR approval (based on email). The mail being sent is configured in the EME options for GDPR.
    You can then use a WP page with this shortcode to send to all people that haven’t approved yet too.
  • Code deup
  • Fix an undefined array warning in eme_events.php
  • Fix location eventful paging
  • Fix notcategory containing a «+» for events

2.0.81 (2018/12/29)

  • Placeholder IS_USER_MEMBER_OF was failing due to a wrong sql statement
  • Make #_USER_HAS_CAP{xx}, #_IS_USER_IN_GROUP{xx} and #_IS_USER_MEMBER_OF{xx} return 0 for not logged users too
  • Create/edit for countries/states/discounts and discount groups are now aligned with the other edit screens, this allows more explanation added on the screen which makes certain fields more clear
  • Correct captcha detection in multibooking form

2.0.80 (2018/12/23)

  • Initialize some arrays to avoid php notices/warnings
  • More sql cleanups (makes everything more pretty code-wise and also makes events listing work again …)

Older changes can be found in changelog.txt