[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f0mXik_4GhlZWWkFv4LGRCL0CWMwHFRfVQYgbRUzXVck":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":24,"download_link":25,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":37,"analysis":118,"fingerprints":296},"officials-templates-for-sportspress","Officials Templates for SportsPress","1.6","Savvas","https:\u002F\u002Fprofiles.wordpress.org\u002Fsavvasha\u002F","\u003Cp>Officials Templates for SportsPress is a WordPress plugin that enhances the Official profile on SportsPress by adding custom template functions. These functions allow you to easily display and customize official’s details on your sports website.\u003C\u002Fp>\n\u003Cp>You can add your own detail info by using the following hooks:\u003Cbr \u002F>\n1. Actions\u003Cbr \u002F>\n* \u003Ccode>otfs_meta_box_officials_details\u003C\u002Fcode>: To add the custom detail field to the Details Meta-Box\u003Cbr \u002F>\n* \u003Ccode>otfs_meta_box_officials_save\u003C\u002Fcode> : To save the custom detail field.\u003Cbr \u002F>\n2. Filters\u003Cbr \u002F>\n* \u003Ccode>otfs_officials_details\u003C\u002Fcode>: To show the custom detail field at the frontend.\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Custom Template Functions:\u003C\u002Fstrong> Introduces a set of template functions for displaying officials’ information.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Enhanced Officials Management:\u003C\u002Fstrong> Adds the ability to show several details of an Official (i.e. Nationality, Age etc)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Responsive Design:\u003C\u002Fstrong> Ensures officials’ templates look great on all devices.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Easy Integration:\u003C\u002Fstrong> Seamlessly integrates with SportsPress for straightforward implementation.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Recommended Plugin:\u003C\u002Fh3>\n\u003Cp>If you’re looking for advanced reporting features and additional functionalities, we recommend checking out our premium plugin: \u003Ca href=\"https:\u002F\u002Fsavvasha.com\u002Fofficials-report-for-sportspress\u002F\" rel=\"nofollow ugc\">Officials Report for SportsPress\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Our premium plugin introduces a comprehensive Officials Report feature, which allows you to easily track and display detailed data related to match officials. Whether you prefer using the WordPress block editor or shortcodes, the Officials Report offers seamless integration in both modes. This flexibility ensures that you can place and customize reports in any part of your website, making it incredibly convenient for users who manage their content in different ways.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Block Mode\u003C\u002Fstrong>: Effortlessly add and customize official reports using the WordPress block editor, taking advantage of real-time previews and intuitive controls.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shortcode Mode\u003C\u002Fstrong>: Prefer shortcodes? No problem! Use simple shortcode to embed detailed official reports anywhere on your site, from posts and pages to custom widgets.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fsavvasha.com\u002Fofficials-report-for-sportspress\u002F\" rel=\"nofollow ugc\">Check out the premium version to bring more detailed insights and flexibility to your SportsPress setup\u003C\u002Fa>!\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cp>Once activated, the plugin automatically enables an Officials Settings tab at \u003Ccode>SportsPress->Settings->Officials\u003C\u002Fcode>. There you can enable\u002Fdisable template display, change the order and select which details you want to display for your Officials.\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>For support or inquiries, visit \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fofficials-templates-for-sportspress\u002F\" rel=\"ugc\">plugin support forum\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Donate\u003C\u002Fh3>\n\u003Cp>If you find this plugin helpful, consider \u003Ca href=\"https:\u002F\u002Fbit.ly\u002F3NLUtMh\" rel=\"nofollow ugc\">making a donation\u003C\u002Fa> to support further development and maintenance.\u003C\u002Fp>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cp>This plugin was developed by Savvas. Visit \u003Ca href=\"https:\u002F\u002Fsavvasha.com\" rel=\"nofollow ugc\">author’s website\u003C\u002Fa> for more information.\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the GPL v2 or later. See \u003Ca href=\"https:\u002F\u002Fwww.gnu.org\u002Flicenses\u002Fgpl.html\" rel=\"nofollow ugc\">License\u003C\u002Fa> for more details.\u003C\u002Fp>\n","This plugin enhances the Official profile on SportsPress by adding custom template functions.",80,4216,0,"2026-02-03T10:47:00.000Z","6.9.4","5.3","7.4",[19,20,21,22,23],"officials","profile","sports","sportspress","templates","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fofficials-templates-for-sportspress.1.7.zip",100,null,"2026-03-15T15:16:48.613Z",[],{"slug":31,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":33,"avg_security_score":26,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},"savvasha",11,790,30,94,"2026-04-04T15:01:42.529Z",[38,55,77,89,105],{"slug":39,"name":40,"version":41,"author":7,"author_profile":8,"description":42,"short_description":43,"active_installs":44,"downloaded":45,"rating":26,"num_ratings":46,"last_updated":47,"tested_up_to":15,"requires_at_least":48,"requires_php":17,"tags":49,"homepage":24,"download_link":54,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"detailed-player-stats-for-sportspress","Detailed Player Stats for SportsPress","1.8.2","\u003Cp>This plugin is an extension for \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsportspress\u002F\" rel=\"ugc\">SportsPress\u003C\u002Fa>. Give your guests the option to see in which specific events a player participated during a specific season.\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\u002Fi1ZZjFEocAk?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","Show the individual stats and performances of each event for a player per season.",200,7983,4,"2026-02-03T10:49:00.000Z","5.9",[50,51,52,22,53],"events","players","season","statistics","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdetailed-player-stats-for-sportspress.1.8.2.zip",{"slug":56,"name":57,"version":58,"author":59,"author_profile":60,"description":61,"short_description":62,"active_installs":44,"downloaded":63,"rating":64,"num_ratings":65,"last_updated":66,"tested_up_to":67,"requires_at_least":68,"requires_php":69,"tags":70,"homepage":72,"download_link":73,"security_score":74,"vuln_count":75,"unpatched_count":13,"last_vuln_date":76,"fetched_at":28},"live-scores-for-sportspress","Live Scores for SportsPress","1.9.2","Igor Benic","https:\u002F\u002Fprofiles.wordpress.org\u002Fibenic\u002F","\u003Cp>Treat your visitors with live scores directly on your site. This plugin is an extension for SportsPress.\u003C\u002Fp>\n\u003Cp>Define the structure of your sport and deliver real-time minutes to your visitors.\u003C\u002Fp>\n\u003Cp>You can define periods that track minutes such as 1st & 2nd Half in Soccer and periods which do not track time (and even pause it) such as Timeouts (Basketball, Handball) or Penalties (after 120 minutes in soccer)\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\u002FFPNgeMbE25U?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\u003Cp>Currently Available Live Templates:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Event List\u003C\u002Fli>\n\u003Cli>Event Blocks\u003C\u002Fli>\n\u003Cli>League Tables\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Single Event:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Live Results\u003C\u002Fli>\n\u003Cli>Front From to edit live results and status\u003C\u002Fli>\n\u003Cli>Scorers (Add players who scored)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Widgets:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Live Event List\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Admin:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Live Events Page where you can manage all live events\u003C\u002Fli>\n\u003Cli>Minutes Corrections\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>PRO Feaures:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Live Event Commentary – add comments on the event page so your visitors know what is happening on the field\u003C\u002Fli>\n\u003Cli>Custom Commentary Icons\u003C\u002Fli>\n\u003Cli>Front Commentary Form\u003C\u002Fli>\n\u003Cli>Live Notifications Integration\u003C\u002Fli>\n\u003Cli>Commentary Custom Colors\u003C\u002Fli>\n\u003Cli>Auto Start an Event\u003C\u002Fli>\n\u003Cli>Commentary Player (Add a player picture to the commentary)\u003C\u002Fli>\n\u003C\u002Ful>\n","Add Live Scores feature to SportsPress. Give your visitors the ability to view the results without refreshing your page.",25265,86,3,"2022-04-17T20:36:00.000Z","5.9.13","4.0","5.6",[71,22],"live","http:\u002F\u002Fwww.livesportspress.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flive-scores-for-sportspress.zip",84,2,"2021-08-24 00:00:00",{"slug":78,"name":79,"version":80,"author":7,"author_profile":8,"description":81,"short_description":82,"active_installs":26,"downloaded":83,"rating":13,"num_ratings":13,"last_updated":84,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":85,"homepage":24,"download_link":88,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"simple-event-summary-for-sportspress","Simple Event Summary for SportsPress","2.0","\u003Cp>The Simple Event Summary for SportsPress plugin enhances your SportsPress plugin by adding a brief event summary below the main event card. It includes information such as scorers and referee details for a more comprehensive overview of the event.\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Display performances, including goals, penalties, and other key events.\u003C\u002Fli>\n\u003Cli>Show referee information.\u003C\u002Fli>\n\u003Cli>Customizable display options for different event types and teams.\u003C\u002Fli>\n\u003Cli>Action hooks for custom data\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cp>Once activated, the plugin automatically adds the event summary below the main event card for SportsPress events. You can customize what data will be shown at \u003Ccode>SportsPress->Settings->Events->Event Summary\u003C\u002Fcode>.\u003Cbr \u002F>\nAction Hooks:\u003Cbr \u002F>\n* \u003Ccode>esfs_before_inner_event_summary\u003C\u002Fcode> – Fires before the event summary table is rendered. Allows developers to inject custom table content at the top of the table.\u003Cbr \u002F>\n* \u003Ccode>esfs_after_inner_event_summary\u003C\u002Fcode> – Fires after the event summary table is rendered. Useful for appending additional table information at the end of the table.\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>For support or inquiries, visit \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fsimple-event-summary-for-sportspress\u002F\" rel=\"ugc\">plugin support forum\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Donate\u003C\u002Fh3>\n\u003Cp>If you find this plugin helpful, consider \u003Ca href=\"https:\u002F\u002Fbit.ly\u002F3NLUtMh\" rel=\"nofollow ugc\">making a donation\u003C\u002Fa> to support further development and maintenance.\u003C\u002Fp>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cp>This plugin was developed by Savvas. Visit \u003Ca href=\"https:\u002F\u002Fsavvasha.com\" rel=\"nofollow ugc\">author’s website\u003C\u002Fa> for more information.\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the GPL v2 or later. See \u003Ca href=\"https:\u002F\u002Fwww.gnu.org\u002Flicenses\u002Fgpl.html\" rel=\"nofollow ugc\">License\u003C\u002Fa> for more details.\u003C\u002Fp>\n","The Simple Event Summary for SportsPress plugin enhances your SportsPress plugin by adding a brief event summary below the main event card.",3400,"2026-02-03T10:44:00.000Z",[50,86,22,87],"resume","summary","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-event-summary-for-sportspress.2.0.zip",{"slug":90,"name":91,"version":92,"author":59,"author_profile":60,"description":93,"short_description":94,"active_installs":95,"downloaded":96,"rating":26,"num_ratings":97,"last_updated":98,"tested_up_to":99,"requires_at_least":68,"requires_php":24,"tags":100,"homepage":102,"download_link":103,"security_score":104,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"league-table-importer-for-sportspress","League Table Importer for SportsPress","1.1","\u003Cp>This plugin is used to import league tables into SportsPress League Tables. Teams that do not exist are created automatically.\u003C\u002Fp>\n\u003Cp>You can select an existing league table to update, equalize the imported teams with the existing teams or the team will be created automatically if selected.\u003Cbr \u002F>\nEvery configuration setting can be select for each column that is imported so that it is flexible enough to import excels that are not always the same in columns.\u003C\u002Fp>\n\u003Cp>Plugin Supports:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Excel 2007 (.xslx), not tested with older formats\u003C\u002Fli>\n\u003Cli>XML\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>For now, after each new file upload the old file is deleted from the server.\u003C\u002Fp>\n\u003Cp>Roadmap:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Refactor and support new formats\u003C\u002Fli>\n\u003Cli>Better UI \u003C\u002Fli>\n\u003Cli>List of uploaded files + delete option (?)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>GitHub Repository: https:\u002F\u002Fgithub.com\u002Figorbenic\u002Fleague-table-importer-for-sportspress\u003C\u002Fp>\n","Import league tables for SportsPress and add non existing teams to WordPress.",70,4067,1,"2016-01-06T05:27:00.000Z","4.4.34",[101,22],"import","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fleague-table-importer-for-sportspress\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fleague-table-importer-for-sportspress.1.1.zip",85,{"slug":106,"name":107,"version":108,"author":7,"author_profile":8,"description":109,"short_description":110,"active_installs":111,"downloaded":112,"rating":13,"num_ratings":13,"last_updated":113,"tested_up_to":15,"requires_at_least":69,"requires_php":17,"tags":114,"homepage":24,"download_link":117,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"bulk-fixtures-for-sportspress","Bulk Fixtures for SportsPress","1.0","\u003Cp>\u003Cstrong>Bulk Fixtures for SportsPress\u003C\u002Fstrong> is an add-on plugin that extends \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsportspress\u002F\" rel=\"ugc\">SportsPress\u003C\u002Fa> with a powerful bulk fixture creation tool.\u003C\u002Fp>\n\u003Cp>Instead of creating events one by one, this plugin provides a spreadsheet-like grid interface where you can quickly add multiple fixtures at once. Simply select a League and Season, then add as many fixtures as you need with Home Team, Away Team, Date, Time, and Match Day.\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\u002FZijaZOwA33c?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\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Grid-Based Interface\u003C\u002Fstrong> – Add multiple fixtures in a spreadsheet-like table\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Smart Row Cloning\u003C\u002Fstrong> – When adding a new row, Date, Time, and Match Day are automatically copied from the previous row\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Searchable Team Dropdowns\u003C\u002Fstrong> – Searchable dropdowns for easy team selection\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Team Filtering\u003C\u002Fstrong> – Teams are automatically filtered by the selected League and Season\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Batch Processing\u003C\u002Fstrong> – Fixtures are saved in batches for reliable performance\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Progress Tracking\u003C\u002Fstrong> – Real-time progress bar shows how many fixtures have been created\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Error Handling\u003C\u002Fstrong> – Graceful error handling with detailed feedback\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Requirements\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>WordPress 5.6 or higher\u003C\u002Fli>\n\u003Cli>PHP 7.4 or higher\u003C\u002Fli>\n\u003Cli>SportsPress plugin (free or Pro version)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>How to Use\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Go to \u003Cstrong>SportsPress \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Events \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Bulk Fixtures\u003C\u002Fstrong> in your WordPress admin\u003C\u002Fli>\n\u003Cli>Select a \u003Cstrong>League\u003C\u002Fstrong> from the dropdown\u003C\u002Fli>\n\u003Cli>Select a \u003Cstrong>Season\u003C\u002Fstrong> from the dropdown\u003C\u002Fli>\n\u003Cli>Teams will be automatically loaded based on your selection\u003C\u002Fli>\n\u003Cli>Fill in the fixture details: Home Team, Away Team, Date, Time, and optionally Match Day\u003C\u002Fli>\n\u003Cli>Click the \u003Cstrong>+\u003C\u002Fstrong> button to add more rows (values are cloned for faster entry)\u003C\u002Fli>\n\u003Cli>Click \u003Cstrong>Create All Fixtures\u003C\u002Fstrong> to create all events\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Support\u003C\u002Fh4>\n\u003Cp>For bug reports and feature requests, please visit the plugin’s support forum on WordPress.org.\u003C\u002Fp>\n","Quickly create multiple fixtures for SportsPress via a grid-based user interface.",20,126,"2026-02-02T15:52:00.000Z",[115,50,116,21,22],"bulk","fixtures","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbulk-fixtures-for-sportspress.1.0.zip",{"attackSurface":119,"codeSignals":198,"taintFlows":286,"riskAssessment":287,"analyzedAt":295},{"hooks":120,"ajaxHandlers":190,"restRoutes":195,"shortcodes":196,"cronEvents":197,"entryPointCount":97,"unprotectedCount":97},[121,126,131,137,141,145,149,154,158,162,166,170,175,179,182,187],{"type":122,"name":123,"callback":123,"priority":34,"file":124,"line":125},"action","add_meta_boxes","includes\\class-otfs-meta-boxes.php",25,{"type":122,"name":127,"callback":128,"priority":129,"file":124,"line":130},"sportspress_process_sp_official_meta","save",90,26,{"type":132,"name":133,"callback":134,"priority":111,"file":135,"line":136},"filter","sportspress_settings_tabs_array","add_settings_page","includes\\class-otfs-settings-officials.php",31,{"type":122,"name":138,"callback":139,"file":135,"line":140},"sportspress_admin_field_officials_layout","layout_setting",33,{"type":122,"name":142,"callback":143,"file":135,"line":144},"sportspress_admin_field_officials_tabs","tabs_setting",34,{"type":132,"name":146,"callback":147,"file":148,"line":125},"the_content","officials_content","includes\\class-otfs-template-loader.php",{"type":122,"name":150,"callback":151,"file":152,"line":153},"admin_notices","otfs_premium_plugin_admin_notice","includes\\otfs-admin-notice.php",41,{"type":122,"name":155,"callback":156,"file":152,"line":157},"admin_init","otfs_check_plugin_version",66,{"type":132,"name":159,"callback":160,"file":161,"line":153},"sportspress_get_settings_pages","otfs_add_settings_page","officials-templates-for-sportspress.php",{"type":122,"name":163,"callback":164,"file":161,"line":165},"sportspress_init","otfs_add_officials_templates",42,{"type":122,"name":167,"callback":168,"file":161,"line":169},"sportspress_include_post_type_handlers","otfs_include_post_type_handlers",43,{"type":122,"name":171,"callback":172,"priority":173,"file":161,"line":174},"plugins_loaded","otfs_load_officials_class",99,44,{"type":122,"name":176,"callback":177,"file":161,"line":178},"sportspress_meta_box_performance_details","otfs_add_visibility_option",45,{"type":122,"name":180,"callback":177,"file":161,"line":181},"sportspress_meta_box_statistic_details",46,{"type":122,"name":183,"callback":184,"priority":185,"file":161,"line":186},"sportspress_process_sp_performance_meta","otfs_save_visibility_option",15,47,{"type":122,"name":188,"callback":184,"priority":185,"file":161,"line":189},"sportspress_process_sp_statistic_meta",48,[191],{"action":192,"nopriv":193,"callback":192,"hasNonce":193,"hasCapCheck":193,"file":152,"line":194},"otfs_dismiss_premium_notice",false,51,[],[],[],{"dangerousFunctions":199,"sqlUsage":200,"outputEscaping":202,"fileOperations":13,"externalRequests":13,"nonceChecks":75,"capabilityChecks":97,"bundledLibraries":285},[],{"prepared":13,"raw":13,"locations":201},[],{"escaped":203,"rawEcho":204,"locations":205},165,40,[206,209,212,214,216,218,220,222,223,225,226,228,230,232,234,236,238,240,242,244,246,248,250,252,254,256,257,259,261,263,265,267,269,271,273,275,277,279,281,283],{"file":124,"line":207,"context":208},286,"raw output",{"file":210,"line":211,"context":208},"templates\\officials-photo.php",24,{"file":213,"line":157,"context":208},"templates\\otfs-event-list.php",{"file":213,"line":215,"context":208},71,{"file":213,"line":217,"context":208},75,{"file":213,"line":219,"context":208},78,{"file":213,"line":221,"context":208},82,{"file":213,"line":64,"context":208},{"file":213,"line":224,"context":208},92,{"file":213,"line":35,"context":208},{"file":213,"line":227,"context":208},101,{"file":213,"line":229,"context":208},104,{"file":213,"line":231,"context":208},109,{"file":213,"line":233,"context":208},114,{"file":213,"line":235,"context":208},119,{"file":213,"line":237,"context":208},125,{"file":213,"line":239,"context":208},129,{"file":213,"line":241,"context":208},133,{"file":213,"line":243,"context":208},135,{"file":213,"line":245,"context":208},139,{"file":213,"line":247,"context":208},143,{"file":213,"line":249,"context":208},231,{"file":213,"line":251,"context":208},251,{"file":213,"line":253,"context":208},255,{"file":213,"line":255,"context":208},269,{"file":213,"line":207,"context":208},{"file":213,"line":258,"context":208},290,{"file":213,"line":260,"context":208},304,{"file":213,"line":262,"context":208},310,{"file":213,"line":264,"context":208},317,{"file":213,"line":266,"context":208},328,{"file":213,"line":268,"context":208},345,{"file":213,"line":270,"context":208},358,{"file":213,"line":272,"context":208},375,{"file":213,"line":274,"context":208},393,{"file":213,"line":276,"context":208},402,{"file":213,"line":278,"context":208},411,{"file":213,"line":280,"context":208},424,{"file":213,"line":282,"context":208},432,{"file":213,"line":284,"context":208},457,[],[],{"summary":288,"deductions":289},"The plugin \"officials-templates-for-sportspress\" v1.6 exhibits a mixed security posture.  On the positive side, it demonstrates good practices by not using dangerous functions, performing all SQL queries using prepared statements, and having a clean vulnerability history with no known CVEs. The presence of nonce and capability checks, albeit limited, is also a good sign.  However, a significant concern arises from the presence of one AJAX handler without any authentication checks, creating a direct entry point for potential exploitation. The taint analysis shows no flows, which is positive, but this might be due to a limited scope of analysis or a lack of complex data manipulation within the plugin.\n\nWhile the lack of historical vulnerabilities is encouraging, it doesn't guarantee future security. The static analysis reveals one unprotected entry point, which is the primary security weakness. The output escaping is reasonably good, but the 20% not properly escaped could still lead to cross-site scripting (XSS) vulnerabilities if user-supplied data is involved. Overall, the plugin has a solid foundation regarding data handling and vulnerability history, but the unprotected AJAX handler represents a critical vulnerability that needs immediate attention.",[290,293],{"reason":291,"points":292},"AJAX handler without authentication check",10,{"reason":294,"points":46},"Unescaped output (20% of 205 outputs)","2026-03-16T21:27:13.386Z",{"wat":297,"direct":310},{"assetPaths":298,"generatorPatterns":303,"scriptPaths":304,"versionParams":305},[299,300,301,302],"\u002Fwp-content\u002Fplugins\u002Fofficials-templates-for-sportspress\u002Fadmin\u002Fcss\u002Fadmin.css","\u002Fwp-content\u002Fplugins\u002Fofficials-templates-for-sportspress\u002Fadmin\u002Fjs\u002Fadmin.js","\u002Fwp-content\u002Fplugins\u002Fofficials-templates-for-sportspress\u002Fassets\u002Fcss\u002Ffrontend.css","\u002Fwp-content\u002Fplugins\u002Fofficials-templates-for-sportspress\u002Fassets\u002Fjs\u002Ffrontend.js",[],[],[306,307,308,309],"officials-templates-for-sportspress\u002Fadmin\u002Fcss\u002Fadmin.css?ver=","officials-templates-for-sportspress\u002Fadmin\u002Fjs\u002Fadmin.js?ver=","officials-templates-for-sportspress\u002Fassets\u002Fcss\u002Ffrontend.css?ver=","officials-templates-for-sportspress\u002Fassets\u002Fjs\u002Ffrontend.js?ver=",{"cssClasses":311,"htmlComments":314,"htmlAttributes":320,"restEndpoints":331,"jsGlobals":332,"shortcodeOutput":333},[312,313],"sp-desc-tip","sp-visible-selector",[315,316,317,318,319],"\u003C!-- Make sure that all plugins are loaded before extend SP_Custom_Post Class. -->","\u003C!-- OTFS Officials Extra Meta Boxes -->","\u003C!-- Constructor. -->","\u003C!-- Add Meta boxes. -->","\u003C!-- Output the details metabox. -->",[321,322,323,324,325,326,327,328,329,328,330,328],"name=\"otfs_visible\"","id=\"otfs_visible_yes\"","id=\"otfs_visible_no\"","id=\"sp_nationality\"","name=\"sp_nationality[]\"","name=\"otfs_nonce\"","id=\"otfs_official_columns\"","name=\"otfs_official_columns\"","id=\"otfs_official_columns_auto\"","id=\"otfs_official_columns_manual\"",[],[],[]]