[eme_members_report_link]

[eme_members_report_link]

If the user is logged in and has the permissions to list members, this shortcode generates a link to a CSV export for the members of the configured group or membership. It accepts the following parameters:

  • membership_id membership id you want to show the members for. Either this or group_id is required.
  • group_id id of the group (of type “member”) you want to show the members for
  • template_id the template defining one line in the CSV report. This needs to be a comma-separated list and contains usually member placeholders.. Example of a template could be “#_LASTNAME,#_FIRSTNAME,#_MEMBERENDDATE”
  • template_id_header (optional) defines the first line in the CSV output. Useful to add headers for each column (also needs to be comma-separated, but can’t contain any placeholders)
  • link_text title of the link, if not given: “Members CSV”
  • public_access by default the report is only accessible to people with correct permissions. If you activate this option, this report becoms accessible for everyone on the condition the page that contains the shortcode is password protected.

 

Example:
[eme_members_report_link template_id=6 membership_id=2]

Generic placeholders

There are a number of generic placeholders, which can be used everywhere/always (even outside events/locations, if you’d use the eme_if shortcode standalone on a page). These are:

  • #_IS_USER_IN_GROUP{xxx} returns ‘1’if the logged in WP user is in the EME group called ‘xxx’, ‘0’ otherwise. Multiple groups can be specified, separated by “,”.
  • #_IS_USER_MEMBER_OF{xxx} returns ‘1’if the logged in WP user is an active member of the EME membership called ‘xxx’, ‘0’ otherwise. Multiple memberships can be specified, separated by “,”.
  • #_IS_USER_MEMBER_PENDING{xxx} returns ‘1’if the logged in WP user is a member with status pending of the EME membership called ‘xxx’, ‘0’ otherwise. Multiple memberships can be specified, separated by “,”.
  • #_IS_USER_MEMBER_EXPIRED{xxx} returns ‘1’if the logged in WP user is a member with status expired of the EME membership called ‘xxx’, ‘0’ otherwise. Multiple memberships can be specified, separated by “,”.
  • #_USER_HAS_ROLE{xxx} returns ‘1’if the logged in WP user is has the WP role called ‘xxx’, ‘0’ otherwise. Multiple roles can be specified, separated by “,”.
  • #_USER_HAS_CAP{xxx} returns ‘1’if the logged in WP user is has the WP capability called ‘xxx’, ‘0’ otherwise. Multiple capabilities can be specified, separated by “,”.
  • #_IS_SINGLE_DAY returns ‘1’ if you’re viewing a single day, ‘0’ otherwise
  • #_IS_SINGLE_EVENT returns ‘1’ if you’re viewing a single event details, ‘0’ otherwise
  • #_SINGLE_EVENTPAGE_EVENTID if viewing a single event, it will return the event id, empty otherwise
  • #_IS_SINGLE_LOC returns ‘1’ if you’re viewing a single location details, ‘0’ otherwise
  • #_IS_ADMIN_PAGE returns ‘1’ if on the admin pages, ‘0’ otherwise
  • #_IS_RSVP_PASSWORD_ENABLED returns ‘1’ if the event being watched is RSVP password protected, ‘0’ otherwise
  • #_CURDATE if you want to compare the current date in YYYY-MM-DD format
  • #_CURTIME if you want to compare the current date in HH:MM format
  • #_IS_LOGGED_IN returns ‘1’ if user is logged into WP, ‘0’ otherwise
  • #_LOCALE returns the current locale
  • #_LANG returns the current language
  • #_UNSUB_URL returns the unsubscribe url for mailings
  • #_MEMBERSHIP_PAYMENT_URL{xx} (with ‘xx’ being the name or id of a membership), returns the payment url of a member if the person is logged in and an pending or active member of the mentioned membership
  • #_EXPIRED_MEMBERSHIP_PAYMENT_URL{xx} (with ‘xx’ being the name or id of a membership), returns the payment url of a member if the person is logged in and an expired member of the mentioned membership
  • #_WPID returns the wordpress is of the current logged in user. This can then be used in included eme_events shortcodes (if e.g. you want to filter on contact id based on current logged in user).

