Event Organiser Codex

Packages

  • admin-calendar
  • booking-form
  • booking-form-template-functions
  • booking-functions
  • booking-status
  • deprecated
  • event-date-functions
  • event-functions
  • event-query-functions
  • fullCalendar
  • general-functions
  • ical-functions
  • payment-gateway
  • template-functions
  • ticket-functions
  • user-booking-functions
  • utility-functions
  • venue-functions

Functions

  • eo_get_venue_permastructure
  • eo_get_events
  • eo_get_the_start
  • eo_get_the_occurrence
  • eo_the_start
  • eo_get_the_end
  • eo_the_end
  • eo_get_next_occurrence
  • eo_get_next_occurrence_of
  • eo_next_occurrence
  • eo_get_current_occurrence_of
  • eo_is_all_day
  • eo_get_schedule_start
  • eo_schedule_start
  • eo_get_schedule_last
  • eo_schedule_last
  • eo_recurs
  • eo_get_the_occurrences_of
  • eo_get_category_color
  • eo_get_event_color
  • eo_get_event_textcolor
  • eo_get_event_classes
  • eo_is_event_taxonomy
  • eo_get_events_feed
  • eo_get_event_category_feed
  • eo_get_event_venue_feed
  • eo_get_add_to_google_link
  • eo_get_event_fullcalendar
  • eo_get_the_occurrence_id
  • eo_get_permalink
  • eo_get_event_archive_link
  • eo_break_occurrence
  • eo_get_event_uid
  • eo_get_event_datetime_format
  • eo_update_event
  • eo_insert_event
  • eo_delete_event_occurrences
  • eo_get_event_schedule
  • eo_get_the_GoogleLink
  • eo_get_the_occurrences
  • eo_is_allday
  • eo_get_schedule_end
  • eo_schedule_end
  • eo_get_reoccurrence
  • eo_get_reoccurence
  • eo_reoccurs
  • eo_event_color
  • eo_get_the_venues
  • eo_php2xdate
  • eo_get_venue
  • eo_get_venue_slug
  • eo_get_venue_id_by_slugorid
  • eo_get_venue_by
  • eo_get_venue_name
  • eo_venue_name
  • eo_get_venue_description
  • eo_venue_description
  • eo_get_venue_excerpt
  • eo_get_venue_latlng
  • eo_get_venue_lat
  • eo_get_venue_lng
  • eo_venue_lat
  • eo_venue_lng
  • eo_venue_has_latlng
  • eo_get_venue_link
  • eo_venue_link
  • eo_get_venue_address
  • eo_get_venues
  • eo_update_venue
  • eo_insert_venue
  • eo_delete_venue
  • eo_get_venue_map
  • eo_get_venue_meta
  • eo_add_venue_meta
  • eo_update_venue_meta
  • eo_delete_venue_meta
  • eo_get_category_meta
  • eo_get_template_part
  • eo_locate_template
  • eo_register_style
  • eo_enqueue_style
  • eo_is_event_archive
  • eo_get_event_archive_date
  • eo_format_datetime
  • eo_format_date
  • eo_format_datetime_range
  • eo_format_event_occurrence
  • eo_get_blog_timezone
  • eo_date_interval
  • eo_php_to_moment
  • eo_php2jquerydate
  • eo_check_datetime
  • eo_color_luminance
  • eo_blog_is_24
  • eo_blog_is_using_ordinal
  • eo_list_pluck_key_value
  • eo_array_key_whitelist
  • eo_is_multi_event_organiser
  • eo_array_combine_assoc
  • eo_get_user_id_by
  • from_camel_case
  • eo_get_event_tickets
  • eo_get_event_tickets_on_sale
  • eo_get_ticket
  • eo_get_event_capacity
  • eo_is_event_free
  • eo_get_booking_form
  • eo_signup_form
  • eo_get_booking_tickets
  • eo_get_booking_ticket_meta
  • eo_add_booking_ticket_meta
  • eo_update_booking_ticket_meta
  • eo_delete_booking_ticket_meta
  • eo_get_booking_tickets_cid
  • eo_get_remaining_tickets_count
  • eo_remote_geocode
  • eo_get_event_search_form
  • eo_get_booking_form_total_placholder
  • eo_get_booking_form_quantity_placholder
  • eo_booking_form_ticket_data_attr
  • eo_get_booking_occurrence_picker
  • eo_form_select_month
  • eo_form_select_year
  • eo_get_venue_thumbnail_id
  • eo_set_venue_thumbnail
  • eo_delete_venue_thumbnail
  • eo_get_venue_thumbnail
  • eo_format_price
  • eo_get_currency_symbol
  • eo_get_currencies
  • eo_login_by_email
  • eo_get_admin_email
  • eo_get_booking_notification_email
  • eo_sanitize_name
  • eo_insert_booking
  • eo_get_booking_date
  • eo_get_booking_event_start_date
  • eo_get_booking_meta
  • eo_get_bookings
  • eo_cancel_booking
  • eo_restore_booking
  • eo_delete_booking
  • eo_confirm_booking
  • eo_get_booking_status
  • eo_user_has_bookings
  • eo_get_events_user_is_attending
  • eo_number_events_user_is_attending
  • eo_get_user_booking_history
  • eo_register_booking_status
  • eo_get_reserved_booking_statuses
  • eo_get_confirmed_booking_statuses
  • eo_get_booking_statuses

