=== Eventotron ===
Contributors: eventotron
Tags: events, tickets, box office, festival, venues
Requires at least: 5.7
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 5.2.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Publish your Eventotron season's events, performances, venues and merchandise on your site, with tickets sold through Eventotron.

== Description ==

Eventotron is a festival and season management service used by arts festivals, fringes and venues. This plugin connects a WordPress site to a season in your Eventotron account and publishes it on the site.

**What it does**

* Imports events, performances, venues and merchandise from your season as WordPress content, with the fields you choose mapped onto each page.
* Adds searchable "What's On" listings for events, performances and venues, filterable by date, genre, venue, keyword, your own custom fields, and distance from a typed location.
* Shows a map of the results and of each venue.
* Adds a "departure board" shortcode of the next performances starting near the visitor, using their browser's location if they allow it.
* Keeps the site in step with Eventotron: refresh a season by hand, or let a background sync pick up changed events and venues every 15 minutes.
* Sells tickets and merchandise through the Eventotron checkout. Buying happens inside Eventotron's own window; this plugin does not take payment details.
* Lets you tailor every listing and page layout from the settings screens, or override the templates from your theme.

**You need an Eventotron account.** The plugin does nothing until it is connected to a season with an API key from your Eventotron dashboard. Eventotron is a paid service; see https://eventotron.com for plans and terms.

**External services**

This plugin talks to the following services. Nothing is sent to anyone else.

* **Eventotron (https://eventotron.com)** — the plugin fetches your season's events, performances, venues and merchandise from Eventotron's API using your season API key, and loads Eventotron's checkout script on pages that sell tickets. When a visitor types a place into the "Where" filter, that text is sent to Eventotron to be turned into map coordinates. Terms: https://eventotron.com/terms. Privacy: https://eventotron.com/privacy.
* **Eventotron's image store** — event, venue and merchandise images are served from Eventotron's content delivery network (d1vlmco8ur52ud.cloudfront.net) until they are imported into your media library. Covered by the Eventotron terms and privacy policy above.
* **OpenStreetMap (https://www.openstreetmap.org)** — map tiles are loaded from OpenStreetMap's public tile servers, which receive the visitor's IP address as part of the request. Tile usage policy: https://operations.osmfoundation.org/policies/tiles/. Privacy: https://wiki.osmfoundation.org/wiki/Privacy_Policy. Busy sites should use the `etron_map_tile_url` and `etron_map_tile_attribution` filters to point at a hosted tile provider of their choice.

The departure board's "Nearest" option asks the visitor's browser for their location. The browser asks the visitor for permission first, and the coordinates are used only to order results on that page.

**Third-party code**

* Leaflet 1.9.4 (https://leafletjs.com), BSD-2-Clause, bundled unminified in `assets/lib/leaflet`.
* The distance search is adapted from WP Geo Query by Greg Schoppe (https://gschoppe.com/wordpress/geo-searches/).

== Installation ==

1. Upload the plugin folder to `/wp-content/plugins/`, or install it from the Plugins screen, and activate it.
2. Go to **Eventotron** in the admin menu and paste the API key for your season from your Eventotron dashboard. The season appears as a new tab.
3. On the season tab, choose which Eventotron fields supply the event image, description and genre, save, then import the events you want to publish.
4. Your listings are now live at `/events/`, `/performances/` and `/venues/`. Add them to your menus. Visit **Settings > Permalinks** once if the pages return 404.
5. Optional: switch on **Auto-sync with Eventotron** under Eventotron > Settings to keep imported content up to date automatically.

== Frequently Asked Questions ==

= Do I need a Google Maps API key? =

No. Maps use OpenStreetMap through Leaflet, and place names typed into the location filter are looked up through your Eventotron account. There is nothing to configure.

= Can I use a different map provider? =

Yes. Add the `etron_map_tile_url` and `etron_map_tile_attribution` filters in your theme or a small plugin to point the maps at any XYZ tile provider, such as MapTiler or Stadia Maps.

= Does the plugin handle payments? =

No. Ticket and merchandise purchases open Eventotron's own checkout in a window on the page. Card details never touch your WordPress site.

= Can I change how the pages look? =

Yes. The settings screens control which fields appear where on each listing, page and tile. For deeper changes copy any of the plugin's `single-*.php`, `archive-*.php` or `taxonomy-*.php` templates into your theme; the theme copy is used instead.

= Which pages sell which season? =

Each event, performance and merchandise page sells the season it was imported from. Listings, the departure board and your own pages sell the **Sales season** chosen under Eventotron > Settings.

== Changelog ==

= 5.2.1 =
* The plugin's directory listing links to its knowledge-base article at eventotron.com.

= 5.2.0 =
* Maps are drawn with Leaflet on OpenStreetMap tiles. The Google Maps key is gone and there is nothing to configure; use the `etron_map_tile_url` filter to pick another tile provider.
* The "Where" filter looks places up through your Eventotron account instead of Google Places.
* Security and standards pass for the WordPress.org directory: every output escaped, all database queries prepared, direct-access guards on every file, the WordPress HTTP API in place of cURL, and one text domain throughout.
* Plugin renamed to Eventotron. Super Simple Box Office was retired in 5.0.0.

= 5.1.1 =
* Buy buttons now sell the season the performance belongs to, and pages not tied to one season use the new Sales season setting.

= 5.1.0 =
* Background sync: changed events and venues are refreshed from Eventotron every 15 minutes when enabled.
* Removed legacy code paths.

= 5.0.0 =
* Ticketing moved to the Eventotron checkout. The built-in Super Simple Box Office was removed.

== Upgrade Notice ==

= 5.2.0 =
Maps move from Google to OpenStreetMap. If your theme has its own copies of archive-events.php, archive-performances.php, archive-venues.php, single-venue.php or taxonomy-venue.php, re-copy them from the plugin: the old copies still load Google Maps with a key that no longer exists.

= 5.1.1 =
Sites connected to more than one season should check the Sales season setting under Eventotron > Settings after updating.
