[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fo9lp2q_SHNIzybr8GjdvrpSAod5Y_xhUSTfetrojJ6M":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":37,"analysis":148,"fingerprints":312},"sermon-manager-import","Sermon Manager Import","0.2.5","khornberg","https:\u002F\u002Fprofiles.wordpress.org\u002Fkhornberg\u002F","\u003Cp>Imports sermons into \u003Ca href=\"https:\u002F\u002Fbitbucket.org\u002Fwpforchurch\u002Fsermon-manager-for-wordpress\" rel=\"nofollow ugc\">Sermon Manager for WordPress\u003C\u002Fa> using ID3 information. Only MP3 files are currently supported. Files can either be uploaded via the WordPress uploader or through another method. The plugin adds files to the \u003Ccode>wp-content\u002Fuploads\u002Fsermon-manager-import\u003C\u002Fcode> folder by default. A different folder can be specified in the options. The plugin only searches the base folder specified! Files added through the WordPress uploader will show up in the media library as unattached. The files are then attached to the sermon when imported.\u003C\u002Fp>\n\u003Cp>When the sermon is posted, the file is moved to the uploads folder using the organization method selected in the WordPress settings. Sermons can be posted in the \u003Ccode>publish\u003C\u002Fcode> or \u003Ccode>draft\u003C\u002Fcode> status.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Warning\u003C\u002Fstrong> there are a few warnings you should read in the \u003Ccode>Other Notes\u003C\u002Fcode> section.\u003C\u002Fp>\n\u003Ch3>Contributing\u003C\u002Fh3>\n\u003Cp>If you want to contribute go to \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkhornberg\u002Fsermon-manager-import\" rel=\"nofollow ugc\">Github\u003C\u002Fa>, fork, and send a pull request. Issues and comments are welcome as well.\u003C\u002Fp>\n\u003Ch4>**WARNINGS**\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>All uploads identified as \u003Ccode>audio\u002Fmp3\u003C\u002Fcode> (usually only MP3 files) are uploaded to the import folder specified. All other files will be uploaded to the normal upload directory.  \u003C\u002Fli>\n\u003Cli>When posting a file that is an unattached entry, the unattached entry will be deleted. Normally, this is not an issue and is only a temporary entry. However, if you manually attached the uploaded media to a post, it will not work after importing the sermon. This is an unlikely scenario.  \u003C\u002Fli>\n\u003Cli>This plugin does not have the ability to add media already in the WordPress media library to sermon manager. To do this, one would manually (ssh, ftp, etc) move the files to the specified import folder. Then continue as normal. This method will delete the previous entry in the media library. If you have the media attached to another post, the old post will not work.\u003C\u002Fli>\n\u003Cli>While this plugin is activated, mp3 files will go to the folder specified in the \u003Ccode>Import Options\u003C\u002Fcode>. I recommend you activate this plugin only when needed and disable it when not needed.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>TODO (if interest is expressed)\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Add featured image from ID3 embedded picture\u003C\u002Fli>\n\u003Cli>Import other types of audio files\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Thank you\u003C\u002Fh3>\n\u003Cp>Thank you Jack for creating a useful and well documented plugin. Other themes and plugins are available at \u003Ca href=\"http:\u002F\u002Fwww.wpforchurch.com\u002F\" rel=\"nofollow ugc\">WordPress for Church\u003C\u002Fa>.\u003Cbr \u002F>\nTom McFarlin’s \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftommcfarlin\u002FWordPress-Plugin-Boilerplate\" rel=\"nofollow ugc\">WordPress Plugin Boilerplate\u003C\u002Fa>.\u003Cbr \u002F>\nJames Heinrich’s \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FJamesHeinrich\u002FgetID3\" rel=\"nofollow ugc\">getID3\u003C\u002Fa>.\u003Cbr \u002F>\nPaul Sheldrake’s \u003Ca href=\"www.fractured-state.com\u002F2011\u002F09\u002Fmp3-to-post-plugin\" rel=\"nofollow ugc\">MP3 to Post Plugin\u003C\u002Fa>.\u003C\u002Fp>\n","Imports sermons into Sermon Manager using ID3 information.",90,6188,74,3,"2019-03-29T21:19:00.000Z","4.9.29","3.6","",[20,21,22,23,24],"id3","mp3","podcasting","sermon","sermon-manager","https:\u002F\u002Fgithub.com\u002Fkhornberg\u002Fsermon-manager-import","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsermon-manager-import.0.2.5.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":11,"avg_security_score":27,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},1,30,84,"2026-04-04T15:21:18.322Z",[38,77,100,117,132],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":28,"num_ratings":28,"last_updated":48,"tested_up_to":49,"requires_at_least":50,"requires_php":18,"tags":51,"homepage":75,"download_link":76,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"podcast-searcher-by-clarify","Podcast Searcher by Clarify","1.0.2","caseysoftware","https:\u002F\u002Fprofiles.wordpress.org\u002Fcaseysoftware\u002F","\u003Cp>The Podcast Searcher plugin uses \u003Ca href=\"http:\u002F\u002FClarify.io\" rel=\"nofollow ugc\">Clarify’s\u003C\u002Fa> technology to make audio and video searchable.  It uses automatic speech recognition to extract spoken English, Spanish, and French and lets you retrieve detailed information about your media with simple API calls. Getting started takes minutes.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Minimal setup: Adds search to your podcast without any additional plugins or custom theming required.\u003C\u002Fli>\n\u003Cli>Simple to Use: You just add the link to your podcast as you’ve always done. We handle the rest.\u003C\u002Fli>\n\u003Cli>No transcripts: Lets you skip the expensive and time-consuming step of getting transcripts.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Usage\u003C\u002Fh4>\n\u003Cp>Now whenever you add a URL to your audio or video file – either by directly copy\u002Fpasting the url into the post or using a media embed – it will automatically be sent to Clarify for indexing.\u003C\u002Fp>\n\u003Cp>Once the file is done processing, using your on-site search will return results describing where your word is heard in the audio down to the second. If you’re using the default embed\u002Fshortcode, these mentions will be clickable and jump you directly to that spot in the audio or video.\u003C\u002Fp>\n\u003Ch4>Further Usage\u003C\u002Fh4>\n\u003Cp>If you have archives with media – audio or video – already embedded, this plugin will not automatically index it for you. We didn’t want to surprise you with a massive bill. Instead, just open any of your old posts and re-save them. No editing or changes required. The media will get processed just like any other media.\u003C\u002Fp>\n\u003Ch4>Housekeeping\u003C\u002Fh4>\n\u003Cp>While this is hosted in WordPress’ SVN repository, no development is performed there. For the latest and greatest development version, check out the Github repository: https:\u002F\u002Fgithub.com\u002FClarify\u002Fwp-clarify\u003C\u002Fp>\n","The Clarify plugin allows you to make any audio or video embedded in your posts, pages, etc searchable via the standard WordPress search box.",10,1631,"2015-06-13T05:45:00.000Z","4.2.39","2.5",[52,53,54,55,56,57,58,59,20,60,61,62,21,63,64,65,66,67,22,68,69,70,71,72,73,74],"audio","audio-search","clarify","embed","enclosure","episodes","flash","flv","itunes","m4v","media","mp4","music","player","podcast","podcaster","podcasts","rss","video","video-blogging","video-search","videocasts","webm","http:\u002F\u002Fgithub.com\u002FClarify\u002Fwp-clarify","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpodcast-searcher-by-clarify.1.0.2.zip",{"slug":78,"name":79,"version":80,"author":81,"author_profile":82,"description":83,"short_description":84,"active_installs":85,"downloaded":86,"rating":87,"num_ratings":88,"last_updated":89,"tested_up_to":90,"requires_at_least":91,"requires_php":92,"tags":93,"homepage":97,"download_link":98,"security_score":99,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"liteweight-podcast","Liteweight Podcast – Host and Embed Podcast Episodes","2.2.7","bPlugins","https:\u002F\u002Fprofiles.wordpress.org\u002Fbplugins\u002F","\u003Cp>WP Podcast is a user-friendly podcasting plugin for WordPress which has lots of options and functionality to run your podcasting website.\u003C\u002Fp>\n\u003Cp>Wanna see how it works? \u003Ca href=\"https:\u002F\u002Fpodcast.bplugins.com\u002F#demos\" title=\"See demo\" rel=\"nofollow ugc\">Click Here To see demo \u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Podcast mp3, wav, and ogg audio file\u003C\u002Fli>\n\u003Cli>HTML5 compatible so it will play audio files in most of the mobile devices.\u003C\u002Fli>\n\u003Cli>Works on all major browsers – IE7, IE8, IE9, Safari, Firefox, Chrome\u003C\u002Fli>\n\u003Cli>The player is responsive.\u003C\u002Fli>\n\u003Cli>Integrated social share icon .\u003C\u002Fli>\n\u003Cli>Shortcode driven. so that you can publish any podcast anywhere in your wordpress.\u003C\u002Fli>\n\u003Cli>Audio file download button and control over it.\u003C\u002Fli>\n\u003Cli>User can change the audio speed using setting icon in the front end. \u003C\u002Fli>\n\u003Cli>2 Theme included.\u003C\u002Fli>\n\u003Cli>You can add podcast in widget area too.\u003C\u002Fli>\n\u003Cli>Fully customizable and compact.\u003C\u002Fli>\n\u003Cli>You can create unlimited podcast\u003C\u002Fli>\n\u003Cli>User friendly interface\u003C\u002Fli>\n\u003Cli>Powered by html5\u003C\u002Fli>\n\u003C\u002Ful>\n","A lite weight Podcasting plugin for WordPress which contain lots of options and functionality to run your podcasting website.",500,20341,86,9,"2026-02-04T03:20:00.000Z","6.9.4","5.3","7.1",[94,95,66,96,22],"audio-player","mp3-player","podcast-player","http:\u002F\u002Fabuhayatpolash.com\u002Fplugins\u002Fliteweight-podcast\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fliteweight-podcast.2.2.7.zip",100,{"slug":101,"name":102,"version":103,"author":104,"author_profile":105,"description":106,"short_description":107,"active_installs":108,"downloaded":109,"rating":28,"num_ratings":28,"last_updated":110,"tested_up_to":111,"requires_at_least":112,"requires_php":113,"tags":114,"homepage":115,"download_link":116,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"la-tecnologeria-podcasting-players","La Tecnologeria Podcasting players","1.3","tecnologeria","https:\u002F\u002Fprofiles.wordpress.org\u002Ftecnologeria\u002F","\u003Cp>Use easy-to-use shortcodes in your posts or pages to display audio players from different platforms.\u003C\u002Fp>\n\u003Ch3>How to use this plugin\u003C\u002Fh3>\n\u003Cp>This plugin offers several shortcodes to integrate different podcasting platforms in your website. In this version we support Youtube and iVoox platforms.\u003C\u002Fp>\n\u003Ch4>iVoox(TM) shortcodes\u003C\u002Fh4>\n\u003Cp>There are two kinds of iVoox widgets: episode and program widgets.\u003C\u002Fp>\n\u003Cp>For \u003Cstrong>episode widgets\u003C\u002Fstrong>, you need the episode id, which can be taken from the URL from your published episode. Use this id as follows:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[ivoox id=\"49097143\"]\n[ivoox id=\"49097143\" color=\"#00EACD\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>These are the fields that must be provided with the shortcode:\u003Cbr \u002F>\n* \u003Ccode>id\u003C\u002Fcode> (mandatory) field should be the identifier in the episode URL (a number).\u003Cbr \u002F>\n* \u003Ccode>color\u003C\u002Fcode> (optional) field is the color that substitutes the default color. In HTML format (#RRGGBB). Remember to include the #. A default color can be provided in the plugin settings page. It would be used unless this field is explicitly provided.\u003C\u002Fp>\n\u003Cp>In case you want to keep on using the old player, use the following shortcode:\u003Cbr \u002F>\n    [ivoox-old id=”49097143″ color=”#00EACD”]\u003C\u002Fp>\n\u003Cp>Compact and mini versions of the episode player can also be used instead:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[ivoox-compact id=\"49097143\"]\n[ivoox-mini id=\"49097143\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Color configuration is not available for these versions of the player.\u003C\u002Fp>\n\u003Cp>If you aim to use \u003Cstrong>program widgets\u003C\u002Fstrong>, use the following shortcode:\u003Cbr \u002F>\n    [ivoox-program id=”313872″ color=”#00EACD”]\u003C\u002Fp>\n\u003Cp>These are the fields that must be provided with the shortcode:\u003Cbr \u002F>\n* \u003Ccode>id\u003C\u002Fcode> (mandatory) field should be the identifier in the podcast URL (a number).\u003Cbr \u002F>\n* \u003Ccode>color\u003C\u002Fcode> (optional) field is the color that substitutes the default color. In HTML format (#RRGGBB). Remember to include the #. A default color can be provided in the plugin settings page. It would be used unless this field is explicitly provided.\u003C\u002Fp>\n\u003Ch4>Youtube shortcode\u003C\u002Fh4>\n\u003Cp>Integrate a Youtube video using its ID. Use the shortcode as follows:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C!--YouTube Error: bad URL entered-->\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>These are the fields that can be used with the shortcode:\u003Cbr \u002F>\n* \u003Ccode>id\u003C\u002Fcode> (mandatory) field must be the identifier of the video that can be taken from the video URL.\u003Cbr \u002F>\n* \u003Ccode>width\u003C\u002Fcode> (optional) field would be the width of the player.\u003Cbr \u002F>\n* \u003Ccode>height\u003C\u002Fcode> (optional) field would be the height of the player.\u003Cbr \u002F>\n* \u003Ccode>cookies\u003C\u002Fcode>(optional) field to use privacy-enhance mode (check \u003Ca href=\"https:\u002F\u002Fsupport.google.com\u002Fyoutube\u002Fanswer\u002F171780?visit_id=637478635883120886-287002157&rd=1#zippy=%2Cturn-on-privacy-enhanced-mode\" rel=\"nofollow ugc\">iVoox website\u003C\u002Fa>).\u003C\u002Fp>\n\u003Cp>If width and height are not specified, default values are 560×315. If only one of them is specified, the remaining dimension is computed using 16:9 proportion.\u003C\u002Fp>\n\u003Cp>Cookies option is boolean. Use values true\u002Fon\u002Fyes\u002F1 to use the standard player or false\u002Foff\u002Fno\u002F0 to enable the enhanced mode. Enhanced mode is the default option in case it is not specified.\u003C\u002Fp>\n\u003Ch4>Other platforms\u003C\u002Fh4>\n\u003Cp>They’re about to come in upcoming versions.\u003C\u002Fp>\n","A plugin to add external players easily in your web using shortcodes.",40,1550,"2021-12-27T10:12:00.000Z","5.6.17","4.9.13","5.6.40",[52,21,66,22],"http:\u002F\u002Fwww.tecnologeria.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fla-tecnologeria-podcasting-players.1.3.zip",{"slug":118,"name":119,"version":120,"author":121,"author_profile":122,"description":123,"short_description":124,"active_installs":46,"downloaded":125,"rating":28,"num_ratings":28,"last_updated":126,"tested_up_to":127,"requires_at_least":128,"requires_php":18,"tags":129,"homepage":130,"download_link":131,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"audiotracks","AudioTracks","0.2.beta","Ben Huson","https:\u002F\u002Fprofiles.wordpress.org\u002Fhusobj\u002F","\u003Cp>At the moment this plugin simply allows you to create and manage a director y of audio tracks in WordPress.\u003C\u002Fp>\n\u003Cp>Future plans include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Additional track details; Lyrics, Year, BPM, track numbers etc\u003C\u002Fli>\n\u003Cli>Additional audio file information; Bit rate, Sample rate etc\u003C\u002Fli>\n\u003Cli>Audio player functionality\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>0.2.beta\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Fixed some PHP warnings.\u003C\u002Fli>\n\u003Cli>Added post type menu name attributes.\u003C\u002Fli>\n\u003Cli>Check WordPress 3.3 compatibility.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>0.1.beta\u003C\u002Fh3>\n\u003Cp>Just released. Not much to see yet but feel free to try it out.\u003Cbr \u002F>\n🙂\u003C\u002Fp>\n","Manage a directory of audio tracks in WordPress.",3431,"2011-12-12T16:07:00.000Z","3.3.2","3.0",[52,20,21,64],"http:\u002F\u002Fwww.benhuson.co.uk\u002Fwordpress-plugins\u002Faudiotracks","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Faudiotracks.0.2.beta.zip",{"slug":133,"name":134,"version":135,"author":136,"author_profile":137,"description":18,"short_description":138,"active_installs":46,"downloaded":139,"rating":28,"num_ratings":28,"last_updated":140,"tested_up_to":141,"requires_at_least":142,"requires_php":18,"tags":143,"homepage":146,"download_link":147,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"remove-query-arg-from-media","Remove Query Arg from Media URLs ?_=1","0.1","Angelo Mandato","https:\u002F\u002Fprofiles.wordpress.org\u002Famandato\u002F","Remove the query string ?_=1 added by WordPress adds to media URLs in HTML5 audio and video mediaelement.js players.",1542,"2017-01-07T16:08:00.000Z","4.7.32","3.7",[144,21,66,22,145],"audio-video","powerpress","http:\u002F\u002Fwww.pluginspodcast.com\u002Fplugins\u002Fremove-query-arg-from-media-urls-_1\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fremove-query-arg-from-media.0.1.zip",{"attackSurface":149,"codeSignals":253,"taintFlows":299,"riskAssessment":300,"analyzedAt":311},{"hooks":150,"ajaxHandlers":243,"restRoutes":244,"shortcodes":245,"cronEvents":251,"entryPointCount":252,"unprotectedCount":28},[151,157,161,165,169,172,176,181,185,189,193,197,201,205,209,214,216,217,218,219,220,221,222,223,224,225,226,227,229,231,233,237,240,242],{"type":152,"name":153,"callback":154,"file":155,"line":156},"action","init","load_plugin_textdomain","class-sermon-manager-import.php",116,{"type":152,"name":158,"callback":159,"file":155,"line":160},"wpmu_new_blog","activate_new_site",119,{"type":152,"name":162,"callback":163,"file":155,"line":164},"admin_menu","add_plugin_admin_menu",122,{"type":152,"name":166,"callback":167,"file":155,"line":168},"admin_enqueue_scripts","enqueue_admin_styles",128,{"type":152,"name":166,"callback":170,"file":155,"line":171},"enqueue_admin_scripts",129,{"type":152,"name":173,"callback":174,"file":155,"line":175},"admin_init","action_replace_thickbox_text",138,{"type":177,"name":178,"callback":179,"file":155,"line":180},"filter","wp_handle_upload_prefilter","filter_sermon_upload_pre_upload",139,{"type":177,"name":182,"callback":183,"file":155,"line":184},"wp_handle_upload","filter_sermon_upload_post_upload",140,{"type":177,"name":186,"callback":187,"priority":46,"file":155,"line":188},"posts_where","filter_title_like_posts_where",143,{"type":152,"name":190,"callback":191,"file":155,"line":192},"current_screen","action_add_help_menu",146,{"type":152,"name":194,"callback":195,"file":155,"line":196},"admin_notices","activate",149,{"type":152,"name":198,"callback":199,"file":155,"line":200},"shutdown","display_messages",152,{"type":177,"name":202,"callback":203,"priority":33,"file":155,"line":204},"gettext","filter_replace_thickbox_text",1007,{"type":177,"name":206,"callback":207,"file":155,"line":208},"upload_dir","sermon_upload_custom_upload_dir",1077,{"type":152,"name":210,"callback":211,"file":212,"line":213},"plugins_loaded","get_instance","sermon-manager-import.php",56,{"type":152,"name":153,"callback":154,"file":215,"line":156},"trunk\\class-sermon-manager-import.php",{"type":152,"name":158,"callback":159,"file":215,"line":160},{"type":152,"name":162,"callback":163,"file":215,"line":164},{"type":152,"name":166,"callback":167,"file":215,"line":168},{"type":152,"name":166,"callback":170,"file":215,"line":171},{"type":152,"name":173,"callback":174,"file":215,"line":175},{"type":177,"name":178,"callback":179,"file":215,"line":180},{"type":177,"name":182,"callback":183,"file":215,"line":184},{"type":177,"name":186,"callback":187,"priority":46,"file":215,"line":188},{"type":152,"name":190,"callback":191,"file":215,"line":192},{"type":152,"name":194,"callback":195,"file":215,"line":196},{"type":152,"name":198,"callback":199,"file":215,"line":200},{"type":177,"name":202,"callback":203,"priority":33,"file":215,"line":228},1009,{"type":177,"name":206,"callback":207,"file":215,"line":230},1079,{"type":152,"name":210,"callback":211,"file":232,"line":213},"trunk\\sermon-manager-import.php",{"type":152,"name":162,"callback":234,"file":235,"line":236},"add_options_page","trunk\\views\\options.php",32,{"type":152,"name":173,"callback":238,"file":235,"line":239},"page_init",33,{"type":152,"name":162,"callback":234,"file":241,"line":236},"views\\options.php",{"type":152,"name":173,"callback":238,"file":241,"line":239},[],[],[246,249],{"tag":247,"callback":247,"file":155,"line":248},"import_all_sermons",1169,{"tag":247,"callback":247,"file":215,"line":250},1171,[],2,{"dangerousFunctions":254,"sqlUsage":255,"outputEscaping":257,"fileOperations":297,"externalRequests":28,"nonceChecks":28,"capabilityChecks":28,"bundledLibraries":298},[],{"prepared":252,"raw":28,"locations":256},[],{"escaped":236,"rawEcho":258,"locations":259},22,[260,263,265,266,268,271,273,275,277,279,281,283,285,287,289,290,291,292,293,294,295,296],{"file":155,"line":261,"context":262},279,"raw output",{"file":155,"line":264,"context":262},989,{"file":215,"line":261,"context":262},{"file":215,"line":267,"context":262},991,{"file":269,"line":270,"context":262},"trunk\\views\\admin.php",25,{"file":235,"line":272,"context":262},307,{"file":235,"line":274,"context":262},330,{"file":235,"line":276,"context":262},337,{"file":235,"line":278,"context":262},342,{"file":235,"line":280,"context":262},361,{"file":235,"line":282,"context":262},368,{"file":235,"line":284,"context":262},382,{"file":235,"line":286,"context":262},396,{"file":288,"line":270,"context":262},"views\\admin.php",{"file":241,"line":272,"context":262},{"file":241,"line":274,"context":262},{"file":241,"line":276,"context":262},{"file":241,"line":278,"context":262},{"file":241,"line":280,"context":262},{"file":241,"line":282,"context":262},{"file":241,"line":284,"context":262},{"file":241,"line":286,"context":262},8,[],[],{"summary":301,"deductions":302},"The sermon-manager-import plugin v0.2.5 exhibits a generally positive security posture based on the provided static analysis and vulnerability history. The absence of dangerous functions, the exclusive use of prepared statements for SQL queries, and the lack of external HTTP requests are strong indicators of good development practices.  Furthermore, the plugin has no recorded vulnerabilities or CVEs, suggesting a history of security-conscious maintenance or a lack of targeted exploitation. However, there are areas for improvement. The fact that 41% of output is not properly escaped presents a potential Cross-Site Scripting (XSS) risk, especially if the plugin handles user-provided input that is later displayed. The complete absence of nonce checks and capability checks for its entry points (shortcodes in this case) is a significant concern, as it implies that any authenticated user could potentially trigger the plugin's functionality without proper authorization or protection against CSRF attacks. While the attack surface is small and currently unprotected entry points are zero, the lack of specific security checks for the existing shortcodes opens up a vulnerability window.  In conclusion, while the plugin is free from known critical vulnerabilities and demonstrates good SQL hygiene, the unescaped output and the lack of nonces\u002Fcapability checks on shortcodes are significant weaknesses that warrant attention.",[303,306,309],{"reason":304,"points":305},"Significant portion of output not properly escaped",7,{"reason":307,"points":308},"No nonce checks on entry points (shortcodes)",6,{"reason":310,"points":308},"No capability checks on entry points (shortcodes)","2026-03-16T21:21:59.577Z",{"wat":313,"direct":322},{"assetPaths":314,"generatorPatterns":317,"scriptPaths":318,"versionParams":319},[315,316],"\u002Fwp-content\u002Fplugins\u002Fsermon-manager-import\u002Fcss\u002Fsermon-manager-import.css","\u002Fwp-content\u002Fplugins\u002Fsermon-manager-import\u002Fjs\u002Fsermon-manager-import.js",[],[316],[320,321],"sermon-manager-import\u002Fcss\u002Fsermon-manager-import.css?ver=","sermon-manager-import\u002Fjs\u002Fsermon-manager-import.js?ver=",{"cssClasses":323,"htmlComments":325,"htmlAttributes":326,"restEndpoints":328,"jsGlobals":329,"shortcodeOutput":330},[324],"sermon-manager-import-options",[],[327],"data-plugin-slug=\"sermon-manager-import\"",[],[],[]]