=== Warp Calendar Events ===
Contributors: saurabhgtr
Tags: calendar, events, recurrence, ics
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.1
Stable tag: 0.1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Publish events with seven calendar views, recurring schedules, date exceptions, blocks, builder widgets and manual calendar imports.

== Description ==

Warp Calendar Events helps you publish and organize events in WordPress. Manage events, venues, organizers, categories and tags from an interactive dashboard, then display published events on your website.

* Month, List, Day, Week, Week list, Week timeline and Upcoming views.
* Classic, Minimal and Compact templates with light, dark and device-based appearance options.
* Daily, weekly, monthly-date and yearly recurrence, interval/count/end-date limits and individual occurrence changes.
* Twelve Gutenberg blocks, an event-layout pattern, shortcodes and an upcoming-events widget.
* Dedicated Calendar, Upcoming Events and Event Details integrations for Elementor and Bricks, when installed separately.
* Public iframe and script embeds for another website.
* Manual CSV and public HTTPS ICS preview/import, preserving previously imported records and local edits.
* ICS downloads, rolling subscriptions, Google Calendar compose links and event structured data.
* Optional mapping of existing public post types and date fields into the calendar.

JavaScript and CSS source files are included locally; no build step or external CDN is required. Elementor and Bricks are optional and are not bundled. Core features work without builders or the separate Warp Calendar Events Pro add-on.

== Installation ==

1. Upload the warp-calendar folder to wp-content/plugins, or install its ZIP using Plugins > Add New > Upload Plugin.
2. Activate Warp Calendar Events.
3. Open Warp Calendar Events > Events, choose Add Event, enter a title and schedule, then save as Published.
4. Insert the Warp Calendar Events block into a page, or use [warp_calendar].
5. Use Embed calendar in the dashboard for builder instructions and external embed snippets.

== Frequently Asked Questions ==

= Do I need Pro or a builder? =

No. All features listed above work in this plugin. Pro is installed separately and requires this plugin.

= Does Add to Google Calendar synchronize calendars? =

No. It opens an event draft for the visitor to review and save in Google. ICS downloads open in compatible calendar applications. Subscriptions are public rolling feeds covering the next 89 days; application refresh schedules vary.

= What can the importer import? =

Manual ICS and CSV imports accept up to 1 MB and 250 entries. ICS recurrence, detached exceptions, duration properties and custom VTIMEZONE definitions are skipped with an explanation. Imports do not run in the background or overwrite previously imported records automatically.

= What happens on deactivation or deletion? =

Event posts, contact metadata and settings remain in the WordPress database. Deactivation and deletion do not erase them. Back up your database before updating or removing plugins. Remove event/contact records through WordPress when no longer needed.

= Which date formats are supported? =

Interactive calendars support Y y F M m n d j l D H G h g i s a A T e tokens and backslash escapes. T and e display the timezone identifier. Dates use the Gregorian calendar and Latin digits. PHP Intl supplies localized date names when available; otherwise an installed WordPress language or the site language is used.

== External services and privacy ==

This plugin does not send telemetry or contact an activation, licensing or external update server. WordPress.org handles updates to the directory version. Optional external interactions are:

* ICS import: when an administrator enters a public HTTPS feed URL and requests a preview, the site server contacts that provider, following safe HTTP redirects. The provider receives the request and server IP. No feed request runs automatically. Use feeds you are authorized to import and review that provider's policies.
* Google Calendar: clicking its event link opens calendar.google.com with the event title, dates, description, public occurrence URL and venue location encoded in the link. Data is sent when opened; this is not background sync. [Google Calendar](https://calendar.google.com/), [Privacy](https://policies.google.com/privacy), [Terms](https://policies.google.com/terms).
* Google Maps: when an editor enables venue directions, clicking the public link sends the venue address to Google Maps. Maps are not loaded in the background. [Google Maps](https://www.google.com/maps), [Privacy](https://policies.google.com/privacy), [Terms](https://policies.google.com/terms).
* External embeds: a site owner may place a public calendar iframe/script on another website. Visitors then request calendar assets and data from this WordPress site, exposing normal HTTP request information to its server. No embed host is preconfigured. The optional auto-height script sends only the public frame height to the parent page.

Organizer/venue names, addresses, phone numbers, websites and emails are stored in WordPress post metadata. Email display is opt-in; published contact details can appear on event pages. Import previews use per-user transients for 20 minutes, query caches for two minutes, and a bounded administrator-visible import log records source labels and activity. Site administrators control backups, retention and deletion. No attendee accounts, ticket sales or payment processing are included.

== Screenshots ==

1. Month view with recurring community activities, featured events, category and tag filters, date navigation, and calendar subscriptions.
2. Manage published events and drafts in the dedicated event workspace, with search, filters, duplication, and recurrence summaries.
3. Edit an event's schedule, time zone, description, weekly repeat days, and recurrence end date.
4. List view with featured images, descriptions, venues, admission information, categories, and Google Calendar or ICS links.
5. Maintain reusable venue details and choose whether contact email and Google Maps directions are displayed publicly.
6. Choose Classic, Minimal, or Compact templates, light or dark appearance, event accents, images, and description excerpts.
7. Generate calendar embed code for another website with configurable view, template, appearance, category, and height.
8. Responsive list view with event information and featured images on a 390-pixel mobile viewport.

== Changelog ==

= 0.1.0 =
Initial release candidate: event administration, seven views, three templates, recurrence, blocks, optional builder integrations, embeds, imports and exports.