Classes

  • EventOrganiser_Debugger
  • EO_Theme_Compatabilty
  • Event_Organiser_Im_Export
  • EO_ICAL_Parser
  • EO_Walker_TaxonomyDropdown
  • EO_Venue_List_Table
  • EO_Widget_Categories
  • EO_Event_List_Widget
  • EO_Events_Agenda_Widget
  • EO_Calendar_Widget
  • EO_Payment_Gateway
  • EO_Bookee_Storage
  • EO_Bookee_WPUser
  • EO_Bookee_Guest
  • EO_Money
  • EO_Event_Ticket_Type
  • EO_Bookable_EventSeries
  • EO_Bookable_CapacityException
  • EO_Bookable_EventOccurrence
  • EO_Bookable_Event
  • EO_Currency
  • EO_Query_Result
  • EO_Booking
  • EO_Email_Template_Tag_Registry
  • EO_AbstractCSV
  • EO_Booking_Form_Element
  • EO_Booking_Form_Element_Google_Recaptcha
  • EO_Booking_Form_Element_Total
  • EO_Booking_Form_Element_Factory
  • EO_Booking_Form_Elements_View
  • EO_Booking_Form_Validate_Visitor
  • EO_Booking_Form_JSON_Visitor
  • EO_Booking_Form_Element_View
  • EO_Booking_Form_Element_AttendeeQuestions_View
  • EO_Booking_Form_Element_Google_Recaptcha_View
  • EO_Booking_Form_Element_Total_View
  • EO_Booking_Form_View
  • EO_Booking_Form_Save_Visitor
  • EO_Booking_Form_Factory
  • EO_Booking_Form_Visitor
  • EO_Booking_Form
  • EO_Date_Range
  • EO_Booking_Status
  • EO_Booking_Status_Reserved
  • EO_Booking_Status_Confirmed
  • EO_Booking_Status_Unreserved
  • EO_Booking_Ticket_Storage
  • EO_Booking_Ticket_Factory
  • EO_Booking_Ticket_Query
  • EO_Booking_Ticket_CSV
  • EO_Booking_Grouped_Ticket
  • EO_Booking_Storage
  • EO_Booking_Factory
  • EO_Booking_Query
  • EO_Booking_CSV
  • EO_Booking_Ticket
  • EO_Export_SimpleController
  • EO_Export_Controller
  • EO_Export_Booking_Ticket_Controller
  • EO_Export_Booking_Controller
  • EO_Export_BatchController
  • EO_Bookee

