[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fdAugC9Jr0jMkgwmcSYDptjnBFcx7pYf5qRD6zdYovDs":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":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":32,"crawl_stats":29,"alternatives":39,"analysis":141,"fingerprints":384},"concertpress","ConcertPress","1.1.2","Richard Sweeney","https:\u002F\u002Fprofiles.wordpress.org\u002Ftheorboman\u002F","\u003Cp>ConcertPress is designed from the ground up for classical musicians.\u003C\u002Fp>\n\u003Cp>ConcertPress saves venues and programmes for you so that they can easily be selected again.\u003C\u002Fp>\n\u003Cp>Programmes and venues can be added seperately or as you add an event. Events can also be copied which is handy when you’re adding lots of dates for a tour or a run of performances.\u003C\u002Fp>\n\u003Cp>Past events are stored in an archive.\u003C\u002Fp>\n\u003Cp>If you’re a classical musician, this is the events plugin for you!\u003C\u002Fp>\n","An events management plugin specifically designed for classical musicians.",10,3501,100,1,"2012-10-22T06:18:00.000Z","3.4.2","3.4.1","",[20,21,22,23,24],"classical-music","concerts","events","events-diary","music","http:\u002F\u002Frichardsweeney.com\u002Fportfolio-item\u002Fconcertpress\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fconcertpress.zip",85,0,null,"2026-03-15T14:54:45.397Z",[],{"slug":33,"display_name":7,"profile_url":8,"plugin_count":34,"total_installs":35,"avg_security_score":27,"avg_patch_time_days":36,"trust_score":37,"computed_at":38},"theorboman",2,210,30,84,"2026-04-04T16:15:20.576Z",[40,62,81,106,126],{"slug":41,"name":42,"version":43,"author":44,"author_profile":45,"description":46,"short_description":47,"active_installs":48,"downloaded":49,"rating":50,"num_ratings":51,"last_updated":52,"tested_up_to":53,"requires_at_least":54,"requires_php":18,"tags":55,"homepage":57,"download_link":58,"security_score":59,"vuln_count":14,"unpatched_count":28,"last_vuln_date":60,"fetched_at":61},"bandsintown","Bandsintown Events","1.3.4","bandsintown_legacy","https:\u002F\u002Fprofiles.wordpress.org\u002Fkwestion505\u002F","\u003Cp>Bandsintown’s Events plugin makes it easy for artists to showcase their upcoming events anywhere on their WordPress-powered blog or website.\u003C\u002Fp>\n\u003Cp>Easily display an automatically updated list of your events to your fans using the widget, shortcode or template tag.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Automatically syncs to Facebook, Tumblr and Twitter.\u003C\u002Fli>\n\u003Cli>Buy tickets and RSVP to your events right from your website.\u003C\u002Fli>\n\u003Cli>Fully customizable CSS (uses theme styles by default).\u003C\u002Fli>\n\u003C\u002Ful>\n","Bandsintown's Events plugin for displaying your upcoming events.",4000,87002,66,8,"2025-03-07T00:11:00.000Z","5.9.13","2.7",[41,21,22,56],"tour-dates","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbandsintown\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbandsintown.1.3.4.zip",91,"2025-02-19 21:09:14","2026-03-15T15:16:48.613Z",{"slug":63,"name":64,"version":65,"author":66,"author_profile":67,"description":68,"short_description":69,"active_installs":70,"downloaded":71,"rating":28,"num_ratings":28,"last_updated":72,"tested_up_to":73,"requires_at_least":18,"requires_php":18,"tags":74,"homepage":78,"download_link":79,"security_score":59,"vuln_count":14,"unpatched_count":28,"last_vuln_date":80,"fetched_at":61},"songkick-concerts-and-festivals","Songkick Concerts and Festivals","0.10.1","saleandro","https:\u002F\u002Fprofiles.wordpress.org\u002Fsaleandro\u002F","\u003Cp>This plugin lets you display upcoming or past events for a Songkick user, artist, venue, or metro area on your WordPress blog.\u003C\u002Fp>\n\u003Cp>Events can be displayed by adding the Songkick widget to your template, or by adding the shortcode [songkick_concerts_and_festivals] anywhere in your blog.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Upcoming events for an artist\u003C\u002Fli>\n\u003Cli>Past events for an artist\u003C\u002Fli>\n\u003Cli>Upcoming events for a venue\u003C\u002Fli>\n\u003Cli>Upcoming events for a user\u003C\u002Fli>\n\u003Cli>Past events for a user\u003C\u002Fli>\n\u003Cli>Upcoming events for a metro area. A metro area is a city or a collection of cities that Songkick uses to notify users of concerts near them.\u003C\u002Fli>\n\u003Cli>Widget or shortcode format\u003C\u002Fli>\n\u003Cli>Show events for multiple artists, users, venues, or metro areas.\u003C\u002Fli>\n\u003Cli>Paginated list of events\u003C\u002Fli>\n\u003Cli>HTML markup with support for events as defined by \u003Ca href=\"http:\u002F\u002Fwww.schema.org\u002F\" rel=\"nofollow ugc\">Schema.org\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Requirements\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>This plugin uses a non-commercial Songkick API key. If you have a commercial website, you’ll need your own Songkick API key. Please read through \u003Ca href=\"http:\u002F\u002Fwww.songkick.com\u002Fdeveloper\u002Fapi-terms-of-use\" rel=\"nofollow ugc\">Songkick’s API terms of use\u003C\u002Fa>. Apply for a key here: \u003Ca href=\"http:\u002F\u002Fwww.songkick.com\u002Fdeveloper\" rel=\"nofollow ugc\">Songkick API docs\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>This plugin requires PHP 5.6.20 or higher\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Settings\u003C\u002Fh4>\n\u003Cp>Go to the Settings page to configure default options for the plugin. You can also specify your settings under Plugins\u002FWidget or via shortcode options.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>For a user, simply put your username in the admin interface.\u003C\u002Fli>\n\u003Cli>For an artist, you should use the artist’s Songkick id, as shown in the url for your artist page. For example, the url “http:\u002F\u002Fwww.songkick.com\u002Fartists\u002F123-your-name” has the id “123”.\u003C\u002Fli>\n\u003Cli>The same goes for metro areas: “http:\u002F\u002Fwww.songkick.com\u002Fmetro_areas\u002F123-city-name” has the id “123”.\u003C\u002Fli>\n\u003Cli>And venues: “http:\u002F\u002Fwww.songkick.com\u002Fvenues\u002F123-venue-name” has the id “123”.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Widget\u003C\u002Fh4>\n\u003Cp>Go to the admin Widgets page and simply drag the widget into a sidebar and configure it.\u003C\u002Fp>\n\u003Ch4>Shortcode\u003C\u002Fh4>\n\u003Cp>Add the shortcode [songkick_concerts_and_festivals] in the content of any blog post.\u003C\u002Fp>\n\u003Cp>When using a shortcode, you can set which artist, venue, metro area, or user you want to display events for, allowing you to show events for different entities:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Users:   \u003Ccode>[songkick_concerts_and_festivals songkick_id=your_username songkick_id_type=user]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Artists: \u003Ccode>[songkick_concerts_and_festivals songkick_id=your_artist_id songkick_id_type=artist]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Venues: \u003Ccode>[songkick_concerts_and_festivals songkick_id=your_venue_id songkick_id_type=venue]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Metro areas: \u003Ccode>[songkick_concerts_and_festivals songkick_id=your_metro_area_id songkick_id_type=metro_area]\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Override shortcode settings:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>gigography=true|false\u003C\u002Fli>\n\u003Cli>number_of_events=integer\u003C\u002Fli>\n\u003Cli>show_pagination=true|false\u003C\u002Fli>\n\u003Cli>no_calendar_style=true|false — removes the calendar style from the event dates\u003C\u002Fli>\n\u003Cli>order=asc|desc – sort order for artist or user events\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>PHP code\u003C\u002Fh4>\n\u003Cp>You can call the shortcode method directly in your PHP code:\n    \u003C\u002Fp>\n\u003Ch4>Blogs using this plugin\u003C\u002Fh4>\n\u003Cp>Know any blogs using this plugin? Let me know!\u003C\u002Fp>\n\u003Ch4>Contribute\u003C\u002Fh4>\n\u003Cp>This is an open source project that I maintain during my spare time. I welcome contributions!\u003C\u002Fp>\n\u003Cp>The code lives on \u003Ca href=\"http:\u002F\u002Fgithub.com\u002Fsaleandro\u002Fsongkick-wp-plugin\" rel=\"nofollow ugc\">Github\u003C\u002Fa>. To send your contribution, fork my project, make your lovely changes, and send me a \u003Ca href=\"http:\u002F\u002Fhelp.github.com\u002Fsend-pull-requests\u002F\" rel=\"nofollow ugc\">pull request\u003C\u002Fa>. Thanks 🙂\u003C\u002Fp>\n","This plugin lets you display events for a Songkick user, artist, venue, or metro area on your WordPress blog, as a widget or shortcode.",500,22959,"2025-03-11T09:50:00.000Z","6.7.5",[21,22,75,76,77],"festivals","songkick","widget","http:\u002F\u002Fgithub.com\u002Fsaleandro\u002Fsongkick-wp-plugin","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsongkick-concerts-and-festivals.0.10.1.zip","2025-02-03 00:00:00",{"slug":82,"name":83,"version":84,"author":85,"author_profile":86,"description":87,"short_description":88,"active_installs":89,"downloaded":90,"rating":91,"num_ratings":92,"last_updated":93,"tested_up_to":94,"requires_at_least":95,"requires_php":96,"tags":97,"homepage":102,"download_link":103,"security_score":104,"vuln_count":14,"unpatched_count":14,"last_vuln_date":105,"fetched_at":61},"music-pack-for-elementor","Musician's Pack for Elementor – Music Website Widgets & Templates","1.8.7","smartwpress","https:\u002F\u002Fprofiles.wordpress.org\u002Fsmartwpress\u002F","\u003Cp>Build your own music website with Musician’s Pack for Elementor, a powerful music website builder designed for musicians, music bands, DJs, music producers, artists and event or festival organizers. This WordPress music plugin seamlessly integrates with \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Felementor\u002F\" rel=\"ugc\">Elementor\u003C\u002Fa>, providing essential Elementor music widgets, pre-designed templates, and Custom Post Types (CPTs) to help you create a professional music website effortlessly.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fmusicpack.smartwpress.com\u002Fknowledge-base\u002F\" rel=\"nofollow ugc\">Getting Started\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fmusicpack.smartwpress.com\u002Fblog\u002F\" rel=\"nofollow ugc\">News & Guides\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>With this plugin, you can easily showcase albums, events, playlists, and music videos, making it the perfect solution for music artists, record labels, and concert promoters. Whether you’re looking for a music band website plugin or a complete Elementor template pack for musicians, Musician’s Pack has everything you need.\u003C\u002Fp>\n\u003Cp>🎥 \u003Cstrong>See it in action! Watch the quick demo below to learn how to create a discography layout with Musician’s Pack for Elementor.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FPM-3LD-yYUg?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Ch3>KEY FEATURES:\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Custom Post Types (CPTs) for Albums, Events, Playlists, and Videos\u003C\u002Fli>\n\u003Cli>Custom Elementor music widgets (event listings, albums showcase, audio player, video gallery, artists and more)\u003C\u002Fli>\n\u003Cli>Ready-made Elementor templates for musicians\u003C\u002Fli>\n\u003Cli>Fully customizable design to match your brand\u003C\u002Fli>\n\u003Cli>Seamlessly integrates with Elementor for an intuitive drag-and-drop experience\u003C\u002Fli>\n\u003Cli>Best Elementor plugin for musicians looking to build stunning websites without coding\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>With built-in Custom Post Types, you can manage your music content in a structured way, ensuring that your albums, events, and playlists are easy to update and display dynamically.\u003C\u002Fp>\n\u003Ch3>EASY-TO-USE\u003C\u002Fh3>\n\u003Cp>No initial configuration is required to use the plugin. Simply install and activate it, manage your music events and discography using the existing custom post types, import ready-to-use Elementor templates, or utilize our custom widgets within the Elementor editor.\u003C\u002Fp>\n\u003Ch3>PROFESSIONAL DESIGNED ELEMENTOR MUSICIAN & ARTIST TEMPLATES\u003C\u002Fh3>\n\u003Cp>Professionally pre-made musician Elementor templates for pages and sections to enhance the overall look of your music website.\u003C\u002Fp>\n\u003Ch3>CUSTOM POSTS\u003C\u002Fh3>\n\u003Cp>Manage your events, discography, band members, galleries and videos with custom post types.\u003C\u002Fp>\n\u003Ch3>ELEMENTOR WIDGETS\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Discography – Promote your latest music albums in a grid layout\u003C\u002Fli>\n\u003Cli>Discography (Vinyl) – Promote your latest music albums in a grid layout with a fancy hover vynil efect\u003C\u002Fli>\n\u003Cli>Artist – List your band members in a grid layout\u003C\u002Fli>\n\u003Cli>Blog Posts – Blog Posts Widget with a modern style and post filtering options\u003C\u002Fli>\n\u003Cli>Contact Details – Show your contact data in a predefined layout\u003C\u002Fli>\n\u003Cli>Contact Form – Basic contact form with styling options\u003C\u002Fli>\n\u003Cli>Event Elementor Widget – Countdown Layout – Promote your next musical event and create a sense of urgency with a countdown timer \u003C\u002Fli>\n\u003Cli>Events Elementor Widget – Cards Layout – Promote your music events in a fancy cards layout, based on existing filters (event category, next events, past events) \u003C\u002Fli>\n\u003Cli>Events Elementor Widget – List Layout – Promote your music events or concerts in a list layout, based on existing filters (event category, next events, past events)\u003C\u002Fli>\n\u003Cli>Gallery – Customizable gallery widget that can be used to create pixel perfect image galleries on your website\u003C\u002Fli>\n\u003Cli>Gallery Promo – Promote any of your existing gallery post type and build creative layouts with this customizable widget\u003C\u002Fli>\n\u003Cli>Link – Basic link with customization options\u003C\u002Fli>\n\u003Cli>MailChimp Subscribe – MailChimp subscription form with styling options\u003C\u002Fli>\n\u003Cli>Review\u002FTestimonial Slider – Show your testimonials in a carousel layout\u003C\u002Fli>\n\u003Cli>Single Music Album – Customizable widget that you can use to preview any of your music albums. \u003C\u002Fli>\n\u003Cli>Single Video – Show videos from YouTube or Vimeo with custom preview image\u003C\u002Fli>\n\u003Cli>Video Play Button – add a stylish play button anywhere you need, to build creative and unique layouts\u003C\u002Fli>\n\u003Cli>Videos – Promote your video posts in a stylish and customizable grid layout\u003C\u002Fli>\n\u003Cli>Page Title – Automatically show your current page title\u003C\u002Fli>\n\u003Cli>Music Player – Higly customizable audio player widget with unlimited songs, album image and album purchase promo links\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FBFrUspyUzEM?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Ch3>PRO VERSION AVAILABLE\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>All free features included\u003C\u002Fli>\n\u003Cli>Unlimited colors and custom fonts for all music oriented Elementor widgets\u003C\u002Fli>\n\u003Cli>Professionally pre-designed Elementor Templates tailored specifically for musicians\u003C\u002Fli>\n\u003Cli>Additional styling options for all widgets\u003C\u002Fli>\n\u003Cli>Ability to create custom layouts for single events, music albums, and artists\u003C\u002Fli>\n\u003Cli>Priority technical support through a dedicated ticketing system\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>MailChimp Integration\u003C\u002Fh3>\n\u003Cp>This plugin integrates with the MailChimp API 3.0 to enable subscription forms for your website, through the MailChimp Subscribe Elementor widget. Your users can sign up for newsletters and updates through this form, which interacts with the MailChimp API for seamless email list management.\u003C\u002Fp>\n\u003Cp>MailChimp Terms of Use: \u003Ca href=\"https:\u002F\u002Fmailchimp.com\u002Flegal\u002Fterms\u002F\" rel=\"nofollow ugc\">Terms of Use\u003C\u002Fa>\u003Cbr \u002F>\nMailChimp Privacy Policy: \u003Ca href=\"https:\u002F\u002Fmailchimp.com\u002Flegal\u002Fprivacy\u002F\" rel=\"nofollow ugc\">Privacy Policy\u003C\u002Fa>\u003Cbr \u002F>\nMailChimp Api Use Policy: \u003Ca href=\"https:\u002F\u002Fmailchimp.com\u002Flegal\u002Fapi_use\u002F\" rel=\"nofollow ugc\">API Use Policy\u003C\u002Fa>\u003C\u002Fp>\n","Create stunning music websites with Musician's Pack for Elementor! Powerful widgets & ready-made templates for musicians, bands, DJs, and producers.",400,10797,86,6,"2025-12-01T11:45:00.000Z","6.9.4","5.1","7.0",[98,99,100,22,101],"artist","elementor-templates","elementor-widgets","musician","https:\u002F\u002Fmusicpack.smartwpress.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmusic-pack-for-elementor.1.8.7.zip",78,"2025-04-04 00:00:00",{"slug":107,"name":108,"version":109,"author":110,"author_profile":111,"description":112,"short_description":113,"active_installs":11,"downloaded":114,"rating":13,"num_ratings":34,"last_updated":115,"tested_up_to":116,"requires_at_least":117,"requires_php":18,"tags":118,"homepage":124,"download_link":125,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":61},"music-reviews","Custom Music Review","1.3","nilesh0308","https:\u002F\u002Fprofiles.wordpress.org\u002Fnilesh0308\u002F","\u003Cp>Custom Music review plugin support you to add an new post type with taxonomy, custom fields, feature images. Here you can add this into your wordpress site easily.\u003C\u002Fp>\n\u003Ch4>Docs & Support\u003C\u002Fh4>\n\u003Cp>You can mail me your query on [neelesh.chourasia@yahoo.co.in] and I will get back to your with your answers.\u003C\u002Fp>\n\u003Ch4>Custom music reviews Needs Your Support\u003C\u002Fh4>\n\u003Cp>It is hard to continue development and support for this free plugin without contributions from users like you. If you enjoy using Custom Music Review and find it useful, then please rate it. Your rating will help encourage and support the plugin’s continued development and better user support.\u003C\u002Fp>\n","Custom Music review form plugin. Simple but flexible.",2658,"2016-11-28T13:33:00.000Z","4.6.30","2.0.1.3",[119,120,121,122,123],"classical-music-review","custom-music-review","genres-of-music","music-genres","music-review","http:\u002F\u002Fstudy4u.net\u002Fplugin\u002Fcustom-music-reviews.zip","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmusic-reviews.zip",{"slug":127,"name":128,"version":129,"author":130,"author_profile":131,"description":132,"short_description":133,"active_installs":11,"downloaded":134,"rating":28,"num_ratings":28,"last_updated":135,"tested_up_to":136,"requires_at_least":137,"requires_php":18,"tags":138,"homepage":18,"download_link":140,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":61},"seatgeek-tour-dates","Tour Dates","1.1","SeatGeek","https:\u002F\u002Fprofiles.wordpress.org\u002Fseatgeek\u002F","\u003Cp>SeatGeek’s Tour Dates plugin allows artists and fans to display upcoming tour dates for an artist, theater group (e.g. Book of Mormon), or team. Install as a sidebar widget or as a full-page widget using shortcode.\u003C\u002Fp>\n\u003Cp>The widget is fully customizable so you can have it match the look and feel of your site and ties into SeatGeek’s affiliate program so you can generate revenue off tickets sold.\u003C\u002Fp>\n\u003Cp>Get tour dates on your site in under 5 minutes!\u003C\u002Fp>\n","SeatGeek’s Tour Dates plugin allows artists and fans to display upcoming tour dates for a given performer.",2808,"2014-03-20T02:55:00.000Z","3.7.41","3.0.1",[21,22,139,56,77],"seatgeek","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fseatgeek-tour-dates.zip",{"attackSurface":142,"codeSignals":209,"taintFlows":323,"riskAssessment":371,"analyzedAt":383},{"hooks":143,"ajaxHandlers":166,"restRoutes":201,"shortcodes":202,"cronEvents":206,"entryPointCount":207,"unprotectedCount":208},[144,150,154,158,162],{"type":145,"name":146,"callback":147,"file":148,"line":149},"action","init","defineConstants","concertpress.php",39,{"type":145,"name":151,"callback":152,"file":148,"line":153},"template_redirect","addCSS",41,{"type":145,"name":155,"callback":156,"file":148,"line":157},"admin_menu","addAdminPages",42,{"type":145,"name":159,"callback":160,"file":148,"line":161},"wp_before_admin_bar_render","add_link_to_menu_bar",67,{"type":145,"name":163,"callback":164,"file":148,"line":165},"widgets_init","register_widget",70,[167,173,177,181,185,189,193,197],{"action":168,"nopriv":169,"callback":170,"hasNonce":171,"hasCapCheck":169,"file":148,"line":172},"new-event-ajax",false,"ajax_process_new_event",true,50,{"action":174,"nopriv":169,"callback":175,"hasNonce":171,"hasCapCheck":169,"file":148,"line":176},"new-programme-ajax","ajax_process_new_programme",51,{"action":178,"nopriv":169,"callback":179,"hasNonce":171,"hasCapCheck":169,"file":148,"line":180},"new-venue-ajax","ajax_process_new_venue",52,{"action":182,"nopriv":169,"callback":183,"hasNonce":171,"hasCapCheck":169,"file":148,"line":184},"check-prog-venue-associations","ajax_check_prog_venue_associations",55,{"action":186,"nopriv":169,"callback":187,"hasNonce":171,"hasCapCheck":169,"file":148,"line":188},"delete-event-prog-venue-ajax","ajax_delete_event_prog_or_venue",56,{"action":190,"nopriv":169,"callback":191,"hasNonce":169,"hasCapCheck":169,"file":148,"line":192},"redraw-tables","ajax_redraw_tables",59,{"action":194,"nopriv":169,"callback":195,"hasNonce":169,"hasCapCheck":169,"file":148,"line":196},"get-options","getOptions",62,{"action":198,"nopriv":169,"callback":199,"hasNonce":169,"hasCapCheck":169,"file":148,"line":200},"save-options","saveOptions",63,[],[203],{"tag":204,"callback":205,"file":148,"line":50},"cpevents","printEvents",[],9,3,{"dangerousFunctions":210,"sqlUsage":211,"outputEscaping":214,"fileOperations":28,"externalRequests":14,"nonceChecks":215,"capabilityChecks":28,"bundledLibraries":322},[],{"prepared":212,"raw":28,"locations":213},18,[],{"escaped":215,"rawEcho":188,"locations":216},5,[217,220,222,224,226,228,230,232,234,235,237,239,241,243,245,247,248,250,251,254,256,257,259,260,262,265,267,269,270,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,300,302,303,306,308,310,311,312,314,316,318,320],{"file":148,"line":218,"context":219},372,"raw output",{"file":148,"line":221,"context":219},419,{"file":148,"line":223,"context":219},466,{"file":148,"line":225,"context":219},502,{"file":148,"line":227,"context":219},549,{"file":148,"line":229,"context":219},1019,{"file":148,"line":231,"context":219},1056,{"file":148,"line":233,"context":219},1359,{"file":148,"line":233,"context":219},{"file":148,"line":236,"context":219},1365,{"file":148,"line":238,"context":219},1384,{"file":148,"line":240,"context":219},1396,{"file":148,"line":242,"context":219},1691,{"file":148,"line":244,"context":219},1726,{"file":148,"line":246,"context":219},1727,{"file":148,"line":246,"context":219},{"file":148,"line":249,"context":219},1729,{"file":148,"line":249,"context":219},{"file":252,"line":253,"context":219},"html\\add-event.php",22,{"file":252,"line":255,"context":219},32,{"file":252,"line":255,"context":219},{"file":252,"line":258,"context":219},46,{"file":252,"line":258,"context":219},{"file":252,"line":261,"context":219},68,{"file":263,"line":264,"context":219},"html\\list-events.php",121,{"file":263,"line":266,"context":219},123,{"file":263,"line":268,"context":219},127,{"file":263,"line":268,"context":219},{"file":263,"line":268,"context":219},{"file":263,"line":272,"context":219},132,{"file":263,"line":274,"context":219},134,{"file":263,"line":276,"context":219},136,{"file":263,"line":278,"context":219},138,{"file":263,"line":280,"context":219},145,{"file":263,"line":282,"context":219},147,{"file":263,"line":284,"context":219},149,{"file":263,"line":286,"context":219},151,{"file":263,"line":288,"context":219},159,{"file":290,"line":161,"context":219},"html\\list-programmes.php",{"file":290,"line":292,"context":219},69,{"file":290,"line":294,"context":219},73,{"file":290,"line":296,"context":219},77,{"file":290,"line":298,"context":219},79,{"file":290,"line":27,"context":219},{"file":290,"line":301,"context":219},87,{"file":290,"line":301,"context":219},{"file":304,"line":305,"context":219},"html\\list-venues.php",74,{"file":304,"line":307,"context":219},76,{"file":304,"line":309,"context":219},80,{"file":304,"line":37,"context":219},{"file":304,"line":91,"context":219},{"file":304,"line":313,"context":219},92,{"file":304,"line":315,"context":219},94,{"file":304,"line":317,"context":219},96,{"file":319,"line":51,"context":219},"html\\pagination.php",{"file":319,"line":321,"context":219},19,[],[324,349],{"entryPoint":325,"graph":326,"unsanitizedCount":34,"severity":348},"saveOptions (concertpress.php:1391)",{"nodes":327,"edges":345},[328,333,339,341],{"id":329,"type":330,"label":331,"file":148,"line":332},"n0","source","$_POST",1393,{"id":334,"type":335,"label":336,"file":148,"line":337,"wp_function":338},"n1","sink","update_option() [Settings Manipulation]",1394,"update_option",{"id":340,"type":330,"label":331,"file":148,"line":332},"n2",{"id":342,"type":335,"label":343,"file":148,"line":240,"wp_function":344},"n3","echo() [XSS]","echo",[346,347],{"from":329,"to":334,"sanitized":169},{"from":340,"to":342,"sanitized":169},"medium",{"entryPoint":350,"graph":351,"unsanitizedCount":28,"severity":370},"\u003Cconcertpress> (concertpress.php:0)",{"nodes":352,"edges":366},[353,354,355,356,357,361],{"id":329,"type":330,"label":331,"file":148,"line":332},{"id":334,"type":335,"label":336,"file":148,"line":337,"wp_function":338},{"id":340,"type":330,"label":331,"file":148,"line":332},{"id":342,"type":335,"label":343,"file":148,"line":240,"wp_function":344},{"id":358,"type":330,"label":359,"file":148,"line":360},"n4","$_GET",1499,{"id":362,"type":335,"label":363,"file":148,"line":364,"wp_function":365},"n5","get_results() [SQLi]",1535,"get_results",[367,368,369],{"from":329,"to":334,"sanitized":171},{"from":340,"to":342,"sanitized":171},{"from":358,"to":362,"sanitized":171},"low",{"summary":372,"deductions":373},"The ConcertPress plugin exhibits a mixed security posture. On the positive side, it demonstrates good practices by utilizing prepared statements for all SQL queries and has no recorded vulnerability history, suggesting a generally secure development approach. The absence of dangerous functions, file operations, and critical\u002Fhigh taint flows is also encouraging. However, significant concerns arise from the static analysis. A considerable portion of the AJAX endpoints (3 out of 8) lack authentication checks, creating a broad attack surface for unauthorized actions. Additionally, a taint flow with unsanitized paths indicates a potential risk, even if not categorized as critical or high. The low percentage of properly escaped output is a notable weakness, potentially leading to Cross-Site Scripting (XSS) vulnerabilities if user-controlled data is displayed without proper sanitization. While the lack of historical vulnerabilities is positive, it doesn't negate the immediate risks identified in the current code.",[374,377,379,381],{"reason":375,"points":376},"Unprotected AJAX handlers",15,{"reason":378,"points":11},"Flows with unsanitized paths",{"reason":380,"points":51},"Low output escaping percentage",{"reason":382,"points":215},"No capability checks on entry points","2026-03-16T23:34:10.838Z",{"wat":385,"direct":393},{"assetPaths":386,"generatorPatterns":390,"scriptPaths":391,"versionParams":392},[387,388,389],"\u002Fwp-content\u002Fplugins\u002Fconcertpress\u002Fjs\u002Fcp-js.min.js","\u002Fwp-content\u002Fplugins\u002Fconcertpress\u002Fcss\u002Fcp-css.css","\u002Fwp-content\u002Fplugins\u002Fconcertpress\u002Fcss\u002Fjquery-ui.css",[],[387],[],{"cssClasses":394,"htmlComments":395,"htmlAttributes":396,"restEndpoints":397,"jsGlobals":398,"shortcodeOutput":400},[],[],[],[],[399],"phpvars",[401],"[cpevents]"]