=== My Calendar Pro ===
Contributors: joedolson
Donate link: https://www.joedolson.com/my-calendar/pro/
Tags: event submissions, user generated content, my calendar pro
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
Requires Plugins: my-calendar
Stable tag: 3.5.1

Add on to My Calendar plugin: adds many great features such as a responsive mode, create events from posts, and more.

== Description ==

My Calendar provides event management and provides numerous methods to display your events. The plug-in can support individual calendars within WordPress Multi-User, or multiple calendars displaying different categories of events.

This plug-in expands on the capabilities of My Calendar to give you more powerful capabilities and control.

New or updated translations are always appreciated. The translation files are included in the download.

== Installation ==

1. Upload the `/my-calendar-pro/` directory into your WordPress plugins directory.

2. Activate the plugin on your WordPress plugins page

3. Edit or create a page on your blog which includes the shortcode `[submit_event]` and visit the page you have edited or created. You should see your calendar. Visit My Calendar -> Help for assistance with shortcode options or widget configuration.

== Changelog ==

= 3.5.1 =

* Bug fix: KSES fix from My Calendar core not applied for notifications templates.
* Bug fix: Don't automatically display submissions form when post has a password required.
* Bug fix: Add an option to force all front-end submissions to add as drafts.

= 3.5.0 =

* Feature: Importer supports getting images by URL from ical import sources.
* Feature: Importer sets private status if iCal event marked as private.
* Feature: Importer sets cancelled status if iCal event marked as cancelled.
* Bug fix: Import status not changed when editing a scheduled import.
* Bug fix: Improve handling of current timezone when scheduling imports.
* Bug fix: When deleting a scheduled import, all imports of the same URL should not also be deleted.
* Bug fix: Fix output to use schedule label instead of schedule key in list of imports.
* Bug fix: `get_page_by_path()` expects `null`, not `false`, if no results.
* Bug fix: Handle import URLs with encoded values in URLs.
* Bug fix: Logic error caused import-specific approvals to always fall back to the default value.
* Bug fix: Guids passed as array to query, breaking updates of existing events during imports.
* Change: Use `wp_admin_notice` to show notices.
* Change: Minor design tweaks following WordPress 7.0 design updates.

= 3.4.2 =

* Bug fix: Don't auto-insert pages if content is managed by Elementor.
* Bug fix: Fix logic error forcing users to fully delete their license key to update its status.
* Bug fix: Show different error message if key is not activated than if key is not valid.
* Misc. improvements to licensing handling.

= 3.4.1 =

* Bug fix: Fix broken ability to automatically publish events from front-end.
* Bug fix: Fix PHP warning when REST API remote site ID returns false.
* Bug fix: Fix issues with setting post type permalink slugs if hosts post type enabled.
* Bug fix: Fix missing spaces in Stripe setup notes.
* Update: EDD Plugin Updater class from 1.9.1 to 1.9.4.
* Change: Modernize class usage in admin notices.
* Change: Add admin warning about automatically publishing events.
* Docs: Update hook docs format.

= 3.4.0 =

* Change: Import recurring events from iCal as single events with custom instances, rather than individual events.
* Change: Add function to remove single events now imported as instances of a full event.
* Change: Add method to get items in REST API via GUID if event ID is unknown.
* Change: Update minimum supported version to 6.5, matching My Calendar.
* Change: Admin style changes to prepare for WP 7.0.
* Change: Handle changes in `wp_kses_hair()` in WP 7.0.
* Change: Hide author column if only a single author on front-end.
* Change: Widen default state of event edit list.
* Bug fix: When importing events from iCal, line breaks in event descriptions not properly handled.
* Bug fix: When importing events, titles longer than the 255 characters should be truncated instead of rejected.
* Bug fix: Member discount prices not shown properly in admin.
* Bug fix: Migrate SQL queries to prepared statements using the %i placeholder supported since WP 6.2.
* Bug fix: `REST->get_item()` expected an instance ID, but received an event ID.
* Bug fix: REST API queries to update events failed.
* Bug fix: REST API queries to delete events failed.
* Bug fix: REST API permissions not propagated through to event functions.
* Bug fix: Don't mutate global variables when SCRIPT_DEBUG enabled.
* Update: Geolocation features.
* Documentation: Geolocation features. (https://docs.joedolson.com/my-calendar-pro/geolocation/)
* Performance: Memoize custom fields array fetch.
* Performance: Don't fetch constant options inside loops.
* Performance: Remove leading wildcard on GUID queries.
* Performance: Batch guid exists queries.
* Performance: Only examine POST array if non-empty and related to a submission.
* Performance: Limit location queries to a single check per import cycle.
* Performance: Reduce unnecessary requests for event objects that are already available.
* Misc. minor back-end design changes.

= 3.3.1 =

* Change: Add styles for category icons in selection list for submissions.
* Bug fix: Undefined variable in `mcs_generate_search_page()`.
* Security hardening: use `wp_unslash()` more consistently before running sanitizing.

= 3.3.0 =

* Feature: Support personal event status in Pro.
* Bug fix: Multiple checkbox groups did not save all checked values.
* Bug fix: Improved detection and saving of locations during import.
* Bug fix: Img not shown after upload when creating a new event on front-end.
* Bug fix: Calendar email notifications selection rendered wrong state.
* Bug fix: Don't show license form if network activated and not main site.
* Bug fix: Don't attempt to access unset post values in custom fields.
* Change: Populate key used for tags array during custom field tag generation.
* Change: Don't duplicate the Duet calendar registration.
* Change: Update iCal parser to more modern package.
* Change: Check objects for custom fields before inspecting meta data.
* Change: Add custom fields to event object when setting event language parameters.
* Change: Use system stack for receipt fonts.
* Change: Prevent automatic assignment of key pages to unpublished posts.
* Change: Misc. design hardening to override some theme issues.

= Future =

* Feature: limiting of viewing categories to specific member groups
* Feature: limit ability to enter categories by member groups
* Make only portions of events private (e.g., time and location for children's events, etc.)
* Provide notifications of new events by category (to specific users or to lists of users; set up as user meta option?) (use save_event hooks; set up reminder schedule; use cron; see RQ by Don Brown via email)
* Feature: restrict access for non-admins to only be able to edit from front-end; no access to WP Admin for calendar.
* Add event to personal calendar
* handle tzoffsetfrom/to in iCal from Google (part of the overall vcal block, not part of an event)


== Frequently Asked Questions ==

= Hey! Why don't you have any Frequently Asked Questions here! =

Because the majority of users end up on my web site asking for help anyway -- and it's simply more difficult to maintain two copies of my Frequently Asked Questions. Please visit [my web site FAQ](https://www.joedolson.com/my-calendar/faq/) to read my Frequently Asked Questions!

== Screenshots ==

1. Event Submissions Widget

== Upgrade Notice ==