Hooks

  • eventorganiser_save_event
  • eventorganiser_options
  • eventorganiser_additional_event_meta
  • eventorganiser_ical_description
  • eventorganiser_get_the_start
  • eventorganiser_get_the_end
  • eventorganiser_get_next_occurrence
  • eventorganiser_get_schedule_start
  • eventorganiser_get_schedule_last
  • eventorganiser_get_the_future_occurrences_of
  • eventorganiser_get_the_occurrences_of
  • eventorganiser_event_color
  • eventorganiser_event_classes
  • eventorganiser_event_meta_list
  • eventorganiser_get_permalink
  • eventorganiser_pre_break_occurrence
  • eventorganiser_breaking_occurrence_exclude_meta
  • eventorganiser_occurrence_broken
  • eventorganiser_updated_event
  • eventorganiser_created_event
  • eventorganiser_delete_event_occurrences
  • eventorganiser_get_event_schedule
  • eventorganiser_generate_occurrences
  • eventorganiser_fullcalendar_query
  • eventorganiser_fullcalendar
  • eventorganiser_calendar_event_link
  • eventorganiser_event_tooltip
  • eventorganiser_fullcalendar_event
  • eventorganiser_admin_cal_summary
  • eventorganiser_admin_fullcalendar_event
  • eventorganiser_is_event_query
  • eventorganiser_venue_excerpt
  • eventorganiser_save_venue
  • eventorganiser_pre_insert_venue
  • eventorganiser_insert_venue
  • eventorganiser_venue_deleted
  • eventorganiser_venue_tooltip
  • eventorganiser_venue_marker
  • eventorganiser_venue_map_options
  • eventorganiser_venue_address_fields
  • eventorganiser_register_taxonomy_event-venue
  • eventorganiser_register_taxonomy_event-category
  • eventorganiser_register_taxonomy_event-tag
  • eventorganiser_menu_position
  • eventorganiser_event_properties
  • eventorganiser_template_stack
  • eventorganiser_stylesheet_src
  • eventorganiser_stylesheet_src_{$handle}
  • eventorganiser_stylesheet_handle_{$handle}
  • eventorganiser_pre_event_content
  • eventorganiser_format_datetime
  • eventorganiser_format_datetime_string
  • eventorganiser_timezone
  • eventorganiser_trim_excerpt
  • eventorganiser_blog_is_24
  • eventorganiser_blog_is_using_ordinal
  • eventorganiser_is_multi_event_organiser
  • eventorganiser_google_maps_url
  • eventorganiser_events_expire_time
  • eventorganiser_event_metabox_notice
  • eventorganiser_metabox_after_core_fields
  • eventorganiser_pre_booking_history
  • eventorganiser_booking_history_header_before
  • eventorganiser_booking_history_header_after
  • eventorganiser_booking_history_header_row_start
  • eventorganiser_booking_history_header_row_end
  • eventorganiser_post_booking_history
  • eventorganiser_booking_pre_total_row
  • eventorganiser_booking_closed
  • eventorganiser_booking_tickets_sold_out
  • eventorganiser_booking_login_required
  • eventorganiser_ticket_options_after
  • eventorganiser_booking_metabox_pre_tickets
  • eventorganiser_booking_metabox_post_tickets
  • eventorganiser_booking_metabox_bottom
  • eventorganiser_get_event_tickets
  • eventorganiser_get_event_ticket_meta
  • eventorganiser_insert_event_ticket
  • eventorganiser_update_event_ticket
  • eventorganiser_delete_booking_ticket
  • eventorganiser_deleted_booking_ticket
  • eventorganiser_booking_ticket_reference
  • eventorganiser_bookable_occurrences
  • eventorganiser_remote_geocode
  • eventorganiser_enabled_gateways
  • eventorganiser_notify_new_booking_message
  • eventorganiser_notify_new_booking_subject
  • eventorganiser_transition_booking_status
  • eventorganiser_notify_confirmed_booking
  • eventorganiser_booking_confirmed_email_subject
  • eventorganiser_booking_confirmed_email_body
  • eventorganiser_booking_confirmed_email_headers
  • eventorganiser_booking_confirmed_email_attachments
  • eventorganiser_booking_confirmed_email_template
  • eventorganiser_notify_confirmed_booking_message
  • eventorganiser_notify_confirmed_booking_subject
  • eventorganiser_bookee_username
  • eventorganiser_can_cancel_booking_before
  • eventorganiser_format_price
  • eventorganiser_admin_email
  • eventorganiser_booking_notification_email
  • eventorganiser_new_booking
  • eventorganiser_cancel_booking
  • eventorganiser_cancelled_booking
  • eventorganiser_restore_booking
  • eventorganiser_restored_booking
  • eventorganiser_delete_booking
  • eventorganiser_deleted_booking
  • eventorganiser_confirm_booking
  • eventorganiser_confirmed_booking
  • eventorganiser_change_booking_occurrence
  • eventorganiser_event_map_tooltip

EO_Payment_Gateway Pro

  • Located: event-organiser-pro/gateways/class-eo-gateway.php - line 21
  • Package: payment-gateway