Example usage:
[eme_if tag='#_IS_LOGGED_IN' value='0'] You are NOT logged in [/eme_if]
[eme_if tag='#_IS_LOGGED_IN' value='1'] You are logged in [/eme_if]
[eme_if tag='#ESC_CATEGORIES' contains='red'] The event is in at least the red category [/eme_if]
[eme_if tag="#ESCj #ESCM #ESCY" value="#ESC@j #ESC@M #ESC@Y"] The start and end date of this event is the same, so just showing start: #j #M #Y [/eme_if]
Or, print start date, and print end date only if different : #_STARTDATE [eme_if tag="#ESC_STARTDATE" notvalue="#ESC_ENDDATE"] #_ENDDATE [/eme_if]
A variant of the above, using curly brackets:
[eme_if tag="#ESC_{j M Y}" value="#ESC@_{j M Y}"] The start and end date of this event is the same: #{j M Y} [/eme_if]
Print start date, and print end date only if different:
#_{j M Y} [eme_if tag="#ESC_{j M Y}" notvalue="#ESC@_{j M Y}"] #@_{- j M Y} [/eme_if]
Print the list of attendees if at least one person signed up:
[eme_if tag='#_AVAILABLESEATS' lt='#_TOTALSEATS']<p>The following people have signed up for this event:#_ATTENDEES</p>[/eme_if]

Newsletter

EME can send a newsletter concerning upcoming events (to be configured via the submenu “Scheduled actions”).
This newsletter consist of 4 templates:
– Mail subject template: the template to be used as the subject for the mail
– Mail body header: the header-part of your email, this is in fact the text in the email body above the list of events (can also contain html of course)
– Mail body single event entry: this template will get repeated for each matching event (can also contain html of course). In this template you can use all event related placeholders.
– Mail body footer: the footer-part of your email, this is in fact the text in the email body below the list of events (can also contain html of course)

In all these templates you can use people placeholders.

[eme_change_personal_info]

EME helps you to achieve GDPR compliance. While some things (like alerting your visitors of the fact that you use cookies and also inform them about your privacy policy) remains your own responsibility, you can put the eme_change_personal_info shortcode on a regular wordpress page (with all the explaining you want to do) so people can easily and safely request to change (some of) their personal info stored in EME (not all personal data, like memberships of course). The link generated by using #_CHANGE_PERSON_URL in the email the form sends out (the form is created by this shortcode) is only valid for X hours (the lifetime of a wordpress nounce, typical 24 hours).
The content of the generated email can be changed in the EME GDPR preferences.

So in fact it is a 3-step procedure:
1) Decide what you want people to be able to change and set that in the setting “Change personal info Form template” in the EME settings page, tab “Data protection”. The placeholders you can use in this setting are : #_LASTNAME, #_EMAIL, #_PHONE, #_FIRSTNAME, #_ADDRESS1, #_ADDRESS2, #_CITY, #_STATE, #_ZIP, #_COUNTRY, #_OPT_IN, #_OPT_OUT, #_GDPR and all #_FIELD{xx} placeholders for custom fields of type ‘person’
2) create a wordpress page and put [eme_change_personal_info] in it. Then let people know of this page (privacy policy, mail, …).
If the url you give to people contains the parameter eme_email (with value a valid email address), that email will be used to prefill the email field in the resulting form.
3) after the user enters his email and submits the form, he/she gets an email with a link towards the personal data.

Example:
[eme_change_personal_info]

To allow people to view all their personal data, you can use the shortcode [eme_request_personal_info]

Note: if the page that contains this shortcode has a parameter eme_email in it (e.g. this_page/?eme_email=mine@me.you ), then that email will be used to prefill the email field. This allows you to mail the url to this page (via EME) to a lot of people and have their email already filled in (so less work for the receiver).

[eme_members]

[eme_members]
Returns a list of members, optionally limited to specific EME groups. Accepts the following arguments:

  • group_id: the ID of the EME group you want to show the members of. Multiple ids can be provided, comma-separated. Either this or the membership_id option is required.
  • membership_id: the ID of the EME membership you want to show the members of. Either this or the group_id option is required
  • template_id: use a predefined format template for each of the members matching the group (or all). See https://www.e-dynamics.be/wordpress/category/documentation/7-placeholders/7-14-members/ for the placeholders that can be used here. This is also required.
  • template_id_header and template_id_footer: a template for the header or footer of the list, no placeholders can be used here.

Example:
[eme_memberss membership_id=5 template_id=3]

Cancel one payment form

Next to the form to cancel all bookings for a person for one event, you can also cancel one payment. This is done by using e.g. #_CANCEL_URL in e.g. the RSVP mail when a booking is made. When a user clicks on the resulting link, he/she is sent towards a “cancel one payment” form.

This form can be configured in the EME Settings page, tab ‘RSVP’ (‘Cancel one payment form format’)
This form needs at least 2 placeholders:

  • #_SUBMIT : generates the submit button
  • #_CANCEL_PAYMENT_LINE : since one payment can consist of multiple bookings, we use an approach where this line is repeated for each booking. This placeholder generates a line per booking, defined in the option called “Cancel one payment booking line format”

