Skip to content

soderlind/icalendar-ninja-forms

Repository files navigation

iCalendar for Ninja Forms

Latest Stable Version

Description

Add an iCalendar to your Ninja Forms.

Installation

Prerequisite:

You know the drill:

  1. Download the plugin
  2. Upload the plugin via Plugins->Add New->Upload
  3. Activate the plugin.
  4. Use Ninja Forms to add the iCalendar.

Use

Per event form, add the action:

Add event date etc:

Add link to Success Message, Email Confirmation etc:

  • Link ({ical:link}), adds a <a href=".../event-xyz.ics">Add the event to your calendar</a> link. The "Add the event to your calendar" text can be changed in iCalendar settings.
  • URL ({ical:url}), adds http[s]://yoursite.tld/event-xyz.ics

Conditional Logic

Require Ninja Forms Conditional Logic to be enabled.

Per condition

  • add an iCalendar
  • add a response.

See example below

Email with iCalendar link

Example calendar.ics:

BEGIN:VCALENDAR
PRODID:-//eluceo/ical//2.0/EN
VERSION:2.0
CALSCALE:GREGORIAN
BEGIN:VEVENT
UID:1f09c1aca9cca3bcee4b588ab0bc624d
DTSTAMP:20240322T082413Z
SUMMARY:Launch Party!
DESCRIPTION:Welcome to our Launch Party!
URL:http://domain.local/party/
DTSTART:20240606T090000Z
DTEND:20240606T150000Z
LOCATION:Vippa\, Oslo
GEO:59.901864;10.741167
X-APPLE-STRUCTURED-LOCATION;VALUE=URI;X-ADDRESS=Vippa\, Oslo;X-APPLE-RADIUS
 =49;X-TITLE=:geo:59.901864,10.741167
ORGANIZER:mailto:party@domain.local
END:VEVENT
END:VCALENDAR

See also

I've created a date range add-on for Ninja Forms.

Changelog

2.2.0

  • Create the calendar using Eluceo\iCal
    • multiline message
    • link to event page
    • add event location, inclusive latitude and longitude
    • attach calendar to email confirmation
  • Update translation file.
    • Add Norwegian translation
  • Update dependencies
  • Housekeeping

2.1.1

  • PHPStan it.

2.1.0

  • Enable conditional logic for the iCalendar.

2.0.0

  • Note, this is a breaking change. You can now select a date range and a time range.

1.3.4

  • Remove incompatible attribute.

1.3.3

  • Rename method in include/js/actions.js

1.3.2

  • Set default title in vcalendar
  • Mark mandatory settings

1.3.0

  • Refactor away from anonymous class.

1.2.0

  • Refactor, move create VCALENDAR to card() in class Invitation.

1.1.4

  • Update translation file.

1.1.3

  • Rename methods in JavaScript
  • Lint JavaScript using Rome

1.1.2

  • Remove wp_localize_script
  • Rename style object

1.1.1

  • Add "now" as default date and time.

1.1.0

  • Add date and time picker

1.0.0

  • Initial release.

Credits

iCalendar for Ninja Forms uses the following third-party resources:

Copyright and License

iCalendar for Ninja Forms is copyright 2021 Per Søderlind

iCalendar for Ninja Forms is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.

iCalendar for Ninja Forms is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with the Extension. If not, see http://www.gnu.org/licenses/.