[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fV8iPcaBT0CqZItDx-DGuP-1Aop58aZp9JLwrix0GXnw":3,"$fhrzE7ykUe3Y60aDkGyKhSXdHcsXexSCj-QyM-xI39ds":568,"$fXIb6P3jam5TuX827bDtHBl3dv-lyND7EuJK93m3vPAM":572},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":23,"download_link":24,"security_score":25,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27,"discovery_status":28,"vulnerabilities":29,"developer":30,"crawl_stats":26,"alternatives":37,"analysis":131,"fingerprints":498},"open-source-event-calendar","Open Source Event Calendar","1.1.0","digitaldonkey","https:\u002F\u002Fprofiles.wordpress.org\u002Fdigitaldonkey\u002F","\u003Cp>An event calendar with native iCal \u002F ICS import and export\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cp>All features are provided in their entirety. \u003Cstrong>No features are locked behind any add-ons\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Full iCal \u002F ICS import & export\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>Automatically import external calendars\u003C\u002Fli>\n\u003Cli>Categorize and tag imported feeds\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Recurring events\u003C\u002Fstrong>, including complex recurrence rules \u003Ca href=\"https:\u002F\u002Ficalendar.org\u002FiCalendar-RFC-5545\u002F3-8-5-3-recurrence-rule.html\" rel=\"nofollow ugc\">(RFC 5545)\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Filtering by category and tag\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Calendar sharing\u003C\u002Fstrong> with Google Calendar, Apple iCal, Outlook, and any other system that accepts iCalendar (.ics) feeds\u003C\u002Fli>\n\u003Cli>Month, week, day, and agenda views\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Upcoming Events\u003C\u002Fstrong> Gutenberg block\u003C\u002Fli>\n\u003Cli>Direct links to \u003Cstrong>filtered calendar views\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Color-coded events by category\u003C\u002Fli>\n\u003Cli>Featured event images and category images\u003C\u002Fli>\n\u003Cli>SEO-optimized event pages\u003C\u002Fli>\n\u003Cli>Mobile-friendly and responsive layouts\u003C\u002Fli>\n\u003Cli>Embedded \u003Cstrong>OpenStreetMap\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Theme options to customize your calendar appearence\u003C\u002Fli>\n\u003Cli>Your calendar can be embedded into a WordPress page without needing to create template files or modify the theme.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Import events from other calendars\u003C\u002Fstrong> and offer users the \u003Cstrong>ability to subscribe to your calendar\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>Importing and exporting iCalendar (.ics) feeds is one of the strongest features of the Event Calendar system. This allows you to manage your websites calendar by providing a public calendar from your Google, Apple or other calendar management software.\u003C\u002Fp>\n\u003Ch3>Blocks\u003C\u002Fh3>\n\u003Cp>You can embed the calendar by adding a \u003Cstrong>OSEC Calendar Block\u003C\u002Fstrong> to any page or post. Alternatively there is a shortcode available.\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>[!WARNING]\u003Cbr \u002F>\n  At this time, only \u003Cstrong>one calendar per page or post\u003C\u002Fstrong> is supported.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>On the long run it’s planned to have a Rest API to allow the calendar being rendered with more modern frontend tools than the current, outdated, but nice old Bootstrap 3 stuff.\u003C\u002Fp>\n\u003Ch3>Shortcodes\u003C\u002Fh3>\n\u003Ch4>Calendar Views\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>[osec]                       \u002F\u002F Default view per settings\n[osec view=\"monthly\"]\n[osec view=\"weekly\"]\n[osec view=\"agenda\"]\n[osec view=\"daily\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Filtering\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>By category\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[osec cat_name=\"Holidays\"]\n[osec cat_name=\"Lunar Cycles,zodia-date-ranges\"]\n[osec cat_id=\"1\"]\n[osec cat_id=\"1,2\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>By tag\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[osec tag_name=\"tips-and-tricks\"]\n[osec tag_name=\"creative writing,performing arts\"]\n[osec tag_id=\"1\"]\n[osec tag_id=\"1,2\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>By post ID\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[osec post_id=\"1\"]\n[osec post_id=\"1,2\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Requirements\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>WordPress: 6.6 or newer\u003C\u002Fli>\n\u003Cli>PHP:\n\u003Cul>\n\u003Cli>PHP 8.2+ required for development\u003C\u002Fli>\n\u003Cli>PHP 8.1 may work for production builds when installed with \u003Ccode>composer install --no-dev\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Languages\u003C\u002Fh3>\n\u003Cp>OSEC supports multiple languages\u003C\u002Fp>\n\u003Ch3>This Is a Fork\u003C\u002Fh3>\n\u003Cp>OSEC is a fork of the GPL licensed plugin All-in-one-Event-Calendar by Timely. At it’s time a great plugin with a solid but unmaintainable codebase (not all required developer tools where opensourced).\u003C\u002Fp>\n\u003Cp>If you love truly open source software and don’t mind to get your hands dirty you should join here. Free people need free software to manage and share events in a selfhosted manner.\u003C\u002Fp>\n\u003Ch3>External services\u003C\u002Fh3>\n\u003Cp>OSEC may connect to OpenStreetMap to render maps. If you using maps feature make sure you agree with \u003Ca href=\"https:\u002F\u002Foperations.osmfoundation.org\u002Fpolicies\u002F\" rel=\"nofollow ugc\">Terms of Service\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>OSEC may connect to OpenStreetMap Nominatim geocoding API. \u003Ca href=\"https:\u002F\u002Foperations.osmfoundation.org\u002Fpolicies\u002Fnominatim\u002F\" rel=\"nofollow ugc\">Terms of Service\u003C\u002Fa>.\u003Cbr \u002F>\nYou may need to switch the servive on a heavy traffic site as Nominatim allows an \u003Cem>absolute maximum of 1 request per second\u003C\u002Fem>.\u003C\u002Fp>\n\u003Cp>By default leaflet and leaflet-control-geocoder are loaded from unpkg.com. \u003Ca href=\"https:\u002F\u002Fapp.unpkg.com\u002Fpolicies@1.0.1\" rel=\"nofollow ugc\">Terms of Service\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>You can change using hooks: \u003Ccode>osec_leaflet_library_alter\u003C\u002Fcode>, \u003Ccode>osec_leaflet_geocoder_library_alter\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Ch3>Migration Notes\u003C\u002Fh3>\n\u003Cp>Database structure is not fully compatible with All-in-One Event Calendar v2.3.4\u003C\u002Fp>\n\u003Cp>Migration may be possible with manual effort\u003C\u002Fp>\n\u003Cp>A standardized upgrade path may be developed if there is demand and contributions\u003C\u002Fp>\n\u003Cp>See this \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdigitaldonkey\u002Fopen-source-event-calendar\u002Fwiki\u002Fmigration-from-all%E2%80%90in%E2%80%90one%E2%80%90event%E2%80%90calendar\" rel=\"nofollow ugc\">wiki\u003C\u002Fa> for currently known information on migrating.\u003C\u002Fp>\n\u003Ch3>Development & Support\u003C\u002Fh3>\n\u003Cp>The principle behind this plugin is to be Open Source. Get in touch on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdigitaldonkey\u002Fopen-source-event-calendar\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa> to report issues, propose feature enhancements, and get general guidance for contributing.\u003C\u002Fp>\n\u003Cp>Writing this fork was \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fwp-plugins\u002Fall-in-one-event-calendar\u002Fcompare\u002Fmaster...digitaldonkey:open-source-event-calendar:master\" rel=\"nofollow ugc\">a huge effort\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Digitaldonkey believes everybody should be able to set up and manage public calendars.\u003C\u002Fp>\n\u003Cp>If you are implementing this plugin for others you should support ongoing development with a \u003Ca href=\"https:\u002F\u002Fwww.paypal.com\u002Fdonate\u002F?hosted_button_id=ZNWEQRQNJBTE6\" rel=\"nofollow ugc\">donation\u003C\u002Fa> or \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdigitaldonkey\u002Fopen-source-event-calendar\u002Fissues\" rel=\"nofollow ugc\">contribution\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fdri.es\u002Fsolving-the-maker-taker-problem\" rel=\"nofollow ugc\">Be a maker\u003C\u002Fa>😀\u003C\u002Fp>\n\u003Cp>Those wishing to contribute to the development of this project, please see the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdigitaldonkey\u002Fopen-source-event-calendar\u002Fblob\u002Fmaster\u002F.github\u002FCONTRIBUTORS.md\" rel=\"nofollow ugc\">Development Guide\u003C\u002Fa> for more information.\u003C\u002Fp>\n","An event calendar with native iCal \u002F ICS import and export",10,336,0,"2026-03-27T10:40:00.000Z","6.9.4","6.6","8.2",[19,20,21,22],"calendar","events","ical-importer","ics","https:\u002F\u002Fgithub.com\u002Fdigitaldonkey\u002Fopen-source-event-calendar","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fopen-source-event-calendar.1.1.0.zip",100,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":31,"total_installs":32,"avg_security_score":33,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},3,80,76,30,77,"2026-05-20T08:04:56.083Z",[38,64,85,101,116],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":48,"num_ratings":49,"last_updated":50,"tested_up_to":51,"requires_at_least":52,"requires_php":53,"tags":54,"homepage":59,"download_link":60,"security_score":61,"vuln_count":62,"unpatched_count":13,"last_vuln_date":63,"fetched_at":27},"ics-calendar","ICS Calendar","12.0.6","Room 34 Creative Services, LLC","https:\u002F\u002Fprofiles.wordpress.org\u002Froom34\u002F","\u003Cp>Add the calendar you already use to Any WordPress site! Google Calendar, Microsoft 365, iCloud, Airbnb and more… no API keys or complicated setup required.\u003C\u002Fp>\n\u003Cp>Using a simple shortcode, you can turn any iCalendar subscription (ICS) feed (Google Calendar, Microsoft Office 365, Apple iCloud, Airbnb, Vrbo, and many more) into a seamlessly integrated, auto-updating, zero-maintenance WordPress calendar.\u003C\u002Fp>\n\u003Cp>Continue to manage your events in the calendar software you’re already using! You’ll automatically have an up-to-date calendar in your WordPress website with no extra work.\u003C\u002Fp>\n\u003Cp>Display your calendar in month, list or week view. Many additional customization options are available. See our \u003Ca href=\"https:\u002F\u002Ficscalendar.com\u002Fuser-guide\u002F\" rel=\"nofollow ugc\">User Guide\u003C\u002Fa> for full details.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>No API keys required!\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Works with ANY calendar software\u003C\u002Fstrong> that generates a public iCalendar subscription link.\u003C\u002Fp>\n\u003Ch4>Live Preview\u003C\u002Fh4>\n\u003Cp>You can preview your own calendar in any ICS Calendar view at our website: \u003Ca href=\"https:\u002F\u002Ficscalendar.com\u002Fpreview\u002F\" rel=\"nofollow ugc\">icscalendar.com\u002Fpreview\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Shortcode Builder\u003C\u002Fh4>\n\u003Cp>We’ve made it easier than ever to get started using ICS Calendar with our new online shortcode builder: \u003Ca href=\"https:\u002F\u002Ficscalendar.com\u002Fshortcode-builder\u002F\" rel=\"nofollow ugc\">icscalendar.com\u002Fshortcode-builder\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Language Support\u003C\u002Fh4>\n\u003Cp>All date strings (days of the week, months, etc.) are automatically translated into your site’s configured language (under \u003Cstrong>Settings > General > Language\u003C\u002Fstrong>) and date\u002Ftime formats using core WordPress functionality. All text content for the calendar itself is displayed as-is from the feed.\u003C\u002Fp>\n\u003Cp>ICS Calendar includes built-in translation files for the following languages: Chinese, Czech, Danish, Dutch, Estonian, Finnish, French, German, Greek, Hungarian, Icelandic, Italian, Japanese, Korean, Latvian, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian, Serbian, Slovakian, Slovenian, Spanish, Swedish, Turkish, and Ukrainian.\u003C\u002Fp>\n\u003Cp>Please \u003Ca href=\"https:\u002F\u002Ficscalendar.com\u002Fsupport\u002F\" rel=\"nofollow ugc\">contact us\u003C\u002Fa> if you would like us to add support for your language!\u003C\u002Fp>\n\u003Cp>\u003Cem>This plugin includes the PHP ICS Parser library by Jonathan Goode, John Grogg and Martin Thoma (MIT license).\u003C\u002Fem>\u003C\u002Fp>\n","Add the calendar you already use to Any WordPress site! Google Calendar, Microsoft 365, iCloud and more… no API keys or complicated setup required.",10000,1765720,98,72,"2026-04-01T15:34:00.000Z","7.0","4.9","7.4",[20,55,56,57,58],"google-calendar","icalendar","ics-feed","office-365","https:\u002F\u002Ficscalendar.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fics-calendar.12.0.6.zip",99,1,"2023-10-26 00:00:00",{"slug":65,"name":66,"version":67,"author":68,"author_profile":69,"description":70,"short_description":71,"active_installs":72,"downloaded":73,"rating":32,"num_ratings":74,"last_updated":75,"tested_up_to":15,"requires_at_least":76,"requires_php":77,"tags":78,"homepage":80,"download_link":81,"security_score":82,"vuln_count":83,"unpatched_count":13,"last_vuln_date":84,"fetched_at":27},"booking-manager","Booking Manager – Sync WP Booking Calendar – Import Events, Export Bookings to ICS Calendar","2.1.18","wpdevelop","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpdevelop\u002F","\u003Cp>Booking Manager plugin can easily show list of events in customizable way from external .ics feeds at your website.\u003Cbr \u002F>\nBooking Manager have native integration with \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbooking\u002F\" rel=\"ugc\">Booking Calendar\u003C\u002Fa>\u003C\u002Fstrong> plugin.\u003Cbr \u002F>\nIt can sync bookings from \u003Cstrong>Booking Calendar\u003C\u002Fstrong> with different sources (Airbnb, Booking.com, HomeAway, TripAdvisor, VRBO, FlipKey and any other calendar that uses .ics format).\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Foplugins.com\u002Fplugins\u002Fbooking-manager\u002F\" title=\"Booking Manager Homepage\" rel=\"nofollow ugc\">Plugin Homepage\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Foplugins.com\u002Fplugins\u002Fbooking-manager\u002F#faq\" title=\"Support\" rel=\"nofollow ugc\">Support\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch4>Booking Manager IS GREAT FOR\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Listing of upcoming events at your website from .ics feeds\u003C\u002Fli>\n\u003Cli>Sync bookings from different sources with \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbooking\u002F\" rel=\"ugc\">Booking Calendar\u003C\u002Fa> plugin\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>FEATURES\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>List of events from external .ics feeds.\u003C\u002Fli>\n\u003Cli>Ability to upload .ics file(s) to your website and use it.\u003C\u002Fli>\n\u003Cli>Customization of events listing template – it’s how events showing at front-end side of your website.\u003C\u002Fli>\n\u003Cli>Easily inserting shortcode for events listing into any post or page via popup dialog, where you can select different parameters.\u003C\u002Fli>\n\u003Cli>Setting different parameters for events listing, like “start from” and “finish to” dates, etc…\u003C\u002Fli>\n\u003Cli>Native integration with \u003Cstrong>Booking Calendar\u003C\u002Fstrong> plugin.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Sync bookings\u003C\u002Fstrong> from Booking Calendar with different sources (Airbnb, Booking.com, HomeAway, TripAdvisor, VRBO, FlipKey and any other calendar that uses .ics format).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Import .ics\u003C\u002Fstrong> feeds (files) into Booking Calendar. Its useful, if you need to import bookings from multiple external websites into one calendar in Booking Calendar plugin.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Export .ics\u003C\u002Fstrong> feeds (files) from Booking Calendar. You can publish bookings from Booking Calendar as .ics feeds at  different pages, and then import such  bookings in your other different website, like Airbnb.\u003C\u002Fli>\n\u003Cli>Configure URLs for pages where you want to publish your ics feeds.\u003C\u002Fli>\n\u003Cli>Mobile friendly.\u003C\u002Fli>\n\u003C\u002Ful>\n","Showing events listing from .ics feeds or sync bookings from different sources to your website",5000,168597,2,"2025-12-03T09:48:00.000Z","4.0","5.6",[79,20,55,56,22],"booking-calendar","https:\u002F\u002Foplugins.com\u002Fplugins\u002Fbooking-manager","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbooking-manager.2.1.18.zip",95,4,"2025-11-04 00:00:00",{"slug":86,"name":87,"version":88,"author":89,"author_profile":90,"description":91,"short_description":92,"active_installs":93,"downloaded":94,"rating":25,"num_ratings":62,"last_updated":95,"tested_up_to":15,"requires_at_least":96,"requires_php":53,"tags":97,"homepage":99,"download_link":100,"security_score":25,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27},"hydrogen-calendar-embeds","Hydrogen Calendar Embeds","3.0.1","LBell","https:\u002F\u002Fprofiles.wordpress.org\u002Flbell\u002F","\u003Cp>This completely free, extremely light-weight plugin with explosive potential embeds \u003Cstrong>ANY\u003C\u002Fstrong> iCal (.ics) calendar into your WordPress site using the beautiful, time-tested FullCalendar library.\u003C\u002Fp>\n\u003Cp>Nothing is hidden behind a “pro” upgrade. All features are free.\u003C\u002Fp>\n\u003Cp>Works with any public ICS\u002FiCal feed:\u003Cbr \u002F>\n  – Google Calendar\u003Cbr \u002F>\n  – iCloud\u003Cbr \u002F>\n  – Outlook\u003Cbr \u002F>\n  – Airbnb\u003Cbr \u002F>\n  – \u003Cstrong>Pretty much anything that can output an ICS feed\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Just add the new Hydrogen Calendar Embeds block, copy in your ical address(s), and BAM! a modern, responsive, beautiful calendar.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Need two calendars in one? We got you. \u003C\u002Fli>\n\u003Cli>Need multiple different calendars on the page? Easy peasy. \u003C\u002Fli>\n\u003Cli>Prefer another color or style? We’ve got CSS classes for days.\u003C\u002Fli>\n\u003Cli>Need different functionality? It’s developer friendly, completely extendable, and infinitely customizable.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Highlights:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Manage events using any external calendar of your choice\u003C\u002Fli>\n\u003Cli>Combine multiple ICS feeds into one calendar\u003C\u002Fli>\n\u003Cli>Embed multiple calendars on one page\u003C\u002Fli>\n\u003Cli>Lots of view options (Grid, Month List, Day List, Year List)\u003C\u002Fli>\n\u003Cli>Locale support\u003C\u002Fli>\n\u003Cli>Lots of customization options (and ability to add more)\u003C\u002Fli>\n\u003Cli>Lightweight and fast\u003C\u002Fli>\n\u003Cli>Responsive design\u003C\u002Fli>\n\u003Cli>Easy setup using WordPress Block or Shortcodes\u003C\u002Fli>\n\u003Cli>\u003Cstrong>NO API KEYS REQUIRED\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Contributing\u003C\u002Fh3>\n\u003Cp>Contributions are welcome! Please feel free to submit a Pull Request to the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flbell\u002Fhydrogen-calendar-embeds\" rel=\"nofollow ugc\">GitHub repository\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>For support, feature requests, or bug reports, please visit the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flbell\u002Fhydrogen-calendar-embeds\" rel=\"nofollow ugc\">GitHub repository\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>You can also sponsor development at \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsponsors\u002Flbell\" rel=\"nofollow ugc\">GitHub Sponsors\u003C\u002Fa>.\u003C\u002Fp>\n","The free, simple, lightweight way to embed beautiful, fully customizable ICS calendars into your WordPress site.",700,1957,"2026-01-08T17:08:00.000Z","5.8",[19,98,20,55,22],"embed","https:\u002F\u002Fgithub.com\u002Flbell\u002Fhydrogen-calendar-embeds","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fhydrogen-calendar-embeds.3.0.1.zip",{"slug":102,"name":103,"version":104,"author":105,"author_profile":106,"description":107,"short_description":108,"active_installs":34,"downloaded":109,"rating":13,"num_ratings":13,"last_updated":110,"tested_up_to":15,"requires_at_least":111,"requires_php":53,"tags":112,"homepage":114,"download_link":115,"security_score":25,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27},"evtcal-add-to-calendar","Event – Add to Calendar","1.0.0","melonwebstudio","https:\u002F\u002Fprofiles.wordpress.org\u002Fmelonwebstudio\u002F","\u003Cp>Event – Add to Calendar is a powerful and user-friendly WordPress plugin that allows your website visitors to add events to their preferred calendar service with a single click. Perfect for event websites, business sites, webinars, workshops, and any site that promotes events. Everything you need to share your events, schedules, calendars, and appointments—so your audience can easily add them to their calendar and never miss an important moment.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Multiple Calendar Services\u003C\u002Fstrong> – Supports Google Calendar, Outlook, Office 365, Yahoo Calendar, and Apple Calendar (.ics)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Easy Implementation\u003C\u002Fstrong> – Simple shortcode that can be added to any post, page, or widget\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Fully Customizable\u003C\u002Fstrong> – Configure event title, description, location, date\u002Ftime, and timezone\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customizable Button Colors\u003C\u002Fstrong> – Match your site’s design with custom button colors\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Responsive Design\u003C\u002Fstrong> – Beautiful dropdown menu that works perfectly on desktop and mobile devices\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Accessible\u003C\u002Fstrong> – Built with WCAG 2.1 accessibility standards (ARIA labels, keyboard navigation)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Secure\u003C\u002Fstrong> – Includes nonce verification and proper input sanitization\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Fast & Lightweight\u003C\u002Fstrong> – No external dependencies or API calls\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Translation Ready\u003C\u002Fstrong> – Fully internationalized and ready for translations\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Developer Friendly\u003C\u002Fstrong> – Clean, well-documented code following WordPress coding standards\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Admin Dashboard\u003C\u002Fstrong> – Easy-to-use settings page with color picker and service toggles\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Supported Calendar Services\u003C\u002Fh4>\n\u003Col>\n\u003Cli>\u003Cstrong>Google Calendar\u003C\u002Fstrong> – Direct integration with Google Calendar\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Office 365\u003C\u002Fstrong> – Microsoft Office 365 Calendar integration\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Outlook.com\u003C\u002Fstrong> – Outlook web calendar integration\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Yahoo Calendar\u003C\u002Fstrong> – Yahoo Calendar integration\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Apple Calendar & Outlook Desktop\u003C\u002Fstrong> – Universal .ics file download compatible with:\n\u003Cul>\n\u003Cli>Apple Calendar (macOS\u002FiOS)\u003C\u002Fli>\n\u003Cli>Microsoft Outlook (Desktop application)\u003C\u002Fli>\n\u003Cli>Mozilla Thunderbird\u003C\u002Fli>\n\u003Cli>Any calendar application that supports .ics files\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Use Cases\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Event promotion and registration\u003C\u002Fli>\n\u003Cli>Workshop and webinar scheduling\u003C\u002Fli>\n\u003Cli>Business appointments and consultations\u003C\u002Fli>\n\u003Cli>Community events and meetups\u003C\u002Fli>\n\u003Cli>Educational sessions and classes\u003C\u002Fli>\n\u003Cli>Conference and seminar scheduling\u003C\u002Fli>\n\u003Cli>Online and in-person events\u003C\u002Fli>\n\u003Cli>Product launches and sales events\u003C\u002Fli>\n\u003Cli>Nonprofit fundraisers and galas\u003C\u002Fli>\n\u003Cli>Sports events and tournaments\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Privacy First\u003C\u002Fh4>\n\u003Cp>This plugin respects your privacy and your users’ privacy:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>No tracking or analytics\u003C\u002Fli>\n\u003Cli>No personal data collection\u003C\u002Fli>\n\u003Cli>No cookies used\u003C\u002Fli>\n\u003Cli>No external API calls\u003C\u002Fli>\n\u003Cli>All processing happens on your server\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Ch4>Basic Usage\u003C\u002Fh4>\n\u003Cp>Add this shortcode to any post, page, or widget:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[evtcal_add_to_calendar]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Advanced Usage\u003C\u002Fh4>\n\u003Cp>Customize all event details:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[evtcal_add_to_calendar\n    title=\"Annual Company Conference 2025\"\n    description=\"Join us for our biggest event of the year with industry leaders and networking opportunities.\"\n    location=\"Grand Conference Center, New York, NY\"\n    start=\"2025-09-15 09:00:00\"\n    end=\"2025-09-15 17:00:00\"\n    timezone=\"America\u002FNew_York\"\n    label=\"Add to My Calendar\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Shortcode Attributes\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>title\u003C\u002Fstrong> – Event title (default: “My Event”)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>description\u003C\u002Fstrong> – Event description (default: “Join us for an amazing event”)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>location\u003C\u002Fstrong> – Event location (default: “Event Venue”)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>start\u003C\u002Fstrong> – Start date and time in format YYYY-MM-DD HH:MM:SS (default: “2025-11-15 10:00:00”)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>end\u003C\u002Fstrong> – End date and time in format YYYY-MM-DD HH:MM:SS (default: “2025-11-15 12:00:00”)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>timezone\u003C\u002Fstrong> – PHP timezone identifier (default: “America\u002FLos_Angeles”)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>label\u003C\u002Fstrong> – Button text (default: “Add to Calendar”)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Timezone Examples\u003C\u002Fh4>\n\u003Cp>Use standard PHP timezone identifiers:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>America\u002FNew_York – Eastern Time\u003C\u002Fli>\n\u003Cli>America\u002FChicago – Central Time\u003C\u002Fli>\n\u003Cli>America\u002FDenver – Mountain Time\u003C\u002Fli>\n\u003Cli>America\u002FLos_Angeles – Pacific Time\u003C\u002Fli>\n\u003Cli>America\u002FPhoenix – Arizona Time\u003C\u002Fli>\n\u003Cli>Europe\u002FLondon – GMT\u002FBST\u003C\u002Fli>\n\u003Cli>Europe\u002FParis – CET\u002FCEST\u003C\u002Fli>\n\u003Cli>Asia\u002FTokyo – JST\u003C\u002Fli>\n\u003Cli>Australia\u002FSydney – AEST\u002FAEDT\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.php.net\u002Fmanual\u002Fen\u002Ftimezones.php\" rel=\"nofollow ugc\">View complete timezone list\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>PHP Usage\u003C\u002Fh4>\n\u003Cp>You can also use the shortcode in your PHP templates:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php echo do_shortcode('[evtcal_add_to_calendar]'); ?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Or with dynamic content:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php\n$event_shortcode = sprintf(\n    '[evtcal_add_to_calendar title=\"%s\" start=\"%s\" end=\"%s\"]',\n    esc_attr($event_title),\n    esc_attr($start_datetime),\n    esc_attr($end_datetime)\n);\necho do_shortcode($event_shortcode);\n?>\u003Ch3>Additional Information\u003C\u002Fh3>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Browser Compatibility\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Chrome (latest)\u003C\u002Fli>\n\u003Cli>Firefox (latest)\u003C\u002Fli>\n\u003Cli>Safari (latest)\u003C\u002Fli>\n\u003Cli>Edge (latest)\u003C\u002Fli>\n\u003Cli>Opera (latest)\u003C\u002Fli>\n\u003Cli>Mobile browsers (iOS Safari, Chrome Mobile, Samsung Internet)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Technical Requirements\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>WordPress 5.0 or higher\u003C\u002Fli>\n\u003Cli>PHP 7.4 or higher\u003C\u002Fli>\n\u003Cli>Modern browser with JavaScript enabled\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Credits\u003C\u002Fh4>\n\u003Cp>Developed by Melon Web Studio\u003Cbr \u002F>\nWebsite: https:\u002F\u002Fwww.melonwebstudio.com\u003C\u002Fp>\n\u003Ch4>Support Our Development\u003C\u002Fh4>\n\u003Cp>If you find this plugin helpful, please consider:\u003Cbr \u002F>\n* Leaving a 5-star review\u003Cbr \u002F>\n* Sharing with friends and colleagues\u003Cbr \u002F>\n* Supporting us via PayPal\u003C\u002Fp>\n\u003Ch3>Privacy Policy\u003C\u002Fh3>\n\u003Cp>Event – Add to Calendar does not:\u003Cbr \u002F>\n* Track users\u003Cbr \u002F>\n* Store personal information\u003Cbr \u002F>\n* Use cookies\u003Cbr \u002F>\n* Send data to external servers\u003Cbr \u002F>\n* Collect analytics\u003Cbr \u002F>\n* Require user registration\u003C\u002Fp>\n\u003Cp>All calendar generation and downloads happen locally on your WordPress installation.\u003C\u002Fp>\n\u003Cp>The plugin creates links to third-party calendar services only when users voluntarily choose to add events to their calendars.\u003C\u002Fp>\n\u003Ch3>Developer Information\u003C\u002Fh3>\n\u003Ch4>Hooks & Filters\u003C\u002Fh4>\n\u003Cp>Currently, the plugin doesn’t expose custom hooks and filters, but they may be added in future versions based on user feedback.\u003C\u002Fp>\n\u003Ch4>File Structure\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>\u002Fassets\u002Fcss\u002F\u003C\u002Fcode> – Stylesheet files\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u002Fassets\u002Fjs\u002F\u003C\u002Fcode> – JavaScript files\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u002Fassets\u002Fimages\u002F\u003C\u002Fcode> – Calendar service icons\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u002Fincludes\u002F\u003C\u002Fcode> – PHP class files\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u002Ftemplates\u002F\u003C\u002Fcode> – Template files\u003C\u002Fli>\n\u003Cli>\u003Ccode>\u002Flanguages\u002F\u003C\u002Fcode> – Translation files\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>CSS Classes\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>.evtcal\u003C\u002Fcode> – Main container\u003C\u002Fli>\n\u003Cli>\u003Ccode>.evtcal-btn\u003C\u002Fcode> – Calendar button\u003C\u002Fli>\n\u003Cli>\u003Ccode>.evtcal-dropdown\u003C\u002Fcode> – Dropdown menu\u003C\u002Fli>\n\u003Cli>\u003Ccode>.evtcal-arrow\u003C\u002Fcode> – Arrow icon\u003C\u002Fli>\n\u003Cli>\u003Ccode>.evtcal.active\u003C\u002Fcode> – Active state\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Contributing\u003C\u002Fh4>\n\u003Cp>We welcome contributions! Please contact us at support@melonwebstudio.com if you’d like to contribute to the development of this plugin.\u003C\u002Fp>\n\u003Ch4>Support\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Documentation: https:\u002F\u002Fwww.melonwebstudio.com\u002Fdocs\u003C\u002Fli>\n\u003Cli>Email: support@melonwebstudio.com\u003C\u002Fli>\n\u003Cli>WordPress Forum: https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fevent-add-to-calendar\u002F\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Third Party Services\u003C\u002Fh3>\n\u003Cp>This plugin creates links to the following third-party calendar services when users choose to add events:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>Google Calendar\u003C\u002Fstrong> – https:\u002F\u002Fcalendar.google.com\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fpolicies.google.com\u002Fprivacy\" rel=\"nofollow ugc\">Privacy Policy\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fpolicies.google.com\u002Fterms\" rel=\"nofollow ugc\">Terms of Service\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Microsoft Outlook\u002FOffice 365\u003C\u002Fstrong> – https:\u002F\u002Foutlook.com and https:\u002F\u002Foutlook.office.com\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fprivacy.microsoft.com\u002F\" rel=\"nofollow ugc\">Privacy Policy\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fwww.microsoft.com\u002Fservicesagreement\u002F\" rel=\"nofollow ugc\">Terms of Service\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Yahoo Calendar\u003C\u002Fstrong> – https:\u002F\u002Fcalendar.yahoo.com\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Flegal.yahoo.com\u002Fus\u002Fen\u002Fyahoo\u002Fprivacy\u002F\" rel=\"nofollow ugc\">Privacy Policy\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Flegal.yahoo.com\u002Fus\u002Fen\u002Fyahoo\u002Fterms\u002Fotos\u002F\" rel=\"nofollow ugc\">Terms of Service\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>These links are opened in new tabs and the plugin does not send any data to these services. Users choose to add events to their calendars voluntarily. No API keys or authentication is required.\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under GPLv2 or later.\u003C\u002Fp>\n\u003Cp>Copyright 2025 Melon Web Studio\u003C\u002Fp>\n\u003Cp>This program is free software; you can redistribute it and\u002For modify\u003Cbr \u002F>\nit under the terms of the GNU General Public License as published by\u003Cbr \u002F>\nthe Free Software Foundation; either version 2 of the License, or\u003Cbr \u002F>\n(at your option) any later version.\u003C\u002Fp>\n\u003Cp>This program is distributed in the hope that it will be useful,\u003Cbr \u002F>\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\u003Cbr \u002F>\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\u003Cbr \u002F>\nGNU General Public License for more details.\u003C\u002Fp>\n\u003Cp>You should have received a copy of the GNU General Public License\u003Cbr \u002F>\nalong with this program; if not, write to the Free Software\u003Cbr \u002F>\nFoundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\u003C\u002Fp>\n","Add customizable \"Add to Calendar\" buttons to your WordPress site with support for Google Calendar, Outlook, Apple Calendar, and more.",204,"2026-01-18T18:19:00.000Z","5.0",[113,19,20,55,22],"add-to-calendar","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fevtcal-add-to-calendar","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fevtcal-add-to-calendar.1.0.0.zip",{"slug":117,"name":118,"version":119,"author":120,"author_profile":121,"description":122,"short_description":123,"active_installs":13,"downloaded":124,"rating":13,"num_ratings":13,"last_updated":125,"tested_up_to":15,"requires_at_least":96,"requires_php":53,"tags":126,"homepage":129,"download_link":130,"security_score":25,"vuln_count":13,"unpatched_count":13,"last_vuln_date":26,"fetched_at":27},"appsbyadie-events-pro","AppsByAdie Events Pro","2.4.1","appsbyadie","https:\u002F\u002Fprofiles.wordpress.org\u002Fappsbyadie\u002F","\u003Cp>AppsByAdie Events Pro provides a clean and efficient way to manage and display events on your WordPress site. Built with security and performance in mind, it avoids heavy database bloat while offering professional features.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Custom Event Post Type:\u003C\u002Fstrong> Keep your events separate from your blog posts.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Add to Calendar:\u003C\u002Fstrong> Securely generated .ics files for users to save events to their personal calendars.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Style Management:\u003C\u002Fstrong> Customize primary and secondary colors directly from the admin dashboard to match your theme.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Categorization:\u003C\u002Fstrong> Organize events with a dedicated taxonomy.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shortcode Support:\u003C\u002Fstrong> Easily display your event list anywhere using \u003Ccode>[abapro_events]\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automatic Status:\u003C\u002Fstrong> Automatically identifies and styles past events.\u003C\u002Fli>\n\u003C\u002Ful>\n","A lightweight, secure event management system with built-in ICS \"Add to Calendar\" support and customizable admin styles.",53,"2026-04-09T14:26:00.000Z",[19,127,20,22,128],"event-manager","schedule","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fappsbyadie-events-pro.2.4.1.zip",{"attackSurface":132,"codeSignals":382,"taintFlows":408,"riskAssessment":487,"analyzedAt":497},{"hooks":133,"ajaxHandlers":347,"restRoutes":371,"shortcodes":378,"cronEvents":379,"entryPointCount":380,"unprotectedCount":381},[134,140,143,146,149,152,155,157,159,162,164,168,170,172,175,178,180,183,186,189,192,195,198,201,204,207,210,213,216,219,221,223,226,229,233,237,238,242,246,250,254,256,259,261,263,266,269,273,276,278,282,285,288,291,294,297,299,301,304,308,311,314,318,320,323,325,330,334,337,340,344],{"type":135,"name":136,"callback":137,"file":138,"line":139},"action","init","closure","open-source-event-calendar.php",45,{"type":135,"name":141,"callback":137,"file":138,"line":142},"admin_enqueue_scripts",105,{"type":135,"name":136,"callback":144,"priority":62,"file":145,"line":82},"anonymous","src\u002FApp\u002FController\u002FBootstrapController.php",{"type":135,"name":147,"callback":144,"priority":62,"file":145,"line":148},"after_setup_theme",96,{"type":135,"name":136,"callback":150,"priority":62,"file":145,"line":151},"verifyCache",97,{"type":135,"name":136,"callback":153,"priority":74,"file":145,"line":154},"render_css",131,{"type":135,"name":136,"callback":137,"file":145,"line":156},196,{"type":135,"name":136,"callback":137,"file":145,"line":158},203,{"type":135,"name":160,"callback":137,"file":145,"line":161},"admin_init",210,{"type":135,"name":136,"callback":137,"priority":11,"file":145,"line":163},217,{"type":165,"name":166,"callback":137,"priority":11,"file":145,"line":167},"filter","use_block_editor_for_post_type",221,{"type":135,"name":136,"callback":144,"file":145,"line":169},229,{"type":135,"name":136,"callback":144,"file":145,"line":171},233,{"type":135,"name":173,"callback":144,"file":145,"line":174},"template_redirect",235,{"type":135,"name":176,"callback":137,"priority":11,"file":145,"line":177},"pre_http_request",241,{"type":135,"name":136,"callback":137,"file":145,"line":179},246,{"type":165,"name":181,"callback":137,"file":145,"line":182},"get_the_excerpt",250,{"type":165,"name":184,"callback":137,"priority":11,"file":145,"line":185},"robots_txt",254,{"type":165,"name":187,"callback":137,"file":145,"line":188},"osec_dbi_debug",258,{"type":135,"name":190,"callback":137,"file":145,"line":191},"updated_option",287,{"type":135,"name":193,"callback":137,"file":145,"line":194},"current_screen",343,{"type":135,"name":196,"callback":137,"file":145,"line":197},"admin_menu",362,{"type":135,"name":199,"callback":137,"file":145,"line":200},"network_admin_notices",374,{"type":135,"name":202,"callback":137,"file":145,"line":203},"admin_notices",381,{"type":165,"name":205,"callback":137,"priority":11,"file":145,"line":206},"post_row_actions",388,{"type":135,"name":208,"callback":137,"file":145,"line":209},"add_meta_boxes",392,{"type":135,"name":211,"callback":137,"file":145,"line":212},"edit_form_after_title",405,{"type":165,"name":214,"callback":137,"priority":11,"file":145,"line":215},"wp_insert_post_data",421,{"type":165,"name":217,"callback":137,"file":145,"line":218},"post_updated_messages",430,{"type":135,"name":141,"callback":137,"file":145,"line":220},450,{"type":135,"name":147,"callback":137,"file":145,"line":222},462,{"type":135,"name":224,"callback":137,"file":145,"line":225},"the_post",469,{"type":135,"name":227,"callback":137,"file":145,"line":228},"send_headers",478,{"type":135,"name":230,"callback":144,"file":231,"line":232},"osec_loaded","src\u002FApp\u002FController\u002FDatabaseController.php",47,{"type":135,"name":234,"callback":144,"file":235,"line":236},"wp_head","src\u002FApp\u002FController\u002FFrontendCssController.php",223,{"type":135,"name":234,"callback":144,"file":235,"line":188},{"type":135,"name":239,"callback":137,"file":240,"line":241},"rest_api_init","src\u002FApp\u002FController\u002FRestController.php",15,{"type":165,"name":243,"callback":144,"file":244,"line":245},"rewrite_rules_array","src\u002FApp\u002FController\u002FRouter.php",150,{"type":165,"name":247,"callback":144,"file":248,"line":249},"ai1ec_settings_initiated","src\u002FApp\u002FController\u002FScheduler.php",59,{"type":135,"name":251,"callback":137,"file":252,"line":253},"wp_loaded","src\u002FApp\u002FController\u002FScriptsFrontendController.php",118,{"type":135,"name":136,"callback":137,"file":252,"line":255},126,{"type":135,"name":257,"callback":137,"priority":11,"file":258,"line":34},"delete_post","src\u002FApp\u002FController\u002FTrashController.php",{"type":135,"name":257,"callback":137,"priority":11,"file":258,"line":260},38,{"type":135,"name":262,"callback":137,"priority":11,"file":258,"line":232},"trashed_post",{"type":135,"name":264,"callback":137,"priority":11,"file":258,"line":265},"untrashed_post",56,{"type":165,"name":267,"callback":144,"file":268,"line":35},"the_content","src\u002FApp\u002FModel\u002FContentFilterBypassHelper.php",{"type":135,"name":270,"callback":137,"file":271,"line":272},"admin_action_editpost","src\u002FApp\u002FModel\u002FPostTypeEvent\u002FEventParent.php",33,{"type":165,"name":274,"callback":137,"priority":11,"file":271,"line":275},"user_has_cap",42,{"type":135,"name":205,"callback":137,"priority":11,"file":271,"line":277},52,{"type":135,"name":279,"callback":137,"file":280,"line":281},"osec_events_categories_add_form_fields","src\u002FApp\u002FView\u002FAdmin\u002FAdminEventCategoryHooks.php",29,{"type":135,"name":283,"callback":137,"file":280,"line":284},"osec_events_categories_edit_form_fields",36,{"type":135,"name":286,"callback":137,"file":280,"line":287},"created_osec_events_categories",43,{"type":135,"name":289,"callback":137,"file":280,"line":290},"edited_osec_events_categories",50,{"type":135,"name":292,"callback":137,"file":280,"line":293},"manage_edit-osec_events_categories_columns",57,{"type":135,"name":295,"callback":137,"priority":11,"file":280,"line":296},"manage_osec_events_categories_custom_column",64,{"type":165,"name":298,"callback":137,"priority":61,"file":280,"line":33},"get_post_metadata",{"type":135,"name":211,"callback":137,"file":300,"line":139},"src\u002FApp\u002FView\u002FAdmin\u002FAdminPageAddEvent.php",{"type":165,"name":302,"callback":144,"file":300,"line":303},"print_scripts_array",227,{"type":135,"name":305,"callback":137,"file":306,"line":307},"restrict_manage_posts","src\u002FApp\u002FView\u002FAdmin\u002FAdminPageAllEvents.php",31,{"type":135,"name":309,"callback":137,"file":306,"line":310},"parse_query",37,{"type":165,"name":312,"callback":137,"priority":11,"file":306,"line":313},"posts_orderby",65,{"type":165,"name":315,"callback":137,"priority":11,"file":316,"line":317},"render_block","src\u002FApp\u002FView\u002FEvent\u002FEventSingleView.php",28,{"type":165,"name":267,"callback":137,"file":316,"line":319},60,{"type":165,"name":321,"callback":144,"file":322,"line":272},"qtranslate_language","src\u002FApp\u002FWpmlHelper.php",{"type":135,"name":136,"callback":144,"priority":62,"file":322,"line":324},304,{"type":165,"name":326,"callback":327,"file":328,"line":329},"use_streams_transport","__return_false","src\u002FHttp\u002FRequest\u002FRequest.php",102,{"type":165,"name":267,"callback":331,"file":332,"line":333},"event_content","src\u002FHttp\u002FResponse\u002FRenderHtml.php",58,{"type":165,"name":267,"callback":335,"file":332,"line":336},"append_content",63,{"type":165,"name":338,"callback":327,"file":339,"line":281},"osec_twig_add_debug","src\u002FTheme\u002FThemeCompiler.php",{"type":165,"name":341,"callback":144,"priority":11,"file":342,"line":343},"theme_root_uri","src\u002FTheme\u002FThemeFinder.php",88,{"type":165,"name":345,"callback":327,"priority":62,"file":342,"line":346},"wp_cache_themes_persistently",109,[348,352,355,357,360,363,366,368],{"action":349,"nopriv":350,"callback":137,"hasNonce":350,"hasCapCheck":350,"file":145,"line":351},"osec_get_repeat_box",false,311,{"action":353,"nopriv":350,"callback":137,"hasNonce":350,"hasCapCheck":350,"file":145,"line":354},"osec_dismiss_notice",323,{"action":356,"nopriv":350,"callback":137,"hasNonce":350,"hasCapCheck":350,"file":145,"line":12},"osec_rrule_to_text",{"action":358,"nopriv":350,"callback":137,"hasNonce":350,"hasCapCheck":350,"file":145,"line":359},"osec_rescan_cache",443,{"action":361,"nopriv":350,"callback":137,"hasNonce":350,"hasCapCheck":350,"file":362,"line":35},"osec_add_ics","src\u002FApp\u002FController\u002FFeedsController.php",{"action":364,"nopriv":350,"callback":137,"hasNonce":350,"hasCapCheck":350,"file":362,"line":365},"osec_delete_ics",86,{"action":367,"nopriv":350,"callback":137,"hasNonce":350,"hasCapCheck":350,"file":362,"line":82},"osec_update_ics",{"action":369,"nopriv":350,"callback":137,"hasNonce":350,"hasCapCheck":350,"file":362,"line":370},"osec_feeds_page_post",110,[372],{"namespace":373,"route":374,"methods":375,"callback":137,"permissionCallback":137,"file":240,"line":377},"osec\u002Fv1","\u002Fsettings",[376],"GET",18,[],[],9,8,{"dangerousFunctions":383,"sqlUsage":384,"outputEscaping":387,"fileOperations":401,"externalRequests":62,"nonceChecks":241,"capabilityChecks":402,"bundledLibraries":403},[],{"prepared":385,"raw":13,"locations":386},73,[],{"escaped":388,"rawEcho":83,"locations":389},391,[390,393,396,398],{"file":235,"line":391,"context":392},106,"raw output",{"file":394,"line":395,"context":392},"src\u002FHttp\u002FRequest\u002FHttpEncoderBase.php",153,{"file":397,"line":284,"context":392},"src\u002FHttp\u002FResponse\u002FRenderJsonP.php",{"file":399,"line":400,"context":392},"src\u002FWpCli\u002FMakeReadme.php",115,16,20,[404],{"name":405,"version":406,"knownCves":407},"Select2","3.3.1",[],[409,427,435,447,455,465,479],{"entryPoint":410,"graph":411,"unsanitizedCount":62,"severity":426},"render_css (src\u002FApp\u002FController\u002FFrontendCssController.php:83)",{"nodes":412,"edges":424},[413,418],{"id":414,"type":415,"label":416,"file":235,"line":417},"n0","source","$_GET",89,{"id":419,"type":420,"label":421,"file":235,"line":422,"wp_function":423},"n1","sink","header() [Header Injection]",90,"header",[425],{"from":414,"to":419,"sanitized":350},"medium",{"entryPoint":428,"graph":429,"unsanitizedCount":62,"severity":426},"\u003CFrontendCssController> (src\u002FApp\u002FController\u002FFrontendCssController.php:0)",{"nodes":430,"edges":433},[431,432],{"id":414,"type":415,"label":416,"file":235,"line":417},{"id":419,"type":420,"label":421,"file":235,"line":422,"wp_function":423},[434],{"from":414,"to":419,"sanitized":350},{"entryPoint":436,"graph":437,"unsanitizedCount":62,"severity":426},"render_js (src\u002FApp\u002FController\u002FScriptsFrontendController.php:140)",{"nodes":438,"edges":445},[439,441],{"id":414,"type":415,"label":416,"file":252,"line":440},147,{"id":419,"type":420,"label":442,"file":252,"line":443,"wp_function":444},"file_get_contents() [SSRF\u002FLFI]",188,"file_get_contents",[446],{"from":414,"to":419,"sanitized":350},{"entryPoint":448,"graph":449,"unsanitizedCount":62,"severity":426},"\u003CScriptsFrontendController> (src\u002FApp\u002FController\u002FScriptsFrontendController.php:0)",{"nodes":450,"edges":453},[451,452],{"id":414,"type":415,"label":416,"file":252,"line":440},{"id":419,"type":420,"label":442,"file":252,"line":443,"wp_function":444},[454],{"from":414,"to":419,"sanitized":350},{"entryPoint":456,"graph":457,"unsanitizedCount":62,"severity":426},"render (src\u002FHttp\u002FResponse\u002FRenderJsonP.php:19)",{"nodes":458,"edges":463},[459,460],{"id":414,"type":415,"label":416,"file":397,"line":307},{"id":419,"type":420,"label":461,"file":397,"line":284,"wp_function":462},"echo() [XSS]","echo",[464],{"from":414,"to":419,"sanitized":350},{"entryPoint":466,"graph":467,"unsanitizedCount":13,"severity":478},"\u003CEventParent> (src\u002FApp\u002FModel\u002FPostTypeEvent\u002FEventParent.php:0)",{"nodes":468,"edges":475},[469,471],{"id":414,"type":415,"label":470,"file":271,"line":417},"$_POST (x2)",{"id":419,"type":420,"label":472,"file":271,"line":473,"wp_function":474},"get_var() [SQLi]",226,"get_var",[476],{"from":414,"to":419,"sanitized":477},true,"low",{"entryPoint":480,"graph":481,"unsanitizedCount":62,"severity":478},"\u003CRenderJsonP> (src\u002FHttp\u002FResponse\u002FRenderJsonP.php:0)",{"nodes":482,"edges":485},[483,484],{"id":414,"type":415,"label":416,"file":397,"line":307},{"id":419,"type":420,"label":461,"file":397,"line":284,"wp_function":462},[486],{"from":414,"to":419,"sanitized":350},{"summary":488,"deductions":489},"The open-source-event-calendar v1.1.0 exhibits a mixed security posture. On the positive side, the plugin demonstrates good practices with 100% of SQL queries using prepared statements and 99% of output properly escaped, significantly mitigating common web vulnerabilities. The absence of known CVEs and a history of vulnerabilities further suggests a generally stable codebase. However, a significant concern arises from the attack surface analysis, revealing 8 AJAX handlers that lack authentication checks. While the taint analysis did not identify critical or high-severity unsanitized flows, the presence of 6 flows with unsanitized paths, even if rated lower severity, warrants attention, especially when combined with the unprotected AJAX endpoints. The bundled Select2 v3.3.1 library is outdated, posing a potential risk if vulnerabilities exist in that specific version.\n\nIn conclusion, the plugin benefits from robust data handling practices but is weakened by a substantial number of unprotected entry points that could be exploited. The lack of historical vulnerabilities is a strength, but the static analysis highlights areas for improvement to harden the plugin's security. The outdated bundled library is a minor but addressable risk. Further investigation into the 6 unsanitized paths is recommended, though their impact appears limited in this version based on the current analysis.",[490,492,495],{"reason":491,"points":381},"8 unprotected AJAX handlers",{"reason":493,"points":494},"6 unsanitized paths in taint analysis",6,{"reason":496,"points":31},"Bundled outdated Select2 v3.3.1 library","2026-04-16T12:02:20.519Z",{"wat":499,"direct":516},{"assetPaths":500,"generatorPatterns":507,"scriptPaths":508,"versionParams":509},[501,502,503,504,505,506],"\u002Fwp-content\u002Fplugins\u002Fopen-source-event-calendar\u002Fcalendar_block\u002Fbuild\u002Findex.js","\u002Fwp-content\u002Fplugins\u002Fopen-source-event-calendar\u002Fcalendar_block\u002Fbuild\u002Findex.css","\u002Fwp-content\u002Fplugins\u002Fopen-source-event-calendar\u002Fcalendar_block\u002Fbuild\u002Fstyle-index.css","\u002Fwp-content\u002Fplugins\u002Fopen-source-event-calendar\u002Fassets\u002Fcss\u002Fosec-frontend.css","\u002Fwp-content\u002Fplugins\u002Fopen-source-event-calendar\u002Fassets\u002Fjs\u002Fosec-frontend.js","\u002Fwp-content\u002Fplugins\u002Fopen-source-event-calendar\u002Fassets\u002Fjs\u002Ffrontend\u002Fosec-frontend.js",[],[501,505,506],[510,511,512,513,514,515],"open-source-event-calendar\u002Fcalendar_block\u002Fbuild\u002Findex.js?ver=","open-source-event-calendar\u002Fcalendar_block\u002Fbuild\u002Findex.css?ver=","open-source-event-calendar\u002Fcalendar_block\u002Fbuild\u002Fstyle-index.css?ver=","open-source-event-calendar\u002Fassets\u002Fcss\u002Fosec-frontend.css?ver=","open-source-event-calendar\u002Fassets\u002Fjs\u002Fosec-frontend.js?ver=","open-source-event-calendar\u002Fassets\u002Fjs\u002Ffrontend\u002Fosec-frontend.js?ver=",{"cssClasses":517,"htmlComments":541,"htmlAttributes":544,"restEndpoints":554,"jsGlobals":560,"shortcodeOutput":564},[518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540],"osec-calendar-view","osec-calendar-day-event","osec-calendar-day-event-details","osec-calendar-modal","osec-calendar-modal-header","osec-calendar-modal-body","osec-calendar-modal-footer","osec-calendar-filter-bar","osec-calendar-filter","osec-calendar-filter-label","osec-calendar-filter-select","osec-calendar-view-switch","osec-calendar-view-button","osec-calendar-agenda","osec-calendar-agenda-event","osec-calendar-agenda-event-time","osec-calendar-agenda-event-title","osec-calendar-agenda-event-location","osec-calendar-date-navigation","osec-calendar-date-navigation-button","osec-calendar-date-navigation-label","osec-editor-style","wp-block-open-source-event-calendar-osec-calendar-classic",[542,543],"\u003C!-- Autosaving Event Data does not currently work.","EventEditing->save_post() is not receiving Event Data.",[545,546,547,548,549,550,551,552,553],"data-osec-view","data-osec-post-ids","data-osec-display-filters","data-osec-display-subscribe","data-osec-agenda-toggle","data-osec-display-view-switch","data-osec-display-date-navigation","data-osec-events-limit","data-osec-taxonomies",[555,556,557,558,559],"\u002Fwp-json\u002Fosec\u002Fv1\u002Fevents","\u002Fwp-json\u002Fosec\u002Fv1\u002Fcategories","\u002Fwp-json\u002Fosec\u002Fv1\u002Ftags","\u002Fwp-json\u002Fosec\u002Fv1\u002Flocations","\u002Fwp-json\u002Fosec\u002Fv1\u002Forganizers",[561,562,563],"osec_frontend_data","OSEventCalendar","osecCalendar",[565,566,567],"[osec-calendar]","[osec-calendar-list]","[osec-calendar-agenda]",{"error":477,"url":569,"statusCode":570,"statusMessage":571,"message":571},"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fopen-source-event-calendar\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":74,"versions":573},[574,579],{"version":6,"download_url":24,"svn_tag_url":575,"released_at":26,"has_diff":350,"diff_files_changed":576,"diff_lines":26,"trac_diff_url":577,"vulnerabilities":578,"is_current":477},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fopen-source-event-calendar\u002Ftags\u002F1.1.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fopen-source-event-calendar%2Ftags%2F1.0.11&new_path=%2Fopen-source-event-calendar%2Ftags%2F1.1.0",[],{"version":580,"download_url":581,"svn_tag_url":582,"released_at":26,"has_diff":350,"diff_files_changed":583,"diff_lines":26,"trac_diff_url":26,"vulnerabilities":584,"is_current":350},"1.0.11","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fopen-source-event-calendar.1.0.11.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fopen-source-event-calendar\u002Ftags\u002F1.0.11\u002F",[],[]]