[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fKYkj_IMqP2XsN36CLYmLxKChtGp7UzDjZd5S-CyL7pE":3},{"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":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":44,"crawl_stats":35,"alternatives":51,"analysis":144,"fingerprints":627},"calendar-plus","Calendar Plus","1.2.4","webjunk","https:\u002F\u002Fprofiles.wordpress.org\u002Fwebjunk\u002F","\u003Cp>A simple but effective Calendar plugin for WordPress that allows you to manage your events and appointments and display them to the world on your website. The Plus is that Two seperate calendars may be used. Also a smaller displayed version of the Calendar to better fit into page or post content.\u003Cbr \u002F>\nThis can be used as a drop-in replacement for the original Calendar plguin.\u003C\u002Fp>\n\u003Cp>Features:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Monthly view of events\u003C\u002Fli>\n\u003Cli>Mouse-over details for each event\u003C\u002Fli>\n\u003Cli>Events can have a timestamp (optional)\u003C\u002Fli>\n\u003Cli>Events can display their author (optional)\u003C\u002Fli>\n\u003Cli>Events can span more than one day\u003C\u002Fli>\n\u003Cli>Multiple events per day possible\u003C\u002Fli>\n\u003Cli>Events can repeat on a weekly, monthly (set numerical day), monthly (set textual day) or yearly basis\u003C\u002Fli>\n\u003Cli>Repeats can occur indefinitely or a limited number of times\u003C\u002Fli>\n\u003Cli>Easy to use events manager in admin dashboard\u003C\u002Fli>\n\u003Cli>Sidebar function\u002FWidget to show todays events\u003C\u002Fli>\n\u003Cli>Sidebar function\u002FWidget to show upcoming events\u003C\u002Fli>\n\u003Cli>Lists of todays events can be displayed in posts or pages\u003C\u002Fli>\n\u003Cli>Lists of upcoming events can be displayed in posts or pages\u003C\u002Fli>\n\u003Cli>Comprehensive options panel for admin\u003C\u002Fli>\n\u003Cli>Modifiable CSS using the options panel\u003C\u002Fli>\n\u003Cli>Optional drop down boxes to quickly change month and year\u003C\u002Fli>\n\u003Cli>User groups other than admin can be permitted to manage events\u003C\u002Fli>\n\u003Cli>Events can be placed into categories\u003C\u002Fli>\n\u003Cli>A calendar of events for just one of more categories can be displayed\u003C\u002Fli>\n\u003Cli>Categories system can be switched on or off\u003C\u002Fli>\n\u003Cli>Pop up javascript calendars help the choosing of dates\u003C\u002Fli>\n\u003Cli>Events can be links pointing to a location of your choice\u003C\u002Fli>\n\u003Cli>Full internationalisation is possible\u003C\u002Fli>\n\u003Cli>Comaptible with WordPress MU\u003C\u002Fli>\n\u003Cli>Two seperate Calendars can be setup and used\u003C\u002Fli>\n\u003Cli>Calendar can be full-size or small size to fit into page or post content\u003C\u002Fli>\n\u003Cli>Drop in replacement for original Calendar plugin\u003C\u002Fli>\n\u003C\u002Ful>\n","A simple Calendar plugin for WordPress that allows 2 seperate calendars. This can be used as a drop-in replacement for the original Calendar plugin.",60,26961,0,"2010-11-10T05:09:00.000Z","3.0.5","2.0","",[19,20,21,22],"calendar","dates","events","times","http:\u002F\u002Fwebjunk.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcalendar-plus.zip",63,1,"2025-09-12 00:00:00","2026-03-15T15:16:48.613Z",[30],{"id":31,"url_slug":32,"title":33,"description":34,"plugin_slug":4,"theme_slug":35,"affected_versions":36,"patched_in_version":35,"severity":37,"cvss_score":38,"cvss_vector":39,"vuln_type":40,"published_date":27,"updated_date":41,"references":42,"days_to_patch":35},"CVE-2025-53350","calendar-plus-reflected-cross-site-scripting","Calendar Plus \u003C= 1.2.4 - Reflected Cross-Site Scripting","The Calendar Plus plugin for WordPress is vulnerable to Reflected Cross-Site Scripting in versions up to, and including, 1.2.4 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute if they can successfully trick a user into performing an action such as clicking on a link.",null,"\u003C=1.2.4","medium",6.1,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:R\u002FS:C\u002FC:L\u002FI:L\u002FA:N","Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","2025-10-29 20:01:04",[43],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F7555c5a5-54e2-4740-9b2f-84d526c9a5c1?source=api-prod",{"slug":7,"display_name":7,"profile_url":8,"plugin_count":45,"total_installs":46,"avg_security_score":47,"avg_patch_time_days":48,"trust_score":49,"computed_at":50},2,70,82,30,81,"2026-04-03T19:19:57.895Z",[52,72,92,111,126],{"slug":19,"name":53,"version":54,"author":55,"author_profile":56,"description":57,"short_description":58,"active_installs":59,"downloaded":60,"rating":61,"num_ratings":62,"last_updated":63,"tested_up_to":64,"requires_at_least":65,"requires_php":17,"tags":66,"homepage":67,"download_link":68,"security_score":69,"vuln_count":70,"unpatched_count":13,"last_vuln_date":71,"fetched_at":28},"Calendar","1.3.17","Kieran O'Shea","https:\u002F\u002Fprofiles.wordpress.org\u002Fkieranoshea\u002F","\u003Cp>A simple but effective Calendar plugin for WordPress that allows you to\u003Cbr \u002F>\nmanage your events and appointments and display them to the world on your\u003Cbr \u002F>\nwebsite.\u003C\u002Fp>\n\u003Cp>Features:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Monthly view of events\u003C\u002Fli>\n\u003Cli>Mouse-over details for each event\u003C\u002Fli>\n\u003Cli>Events can have a timestamp (optional)\u003C\u002Fli>\n\u003Cli>Events can display their author (optional)\u003C\u002Fli>\n\u003Cli>Events can span more than one day\u003C\u002Fli>\n\u003Cli>Multiple events per day possible\u003C\u002Fli>\n\u003Cli>Events can repeat on a weekly, monthly (set numerical day), monthly (set textual day) or yearly basis\u003C\u002Fli>\n\u003Cli>Repeats can occur indefinitely or a limited number of times\u003C\u002Fli>\n\u003Cli>Easy to use events manager in admin dashboard\u003C\u002Fli>\n\u003Cli>Sidebar function\u002FWidget to show todays events\u003C\u002Fli>\n\u003Cli>Sidebar function\u002FWidget to show upcoming events\u003C\u002Fli>\n\u003Cli>Lists of todays events can be displayed in posts or pages\u003C\u002Fli>\n\u003Cli>Lists of upcoming events can be displayed in posts or pages\u003C\u002Fli>\n\u003Cli>Comprehensive options panel for admin\u003C\u002Fli>\n\u003Cli>Modifiable CSS using the options panel\u003C\u002Fli>\n\u003Cli>Optional drop down boxes to quickly change month and year\u003C\u002Fli>\n\u003Cli>User groups other than admin can be permitted to manage events\u003C\u002Fli>\n\u003Cli>Events can be placed into categories\u003C\u002Fli>\n\u003Cli>A calendar of events for just one of more categories can be displayed\u003C\u002Fli>\n\u003Cli>Categories system can be switched on or off\u003C\u002Fli>\n\u003Cli>Pop up javascript calendars help the choosing of dates\u003C\u002Fli>\n\u003Cli>Events can be links pointing to a location of your choice\u003C\u002Fli>\n\u003Cli>Full internationalisation is possible\u003C\u002Fli>\n\u003Cli>Comaptible with WordPress MU\u003C\u002Fli>\n\u003Cli>iCalendar feed of events can be made accessible\u003C\u002Fli>\n\u003C\u002Ful>\n","A simple but effective Calendar plugin for WordPress that allows you to  manage your events and appointments and display them to the world.",4000,673410,74,24,"2025-12-13T21:39:00.000Z","6.9.4","6.2.4",[19,20,21,22],"http:\u002F\u002Fwww.kieranoshea.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcalendar.1.3.17.zip",90,5,"2025-12-22 00:00:00",{"slug":73,"name":74,"version":75,"author":76,"author_profile":77,"description":78,"short_description":79,"active_installs":80,"downloaded":81,"rating":82,"num_ratings":83,"last_updated":84,"tested_up_to":85,"requires_at_least":86,"requires_php":17,"tags":87,"homepage":89,"download_link":90,"security_score":91,"vuln_count":13,"unpatched_count":13,"last_vuln_date":35,"fetched_at":28},"ft-calendar","FT Calendar","1.6.1.1","Syed Balkhi","https:\u002F\u002Fprofiles.wordpress.org\u002Fsmub\u002F","\u003Cp>A calendar plugin supporting multiple calendars, recurring events, and several different widgets \u002F shortcodes. More info at http:\u002F\u002Fcalendar-plugin.com\u003C\u002Fp>\n\u003Cp>Basic features include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Recurring Events\u003C\u002Fli>\n\u003Cli>Multiple Color Labels\u003C\u002Fli>\n\u003Cli>Multiple Shortcodes and Widgets\u003C\u002Fli>\n\u003Cli>Full sized calendar\u003C\u002Fli>\n\u003Cli>Sexy Google Calendar UI\u003C\u002Fli>\n\u003Cli>Events can be attached to any Post, Page, or custom post type\u003C\u002Fli>\n\u003Cli>Premium support and custom development available\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fcalendar-plugin.com\u002Fquick-start-guide\" rel=\"nofollow ugc\">Quick Start Guide\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Premium features available:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Display schedule information within post content\u003C\u002Fli>\n\u003Cli>iCal feeds\u003C\u002Fli>\n\u003Cli>SMART event ordering for WordPress queries\u003C\u002Fli>\n\u003Cli>RSS 1.0 & 2.0, ATOM, and RDF feeds\u003C\u002Fli>\n\u003Cli>Backup & Export FullThrottle Calendar data to a CSV file\u003C\u002Fli>\n\u003Cli>Import FullThrottle Calendar data from a CSV file\u003C\u002Fli>\n\u003Cli>Import Event Calendar 3 data from the WordPress database\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>FT Calendar\u003Cbr \u002F>\nCopyright (C) 2011 Full Throttle Development, LLC.\u003C\u002Fp>\n\u003Cp>This program is free software: you can redistribute it and\u002For modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\u003C\u002Fp>\n\u003Cp>This program 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.\u003C\u002Fp>\n\u003Cp>You should have received a copy of the GNU General Public License along with this program.  If not, see \u003Ca href=\"http:\u002F\u002Fwww.gnu.org\u002Flicenses\u002F\" rel=\"nofollow ugc\">http:\u002F\u002Fwww.gnu.org\u002Flicenses\u002F\u003C\u002Fa>.\u003C\u002Fp>\n","A calendar plugin supporting multiple calendars, recurring events, and several different widgets \u002F shortcodes. More info at http:\u002F\u002Fcalendar-plugin.com",100,57604,58,7,"2019-02-24T16:23:00.000Z","5.1.22","3.0",[19,20,88,21,22],"event-manager","http:\u002F\u002Fcalendar-plugin.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fft-calendar.1.6.1.1.zip",85,{"slug":93,"name":94,"version":95,"author":96,"author_profile":97,"description":98,"short_description":99,"active_installs":80,"downloaded":100,"rating":101,"num_ratings":83,"last_updated":102,"tested_up_to":103,"requires_at_least":104,"requires_php":17,"tags":105,"homepage":108,"download_link":109,"security_score":25,"vuln_count":26,"unpatched_count":26,"last_vuln_date":110,"fetched_at":28},"am-events","AM Events","1.13.1","Atte Moisio","https:\u002F\u002Fprofiles.wordpress.org\u002Fmoisture\u002F","\u003Cp>The purpose of this plugin is to add an event type similar to the normal post type. By design this plugin doesn’t provide any ready-made layouts, and allows the events to be fully integrated and customized to the theme of your choosing.\u003C\u002Fp>\n\u003Ch3>Current Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Admin pages to view\u002Fcreate\u002Fmodify events.\u003C\u002Fli>\n\u003Cli>Available data fields for events: start date, end date, venue, category\u003C\u002Fli>\n\u003Cli>Create weekly or biweekly recurring events\u003C\u002Fli>\n\u003Cli>Fully customizable widget for displaying upcoming events.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The custom post type created by the plugin is named ‘am_event’ and has two taxonomies: ‘am_event_categories’ and ‘am_venues’. Dates are stored as post metadata. Displaying the events is done in the theme files using WP_Query and the template tags provided by the plugin. This allows full control over the layout and what elements to show.\u003C\u002Fp>\n\u003Cp>The widget for displaying upcoming events uses a simple template system for full control of the layout.\u003C\u002Fp>\n\u003Cp>If you think something critical is missing, feel free to send me a request.\u003C\u002Fp>\n\u003Cp>The plugin is available in the following languages (pot-file included for additional translations):\u003C\u002Fp>\n\u003Cul>\n\u003Cli>English\u003C\u002Fli>\n\u003Cli>French\u003C\u002Fli>\n\u003Cli>Norwegian\u003C\u002Fli>\n\u003Cli>Finnish\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>TUTORIAL\u003C\u002Fh3>\n\u003Cp>For integrating AM Events to an existing theme, I suggest creating a \u003Ca href=\"https:\u002F\u002Fcodex.wordpress.org\u002FChild_Themes\" rel=\"nofollow ugc\">child theme\u003C\u002Fa> with custom page templates. You can find an example of a working Twenty Twelve child theme from \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fattemoi\u002Fam-events-child-theme\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002Fattemoi\u002Fam-events-child-theme\u003C\u002Fa> containing three different page templates for event pages.\u003C\u002Fp>\n\u003Ch4>Widget\u003C\u002Fh4>\n\u003Cp>Here are the shortcodes available in the upcoming events widget template.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>[event-title]\u003C\u002Fli>\n\u003Cli>[start-date]\u003C\u002Fli>\n\u003Cli>[end-date]\u003C\u002Fli>\n\u003Cli>[event-venue]\u003C\u002Fli>\n\u003Cli>[event-category]\u003C\u002Fli>\n\u003Cli>[content]\u003C\u002Fli>\n\u003Cli>[thumbnail]\u003C\u002Fli>\n\u003Cli>[excerpt]\u003C\u002Fli>\n\u003Cli>[permalink]\u003C\u002Fli>\n\u003Cli>[meta]\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Conditional shortcodes:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>[if cond=”startdate-is-enddate”]\u003C\u002Fli>\n\u003Cli>[if cond=”startdate-not-enddate”]\u003C\u002Fli>\n\u003Cli>[if cond=”startday-is-endday”]\u003C\u002Fli>\n\u003Cli>[if cond=”startday-not-endday”]\u003C\u002Fli>\n\u003Cli>[if cond=”has-venue”]\u003C\u002Fli>\n\u003Cli>[if cond=”has-category”]\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The title can be linked to the event post with the ‘link’ attribute, e.g. [event-title link=true]\u003C\u002Fp>\n\u003Cp>The category and venue can also be linked similarly to their respective archive pages using the ‘link’ attribute, e.g. [event-category link=true]\u003C\u002Fp>\n\u003Cp>The number of words displayed in the title, content or excerpt can be limited by the ‘limit’ attribute, e.g. [content limit=25] or [event-title limit=10].\u003C\u002Fp>\n\u003Cp>The dates can be formatted using the ‘format’ attribute, e.g. [start-date format=’d.m.Y H:i’] (see \u003Ca href=\"http:\u002F\u002Fphp.net\u002Fmanual\u002Fen\u002Ffunction.date.php\" rel=\"nofollow ugc\">PHP date\u003C\u002Fa> for formatting options). If no format is given, the default WordPress date format is used.\u003C\u002Fp>\n\u003Cp>You can use any shortcode as many times as needed in a single template. To separate date and time of start date for example you could write:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[start-date format='d.m.Y']\n\u003Cspan>divider\u003C\u002Fspan>\n[start-date format='H:i']\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Example usage of conditional shortcode:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[start-date format='D d.m.Y H:s']\n[if cond='startdate-not-enddate']\n - [end-date format='D d.m.Y H:s']\n[\u002Fif]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Template tags\u003C\u002Fh4>\n\u003Cp>Template tags were introduced in version 1.3.0 and are listed below. More documentation can be found in the source files.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002F\u002F Template tags for getting and displaying event dates\nam_the_startdate($format = 'Y-m-d H:i:s', $before = '', $after = '', $echo = true)\nam_get_the_startdate( $format = 'Y-m-d H:i:s', $post = 0 )\nam_the_enddate($format = 'Y-m-d H:i:s', $before = '', $after = '', $echo = true)\nam_get_the_enddate( $format = 'Y-m-d H:i:s', $post = 0 )\n\n\u002F\u002F Template tags for getting and displaying event venues\nam_get_the_venue( $id = false )\nam_in_venue( $venue, $post = null )\nam_get_the_venue_list( $separator = '', $parents='', $post_id = false )\nam_the_venue( $separator = '', $parents='', $post_id = false )\n\n\u002F\u002F Template tags for getting and displaying event categories\nam_get_the_event_category( $id = false )\nam_get_the_event_category_list( $separator = '', $parents='', $post_id = false )\nam_in_event_category( $eventCategory, $post = null )\nam_the_event_category( $separator = '', $parents='', $post_id = false )\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Example of displaying the first category of the current event post:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$categoryArray = am_get_the_event_category();\necho $categoryArray[0]->name;\u003Ch3>Creating a WP_Query\u003C\u002Fh3>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The custom post type is named ‘am_event’\u003Cbr \u002F>\nThe taxonomies are named ‘am_venues’ and ‘am_event_categories’.\u003C\u002Fp>\n\u003Cp>The event post has metadata named ‘am_startdate’ and ‘am_enddate’ that are formatted like ‘yyyy-mm-dd hh:mm’\u003C\u002Fp>\n\u003Cp>So suppose I wanted to display all events with a category of ‘other’ and venue ‘mcdonalds’. I would then make a WP_Query like this:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$args = array(\n        'post_type' => 'am_event',\n        'post_status' => 'publish',\n        'tax_query' => array(\n                'relation' => 'AND',\n                array(\n                    'taxonomy' => 'am_venues',\n                    'field' => 'name',\n                    'terms' => 'mcdonalds',\n                ),\n                array(\n                    'taxonomy' => 'am_event_categories',\n                    'field' => 'name',\n                    'terms' => 'other'\n                ),\n        ),\n    );\n\n$the_query = new WP_Query($args);\n\nif ($the_query->have_posts()) {\n    while ($the_query->have_posts()) {\n        $the_query->the_post();\n\n        $postId = $post->ID;\n\n        \u002F\u002F Use template tags to get start and end date\n        $startDate = am_get_the_startdate('Y-m-d H:i:s');\n        $endDate = am_get_the_enddate('Y-m-d H:i:s');\n\n        \u002F\u002F Use template tags to get venues and categories in an array\n        $venues = am_get_the_venue( $postId );\n        $eventCategories = am_get_the_category( $postId );\n\n        \u002F\u002F All the other functions used for posts like\n        \u002F\u002F the_title() and the_content() work just like with normal posts.\n\n        \u002F\u002F ...  DISPLAY POST CONTENT HERE ... \u002F\u002F\n\n    }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>If you want the events ordered by start date, add the following to $args:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>'orderby' => 'meta_value',\n'meta_key' => 'am_startdate',\n'order' => 'ASC',\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>If you need to display only upcoming events, add the following meta_query argument to $args:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>'meta_query' => array(\n        array(\n            'key' => 'am_enddate',\n            'value' => date('Y-m-d H:i:s', time()),\n            'compare' => \">\",\n        ),\n),\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The plugin folder also contains a file “examples.php”, which contains an example function for displaying upcoming events in a table.\u003C\u002Fp>\n","Manage and display your events. Allows fully customizable layouts and includes a widget for upcoming events.",14077,94,"2017-11-14T21:18:00.000Z","4.8.28","3.3.1",[19,20,106,21,107],"event","venue","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fam-events\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fam-events.1.13.1.zip","2025-12-26 00:00:00",{"slug":112,"name":113,"version":114,"author":115,"author_profile":116,"description":117,"short_description":118,"active_installs":46,"downloaded":119,"rating":80,"num_ratings":120,"last_updated":121,"tested_up_to":122,"requires_at_least":123,"requires_php":17,"tags":124,"homepage":17,"download_link":125,"security_score":91,"vuln_count":13,"unpatched_count":13,"last_vuln_date":35,"fetched_at":28},"event-clndr","Event CLNDR","1.05","i4nd90","https:\u002F\u002Fprofiles.wordpress.org\u002Fi4nd90\u002F","\u003Cp>A handsome, fully featured event calendar for your WordPress site. Developers: look no further, the highly appraised CLNDR.js is now here at your disposal on WordPress straight out of the box. Tweak the CLNDR.js options and fine-tune the master stylesheet and Bob’s your uncle – a painlessly elegant calendar for use in any page\u002Fpost or widget. With a simple event manager bundled in, you’ll be on your way in seconds without the need of any third party apps or services trying to charge a premium just for the use of the sidebar widget.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Usage\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Use the \u003Cem>Instances\u003C\u002Fem> page to create and modify different displays of your events. Based on the name you chose for your instance, a shortcode will be generated (and shown in the table) for use in any page, post or “Text” widget content field. Each instance can each have a different CLNDR.js template and include more JS options, so the event display could range from a full calendar to a text list of each event.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Not a developer?\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Not to worry, the plugin comes pre-shipped with a couple of front-end calendar instances to get you on your way. For most people, the default options won’t need editing, and all that will need to be done is to edit the master stylesheet to change the colours to match your theming. If you don’t know CSS, this is a great opportunity to get your fingers very slightly dirty – the section of the stylesheet you’ll want to edit is fully commented with which colours do what.\u003C\u002Fp>\n","An uncomplicated event manager with a highly customisable (developer-friendly) front-end calendar utilising CLNDR.js.",5910,6,"2018-01-03T13:08:00.000Z","4.7.32","3.5",[19,20,106,21],"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fevent-clndr.1.05.zip",{"slug":127,"name":128,"version":129,"author":130,"author_profile":131,"description":132,"short_description":133,"active_installs":134,"downloaded":135,"rating":13,"num_ratings":13,"last_updated":136,"tested_up_to":137,"requires_at_least":138,"requires_php":139,"tags":140,"homepage":142,"download_link":143,"security_score":91,"vuln_count":13,"unpatched_count":13,"last_vuln_date":35,"fetched_at":28},"hassle-free-date-list","Hassle-Free Date List","1.0.0","Makoto","https:\u002F\u002Fprofiles.wordpress.org\u002Ffreeleaf\u002F","\u003Cp>Have you ever posted the dates of seminars, workshops, lessons, etc. on your website or contact form and then forgot to update them or left them posted when they were full?\u003C\u002Fp>\n\u003Cp>This plugin solves those problems and makes schedule management easier by providing a block, a shortcode, and a form tags for Contact Form 7.\u003Cbr \u002F>\nIt only supports displaying dates in a list format, and is intended for people who want a simple date display rather than a complex calendar-type schedule.\u003C\u002Fp>\n\u003Cp>The features provided by this plugin are as follows\u003C\u002Fp>\n\u003Cp>Schedule management\u003Cbr \u002F>\n* Multiple dates can be managed using your own post type.\u003Cbr \u002F>\n* Due dates can be specified as relative days or dates.\u003Cbr \u002F>\n* Customizable date format\u003Cbr \u002F>\n* Customizable day names.\u003Cbr \u002F>\n* You can set the content to be displayed when there are no dates to display.\u003Cbr \u002F>\n* There are three options for handling dates that are expired.\u003Cbr \u002F>\n    * Do not display\u003Cbr \u002F>\n    * Strikethrough\u003Cbr \u002F>\n    * Labeling\u003Cbr \u002F>\n* There are three options for handling dates and times that are full.\u003Cbr \u002F>\n    * Do not display\u003Cbr \u002F>\n    * Strikethrough\u003Cbr \u002F>\n    * Label display\u003C\u002Fp>\n\u003Cp>Block\u002FShortcode\u003Cbr \u002F>\n* Customizable color and layout in the sidebar of the block editor\u003Cbr \u002F>\n* Customize the text and background color of the date and time.\u003Cbr \u002F>\n* Customizable text and color for labels.\u003Cbr \u002F>\n* Select multiple layouts for the schedule\u003Cbr \u002F>\n* A shortcode can be customized same as a block by setting attribute values.\u003C\u002Fp>\n\u003Cp>Form tags for Contact Form 7\u003Cbr \u002F>\n* Provides pull-down menu for selecting dates.\u003Cbr \u002F>\n* Tags can be inserted with a button from the form editor.\u003Cbr \u002F>\n* The pull-down menu will automatically hide expired or full dates.\u003Cbr \u002F>\n* The text of the first line of the pull-down menu can be set.\u003C\u002Fp>\n","This plugin adds a block, a shortcode, and a contactform 7 form tag that displays a list of dates. Dates that are due will automatically be hidden or  &hellip;",10,1492,"2022-07-09T14:20:00.000Z","6.0.11","5.6","7.4",[20,106,21,141,22],"schedule","https:\u002F\u002Fgithub.com\u002Ffree-leaf\u002Fhassle-free-date-list","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fhassle-free-date-list.1.0.0.zip",{"attackSurface":145,"codeSignals":189,"taintFlows":428,"riskAssessment":609,"analyzedAt":626},{"hooks":146,"ajaxHandlers":185,"restRoutes":186,"shortcodes":187,"cronEvents":188,"entryPointCount":13,"unprotectedCount":13},[147,153,158,161,164,167,171,174,178,181],{"type":148,"name":149,"callback":150,"file":151,"line":152},"action","admin_menu","calendar_menu","calendar.php",43,{"type":154,"name":155,"callback":156,"file":151,"line":157},"filter","the_content","calendar_insert",46,{"type":154,"name":155,"callback":159,"file":151,"line":160},"calendax_insert",48,{"type":154,"name":155,"callback":162,"file":151,"line":163},"upcoming_insert",51,{"type":154,"name":155,"callback":165,"file":151,"line":166},"todays_insert",52,{"type":148,"name":168,"callback":169,"file":151,"line":170},"wp_head","calendar_wp_head",55,{"type":148,"name":172,"callback":173,"file":151,"line":82},"delete_user","deal_with_deleted_user",{"type":148,"name":175,"callback":176,"file":151,"line":177},"widgets_init","widget_init_calendar_today",61,{"type":148,"name":175,"callback":179,"file":151,"line":180},"widget_init_calendar_upcoming",62,{"type":148,"name":182,"callback":183,"file":151,"line":184},"admin_head","calendar_add_javascript",124,[],[],[],[],{"dangerousFunctions":190,"sqlUsage":191,"outputEscaping":232,"fileOperations":13,"externalRequests":13,"nonceChecks":13,"capabilityChecks":13,"bundledLibraries":427},[],{"prepared":192,"raw":193,"locations":194},73,18,[195,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230],{"file":151,"line":196,"context":197},72,"$wpdb->get_results() with variable interpolation",{"file":151,"line":196,"context":199},"$wpdb->get_var() with variable interpolation",{"file":151,"line":201,"context":199},507,{"file":151,"line":203,"context":197},669,{"file":151,"line":205,"context":197},1352,{"file":151,"line":207,"context":197},1353,{"file":151,"line":209,"context":197},1354,{"file":151,"line":211,"context":197},1355,{"file":151,"line":213,"context":197},1356,{"file":151,"line":215,"context":197},1357,{"file":151,"line":217,"context":197},1358,{"file":151,"line":219,"context":197},1359,{"file":151,"line":221,"context":197},1364,{"file":151,"line":223,"context":197},2058,{"file":151,"line":225,"context":197},2078,{"file":151,"line":227,"context":197},2121,{"file":151,"line":229,"context":197},2162,{"file":151,"line":231,"context":197},2233,{"escaped":26,"rawEcho":233,"locations":234},101,[235,238,240,242,244,246,248,250,251,253,255,257,259,261,263,265,267,269,271,272,274,275,276,278,279,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,312,314,316,318,320,322,324,326,328,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,376,378,380,382,384,386,388,390,392,394,396,397,398,400,402,403,404,405,407,409,411,413,415,417,419,421,423,425],{"file":151,"line":236,"context":237},91,"raw output",{"file":151,"line":239,"context":237},605,{"file":151,"line":241,"context":237},606,{"file":151,"line":243,"context":237},607,{"file":151,"line":245,"context":237},608,{"file":151,"line":247,"context":237},609,{"file":151,"line":249,"context":237},610,{"file":151,"line":249,"context":237},{"file":151,"line":252,"context":237},614,{"file":151,"line":254,"context":237},615,{"file":151,"line":256,"context":237},616,{"file":151,"line":258,"context":237},617,{"file":151,"line":260,"context":237},618,{"file":151,"line":262,"context":237},624,{"file":151,"line":264,"context":237},625,{"file":151,"line":266,"context":237},626,{"file":151,"line":268,"context":237},629,{"file":151,"line":270,"context":237},634,{"file":151,"line":270,"context":237},{"file":151,"line":273,"context":237},636,{"file":151,"line":273,"context":237},{"file":151,"line":273,"context":237},{"file":151,"line":277,"context":237},637,{"file":151,"line":277,"context":237},{"file":151,"line":277,"context":237},{"file":151,"line":281,"context":237},664,{"file":151,"line":283,"context":237},672,{"file":151,"line":285,"context":237},691,{"file":151,"line":287,"context":237},692,{"file":151,"line":289,"context":237},693,{"file":151,"line":291,"context":237},701,{"file":151,"line":293,"context":237},705,{"file":151,"line":295,"context":237},716,{"file":151,"line":297,"context":237},724,{"file":151,"line":299,"context":237},733,{"file":151,"line":301,"context":237},739,{"file":151,"line":303,"context":237},748,{"file":151,"line":305,"context":237},752,{"file":151,"line":307,"context":237},763,{"file":151,"line":309,"context":237},775,{"file":151,"line":311,"context":237},779,{"file":151,"line":313,"context":237},796,{"file":151,"line":315,"context":237},801,{"file":151,"line":317,"context":237},803,{"file":151,"line":319,"context":237},840,{"file":151,"line":321,"context":237},842,{"file":151,"line":323,"context":237},843,{"file":151,"line":325,"context":237},844,{"file":151,"line":327,"context":237},845,{"file":151,"line":329,"context":237},846,{"file":151,"line":331,"context":237},1266,{"file":151,"line":333,"context":237},1367,{"file":151,"line":335,"context":237},1511,{"file":151,"line":337,"context":237},1518,{"file":151,"line":339,"context":237},1519,{"file":151,"line":341,"context":237},1520,{"file":151,"line":343,"context":237},1521,{"file":151,"line":345,"context":237},1522,{"file":151,"line":347,"context":237},1529,{"file":151,"line":349,"context":237},1530,{"file":151,"line":351,"context":237},1537,{"file":151,"line":353,"context":237},1538,{"file":151,"line":355,"context":237},1545,{"file":151,"line":357,"context":237},1546,{"file":151,"line":359,"context":237},1553,{"file":151,"line":361,"context":237},1554,{"file":151,"line":363,"context":237},1556,{"file":151,"line":365,"context":237},1562,{"file":151,"line":367,"context":237},1563,{"file":151,"line":369,"context":237},1569,{"file":151,"line":371,"context":237},1627,{"file":151,"line":373,"context":237},1635,{"file":151,"line":375,"context":237},1644,{"file":151,"line":377,"context":237},1646,{"file":151,"line":379,"context":237},1652,{"file":151,"line":381,"context":237},1656,{"file":151,"line":383,"context":237},1672,{"file":151,"line":385,"context":237},1681,{"file":151,"line":387,"context":237},1726,{"file":151,"line":389,"context":237},1727,{"file":151,"line":391,"context":237},1728,{"file":151,"line":393,"context":237},1729,{"file":151,"line":395,"context":237},1730,{"file":151,"line":395,"context":237},{"file":151,"line":395,"context":237},{"file":151,"line":399,"context":237},1734,{"file":151,"line":401,"context":237},1739,{"file":151,"line":401,"context":237},{"file":151,"line":401,"context":237},{"file":151,"line":401,"context":237},{"file":151,"line":406,"context":237},1752,{"file":151,"line":408,"context":237},1943,{"file":151,"line":410,"context":237},1944,{"file":151,"line":412,"context":237},1945,{"file":151,"line":414,"context":237},1946,{"file":151,"line":416,"context":237},1958,{"file":151,"line":418,"context":237},1979,{"file":151,"line":420,"context":237},1980,{"file":151,"line":422,"context":237},1981,{"file":151,"line":424,"context":237},1982,{"file":151,"line":426,"context":237},1994,[],[429,447,455,465,473,501,516,548],{"entryPoint":430,"graph":431,"unsanitizedCount":26,"severity":446},"widget_init_calendar_today (calendar.php:1932)",{"nodes":432,"edges":443},[433,438],{"id":434,"type":435,"label":436,"file":151,"line":437},"n0","source","$_POST['calendar_today_widget_title']",1953,{"id":439,"type":440,"label":441,"file":151,"line":437,"wp_function":442},"n1","sink","update_option() [Settings Manipulation]","update_option",[444],{"from":434,"to":439,"sanitized":445},false,"low",{"entryPoint":448,"graph":449,"unsanitizedCount":26,"severity":446},"widget_calendar_today_control (calendar.php:1950)",{"nodes":450,"edges":453},[451,452],{"id":434,"type":435,"label":436,"file":151,"line":437},{"id":439,"type":440,"label":441,"file":151,"line":437,"wp_function":442},[454],{"from":434,"to":439,"sanitized":445},{"entryPoint":456,"graph":457,"unsanitizedCount":26,"severity":446},"widget_init_calendar_upcoming (calendar.php:1968)",{"nodes":458,"edges":463},[459,462],{"id":434,"type":435,"label":460,"file":151,"line":461},"$_POST['calendar_upcoming_widget_title']",1989,{"id":439,"type":440,"label":441,"file":151,"line":461,"wp_function":442},[464],{"from":434,"to":439,"sanitized":445},{"entryPoint":466,"graph":467,"unsanitizedCount":26,"severity":446},"widget_calendar_upcoming_control (calendar.php:1986)",{"nodes":468,"edges":471},[469,470],{"id":434,"type":435,"label":460,"file":151,"line":461},{"id":439,"type":440,"label":441,"file":151,"line":461,"wp_function":442},[472],{"from":434,"to":439,"sanitized":445},{"entryPoint":474,"graph":475,"unsanitizedCount":83,"severity":500},"edit_calendar (calendar.php:862)",{"nodes":476,"edges":496},[477,480,484,488,492],{"id":434,"type":435,"label":478,"file":151,"line":479},"$_REQUEST (x6)",907,{"id":439,"type":440,"label":481,"file":151,"line":482,"wp_function":483},"get_results() [SQLi]",1024,"get_results",{"id":485,"type":435,"label":486,"file":151,"line":487},"n2","$_REQUEST",1270,{"id":489,"type":490,"label":491,"file":151,"line":487},"n3","transform","→ wp_events_edit_form()",{"id":493,"type":440,"label":494,"file":151,"line":319,"wp_function":495},"n4","echo() [XSS]","echo",[497,498,499],{"from":434,"to":439,"sanitized":445},{"from":485,"to":489,"sanitized":445},{"from":489,"to":493,"sanitized":445},"high",{"entryPoint":502,"graph":503,"unsanitizedCount":515,"severity":500},"edit_calendar_config (calendar.php:1291)",{"nodes":504,"edges":512},[505,508,509,511],{"id":434,"type":435,"label":506,"file":151,"line":507},"$_POST (x2)",1304,{"id":439,"type":440,"label":481,"file":151,"line":207,"wp_function":483},{"id":485,"type":435,"label":510,"file":151,"line":507},"$_POST",{"id":489,"type":440,"label":494,"file":151,"line":369,"wp_function":495},[513,514],{"from":434,"to":439,"sanitized":445},{"from":485,"to":489,"sanitized":445},3,{"entryPoint":517,"graph":518,"unsanitizedCount":547,"severity":500},"manage_categories (calendar.php:1585)",{"nodes":519,"edges":542},[520,522,524,527,529,532,537,540],{"id":434,"type":435,"label":506,"file":151,"line":521},1625,{"id":439,"type":440,"label":481,"file":151,"line":523,"wp_function":483},1626,{"id":485,"type":435,"label":525,"file":151,"line":526},"$_GET (x2)",1631,{"id":489,"type":440,"label":481,"file":151,"line":528,"wp_function":483},1632,{"id":493,"type":435,"label":530,"file":151,"line":531},"$_GET",1639,{"id":533,"type":440,"label":534,"file":151,"line":535,"wp_function":536},"n5","get_row() [SQLi]",1640,"get_row",{"id":538,"type":435,"label":539,"file":151,"line":531},"n6","$_GET (x3)",{"id":541,"type":440,"label":494,"file":151,"line":377,"wp_function":495},"n7",[543,544,545,546],{"from":434,"to":439,"sanitized":445},{"from":485,"to":489,"sanitized":445},{"from":493,"to":533,"sanitized":445},{"from":538,"to":541,"sanitized":445},8,{"entryPoint":549,"graph":550,"unsanitizedCount":608,"severity":500},"\u003Ccalendar> (calendar.php:0)",{"nodes":551,"edges":595},[552,553,554,556,557,558,559,560,561,563,565,567,569,573,575,577,579,581,583,586,589,591,593],{"id":434,"type":435,"label":478,"file":151,"line":479},{"id":439,"type":440,"label":481,"file":151,"line":482,"wp_function":483},{"id":485,"type":435,"label":555,"file":151,"line":507},"$_POST (x5)",{"id":489,"type":440,"label":481,"file":151,"line":207,"wp_function":483},{"id":493,"type":435,"label":510,"file":151,"line":507},{"id":533,"type":440,"label":494,"file":151,"line":369,"wp_function":495},{"id":538,"type":435,"label":525,"file":151,"line":526},{"id":541,"type":440,"label":481,"file":151,"line":528,"wp_function":483},{"id":562,"type":435,"label":530,"file":151,"line":531},"n8",{"id":564,"type":440,"label":534,"file":151,"line":535,"wp_function":536},"n9",{"id":566,"type":435,"label":539,"file":151,"line":531},"n10",{"id":568,"type":440,"label":494,"file":151,"line":377,"wp_function":495},"n11",{"id":570,"type":435,"label":571,"file":151,"line":572},"n12","$_REQUEST (x5)",1067,{"id":574,"type":440,"label":494,"file":151,"line":389,"wp_function":495},"n13",{"id":576,"type":435,"label":436,"file":151,"line":437},"n14",{"id":578,"type":440,"label":441,"file":151,"line":437,"wp_function":442},"n15",{"id":580,"type":435,"label":460,"file":151,"line":461},"n16",{"id":582,"type":440,"label":441,"file":151,"line":461,"wp_function":442},"n17",{"id":584,"type":435,"label":510,"file":151,"line":585},"n18",1670,{"id":587,"type":440,"label":534,"file":151,"line":588,"wp_function":536},"n19",2018,{"id":590,"type":435,"label":486,"file":151,"line":487},"n20",{"id":592,"type":490,"label":491,"file":151,"line":487},"n21",{"id":594,"type":440,"label":494,"file":151,"line":319,"wp_function":495},"n22",[596,597,598,599,600,601,602,603,604,605,606,607],{"from":434,"to":439,"sanitized":445},{"from":485,"to":489,"sanitized":445},{"from":493,"to":533,"sanitized":445},{"from":538,"to":541,"sanitized":445},{"from":562,"to":564,"sanitized":445},{"from":566,"to":568,"sanitized":445},{"from":570,"to":574,"sanitized":445},{"from":576,"to":578,"sanitized":445},{"from":580,"to":582,"sanitized":445},{"from":584,"to":587,"sanitized":445},{"from":590,"to":592,"sanitized":445},{"from":592,"to":594,"sanitized":445},27,{"summary":610,"deductions":611},"The Calendar Plus plugin v1.2.4 presents a mixed security posture. On one hand, the absence of any identified AJAX handlers, REST API routes, shortcodes, or cron events with unprotected entry points suggests a well-contained attack surface from an entry point perspective. The prevalence of prepared statements in SQL queries is also a positive sign for database security. However, significant concerns arise from the code analysis, particularly the extremely low percentage of properly escaped output (1%). This indicates a high risk of Cross-Site Scripting (XSS) vulnerabilities, where unsanitized user input could be injected into the web page. The taint analysis further reinforces this, revealing 8 flows with unsanitized paths, four of which are classified as high severity. This directly correlates with the vulnerability history, which shows a medium severity XSS vulnerability in the past. The fact that this vulnerability remains unpatched is a critical red flag, indicating a lack of ongoing maintenance and a persistent security risk for users of this plugin version. While the plugin's attack surface appears limited, the weak output escaping and unpatched historical vulnerability create a notable risk.",[612,615,618,620,622,624],{"reason":613,"points":614},"Unpatched CVE",15,{"reason":616,"points":617},"High severity taint flows",12,{"reason":619,"points":614},"Very low output escaping",{"reason":621,"points":547},"Unsanitized paths in taint flows",{"reason":623,"points":70},"No capability checks",{"reason":625,"points":70},"No nonce checks","2026-03-16T21:46:19.171Z",{"wat":628,"direct":641},{"assetPaths":629,"generatorPatterns":634,"scriptPaths":635,"versionParams":636},[630,631,632,633],"\u002Fwp-content\u002Fplugins\u002Fcalendar-plus\u002Fcss\u002Fcalendar.css","\u002Fwp-content\u002Fplugins\u002Fcalendar-plus\u002Fcss\u002Fcalendar-view.css","\u002Fwp-content\u002Fplugins\u002Fcalendar-plus\u002Fjs\u002Fcalendar.js","\u002Fwp-content\u002Fplugins\u002Fcalendar-plus\u002Fjs\u002Fcalendar-view.js",[],[632,633],[637,638,639,640],"calendar-plus\u002Fcss\u002Fcalendar.css?ver=","calendar-plus\u002Fcss\u002Fcalendar-view.css?ver=","calendar-plus\u002Fjs\u002Fcalendar.js?ver=","calendar-plus\u002Fjs\u002Fcalendar-view.js?ver=",{"cssClasses":642,"htmlComments":648,"htmlAttributes":652,"restEndpoints":655,"jsGlobals":656,"shortcodeOutput":659},[643,644,645,646,647],"calendar-plus-container","cp-calendar","cp-calendar-header","cp-events","cp-event-item",[649,650,651],"\u003C!-- calendar-plus Settings -->","\u003C!-- End calendar-plus Settings -->","\u003C!-- calendar-plus shortcode -->",[653,654],"data-cp-options","data-cp-event-id",[],[657,658],"CalendarPlus","cp_plugin_vars",[660,661,662,663,664],"\u003Cdiv class=\"calendar-plus-container\">","\u003Cdiv class=\"cp-calendar\">","\u003Cdiv class=\"cp-calendar-header\">","\u003Cdiv class=\"cp-events\">","\u003Cdiv class=\"cp-event-item\">"]