Abstract class which can be extended to add additional payment gateways. Please note

  1. The subclass must be defined after plugins_loaded to ensure this class has been defined.
  2. You must register the class with Event Organiser via eventorganiser_register_gateway()

Please see inline documentation for details. Online tutorials and documentation will follow shortly.

You must over-ride abstract methods in your child class. You cannot over-ride final methods, and all others may be provided by your child class if needed or desired.

Methods

public # __construct( )

Constructor.

Checks that an instance hasn't already been created and checks the gateway identifier. Adds callbacks to the appropriate hooks.

public # getInstance( )

Get the instance (or create one) of the child class.

public # register_gateway( $gateways )

Filters the gateways. Hooked onto eventorganiser_gateways adds the gateway and label

public # enabled_gateway( $enabled_gateways )

Filters the gateways. Hooked onto eventorganiser_enabled_gateways. If the gateway is not enabled it is removed form the array.

public # register_settings( )

Registers the gateway's settings with WordPress.

public # add_settings( )

Creates gateway's settings sections and adds the gateway options as specified by child class in ::get_options(). Automatically prepends the 'live status' option.

public # get_return_url( $booking, $form )

Get the url to return after transaction is complete. This is just a helper function and can over over-ridden by a child class.

public # get_ipn_url( )

Returns the IPN url (url for the gateway to send instant payment notifications to). This is of the form: www.yoursite.coom?eo-listener=ipn&eo-gateway=[gateway-identifier] If you need the IPN url you can retrieve it via $this->get_ipn_url().

public # get_option( $key )

Returns a gateway option specified by $key. $key here is the 'name' associated to the option. as specified in ::get_option().

public # is_enabled( )

Is the gateway enabled. This will return true if the gateway is in 'live' or 'sandbox' mode.

Enabled gateways will appear on the booking form

public # is_live( )

Is the gateway live. This will return true only if the gateway is in 'live' mode.

public # init( )

Called when the class is constructed, allows child class to add additional hooks if needed.

public # get_options( )

Should be over-ridden by a child class. Specifies the options for the gateway. This should be returned as an array of options. Each option is an array specifying:

  • field_type - one of text, textarea, radio, checkbox, select

    • name - lowercase alpha-numerics and dashes only!
    • label - human readable label for the option
    • options - array of value => label pairs for select/radio/checkbox options.

    Options can be retreived by {@see subclass::get_option()}

public # settings_section_text( )

Optional. Set the text to appear at the top of your gateway's settings section.

public # process( $booking_id, $booking, $error, $form )

This method must be specified by a child class. It handles the payment processing of a gateway. Depending on your gateway's specifications you may need to:

  • Redirect the user your paypal to complete payment offsite (e.g. PayPal)
    • Collect user entered credit card details and charge the card (e.g. PayPal Pro)
    • Use a generated token to process payment (e.g. Stripe)

If you wish to display an error message on the booking form simpley add an error to $error:

   $error->add( 'my-error-code', 'This error message will appear on the booking form' );
public # get_label( )

Specify a human-readable label for your gateway. This will be used for the admin settings page and the front-end. To specify a different label for the front-end you can over-ride the subclass::get_front_end_label() method.

public # get_front_end_label( )

Specify a human-readable label for your gateway for the front-end. Defaults to subclass::get_label() method.

public # handle_ipn( )

If you redirect the user to complete payment off-site, you will need to specify a payment notification url.

This method is fired whenever that notification url is hit. You should inspect $_POST for a response from your payment gateway, validate it, and then take appropriate action (i.e. confirm the booking via {@see eo_confirm_booking()}).

public # payment_form( $element )

If processing payment on-site you shall need to take credit card details from. For security reasons do not use the form customiser for this, as this saves the data unencrypted in the database. Instead use this method to add form fields for collecting credit card details.

See the helper functions {@see eo_gateway_select_year()} and {@see eo_gateway_select_month()}.

You can retrieve these values from $_POST in {@see subclass::process()}.

public # setup_form( $form, $event_id )
public # log( $booking_id, $timestamp, $log )

Properties

private $instances

Singleton model, store all child instances in a static array.

public $gateway

**Unique** gateway identifier. Must be lower-case alpha-numerics slashes and underscores only, e.g. 'stripe', 'paypal'

protected $settings_priority

Settings priority. Determines the order in which gateways appear on the admin settings.

Hooks

© Copyright 2019 by Canalside Digital. Documentation last updated 6th June 2019, 9:44pm.