Optionally you’ll need to use #_CAPTCHA too, if you have configured EME to require a captcha on all forms by default. Or #_RECAPTCHA if Google reCAPTCHA is configured to be used.

The format “Cancel one payment booking line format” (generated by #_CANCEL_PAYMENT_LINE) can contain all regular RSVP placeholders for a booking.

When the payment has been cancelled, the user is redirected to a “Payment cancelled” page, where again all text and people placeholders can be used and the same #_CANCEL_PAYMENT_LINE mentioned above.

CSV import events and locations

Go in the EME events section and open up the import section there. Special care is to be taken when importing events, since many columns and properties exist, so importing events or locations takes time. Any suggestion or improvement to this doc is greatly appreciated.

Import events or locations
Importing events or locations into EME is done by using a CSV file (csv delimiter and encloser can be specified during import).
The first line should indicate the names of the columns being imported. Currently the names that are recognized (there are just too many columns to name them all) can best be found in the function eme_new_event in eme_events.php. Some (but not all) are: “event_name”,”event_status”,”event_start_date”,”event_start_time”,”event_end_date”,”event_end_time”,”event_notes” and “event_single_event_format”.
If you want to create a location at the same time, you can specify “location_name”,”location_address1″,”location_city” and other location info (all those can be found in the function eme_new_location in eme_locations.php). The 3 mentioned location columns are required if you want to create a new location. If not, you can specifiy “location_id” instead, pointing to an already existing location id.

There is 1 column required: “event_name”.
The column “event_status” should be “1” (public), “2” (private) or “5” (draft).
The columns “event_start_date” and “event_end_date” should be in the format YYYY-MM-DD
The columns “event_start_time” and “event_end_time” should be in the format HH:MM

Events and locations also have a lot of properties (in fact: those are just a new way of adding event properties without adding extra db columns). These can be found in the functions eme_init_event_props (in eme_events.php) and eme_init_location_props (in eme_locations.php).
Those can be imported by prepending the relevant property with ‘prop_’ (e.g. ‘prop_min_allowed’).

The same remark for properties also goes for attributes (but since attributes are defined a bit “at will”, there’s no function that lists these). Those can be imported by prepending the relevant property with ‘att_’ (e.g. ‘att_my_own_attributename’).

If you used custom fields in your events form, you can also import answers for those by adding columns named “answer_XX” with “XX” being either the id or the name of the corresponding custom field you want to import answers for.

[eme_gdpr_approve]

EME helps you to achieve GDPR compliance. While some things (like alerting your visitors of the fact that you use cookies and also inform them about your privacy policy) remains your own responsibility, you can put the eme_gdpr_approve shortcode on a regular wordpress page (with all the explaining you want to do) so people can easily and safely approve for their personal info to be stored in EME. The link generated by using #_GDPR_APPROVE_URL in the email the form sends out (the form is created by this shortcode) is only valid for X hours (the lifetime of a wordpress nounce, typical 24 hours).
The content of the email can be changed in the EME GDPR preferences.

So in fact it is a 2-step procedure:
1) create a wordpress page and put [eme_gdpr_approve] in it. Then let people know of this page (privacy policy, mail, …).
If the url you give to people contains the parameter eme_email (with value a valid email address), that email will be used to prefill the email field in the resulting form.
2) after the user enters his email and submits the form, he/she gets an email with a link that gives final approval to store personal data.

Example:
[eme_gdpr_approve]

The page containing this shortcode can then also be sent to all people that haven’t approved yet (from within the people admin overview), in order to ask for their approval.

Note: if the page that contains this shortcode has a parameter eme_email in it (e.g. this_page/?eme_email=mine@me.you ), then that email will be used to prefill the email field. This allows you to mail the url to this page (via EME) to a lot of people and have their email already filled in (so less work for the receiver).

[eme_unsubform]

Shows a form for email unsubscribe from a group.

  • template_id (optional): use a predefined format template for the form (see below).

If you use a template for this shortcode, the placeholders mentioned below can be used:

  • #_EMAIL asks for the email (required)
  • #_MAILGROUPS displays a list of EME groups designated as “mailgroups” a person can unsubscribe from
  • #_GDPR (optional) asks for confirmation to store your info
  • #_GDPR{} (optional) asks for confirmation to store your info with between the braces the text you want as extra label text for the field
  • #_SUBMIT{} displays displays the submit button with between the braces the text you want for the button (qtranslate compatible).
  • #_SUBMIT displays displays the submit button with the text you want for the button the text configured on the Settings page.
  • #_CAPTCHA displays the captcha part
  • #_RECAPTCHA (*) required if Google reCAPTCHA is configured to be used.

#_EMAIL and #_SUBMIT are required, and also #_CAPTCHA if the captcha option is activated