[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fJtV7TDAoVhGOdVkBuEZh8oFCWK2ANwt8Zl4ilvB098w":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":11,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"vulnerabilities":30,"developer":31,"crawl_stats":28,"alternatives":38,"analysis":142,"fingerprints":1214},"joomsport-prediction","Sport Predictions for JoomSport","3.0.7","beardev","https:\u002F\u002Fprofiles.wordpress.org\u002Fbeardev\u002F","\u003Cp>Create a sports prediction league, choose matches from your JoomSport and compete with other site users predicting match outcomes. Are you looking for some free betting site experience? This is the right sport plugin for you!\u003C\u002Fp>\n\u003Cp>Check the \u003Ca href=\"https:\u002F\u002Fjoomsport.com\u002Fproduct-features\u002Fprediction-game-plugin.html\" title=\"Sport predictions Pro for WordPress JoomSport\" rel=\"nofollow ugc\">Pro edition\u003C\u002Fa> features that can be connected with \u003Ca href=\"https:\u002F\u002Fstatorium.com\" title=\"Sports API\" rel=\"nofollow ugc\">Statorium Sports API\u003C\u002Fa>. It allows you to pull the automatic results from public football leagues or other sports leagues and count prediction leaderboard automatically.\u003C\u002Fp>\n\u003Cp>JoomSport predictions with Statorium is the perfect solution to build the predicting gamification engine for the FIFA World Cup held in the United States, Canada, and Mexico in 2026.\u003C\u002Fp>\n\u003Ch4>Main features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Create \u003Cstrong>Prediction Leagues\u003C\u002Fstrong> that are connected to JoomSport sport seasons \u003C\u002Fli>\n\u003Cli>Divide all JoomSport games into \u003Cstrong>Rounds\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Add your \u003Cstrong>sport predictions\u003C\u002Fstrong> for selected games from each round  \u003C\u002Fli>\n\u003Cli>Browse users \u003Cstrong>Leaderboard\u003C\u002Fstrong> on site front pages \u003C\u002Fli>\n\u003Cli>Create your \u003Cstrong>March Madness-like knockouts prediction\u003C\u002Fstrong> competition with any bracket size. (Pro version)\u003C\u002Fli>\n\u003Cli>Create an \u003Cstrong>Outcome predictions\u003C\u002Fstrong> round type to offer “pick the winner” predictions. (Pro version)\u003C\u002Fli>\n\u003Cli>Track prediction leaders progress with place changer (Pro edition)\u003C\u002Fli>\n\u003Cli>Create \u003Cstrong>Private prediction leagues\u003C\u002Fstrong> and invite your friends to compete (Pro edition)\u003C\u002Fli>\n\u003Cli>Integration with \u003Ca href=\"https:\u002F\u002Fstatorium.com\u002Ffootball-api\" title=\"football data API\" rel=\"nofollow ugc\">Football data API\u003C\u002Fa> to make predictions for public soccer leagues data (JoomSport pro edition)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Paid version\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fjoomsport.com\u002Fproduct-features\u002Fprediction-game-plugin.html\" title=\"Sport predictions Pro for WordPress JoomSport\" rel=\"nofollow ugc\">Pro edition\u003C\u002Fa> available within JoomSport subscription.\u003Cbr \u002F>\nWe also offer \u003Ca href=\"https:\u002F\u002Fbeardev.com\u002Fsports-prediction-game-development\u002F\" title=\"Sports prediction game development service\" rel=\"nofollow ugc\">Turnkey solution | Customization service\u003C\u002Fa> to bring the ultimate game experience for your site players.\u003C\u002Fp>\n\u003Ch4>Demo\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fwp-demo.joomsport.com\u002Fjswprediction_league\u002Fprediction-league\u002F\" title=\"Sport predictions for JoomSport demo\" rel=\"nofollow ugc\">Front pages demo\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Translations\u003C\u002Fh4>\n\u003Cp>Check translations available on \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fjoomsport-prediction\" rel=\"nofollow ugc\">translation page\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Suitable for\u003C\u002Fh4>\n\u003Cp>It can be connected to any team or single-player sports that are supported by the JoomSport plugin:\u003Cbr \u002F>\n* Football, Soccer (e.g. Champions league, FIFA World Cup, UEFA EURO Cup, Premier league predictions)\u003Cbr \u002F>\n* Ice Hockey (e.g. NHL, KHL, AHL)\u003Cbr \u002F>\n* Volleyball (e.g. FIVB)\u003Cbr \u002F>\n* Rugby\u003Cbr \u002F>\n* American Football (e.g. AFL, NFL)\u003Cbr \u002F>\n* Basketball (e.g. NBA)\u003Cbr \u002F>\n* Futsal\u003Cbr \u002F>\n* Darts\u003Cbr \u002F>\n* Handball\u003Cbr \u002F>\n* Billiard\u003Cbr \u002F>\n* Snooker\u003Cbr \u002F>\n* Table Tennis, Ping-Pong\u003Cbr \u002F>\n* Tennis (e.g. US Open, ATP World Tour)\u003Cbr \u002F>\n* Water Polo\u003Cbr \u002F>\n* eSport games (Counter Strike, WoW, Fifa, Dota)\u003Cbr \u002F>\n* Chess\u003Cbr \u002F>\n* Lawn bowls\u003Cbr \u002F>\n* Softball\u003Cbr \u002F>\n* Badminton\u003Cbr \u002F>\n* Cricket\u003Cbr \u002F>\n* any other sport where two participants compete in one match…\u003C\u002Fp>\n\u003Ch4>Fantasy football\u003C\u002Fh4>\n\u003Cp>We offer the paid variation of prediction plugin for fantasy football \u002F fantasy sports with automatic data connected. Please find more details on (https:\u002F\u002Fjoomsport.com\u002Fproduct-features\u002Ffootball-fantasy-plugin.html “Fantasy football”) or contact us.\u003C\u002Fp>\n\u003Ch4>Other products\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>The full product list by \u003Ca href=\"https:\u002F\u002Fbeardev.com\u002F\" title=\"Sports software development company\" rel=\"nofollow ugc\">BearDev sports software development company\u003C\u002Fa>=\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fjoomsport-achievements\u002F\" title=\"Plugin for Athletics, motosport and similar sports\" rel=\"ugc\">Achievements\u003C\u002Fa> – solution for sports where many players compete with each other simultaneously.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fjoomsport-sports-league-results-management\u002F\" title=\"WordPress Sports Plugin\" rel=\"ugc\">JoomSport\u003C\u002Fa> – integrated solution for such sports as football, soccer, hockey, basketball, volleball etc. It is based on structure where TWO participants compete with each other in a single match\u003C\u002Fli>\n\u003Cli>Schedule Generator (included into JoomSport Pro edition)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Our Slogan \u002F Moto\u003C\u002Fh4>\n\u003Cp>We push our client’s sports projects to a new level. Our global goal is to develop top-quality software for complete sports league management.\u003C\u002Fp>\n","Organize a sports prediction game on your site to improve fan engagement. Matches are pulled from JoomSport. The points are updated automatically!",100,14722,92,11,"2026-01-20T12:57:00.000Z","6.8.5","4.0","7.4",[20,21,22,23,24],"betting","fantasy","league-predictions","prediction","sports-predictions","http:\u002F\u002Fjoomsport.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fjoomsport-prediction.3.0.7.zip",0,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":33,"avg_security_score":34,"avg_patch_time_days":35,"trust_score":36,"computed_at":37},3,1300,94,456,75,"2026-04-05T10:18:26.409Z",[39,62,76,99,121],{"slug":40,"name":41,"version":42,"author":43,"author_profile":44,"description":45,"short_description":46,"active_installs":47,"downloaded":48,"rating":11,"num_ratings":49,"last_updated":50,"tested_up_to":51,"requires_at_least":52,"requires_php":53,"tags":54,"homepage":59,"download_link":60,"security_score":61,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"euro-2012-predictor","Euro 2012 Predictor","0.9.1","ianhaycox","https:\u002F\u002Fprofiles.wordpress.org\u002Fianhaycox\u002F","\u003Cp>This plugin is designed to collect users predictions for each of the matches in the Euro 2012 championship.\u003C\u002Fp>\n\u003Cp>Users predict the score for each match in the group and knockout stages and are awarded points based on the\u003Cbr \u002F>\naccuracy of their prediction.\u003C\u002Fp>\n\u003Cp>Match results, user rankings and users’ predictions may also be displayed using this plugin.\u003C\u002Fp>\n\u003Cp>\u003Cem>Beta version – Plugin usable and just requires a little testing. In addition the translations below\u003Cbr \u002F>\nare not complete as they have been lifted from the World Cup Predictor\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>\u003Cem>Please report bugs etc. in the \u003Ca href=\"http:\u002F\u002Fianhaycox.com\u002Feuro2012\u002Fforums\" rel=\"nofollow ugc\">support forums\u003C\u002Fa>\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>easy adding of matches, venues, results\u003C\u002Fli>\n\u003Cli>entry form for users to make predictions on each Euro 2012 game\u003C\u002Fli>\n\u003Cli>sidebar widget to display prediction standings\u003C\u002Fli>\n\u003Cli>sidebar widget to display currently logged in users’ predictions\u003C\u002Fli>\n\u003Cli>countdown timer to next prediction deadline\u003C\u002Fli>\n\u003Cli>display of match results and group tables\u003C\u002Fli>\n\u003Cli>configurable scoring system to award points to users’ predictions\u003C\u002Fli>\n\u003Cli>toggle match times to local users browser time\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Translations\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Thank you to the following for language translations available in:-\u003C\u002Fp>\n\u003Cul>\n\u003Cli>German. – Fred Kuhl.\u003C\u002Fli>\n\u003Cli>French – Robert Maculewicz.\u003C\u002Fli>\n\u003Cli>Spanish – \u003Ca href=\"http:\u002F\u002Fwww.domingorobaina.com\u002F\" rel=\"nofollow ugc\">Domingo Robaina\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Brazilian Portuguese – Ed Torres\u003C\u002Fli>\n\u003Cli>Dutch – \u003Ca href=\"http:\u002F\u002Fwww.vakantiehuis-bretagne.nl\u002F\" rel=\"nofollow ugc\">Deborah Kerkhof\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Swedish – Axel\u003C\u002Fli>\n\u003Cli>Arabic – \u003Ca href=\"http:\u002F\u002Fwww.sada-sy.com\u002F\" rel=\"nofollow ugc\">Modar Soos\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Italian – \u003Ca href=\"http:\u002F\u002Fwww.sviluppoiphoneitalia.com\u002F\" rel=\"nofollow ugc\">Giulio Giorgetti\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Russian – \u003Ca href=\"http:\u002F\u002Fwww.barbeerblues.com\u002F\" rel=\"nofollow ugc\">Oles Lukas\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Polish – Charls from Posen\u003C\u002Fli>\n\u003Cli>The .pot file is shipped for other translations – \u003Ca href=\"http:\u002F\u002Fianhaycox.com\u002Fcontact\" rel=\"nofollow ugc\">send them in\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Other translations may be available at \u003Ca href=\"http:\u002F\u002Fianhaycox.com\u002Feuro2012\u002Ftranslations\u002F\" rel=\"nofollow ugc\">Translations\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>If you would like to help with translations please visit the page above.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>More\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>If you do download this plugin please come back and rate it. For any rating less than 5 stars\u003Cbr \u002F>\nI would love to hear your feedback to help improve the plugin. Usability issues, bugs, enhancements\u003Cbr \u002F>\nand any other comments welcome to make this plugin better. \u003Ca href=\"http:\u002F\u002Fianhaycox.com\u002Feuro2012\u002Fforums\" rel=\"nofollow ugc\">Support\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>For a more comprehensive plugin to predict Football League matches using multiple leagues over many seasons\u003Cbr \u002F>\nvisit the \u003Ca href=\"http:\u002F\u002Fianhaycox.com\u002Ffantasy-football\u002F\" rel=\"nofollow ugc\">Fantasy Football plugin\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>See my \u003Ca href=\"http:\u002F\u002Fianhaycox.com\u002Fprogramming\u002F\" rel=\"nofollow ugc\">other plugins\u003C\u002Fa> and \u003Ca href=\"http:\u002F\u002Fianhaycox.com\u002F\" rel=\"nofollow ugc\">work\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cp>After installation and activation verify that the teams and match schedules have been loaded.\u003C\u002Fp>\n\u003Cp>If no teams or matches are shown then consult the \u003Ca href=\"http:\u002F\u002Fianhaycox.com\u002Feuro2012\u002Fforums\" rel=\"nofollow ugc\">Support Forums\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>In order to manage the teams, matches etc. the logged in user must have the WordPress capability \u003Ccode>euro2012_manager\u003C\u002Fcode>. By default\u003Cbr \u002F>\nthe plugin adds this capability to the Administrator and Editor roles. If the Euro 2012 menu option is not available verify that\u003Cbr \u002F>\nthe currrent user has the \u003Ccode>euro2012_manager\u003C\u002Fcode> role. You may need to install a capability manager plugin to manage roles and capabilities.\u003C\u002Fp>\n\u003Cp>Users of the blog do not need any special role or capability to make predictions.\u003C\u002Fp>\n\u003Cp>You may wish to update the URL setting via the Admin->Euro 2012 menu for each team or venue to add links to pages on your site.\u003C\u002Fp>\n\u003Ch4>Predictions\u003C\u002Fh4>\n\u003Cp>Create a post or page with the shortcode \u003Ccode>[euro-2012-predictor]\u003C\u002Fcode> to display an entry form. Other shortcodes are available to display prediction results\u003Cbr \u002F>\nand match results. See below for more details.\u003C\u002Fp>\n\u003Cp>Users can only predict on matches that have not yet started. Once a match has started it is removed from the entry form preventing further\u003Cbr \u002F>\npredictions.\u003C\u002Fp>\n\u003Ch4>Match Results\u003C\u002Fh4>\n\u003Cp>As each match is complete, use the Matches admin menu option to enter the goals scored and check the ‘Match Finished’ checkbox.\u003Cbr \u002F>\nThe group tables and match results displayed by the shortcodes will be updated.\u003C\u002Fp>\n\u003Cp>Once a team is confirmed as coming first or second in the group stage, edit the Matches to change the placeholder team to the\u003Cbr \u002F>\nteam that has qualified to the next stage.  For example, if Greece win Group A, edit Match Number 25 and change the\u003Cbr \u002F>\nteam from ‘Winner Group A’ to ‘Greece’.\u003C\u002Fp>\n\u003Cp>This change is then reflected in the knockout results table.\u003C\u002Fp>\n\u003Ch4>Options\u003C\u002Fh4>\n\u003Cp>None as yet.\u003C\u002Fp>\n\u003Ch4>Points Calculations\u003C\u002Fh4>\n\u003Cp>Once a match has finished Modify the match and enter the final score in the Matches tab and check the ‘Match Finished’ box. The displayed group tables\u003Cbr \u002F>\nwill then update with the latest team standings.\u003C\u002Fp>\n\u003Cp>To update the users’ prediction scores, select the match in the ‘Predictions’ menu and click ‘Score Selected’. This updates the\u003Cbr \u002F>\nusers’ scores in the widget and results tables.\u003C\u002Fp>\n\u003Cp>Points are assigned according to the settings in the ‘Configure Scoring’ tab.\u003C\u002Fp>\n\u003Cp>NOTE – The bonus points are cumulative (added to the scores for exact, win and draw).\u003C\u002Fp>\n\u003Cp>Therefore be aware that both the bonus goal and bonus goal difference points amounts will always be added\u003Cbr \u002F>\nto the points for a win because the goals and goal difference are the same.\u003Cbr \u002F>\nThe bonus goal difference points are always added to a draw because the goal difference will match.\u003Cbr \u002F>\nAdjust the win and draw points appropriately if either of the bonus points are non-zero.\u003C\u002Fp>\n\u003Ch4>Shortcodes\u003C\u002Fh4>\n\u003Cp>Use the following shortcodes to display a prediction form, match results, users’ rankings.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Prediction Form\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>You can display an entry form for predictions and the results of matches and predictions with the following shortcodes in a post or page.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[euro-2012-predictor]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Display an entry form for all the configured matches where the kickoff time is before the current date and time.\u003Cbr \u002F>\nThe form will display a countdown to the next match deadline. Once the match kickoff time has passed the match will\u003Cbr \u002F>\nno longer be displayed and users cannot make predictions.\u003C\u002Fp>\n\u003Cp>You may optionally supply the attribute \u003Ccode>stage=n\u003C\u002Fcode> where \u003Ccode>n\u003C\u002Fcode> is the stage id to limit the matches to a particular group.\u003C\u002Fp>\n\u003Cp>To display just the matches in the group stages, not the knockout stages, use the attribute \u003Ccode>group=1\u003C\u002Fcode>,\u003Cbr \u002F>\ne.g. \u003Ccode>[euro-2012-predictor group=1]\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>To display matches sorted by kickoff time, rather than by each stage, use the attribute \u003Ccode>kickoff=1\u003C\u002Fcode> and optionally a\u003Cbr \u002F>\nlimit, e.g. \u003Ccode>[euro-2012-predictor kickoff=1 limit=5]\u003C\u002Fcode> to display the next 5 matches.\u003C\u002Fp>\n\u003Cp>To remove the ability to predict penalties during the knockout stages use the attribute \u003Ccode>predict_penalties=0\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Group Tables\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[euro-2012-predictor tables=1 stage=n show_results=n]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Display the group tables with the match results once the match has finished and the results have been entered.\u003Cbr \u002F>\nYou may optionally supply the attribute \u003Ccode>stage=n\u003C\u002Fcode> where \u003Ccode>n\u003C\u002Fcode> is the stage id to limit the matches to a particular group.\u003Cbr \u002F>\nYou may optionally supply the attribute \u003Ccode>show_results=n\u003C\u002Fcode> where \u003Ccode>n\u003C\u002Fcode> = 0 or 1 to hide or show the match results below the group table.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Knockout Table\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[euro-2012-predictor knockout=1]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Display the results of the knockout stages of the tournament. See \u003Ca href=\"https:\u002F\u002Fs.w.org\u002Fextend\u002Fplugins\u002Fworld-cup-predictor\u002Fscreenshot-6.png\" rel=\"nofollow ugc\">Screenshot\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Match Results\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[euro-2012-predictor results=1 stage=n]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Display a table of match results. You may optionally supply the attribute \u003Ccode>stage=n\u003C\u002Fcode> where \u003Ccode>n\u003C\u002Fcode> is the stage id to limit the matches to a particular group.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Users Predictions\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[euro-2012-predictor scores=n]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>For each match ID, specified by \u003Ccode>n\u003C\u002Fcode>, display a table of every users’ predictions and the points awarded. Note – users predictions will not be shown\u003Cbr \u002F>\nif the match kickoff time has not yet passed.\u003Cbr \u002F>\nThis is to prevent users viewing each others predictions before the match has started.\u003C\u002Fp>\n\u003Cp>Use the option \u003Ccode>[euro-2012-predictor scores=-1]\u003C\u002Fcode> to display all predictions for all matches in one table.\u003C\u002Fp>\n\u003Cp>Optionally add the attribute \u003Ccode>highlight=\"css-styles\"\u003C\u002Fcode> to add a CSS\u003Cbr \u002F>\nstyle to the table row of the currently logged in user. For example \u003Ccode>[euro-2012-predictor scores=1 highlight=\"background:red;font-weight:bold\"]\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Logged in Users Predictions\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[euro-2012-predictor user=1 show_total=n show_results=m]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>For the currently logged in user display the list of predictions for that user. If \u003Ccode>n\u003C\u002Fcode> is non-zero then show the total points for this user\u003Cbr \u002F>\nat he foot of the table. If \u003Ccode>m\u003C\u002Fcode> is zero do not show match results against each prediction. Also available via the Widgets.\u003C\u002Fp>\n\u003Cp>You may also display just the users total via \u003Ccode>[euro-2012-predictor show_total=1]\u003C\u002Fcode> without the table.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Rankings\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[euro-2012-predictor ranking=1 limit=999 avatar=1]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Display a summary of all the users’ points as a ranking table. Optionally add the attribute \u003Ccode>highlight=\"css-styles\"\u003C\u002Fcode> to add a CSS\u003Cbr \u002F>\nstyle to the table row of the currently logged in user. For example \u003Ccode>[euro-2012-predictor ranking=1 highlight=\"background:red;font-weight:bold\"]\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>To hide the display of a users’ avatar set avatar=0\u003C\u002Fp>\n\u003Cp>Also available via the Widgets.\u003C\u002Fp>\n\u003Ch4>User Rankings Widget\u003C\u002Fh4>\n\u003Cp>The widget displays similar output to the shortcode \u003Ccode>[euro-2012-predictor ranking=1 limit=9999]\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Drag and drop the widget to a sidebar and configure. Multiple instances of the widget, each configured separately, may be\u003Cbr \u002F>\nplaced on a sidebar.\u003C\u002Fp>\n\u003Cp>If not blank, the URL option adds a link to the full results page using the title below as the link text.\u003C\u002Fp>\n\u003Ch4>User Predictions Widget\u003C\u002Fh4>\n\u003Cp>The widget displays the list of the currently logged in users’ predictions similar in output to the shortcode \u003Ccode>[euro-2012-predictor user=1]\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Drag and drop the widget to a sidebar and configure.\u003C\u002Fp>\n\u003Ch4>Match dates and times\u003C\u002Fh4>\n\u003Cp>All match kickoff times and dates are displayed, by default, in match local time using the locale and date\u002Ftime formating\u003Cbr \u002F>\nsettings from Admin->Settings->General  Note during June, Poland is UTC+2 and Ukraine UTC+3\u003Cbr \u002F>\nIf you have changed the match times in the admin screens from UTC, this will NOT work correctly.\u003C\u002Fp>\n\u003Ch3>Convert kickoff times to local timezone\u003C\u002Fh3>\n\u003Cp>If you prefer to display kickoff times according to the user’s timezone then check the ‘Convert kickoff times to local timezone’\u003Cbr \u002F>\noption setting in the plugin Overview page.\u003C\u002Fp>\n\u003Cp>Note – The time is converted and displayed according to the settings in the user’s browser\u002Foperating system.\u003C\u002Fp>\n\u003Ch3>Toggle timezones\u003C\u002Fh3>\n\u003Cp>To allow a user to toggle between match local time and browser local time you need to add the following code in your\u003Cbr \u002F>\nblog post, or sidebar, that contains one of the plugin shortcodes: For example,\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003Cdiv class=\"tzcContainer\">\n\n  \u003Cp id=\"tzLocal\">Match times are currently set to match local time, please click here to convert to your time zone.\u003C\u002Fp>\n\n  \u003Cp id=\"tzClient\" style=\"display:none\">Match times are currently set to \u003Cstrong>your timezone\u003C\u002Fstrong>, please click here to revert to local time.\u003C\u002Fp>\n\n\u003C\u002Fdiv>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The text can be changed to anything appropriate and include images etc. The key items are: \u003Ccode>id=\"tzLocal\"\u003C\u002Fcode> and \u003Ccode>id=\"tzClient\"\u003C\u002Fcode> with the\u003Cbr \u002F>\nsecond item having \u003Ccode>style=\"display:none\"\u003C\u002Fcode>. Users clicking on either of these sentences will toggle all match kickoff times between\u003Cbr \u002F>\n and browser local time. It does rely on the users’ browser being configured correctly for their timezone and locale.\u003C\u002Fp>\n\u003Cp>By default the plugin will also attempt to display match kickoff times in the users local language.\u003C\u002Fp>\n\u003Cp>To disable this feature uncheck the setting ‘Convert kickoff times to blog timezone’ on the overview screen.\u003C\u002Fp>\n","Plugin to manage and present a fantasy football (soccer) competition for the UEFA 2012 Euro Championships",10,7744,1,"2012-12-17T09:43:00.000Z","3.5.2","3.1","",[55,56,57,23,58],"competition","fantasy-football","football","soccer","http:\u002F\u002Fwww.ianhaycox.com\u002Feuro2012","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Feuro-2012-predictor.0.9.1.zip",85,{"slug":63,"name":64,"version":65,"author":66,"author_profile":67,"description":68,"short_description":69,"active_installs":47,"downloaded":70,"rating":11,"num_ratings":49,"last_updated":71,"tested_up_to":16,"requires_at_least":72,"requires_php":53,"tags":73,"homepage":74,"download_link":75,"security_score":11,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"football-predictor","Football Predictor","1.0.9","Anton Shulga","https:\u002F\u002Fprofiles.wordpress.org\u002Fbigtonny\u002F","\u003Cp>This plugin is designed to collect users predictions for each match in 2018 FIFA World Cup.\u003C\u002Fp>\n\u003Cp>Users predict the score for each match in the group stage and knockout stage and are awarded points based on the accuracy of their prediction. Match results may also be displayed using this plugin.\u003C\u002Fp>\n","To manage and perform a marvel football competition for the FIFA World Cup 2018.",3794,"2025-09-02T08:30:00.000Z","6.3",[55,56,57,23,58],"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ffootball-predictor\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffootball-predictor.1.0.9.zip",{"slug":77,"name":78,"version":79,"author":80,"author_profile":81,"description":82,"short_description":83,"active_installs":84,"downloaded":85,"rating":86,"num_ratings":87,"last_updated":88,"tested_up_to":16,"requires_at_least":89,"requires_php":18,"tags":90,"homepage":94,"download_link":95,"security_score":96,"vuln_count":97,"unpatched_count":27,"last_vuln_date":98,"fetched_at":29},"football-pool","Football Pool","2.13.1","AntoineH","https:\u002F\u002Fprofiles.wordpress.org\u002Fantoineh\u002F","\u003Cp>This plugin adds a fantasy sports pool to your blog. Visitors of your website can predict outcomes of matches and earn extra points with bonus questions. Every player can view scores and charts of the other pool contenders.\u003C\u002Fp>\n\u003Cp>The plugin installs some custom tables in the database and includes match information for the UEFA 2024 Championship, but it can be easily updated with match info for other championships or sports. \u003Cem>Note\u003C\u002Fem>: deactivating the plugin may delete all plugin data from your database. To avoid this, make sure the “keep data on uninstall” option is enabled in the settings (it’s on by default since version 2.3.1).\u003C\u002Fp>\n\u003Cp>I originally coded this pool in PHP as a standalone website for the UEFA 2000 championship and rewrote it several times for every European Championship and World Cup since. I kept adding features every year. In 2012, I turned it into a WordPress plugin and uploaded it to the plugin directory. I hope you enjoy it.\u003C\u002Fp>\n\u003Cp>A special thank you to everyone who donated, helped translate, reported bugs, or contributed in any other way to improving the plugin!\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Users can predict match outcomes.\u003C\u002Fli>\n\u003Cli>Automatic calculation of the pool ranking, or define a custom ranking for a group of matches.\u003C\u002Fli>\n\u003Cli>You can add bonus questions for extra fun (single answer and multiple choice).\u003C\u002Fli>\n\u003Cli>Add your own teams and match data for other competitions.\u003C\u002Fli>\n\u003Cli>Import or export game schedules.\u003C\u002Fli>\n\u003Cli>Automatically calculate championship standings.\u003C\u002Fli>\n\u003Cli>Flexible scoring options.\u003C\u002Fli>\n\u003Cli>Built-in pages and shortcodes to display the pool on your blog.\u003C\u002Fli>\n\u003Cli>Optional user leagues.\u003C\u002Fli>\n\u003Cli>Score charts showing player progress and comparisons (requires separate Highcharts API download).\u003C\u002Fli>\n\u003Cli>Widgets and shortcodes to display match and pool info.\u003C\u002Fli>\n\u003Cli>Extra info pages for venues and teams.\u003C\u002Fli>\n\u003Cli>Add custom functionality with filters and actions.\u003C\u002Fli>\n\u003Cli>WP-CLI support for ranking calculations (faster than admin-side calculations).\u003C\u002Fli>\n\u003Cli>WP-CLI support for importing match results from a CSV file.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Documentation\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>The plugin includes a detailed help file in the admin panel. For a step-by-step tutorial, check out the \u003Ca href=\"https:\u002F\u002Fwpsimplehacks.com\u002Fhow-to-create-a-football-pool-site-with-wordpress\u002F\" rel=\"nofollow ugc\">guide by Janek from WP Simple Hacks\u003C\u002Fa>. He even made a video explaining how to set up the plugin.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Other Notes\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Requires WordPress 5.3+, PHP 7.4+, and jQuery 1.4.3+.\u003C\u002Fli>\n\u003Cli>For charts, download the \u003Ca href=\"http:\u002F\u002Fwww.highcharts.com\u002Fdownload\" rel=\"nofollow ugc\">Highcharts API\u003C\u002Fa> (see the installation instructions or the help page in the admin).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>If you find bugs, please report them in the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Ffootball-pool\" rel=\"ugc\">support forum\u003C\u002Fa>. If you like the plugin, a rating on \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Ffootball-pool\u002F\" rel=\"ugc\">WordPress.org\u003C\u002Fa> would be much appreciated!\u003C\u002Fp>\n\u003Ch3>Localizations\u003C\u002Fh3>\n\u003Cp>If you’d like to help translate the plugin into another language or keep existing translations up to date, head over to the plugin’s page on \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Ffootball-pool\" rel=\"nofollow ugc\">translate.wordpress.org\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Be sure to read the \u003Ca href=\"https:\u002F\u002Fmake.wordpress.org\u002Fpolyglots\u002Fhandbook\u002Ftranslating\u002Fafter-your-contribution\u002F\" rel=\"nofollow ugc\">After your contribution\u003C\u002Fa> guide to understand how translations get reviewed and approved.\u003C\u002Fp>\n\u003Cp>A big shout-out to all the \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Ffootball-pool\u002Fcontributors\u002F\" rel=\"nofollow ugc\">translation contributors and editors\u003C\u002Fa> who’ve helped out so far — thank you!\u003C\u002Fp>\n\u003Cp>For using custom translations, check the FAQ section. The plugin also includes a \u003Ccode>.pot\u003C\u002Fcode> file as a starting point for building your own translation files.\u003C\u002Fp>\n\u003Ch3>Shortcodes\u003C\u002Fh3>\n\u003Cp>The plugin provides the following shortcodes. For detailed usage instructions, see the Help page in the WordPress admin.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>fp-predictions\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>fp-predictionform\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>fp-matches\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>fp-match-scores\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>fp-question-scores\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>fp-next-matches\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>fp-last-matches\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>fp-user-score\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>fp-user-ranking\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>fp-ranking\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>fp-countdown\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>fp-group\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>fp-link\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>fp-register\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>fp-totopoints\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>fp-fullpoints\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>fp-goalpoints\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>fp-diffpoints\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>fp-jokermultiplier\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>fp-plugin-option\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>fp-league-info\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>fp-chart-settings\u003C\u002Fcode> \u002F \u003Ccode>fp-stats-settings\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>fp-user-list\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>fp-money-in-the-pot\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>fp-last-calc-date\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>fp-next-match-form\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Incompatible Plugins & Themes\u003C\u002Fh3>\n\u003Cp>The following plugins have been reported as incompatible with Football Pool. If you’re the author and have a fix — or if you know a workaround — please get in touch.\u003C\u002Fp>\n\u003Cp>If you encounter issues with another plugin not listed here, let me know so I can investigate.\u003C\u002Fp>\n\u003Cp>\u003Cem>Most caching solutions should be tested carefully.\u003C\u002Fem>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>DB Cache Reloaded Fix (v2.3)\u003C\u002Fli>\n\u003Cli>Cimy User Extra Fields (v2.6.1) when using the email confirmation feature\u003C\u002Fli>\n\u003Cli>Easy Timer (in Football Pool versions 2.3.8 and below)\u003C\u002Fli>\n\u003Cli>Theme Gadgetry (ThemeFuse framework)\u003C\u002Fli>\n\u003Cli>memcached\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Some themes may also interfere with the plugin’s display. See \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Ftopic\u002Ftheme-compatibility-73\u002F#post-17811227\" rel=\"ugc\">this forum post\u003C\u002Fa> for a potential fix.\u003C\u002Fp>\n","Add some game-day fun to your WordPress site! Let users predict match results, earn points, and go head-to-head in a fantasy sports pool.",700,96466,98,82,"2025-09-09T18:21:00.000Z","5.3",[57,91,92,23,93],"game","pool","sports","http:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Ffootball-pool","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffootball-pool.2.13.1.zip",96,8,"2025-09-09 00:00:00",{"slug":100,"name":101,"version":102,"author":103,"author_profile":104,"description":105,"short_description":106,"active_installs":11,"downloaded":107,"rating":108,"num_ratings":14,"last_updated":109,"tested_up_to":110,"requires_at_least":52,"requires_php":53,"tags":111,"homepage":117,"download_link":118,"security_score":119,"vuln_count":49,"unpatched_count":49,"last_vuln_date":120,"fetched_at":29},"national-weather-service-alerts","National Weather Service Alerts","1.3.5","John Russell","https:\u002F\u002Fprofiles.wordpress.org\u002Flaubsterboy\u002F","\u003Cp>The National Weather Service Alerts plugin allows you to easily display weather alerts on your website. The\u003Cbr \u002F>\nalerts are pulled directly from the National Weather Service (http:\u002F\u002Falerts.weather.gov) based on the location\u003Cbr \u002F>\nthat you specify and are then parsed, sorted, and output to your website. The alerts are then automatically updated using\u003Cbr \u002F>\nAJAX, based on the severity of the alerts for the specified location. The location can be set by using zipcode,\u003Cbr \u002F>\ncity and state, or state and county. There is also the option to choose the scope of what alerts to include,\u003Cbr \u002F>\nsuch as alerts only for your county, alerts only for your state, or alerts for the entire United States.\u003C\u002Fp>\n\u003Cp>If applicable, a Google Map will be included with polygon overlays to show the affected regions of certain alert\u003Cbr \u002F>\ntypes, such as tornado warnings or flash flood warnings.\u003C\u002Fp>\n\u003Cp>\u003Cem>Currently the National Weather Service Alerts plugin only works for areas within United States. However, the\u003Cbr \u002F>\nplugin expects Atom feeds that use the Common Alerting Protocol (CAP) format so in theory any CAP feed could be\u003Cbr \u002F>\nused.\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Shortcode\u003C\u002Fli>\n\u003Cli>Widget\u003C\u002Fli>\n\u003Cli>NWS Alerts settings page for adding the Alerts Bar\u003C\u002Fli>\n\u003Cli>Clean html5 markup\u003C\u002Fli>\n\u003Cli>CSS classes that make it easy to override default styles\u003C\u002Fli>\n\u003Cli>Developer API (filters)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Weather Alerts\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Tornado Warning\u003C\u002Fli>\n\u003Cli>Severe Thunderstorm Warning\u003C\u002Fli>\n\u003Cli>Flash Flood Warning\u003C\u002Fli>\n\u003Cli>Flood Warning\u003C\u002Fli>\n\u003Cli>Blizzard Warning\u003C\u002Fli>\n\u003Cli>Winter Storm Warning\u003C\u002Fli>\n\u003Cli>Freeze Warning\u003C\u002Fli>\n\u003Cli>Dust Storm Warning\u003C\u002Fli>\n\u003Cli>High Wind Warning\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>*The default weather alert types can be modified using the ‘nws_alerts_allowed_alert_types’\u003Cbr \u002F>\nand ‘nws_alerts_sort_alert_types’ filter hooks.\u003C\u002Fp>\n","Easily add official National Weather Service alerts to your website.",9169,76,"2018-02-08T21:31:00.000Z","4.9.29",[112,113,114,115,116],"alert","national-weather-service","nws","spc","storm-prediction-center","https:\u002F\u002Fgithub.com\u002Flaubsterboy\u002Fnws-alerts","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fnational-weather-service-alerts.1.3.5.zip",61,"2025-06-23 00:00:00",{"slug":122,"name":123,"version":124,"author":125,"author_profile":126,"description":127,"short_description":128,"active_installs":11,"downloaded":129,"rating":130,"num_ratings":131,"last_updated":132,"tested_up_to":133,"requires_at_least":17,"requires_php":53,"tags":134,"homepage":140,"download_link":141,"security_score":61,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"worldtides-widget","Worldtides Widget","1.3.0","bryanaamot","https:\u002F\u002Fprofiles.wordpress.org\u002Fbryanaamot\u002F","\u003Cp>This widget is perfect for anyone who wants accurate, low-cost tide predictions on their website. WorldTides.info provides tide predictions at consumer-level prices. Globally, WorldTides.info is the leading provider of tide predictions through an API.\u003C\u002Fp>\n\u003Ch4>API Key\u003C\u002Fh4>\n\u003Cp>You can get an API Key from worldtides.info and use it for one month (100 credits) for free. Because it is optimized, it only requires two credits per one-day or 7-day prediction. Use your 100 free credits wisely because you’ll only get 50 predictions. After that, you can buy 10,000 credits (5,000 predictions) for $10; using more credits reduces the cost. Check this page before you use this plugin. \u003Ca href=\"https:\u002F\u002Fwww.worldtides.info\u002Fdeveloper\" rel=\"nofollow ugc\">Pricing\u003C\u002Fa>\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>If you have any questions or suggestions for improvements, please email support at support@brainware.net.\u003Cbr \u002F>\n  \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fworldtides-widget\u002F\" rel=\"ugc\">Support\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>WorldTides™ Widget Features\u003Cbr \u002F>\n* Automatically find the nearest tide stations based on your latitude and longitude.\u003Cbr \u002F>\n* Specifying a timezone allows you to customize graphs, and the station timezone is usually the best choice.\u003Cbr \u002F>\n* The graph takes daylight saving time into account.\u003Cbr \u002F>\n* AM\u002FPM and 24-hour time formats.\u003Cbr \u002F>\n* Three graph heights are available, or you can disable them.\u003Cbr \u002F>\n* Predict high\u002Flow tides for up to 7 days.\u003Cbr \u002F>\n* Enable\u002Fdisable the fine grid for the graph.\u003Cbr \u002F>\n* Select the background color.\u003C\u002Fp>\n\u003Ch4>TIDE ICONS\u003C\u002Fh4>\n\u003Cp>Icons for WorldTides™ are exclusive to this app. Each display shows 1 to 5 lines, depending on the tide level.\u003C\u002Fp>\n\u003Ch4>ONE TO SEVEN DAY PREDICTIONS\u003C\u002Fh4>\n\u003Cp>The prediction is available for 1 or 7 days, and no cost difference exists between these options.\u003C\u002Fp>\n\u003Ch4>PLACEMENT IN CONTENT OR SIDEBAR\u003C\u002Fh4>\n\u003Cp>You can place the WorldTides™ widget in a sidebar or footer. Additionally, you can use a shortcode to embed the widget in an article.\u003C\u002Fp>\n\u003Ch4>ANY LOCATION WORLDWIDE\u003C\u002Fh4>\n\u003Cp>Thhere are thousands of coastal stations worldwide, and when those are unavailable, we use satellite data. Tide predictions are not possible overland or along rivers that are too far from the coast.\u003C\u002Fp>\n\u003Ch4>UNITS\u003C\u002Fh4>\n\u003Cp>You can display tide heights in feet or meters. Set the time format to AM\u002FPM or 24-hour format.\u003C\u002Fp>\n\u003Ch4>MULTIPLE WIDGETS OPTION\u003C\u002Fh4>\n\u003Cp>A page can have as many widgets as you want.\u003C\u002Fp>\n\u003Ch4>Tags\u003C\u002Fh4>\n\u003Cp>tides, tides widget, tides plugin, tide predictions, tide forcast, ocean tide, surf report, costal tides\u003C\u002Fp>\n","This widget is perfect for anyone who wants accurate, low-cost tide predictions on their website. WorldTides.info provides tide predictions at consume &hellip;",3415,90,2,"2023-12-07T03:00:00.000Z","6.4.8",[135,136,137,138,139],"ocean-tide","tide-predictions","tides","tides-plugin","tides-widget","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fworldtides\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fworldtides-widget.1.4.zip",{"attackSurface":143,"codeSignals":325,"taintFlows":972,"riskAssessment":1198,"analyzedAt":1213},{"hooks":144,"ajaxHandlers":268,"restRoutes":322,"shortcodes":323,"cronEvents":324,"entryPointCount":282,"unprotectedCount":282},[145,152,155,160,164,167,171,175,180,184,187,190,193,197,200,203,207,210,213,217,222,227,230,233,237,240,243,247,249,251,254,257,259,261,263,265],{"type":146,"name":147,"callback":148,"priority":149,"file":150,"line":151},"action","edited_joomsport_matchday","joomsport_prediction_mday_fire_save",13,"includes\\joomsport-prediction-actions.php",9,{"type":146,"name":153,"callback":154,"priority":149,"file":150,"line":14},"save_post","joomsport_prediction_fire_save",{"type":146,"name":156,"callback":157,"file":158,"line":159},"admin_menu","create_menu","includes\\joomsport-prediction-admin-install.php",20,{"type":146,"name":161,"callback":162,"file":158,"line":163},"admin_enqueue_scripts","joomsport_admin_js",43,{"type":146,"name":161,"callback":165,"file":158,"line":166},"joomsport_admin_css",44,{"type":146,"name":168,"callback":168,"priority":169,"file":158,"line":170},"init",4,193,{"type":146,"name":172,"callback":173,"file":158,"line":174},"wp_enqueue_scripts","joomsport_fe_wp_head",194,{"type":146,"name":176,"callback":177,"file":178,"line":179},"admin_init","ajaxInit","includes\\joomsport-prediction-ajax-actions.php",367,{"type":146,"name":181,"callback":182,"priority":47,"file":183,"line":47},"delete_post","delete_joomsport_post","includes\\joomsport-prediction-delete.php",{"type":146,"name":185,"callback":186,"priority":47,"file":183,"line":14},"jsOnMatchDelete","deleteMatch",{"type":146,"name":176,"callback":188,"file":189,"line":47},"joomsport_prediction_linkjs","includes\\joomsport-prediction-functions.php",{"type":146,"name":191,"callback":192,"file":189,"line":149},"admin_notices","joomsport_prediction_linkjs_notice",{"type":146,"name":194,"callback":195,"file":189,"line":196},"restrict_manage_posts","closure",35,{"type":198,"name":199,"callback":195,"file":189,"line":108},"filter","parse_query",{"type":198,"name":201,"callback":202,"file":189,"line":34},"manage_edit-jswprediction_round_columns","jswp_round_columns",{"type":146,"name":204,"callback":205,"priority":47,"file":189,"line":206},"manage_jswprediction_round_posts_custom_column","jswp_round_custom_column_values",110,{"type":146,"name":168,"callback":208,"priority":27,"file":209,"line":14},"register_post_types","includes\\joomsport-prediction-post-types.php",{"type":146,"name":168,"callback":211,"priority":27,"file":209,"line":212},"register_taxonomies",12,{"type":198,"name":214,"callback":215,"file":216,"line":149},"the_content","joomsport_content","includes\\joomsport-prediction-templates.php",{"type":146,"name":218,"callback":219,"file":220,"line":221},"widgets_init","jswp_prediction_joomsport_widget","includes\\joomsport-prediction-widgets.php",132,{"type":198,"name":223,"callback":224,"priority":47,"file":225,"line":226},"set-screen-option","set_screen","includes\\pages\\joomsport-prediction-page-myleagues.php",212,{"type":198,"name":223,"callback":224,"priority":47,"file":228,"line":229},"includes\\pages\\joomsport-prediction-page-openleagues.php",232,{"type":146,"name":176,"callback":176,"file":231,"line":232},"includes\\posts\\joomsport-prediction-post-league.php",18,{"type":146,"name":234,"callback":235,"file":231,"line":236},"edit_form_after_title","league_edit_form_after_title",19,{"type":146,"name":238,"callback":239,"priority":14,"file":231,"line":159},"admin_print_scripts-post-new.php","joomsport_season_validate",{"type":146,"name":153,"callback":241,"priority":47,"file":231,"line":242},"jswprediction_league_save_metabox",86,{"type":198,"name":244,"callback":245,"file":231,"line":246},"the_title","jspred_filter_privatetitle",101,{"type":146,"name":176,"callback":176,"file":248,"line":232},"includes\\posts\\joomsport-prediction-post-round.php",{"type":146,"name":234,"callback":250,"file":248,"line":236},"round_edit_form_after_title",{"type":146,"name":153,"callback":252,"priority":47,"file":248,"line":253},"jswprediction_round_save_metabox",89,{"type":146,"name":255,"callback":195,"file":256,"line":253},"jspred_saved_notice","sportleague\\classes\\objects\\class-jsport-prediction-userround.php",{"type":146,"name":255,"callback":195,"file":256,"line":258},95,{"type":146,"name":255,"callback":195,"file":256,"line":260},165,{"type":146,"name":255,"callback":195,"file":256,"line":262},257,{"type":146,"name":255,"callback":195,"file":256,"line":264},274,{"type":198,"name":244,"callback":245,"file":266,"line":267},"sportleague\\views\\default\\widgets\\user-stat.php",21,[269,273,276,278,279,281,283,286,288,291,293,296,298,301,303,306,308,311,313,316,317,320],{"action":270,"nopriv":271,"callback":270,"hasNonce":271,"hasCapCheck":271,"file":178,"line":272},"jspred_private_league_add",false,15,{"action":270,"nopriv":274,"callback":270,"hasNonce":271,"hasCapCheck":271,"file":178,"line":275},true,16,{"action":277,"nopriv":271,"callback":277,"hasNonce":271,"hasCapCheck":271,"file":178,"line":232},"jspred_private_league_invite",{"action":277,"nopriv":274,"callback":277,"hasNonce":271,"hasCapCheck":271,"file":178,"line":236},{"action":280,"nopriv":271,"callback":280,"hasNonce":271,"hasCapCheck":271,"file":178,"line":267},"jspred_private_remove_part",{"action":280,"nopriv":274,"callback":280,"hasNonce":271,"hasCapCheck":271,"file":178,"line":282},22,{"action":284,"nopriv":271,"callback":284,"hasNonce":271,"hasCapCheck":271,"file":178,"line":285},"jspred_private_join",24,{"action":284,"nopriv":274,"callback":284,"hasNonce":271,"hasCapCheck":271,"file":178,"line":287},25,{"action":289,"nopriv":271,"callback":289,"hasNonce":271,"hasCapCheck":271,"file":178,"line":290},"jspred_private_reject",27,{"action":289,"nopriv":274,"callback":289,"hasNonce":271,"hasCapCheck":271,"file":178,"line":292},28,{"action":294,"nopriv":271,"callback":294,"hasNonce":271,"hasCapCheck":271,"file":178,"line":295},"jspred_private_leave",30,{"action":294,"nopriv":274,"callback":294,"hasNonce":271,"hasCapCheck":271,"file":178,"line":297},31,{"action":299,"nopriv":271,"callback":299,"hasNonce":271,"hasCapCheck":271,"file":178,"line":300},"jspred_private_update_league",33,{"action":299,"nopriv":274,"callback":299,"hasNonce":271,"hasCapCheck":271,"file":178,"line":302},34,{"action":304,"nopriv":271,"callback":304,"hasNonce":271,"hasCapCheck":271,"file":178,"line":305},"jspred_private_load_league",36,{"action":304,"nopriv":274,"callback":304,"hasNonce":271,"hasCapCheck":271,"file":178,"line":307},37,{"action":309,"nopriv":271,"callback":309,"hasNonce":271,"hasCapCheck":271,"file":178,"line":310},"jspred_private_users",39,{"action":309,"nopriv":274,"callback":309,"hasNonce":271,"hasCapCheck":271,"file":178,"line":312},40,{"action":314,"nopriv":271,"callback":314,"hasNonce":271,"hasCapCheck":271,"file":178,"line":315},"jspred_private_remove_league",42,{"action":314,"nopriv":274,"callback":314,"hasNonce":271,"hasCapCheck":271,"file":178,"line":163},{"action":318,"nopriv":271,"callback":319,"hasNonce":271,"hasCapCheck":271,"file":248,"line":159},"prediction_leaguemodal","joomsport_prediction_leaguemodal",{"action":321,"nopriv":271,"callback":321,"hasNonce":271,"hasCapCheck":271,"file":248,"line":267},"jspred_round_filters",[],[],[],{"dangerousFunctions":326,"sqlUsage":331,"outputEscaping":491,"fileOperations":27,"externalRequests":27,"nonceChecks":769,"capabilityChecks":32,"bundledLibraries":971},[327],{"fn":328,"file":150,"line":329,"context":330},"unserialize",558,"$knT = unserialize($knockoutView);",{"prepared":166,"raw":332,"locations":333},77,[334,337,338,341,343,346,348,350,352,354,356,358,360,362,364,366,368,371,373,375,377,379,381,384,387,389,392,394,396,398,400,402,404,406,408,410,412,414,416,418,420,422,424,427,429,431,433,435,437,440,442,444,445,447,450,452,454,456,458,460,462,463,464,466,468,470,471,473,475,476,478,479,481,483,485,487,489],{"file":150,"line":335,"context":336},63,"$wpdb->get_results() with variable interpolation",{"file":150,"line":13,"context":336},{"file":150,"line":339,"context":340},144,"$wpdb->get_col() with variable interpolation",{"file":150,"line":342,"context":336},184,{"file":150,"line":344,"context":345},210,"$wpdb->query() with variable interpolation",{"file":150,"line":347,"context":336},229,{"file":150,"line":349,"context":336},234,{"file":150,"line":351,"context":345},288,{"file":150,"line":353,"context":345},339,{"file":150,"line":355,"context":336},398,{"file":150,"line":357,"context":336},412,{"file":150,"line":359,"context":345},451,{"file":150,"line":361,"context":336},458,{"file":150,"line":363,"context":345},460,{"file":150,"line":365,"context":336},509,{"file":150,"line":367,"context":345},617,{"file":158,"line":369,"context":370},173,"$wpdb->get_var() with variable interpolation",{"file":158,"line":372,"context":336},180,{"file":158,"line":374,"context":345},183,{"file":178,"line":376,"context":345},78,{"file":178,"line":378,"context":345},83,{"file":178,"line":380,"context":345},280,{"file":178,"line":382,"context":383},305,"$wpdb->get_row() with variable interpolation",{"file":385,"line":386,"context":336},"includes\\meta-boxes\\joomsport-prediction-meta-league.php",59,{"file":385,"line":388,"context":336},109,{"file":390,"line":391,"context":340},"includes\\meta-boxes\\joomsport-prediction-meta-round.php",342,{"file":390,"line":393,"context":370},584,{"file":390,"line":395,"context":345},594,{"file":390,"line":397,"context":345},597,{"file":390,"line":399,"context":340},602,{"file":225,"line":401,"context":345},321,{"file":225,"line":403,"context":345},327,{"file":225,"line":405,"context":345},350,{"file":225,"line":407,"context":345},351,{"file":225,"line":409,"context":345},365,{"file":225,"line":411,"context":345},373,{"file":225,"line":413,"context":345},375,{"file":228,"line":415,"context":345},197,{"file":228,"line":417,"context":345},214,{"file":419,"line":236,"context":383},"sportleague\\base\\wordpress\\classes\\predictions\\JSPTOutcome.php",{"file":419,"line":421,"context":370},91,{"file":423,"line":267,"context":383},"sportleague\\base\\wordpress\\classes\\predictions\\JSPTOutcomeTie.php",{"file":425,"line":426,"context":370},"sportleague\\base\\wordpress\\classes\\predictions\\JSPTScore.php",66,{"file":428,"line":159,"context":383},"sportleague\\base\\wordpress\\classes\\predictions\\JSPTScoreBonus.php",{"file":430,"line":285,"context":383},"sportleague\\base\\wordpress\\classes\\predictions\\JSPTScoreExact.php",{"file":432,"line":159,"context":383},"sportleague\\base\\wordpress\\classes\\predictions\\JSPTScoreSideAndDiff.php",{"file":434,"line":159,"context":383},"sportleague\\base\\wordpress\\classes\\predictions\\JSPTScoreWinner.php",{"file":436,"line":285,"context":336},"sportleague\\classes\\class-jsprediction-myleague_actions.php",{"file":438,"line":439,"context":336},"sportleague\\classes\\objects\\class-jsport-prediction-prleaders.php",118,{"file":438,"line":441,"context":336},158,{"file":438,"line":443,"context":383},172,{"file":438,"line":374,"context":336},{"file":438,"line":446,"context":340},203,{"file":448,"line":449,"context":340},"sportleague\\classes\\objects\\class-jsport-prediction-userleague.php",139,{"file":448,"line":451,"context":370},166,{"file":448,"line":453,"context":340},218,{"file":448,"line":455,"context":370},247,{"file":448,"line":457,"context":370},253,{"file":448,"line":459,"context":340},292,{"file":256,"line":461,"context":370},80,{"file":256,"line":378,"context":345},{"file":256,"line":242,"context":345},{"file":256,"line":465,"context":370},128,{"file":256,"line":467,"context":370},150,{"file":256,"line":469,"context":345},153,{"file":256,"line":441,"context":345},{"file":256,"line":472,"context":340},204,{"file":256,"line":474,"context":336},220,{"file":256,"line":455,"context":370},{"file":256,"line":477,"context":345},250,{"file":256,"line":457,"context":345},{"file":256,"line":480,"context":336},360,{"file":256,"line":482,"context":370},397,{"file":256,"line":484,"context":340},555,{"file":256,"line":486,"context":370},716,{"file":488,"line":159,"context":383},"sportleague\\helpers\\js-helper-mail.php",{"file":488,"line":490,"context":383},62,{"escaped":221,"rawEcho":492,"locations":493},313,[494,496,498,500,502,504,506,507,509,511,513,515,517,518,520,521,522,524,526,528,529,530,531,532,534,536,538,539,540,541,542,544,545,546,547,548,550,551,552,554,556,557,558,559,561,563,565,566,568,570,572,574,576,578,580,582,584,586,588,589,591,592,594,596,597,599,601,602,604,606,608,610,612,614,616,618,620,621,623,625,627,629,630,631,634,636,637,639,641,642,643,644,646,647,648,650,652,654,656,658,660,662,663,665,667,669,671,672,673,675,677,679,681,682,684,686,688,689,691,693,695,697,699,701,702,703,705,706,707,709,710,711,712,714,716,718,719,721,723,725,727,728,730,732,733,735,737,739,740,742,744,745,747,748,749,750,751,753,755,756,758,759,760,762,764,766,767,770,772,773,774,775,777,778,779,780,782,783,784,785,787,789,790,791,792,793,795,796,798,799,800,801,802,803,804,805,807,808,809,811,812,814,816,817,818,820,822,823,825,827,829,831,833,835,837,839,841,842,843,844,846,847,848,850,851,852,853,854,855,857,859,861,862,863,864,866,867,868,869,871,873,874,876,877,879,881,882,884,885,886,887,888,889,890,891,892,893,894,895,896,898,900,901,902,904,906,907,908,910,912,914,916,917,918,919,920,921,923,924,925,926,927,928,929,931,932,933,935,937,939,940,941,943,945,947,948,949,951,953,954,955,957,959,960,961,963,964,965,966,967,968,969,970],{"file":150,"line":443,"context":495},"raw output",{"file":178,"line":497,"context":495},57,{"file":178,"line":499,"context":495},131,{"file":178,"line":501,"context":495},185,{"file":178,"line":503,"context":495},200,{"file":178,"line":505,"context":495},213,{"file":178,"line":349,"context":495},{"file":178,"line":508,"context":495},248,{"file":178,"line":510,"context":495},262,{"file":178,"line":512,"context":495},290,{"file":178,"line":514,"context":495},335,{"file":178,"line":516,"context":495},361,{"file":189,"line":290,"context":495},{"file":189,"line":519,"context":495},105,{"file":216,"line":302,"context":495},{"file":220,"line":285,"context":495},{"file":220,"line":523,"context":495},26,{"file":220,"line":525,"context":495},60,{"file":220,"line":527,"context":495},97,{"file":220,"line":527,"context":495},{"file":220,"line":86,"context":495},{"file":220,"line":86,"context":495},{"file":220,"line":246,"context":495},{"file":220,"line":533,"context":495},103,{"file":220,"line":535,"context":495},107,{"file":220,"line":537,"context":495},108,{"file":385,"line":305,"context":495},{"file":385,"line":166,"context":495},{"file":385,"line":242,"context":495},{"file":385,"line":253,"context":495},{"file":385,"line":543,"context":495},136,{"file":385,"line":449,"context":495},{"file":390,"line":196,"context":495},{"file":390,"line":305,"context":495},{"file":390,"line":246,"context":495},{"file":390,"line":549,"context":495},102,{"file":390,"line":519,"context":495},{"file":390,"line":388,"context":495},{"file":390,"line":553,"context":495},115,{"file":390,"line":555,"context":495},121,{"file":390,"line":501,"context":495},{"file":390,"line":170,"context":495},{"file":390,"line":472,"context":495},{"file":390,"line":560,"context":495},221,{"file":390,"line":562,"context":495},241,{"file":390,"line":564,"context":495},279,{"file":390,"line":459,"context":495},{"file":390,"line":567,"context":495},317,{"file":390,"line":569,"context":495},330,{"file":390,"line":571,"context":495},392,{"file":390,"line":573,"context":495},393,{"file":390,"line":575,"context":495},394,{"file":390,"line":577,"context":495},396,{"file":390,"line":579,"context":495},399,{"file":390,"line":581,"context":495},404,{"file":390,"line":583,"context":495},409,{"file":390,"line":585,"context":495},423,{"file":390,"line":587,"context":495},424,{"file":390,"line":359,"context":495},{"file":390,"line":590,"context":495},455,{"file":225,"line":108,"context":495},{"file":225,"line":593,"context":495},228,{"file":225,"line":595,"context":495},230,{"file":225,"line":595,"context":495},{"file":225,"line":598,"context":495},414,{"file":225,"line":600,"context":495},415,{"file":225,"line":600,"context":495},{"file":225,"line":603,"context":495},419,{"file":225,"line":605,"context":495},422,{"file":225,"line":607,"context":495},426,{"file":225,"line":609,"context":495},428,{"file":225,"line":611,"context":495},435,{"file":225,"line":613,"context":495},477,{"file":225,"line":615,"context":495},486,{"file":225,"line":617,"context":495},498,{"file":225,"line":619,"context":495},502,{"file":225,"line":365,"context":495},{"file":225,"line":622,"context":495},512,{"file":225,"line":624,"context":495},517,{"file":225,"line":626,"context":495},522,{"file":225,"line":628,"context":495},528,{"file":228,"line":119,"context":495},{"file":228,"line":508,"context":495},{"file":632,"line":633,"context":495},"includes\\pages\\joomsport-prediction-page-settings.php",149,{"file":632,"line":635,"context":495},156,{"file":632,"line":443,"context":495},{"file":632,"line":638,"context":495},177,{"file":632,"line":640,"context":495},181,{"file":632,"line":415,"context":495},{"file":632,"line":446,"context":495},{"file":632,"line":226,"context":495},{"file":632,"line":645,"context":495},226,{"file":632,"line":347,"context":495},{"file":632,"line":349,"context":495},{"file":632,"line":649,"context":495},237,{"file":632,"line":651,"context":495},242,{"file":632,"line":653,"context":495},255,{"file":632,"line":655,"context":495},294,{"file":632,"line":657,"context":495},300,{"file":632,"line":659,"context":495},309,{"file":632,"line":661,"context":495},318,{"file":632,"line":403,"context":495},{"file":632,"line":664,"context":495},343,{"file":632,"line":666,"context":495},355,{"file":632,"line":668,"context":495},358,{"file":632,"line":670,"context":495},364,{"file":632,"line":179,"context":495},{"file":632,"line":411,"context":495},{"file":632,"line":674,"context":495},376,{"file":632,"line":676,"context":495},382,{"file":632,"line":678,"context":495},385,{"file":632,"line":680,"context":495},391,{"file":632,"line":575,"context":495},{"file":632,"line":683,"context":495},400,{"file":632,"line":685,"context":495},403,{"file":632,"line":687,"context":495},418,{"file":632,"line":587,"context":495},{"file":632,"line":690,"context":495},430,{"file":632,"line":692,"context":495},436,{"file":632,"line":694,"context":495},475,{"file":632,"line":696,"context":495},476,{"file":231,"line":698,"context":495},74,{"file":248,"line":700,"context":495},70,{"file":248,"line":96,"context":495},{"file":248,"line":553,"context":495},{"file":248,"line":704,"context":495},125,{"file":248,"line":221,"context":495},{"file":248,"line":455,"context":495},{"file":708,"line":36,"context":495},"sportleague\\base\\wordpress\\classes\\class-jsport-prediction-controller.php",{"file":708,"line":461,"context":495},{"file":438,"line":415,"context":495},{"file":256,"line":130,"context":495},{"file":256,"line":713,"context":495},113,{"file":256,"line":715,"context":495},116,{"file":256,"line":717,"context":495},120,{"file":256,"line":374,"context":495},{"file":256,"line":720,"context":495},186,{"file":256,"line":722,"context":495},190,{"file":256,"line":724,"context":495},258,{"file":256,"line":726,"context":495},291,{"file":256,"line":655,"context":495},{"file":256,"line":729,"context":495},298,{"file":731,"line":297,"context":495},"sportleague\\views\\default\\prleaders.php",{"file":731,"line":305,"context":495},{"file":731,"line":734,"context":495},41,{"file":731,"line":736,"context":495},48,{"file":731,"line":738,"context":495},49,{"file":731,"line":525,"context":495},{"file":731,"line":741,"context":495},64,{"file":731,"line":743,"context":495},67,{"file":731,"line":700,"context":495},{"file":731,"line":746,"context":495},84,{"file":731,"line":246,"context":495},{"file":731,"line":519,"context":495},{"file":731,"line":537,"context":495},{"file":731,"line":553,"context":495},{"file":731,"line":752,"context":495},119,{"file":731,"line":754,"context":495},126,{"file":731,"line":465,"context":495},{"file":731,"line":757,"context":495},137,{"file":731,"line":449,"context":495},{"file":731,"line":633,"context":495},{"file":731,"line":761,"context":495},151,{"file":731,"line":763,"context":495},162,{"file":731,"line":765,"context":495},164,{"file":731,"line":640,"context":495},{"file":768,"line":769,"context":495},"sportleague\\views\\default\\userleague.php",6,{"file":768,"line":771,"context":495},7,{"file":768,"line":275,"context":495},{"file":768,"line":159,"context":495},{"file":768,"line":285,"context":495},{"file":768,"line":776,"context":495},29,{"file":768,"line":315,"context":495},{"file":768,"line":315,"context":495},{"file":768,"line":738,"context":495},{"file":768,"line":781,"context":495},53,{"file":768,"line":490,"context":495},{"file":768,"line":743,"context":495},{"file":768,"line":700,"context":495},{"file":768,"line":786,"context":495},79,{"file":788,"line":212,"context":495},"sportleague\\views\\default\\userround.php",{"file":788,"line":149,"context":495},{"file":788,"line":523,"context":495},{"file":788,"line":290,"context":495},{"file":788,"line":292,"context":495},{"file":788,"line":794,"context":495},56,{"file":788,"line":335,"context":495},{"file":788,"line":797,"context":495},69,{"file":788,"line":786,"context":495},{"file":788,"line":461,"context":495},{"file":788,"line":253,"context":495},{"file":788,"line":130,"context":495},{"file":788,"line":86,"context":495},{"file":788,"line":11,"context":495},{"file":788,"line":388,"context":495},{"file":788,"line":806,"context":495},112,{"file":788,"line":465,"context":495},{"file":788,"line":499,"context":495},{"file":788,"line":810,"context":495},134,{"file":788,"line":757,"context":495},{"file":788,"line":813,"context":495},140,{"file":788,"line":815,"context":495},141,{"file":788,"line":339,"context":495},{"file":788,"line":467,"context":495},{"file":788,"line":819,"context":495},167,{"file":788,"line":821,"context":495},176,{"file":788,"line":638,"context":495},{"file":788,"line":824,"context":495},188,{"file":788,"line":826,"context":495},189,{"file":788,"line":828,"context":495},195,{"file":788,"line":830,"context":495},198,{"file":788,"line":832,"context":495},201,{"file":788,"line":834,"context":495},207,{"file":788,"line":836,"context":495},223,{"file":788,"line":838,"context":495},224,{"file":840,"line":97,"context":495},"sportleague\\views\\default\\userround_knockout.php",{"file":840,"line":151,"context":495},{"file":840,"line":267,"context":495},{"file":840,"line":282,"context":495},{"file":840,"line":845,"context":495},23,{"file":840,"line":302,"context":495},{"file":840,"line":734,"context":495},{"file":849,"line":14,"context":495},"sportleague\\views\\default\\userround_outcome.php",{"file":849,"line":212,"context":495},{"file":849,"line":285,"context":495},{"file":849,"line":287,"context":495},{"file":849,"line":523,"context":495},{"file":849,"line":315,"context":495},{"file":849,"line":856,"context":495},46,{"file":849,"line":858,"context":495},50,{"file":849,"line":860,"context":495},54,{"file":849,"line":386,"context":495},{"file":849,"line":525,"context":495},{"file":849,"line":741,"context":495},{"file":849,"line":865,"context":495},71,{"file":849,"line":253,"context":495},{"file":849,"line":527,"context":495},{"file":849,"line":86,"context":495},{"file":849,"line":870,"context":495},106,{"file":849,"line":872,"context":495},114,{"file":849,"line":553,"context":495},{"file":849,"line":875,"context":495},123,{"file":849,"line":465,"context":495},{"file":849,"line":878,"context":495},135,{"file":849,"line":880,"context":495},152,{"file":849,"line":469,"context":495},{"file":883,"line":282,"context":495},"sportleague\\views\\default\\userround_winner.php",{"file":883,"line":845,"context":495},{"file":883,"line":196,"context":495},{"file":883,"line":305,"context":495},{"file":883,"line":307,"context":495},{"file":883,"line":700,"context":495},{"file":883,"line":698,"context":495},{"file":883,"line":332,"context":495},{"file":883,"line":461,"context":495},{"file":883,"line":242,"context":495},{"file":883,"line":86,"context":495},{"file":883,"line":519,"context":495},{"file":883,"line":752,"context":495},{"file":883,"line":897,"context":495},127,{"file":883,"line":899,"context":495},143,{"file":883,"line":880,"context":495},{"file":883,"line":819,"context":495},{"file":883,"line":903,"context":495},175,{"file":883,"line":905,"context":495},191,{"file":883,"line":503,"context":495},{"file":883,"line":344,"context":495},{"file":883,"line":909,"context":495},219,{"file":883,"line":911,"context":495},233,{"file":913,"line":149,"context":495},"sportleague\\views\\default\\widgets\\privateleague.php",{"file":913,"line":915,"context":495},17,{"file":913,"line":297,"context":495},{"file":913,"line":300,"context":495},{"file":913,"line":196,"context":495},{"file":913,"line":310,"context":495},{"file":913,"line":794,"context":495},{"file":913,"line":922,"context":495},58,{"file":913,"line":525,"context":495},{"file":913,"line":741,"context":495},{"file":913,"line":461,"context":495},{"file":913,"line":746,"context":495},{"file":913,"line":242,"context":495},{"file":913,"line":421,"context":495},{"file":913,"line":930,"context":495},93,{"file":913,"line":527,"context":495},{"file":913,"line":11,"context":495},{"file":913,"line":934,"context":495},104,{"file":913,"line":936,"context":495},111,{"file":913,"line":938,"context":495},117,{"file":913,"line":555,"context":495},{"file":913,"line":875,"context":495},{"file":913,"line":942,"context":495},130,{"file":913,"line":944,"context":495},133,{"file":913,"line":946,"context":495},138,{"file":913,"line":899,"context":495},{"file":913,"line":339,"context":495},{"file":913,"line":950,"context":495},147,{"file":913,"line":952,"context":495},148,{"file":913,"line":761,"context":495},{"file":913,"line":880,"context":495},{"file":913,"line":956,"context":495},160,{"file":913,"line":958,"context":495},171,{"file":913,"line":369,"context":495},{"file":913,"line":903,"context":495},{"file":913,"line":962,"context":495},179,{"file":266,"line":769,"context":495},{"file":266,"line":771,"context":495},{"file":266,"line":275,"context":495},{"file":266,"line":236,"context":495},{"file":266,"line":290,"context":495},{"file":266,"line":292,"context":495},{"file":266,"line":300,"context":495},{"file":266,"line":302,"context":495},[],[973,989,999,1039,1075,1087,1101,1112,1126,1136,1150,1170,1178,1186],{"entryPoint":974,"graph":975,"unsanitizedCount":49,"severity":988},"output (includes\\meta-boxes\\joomsport-prediction-meta-round.php:10)",{"nodes":976,"edges":986},[977,981],{"id":978,"type":979,"label":980,"file":390,"line":523},"n0","source","$_REQUEST",{"id":982,"type":983,"label":984,"file":390,"line":305,"wp_function":985},"n1","sink","echo() [XSS]","echo",[987],{"from":978,"to":982,"sanitized":271},"medium",{"entryPoint":990,"graph":991,"unsanitizedCount":27,"severity":998},"\u003Cjoomsport-prediction-meta-round> (includes\\meta-boxes\\joomsport-prediction-meta-round.php:0)",{"nodes":992,"edges":996},[993,995],{"id":978,"type":979,"label":994,"file":390,"line":287},"$_REQUEST (x4)",{"id":982,"type":983,"label":984,"file":390,"line":196,"wp_function":985},[997],{"from":978,"to":982,"sanitized":274},"low",{"entryPoint":1000,"graph":1001,"unsanitizedCount":27,"severity":998},"view (includes\\pages\\joomsport-prediction-page-myleagues.php:289)",{"nodes":1002,"edges":1033},[1003,1005,1008,1011,1013,1016,1020,1024,1028,1031],{"id":978,"type":979,"label":1004,"file":225,"line":401},"$_POST['basedOn'] (x2)",{"id":982,"type":983,"label":1006,"file":225,"line":401,"wp_function":1007},"query() [SQLi]","query",{"id":1009,"type":979,"label":1010,"file":225,"line":659},"n2","$_REQUEST (x5)",{"id":1012,"type":983,"label":1006,"file":225,"line":403,"wp_function":1007},"n3",{"id":1014,"type":979,"label":1015,"file":225,"line":659},"n4","$_REQUEST (x3)",{"id":1017,"type":983,"label":1018,"file":225,"line":664,"wp_function":1019},"n5","get_var() [SQLi]","get_var",{"id":1021,"type":979,"label":1022,"file":225,"line":1023},"n6","$_REQUEST['id']",395,{"id":1025,"type":983,"label":1026,"file":225,"line":1023,"wp_function":1027},"n7","get_row() [SQLi]","get_row",{"id":1029,"type":979,"label":1030,"file":225,"line":659},"n8","$_REQUEST (x2)",{"id":1032,"type":983,"label":984,"file":225,"line":603,"wp_function":985},"n9",[1034,1035,1036,1037,1038],{"from":978,"to":982,"sanitized":274},{"from":1009,"to":1012,"sanitized":274},{"from":1014,"to":1017,"sanitized":274},{"from":1021,"to":1025,"sanitized":274},{"from":1029,"to":1032,"sanitized":274},{"entryPoint":1040,"graph":1041,"unsanitizedCount":27,"severity":998},"\u003Cjoomsport-prediction-page-myleagues> (includes\\pages\\joomsport-prediction-page-myleagues.php:0)",{"nodes":1042,"edges":1067},[1043,1044,1048,1049,1050,1051,1052,1053,1054,1055,1056,1058,1060,1062],{"id":978,"type":979,"label":1030,"file":225,"line":310},{"id":982,"type":983,"label":1045,"file":225,"line":1046,"wp_function":1047},"get_results() [SQLi]",47,"get_results",{"id":1009,"type":979,"label":1010,"file":225,"line":310},{"id":1012,"type":983,"label":1018,"file":225,"line":860,"wp_function":1019},{"id":1014,"type":979,"label":1004,"file":225,"line":401},{"id":1017,"type":983,"label":1006,"file":225,"line":401,"wp_function":1007},{"id":1021,"type":979,"label":1010,"file":225,"line":659},{"id":1025,"type":983,"label":1006,"file":225,"line":403,"wp_function":1007},{"id":1029,"type":979,"label":1022,"file":225,"line":1023},{"id":1032,"type":983,"label":1026,"file":225,"line":1023,"wp_function":1027},{"id":1057,"type":979,"label":1030,"file":225,"line":659},"n10",{"id":1059,"type":983,"label":984,"file":225,"line":603,"wp_function":985},"n11",{"id":1061,"type":979,"label":1030,"file":225,"line":1023},"n12",{"id":1063,"type":983,"label":1064,"file":225,"line":1065,"wp_function":1066},"n13","get_col() [SQLi]",464,"get_col",[1068,1069,1070,1071,1072,1073,1074],{"from":978,"to":982,"sanitized":274},{"from":1009,"to":1012,"sanitized":274},{"from":1014,"to":1017,"sanitized":274},{"from":1021,"to":1025,"sanitized":274},{"from":1029,"to":1032,"sanitized":274},{"from":1057,"to":1059,"sanitized":274},{"from":1061,"to":1063,"sanitized":274},{"entryPoint":1076,"graph":1077,"unsanitizedCount":27,"severity":998},"\u003Cjoomsport-prediction-page-openleagues> (includes\\pages\\joomsport-prediction-page-openleagues.php:0)",{"nodes":1078,"edges":1084},[1079,1080,1082,1083],{"id":978,"type":979,"label":1030,"file":228,"line":307},{"id":982,"type":983,"label":1045,"file":228,"line":1081,"wp_function":1047},45,{"id":1009,"type":979,"label":1015,"file":228,"line":307},{"id":1012,"type":983,"label":1018,"file":228,"line":388,"wp_function":1019},[1085,1086],{"from":978,"to":982,"sanitized":274},{"from":1009,"to":1012,"sanitized":274},{"entryPoint":1088,"graph":1089,"unsanitizedCount":27,"severity":998},"action (includes\\pages\\joomsport-prediction-page-settings.php:8)",{"nodes":1090,"edges":1098},[1091,1093,1096,1097],{"id":978,"type":979,"label":1092,"file":632,"line":738},"$_POST (x2)",{"id":982,"type":983,"label":1094,"file":632,"line":858,"wp_function":1095},"update_option() [Settings Manipulation]","update_option",{"id":1009,"type":979,"label":980,"file":632,"line":794},{"id":1012,"type":983,"label":1094,"file":632,"line":497,"wp_function":1095},[1099,1100],{"from":978,"to":982,"sanitized":274},{"from":1009,"to":1012,"sanitized":274},{"entryPoint":1102,"graph":1103,"unsanitizedCount":27,"severity":998},"\u003Cjoomsport-prediction-page-settings> (includes\\pages\\joomsport-prediction-page-settings.php:0)",{"nodes":1104,"edges":1109},[1105,1106,1107,1108],{"id":978,"type":979,"label":1092,"file":632,"line":738},{"id":982,"type":983,"label":1094,"file":632,"line":858,"wp_function":1095},{"id":1009,"type":979,"label":980,"file":632,"line":794},{"id":1012,"type":983,"label":1094,"file":632,"line":497,"wp_function":1095},[1110,1111],{"from":978,"to":982,"sanitized":274},{"from":1009,"to":1012,"sanitized":274},{"entryPoint":1113,"graph":1114,"unsanitizedCount":131,"severity":1125},"jspred_private_league_add (includes\\joomsport-prediction-ajax-actions.php:47)",{"nodes":1115,"edges":1122},[1116,1118,1119,1121],{"id":978,"type":979,"label":1117,"file":178,"line":376},"$_POST['base_league']",{"id":982,"type":983,"label":1006,"file":178,"line":376,"wp_function":1007},{"id":1009,"type":979,"label":1120,"file":178,"line":378},"$_POST['import_from']",{"id":1012,"type":983,"label":1006,"file":178,"line":378,"wp_function":1007},[1123,1124],{"from":978,"to":982,"sanitized":271},{"from":1009,"to":1012,"sanitized":271},"high",{"entryPoint":1127,"graph":1128,"unsanitizedCount":131,"severity":1125},"jspred_private_update_league (includes\\joomsport-prediction-ajax-actions.php:266)",{"nodes":1129,"edges":1134},[1130,1132],{"id":978,"type":979,"label":1092,"file":178,"line":1131},276,{"id":982,"type":983,"label":1006,"file":178,"line":1133,"wp_function":1007},277,[1135],{"from":978,"to":982,"sanitized":271},{"entryPoint":1137,"graph":1138,"unsanitizedCount":131,"severity":1125},"jspred_private_users (includes\\joomsport-prediction-ajax-actions.php:339)",{"nodes":1139,"edges":1147},[1140,1143,1145,1146],{"id":978,"type":979,"label":1141,"file":178,"line":1142},"$_POST",344,{"id":982,"type":983,"label":1064,"file":178,"line":1144,"wp_function":1066},354,{"id":1009,"type":979,"label":1141,"file":178,"line":664},{"id":1012,"type":983,"label":1045,"file":178,"line":480,"wp_function":1047},[1148,1149],{"from":978,"to":982,"sanitized":271},{"from":1009,"to":1012,"sanitized":271},{"entryPoint":1151,"graph":1152,"unsanitizedCount":769,"severity":1125},"\u003Cjoomsport-prediction-ajax-actions> (includes\\joomsport-prediction-ajax-actions.php:0)",{"nodes":1153,"edges":1164},[1154,1155,1156,1157,1158,1159,1160,1161,1162,1163],{"id":978,"type":979,"label":1117,"file":178,"line":376},{"id":982,"type":983,"label":1006,"file":178,"line":376,"wp_function":1007},{"id":1009,"type":979,"label":1120,"file":178,"line":378},{"id":1012,"type":983,"label":1006,"file":178,"line":378,"wp_function":1007},{"id":1014,"type":979,"label":1092,"file":178,"line":1131},{"id":1017,"type":983,"label":1006,"file":178,"line":1133,"wp_function":1007},{"id":1021,"type":979,"label":1141,"file":178,"line":1142},{"id":1025,"type":983,"label":1064,"file":178,"line":1144,"wp_function":1066},{"id":1029,"type":979,"label":1141,"file":178,"line":664},{"id":1032,"type":983,"label":1045,"file":178,"line":480,"wp_function":1047},[1165,1166,1167,1168,1169],{"from":978,"to":982,"sanitized":271},{"from":1009,"to":1012,"sanitized":271},{"from":1014,"to":1017,"sanitized":271},{"from":1021,"to":1025,"sanitized":271},{"from":1029,"to":1032,"sanitized":271},{"entryPoint":1171,"graph":1172,"unsanitizedCount":49,"severity":1125},"jspred_filter_privatetitle (includes\\posts\\joomsport-prediction-post-league.php:102)",{"nodes":1173,"edges":1176},[1174,1175],{"id":978,"type":979,"label":980,"file":231,"line":206},{"id":982,"type":983,"label":1018,"file":231,"line":553,"wp_function":1019},[1177],{"from":978,"to":982,"sanitized":271},{"entryPoint":1179,"graph":1180,"unsanitizedCount":49,"severity":1125},"\u003Cjoomsport-prediction-post-league> (includes\\posts\\joomsport-prediction-post-league.php:0)",{"nodes":1181,"edges":1184},[1182,1183],{"id":978,"type":979,"label":980,"file":231,"line":206},{"id":982,"type":983,"label":1018,"file":231,"line":553,"wp_function":1019},[1185],{"from":978,"to":982,"sanitized":271},{"entryPoint":1187,"graph":1188,"unsanitizedCount":131,"severity":1125},"\u003Cuser-stat> (sportleague\\views\\default\\widgets\\user-stat.php:0)",{"nodes":1189,"edges":1195},[1190,1191,1193,1194],{"id":978,"type":979,"label":980,"file":266,"line":151},{"id":982,"type":983,"label":1018,"file":266,"line":1192,"wp_function":1019},14,{"id":1009,"type":979,"label":980,"file":266,"line":151},{"id":1012,"type":983,"label":984,"file":266,"line":275,"wp_function":985},[1196,1197],{"from":978,"to":982,"sanitized":271},{"from":1009,"to":1012,"sanitized":271},{"summary":1199,"deductions":1200},"The joom-sport-prediction plugin v3.0.7 exhibits a concerning security posture, primarily due to a significant attack surface that lacks authentication. With 22 AJAX handlers and none of them protected by authentication checks, these entry points are wide open to potential abuse. While the plugin does not have a public vulnerability history, the static analysis reveals several concerning code signals, including the presence of the `unserialize` function, which is notoriously dangerous if used with untrusted input. Furthermore, only 30% of output is properly escaped, leaving room for cross-site scripting (XSS) vulnerabilities, and only 36% of SQL queries use prepared statements, increasing the risk of SQL injection. The high number of unsanitized paths in taint analysis, particularly 7 classified as high severity, strongly suggests that user-supplied data is not being adequately validated or sanitized before being processed, creating direct pathways for malicious input to impact the application's behavior or data.",[1201,1203,1205,1207,1209,1211],{"reason":1202,"points":47},"Large attack surface without auth checks",{"reason":1204,"points":47},"Dangerous function: unserialize",{"reason":1206,"points":769},"Low percentage of properly escaped output",{"reason":1208,"points":97},"Low percentage of prepared SQL statements",{"reason":1210,"points":1192},"High severity taint flows (unsanitized)",{"reason":1212,"points":47},"Missing nonce checks on AJAX handlers","2026-03-16T21:15:15.932Z",{"wat":1215,"direct":1230},{"assetPaths":1216,"generatorPatterns":1222,"scriptPaths":1223,"versionParams":1224},[1217,1218,1219,1220,1221],"\u002Fwp-content\u002Fplugins\u002Fjoomsport-prediction\u002Fsportleague\u002Fassets\u002Fcss\u002Fprediction.css","\u002Fwp-content\u002Fplugins\u002Fjoomsport-prediction\u002Fsportleague\u002Fassets\u002Fjs\u002Fjsprediction.js","\u002Fwp-content\u002Fplugins\u002Fjoomsport-prediction\u002Fassets\u002Fjs\u002Fcommon.js","\u002Fwp-content\u002Fplugins\u002Fjoomsport-prediction\u002Fassets\u002Fcss\u002Fcommon.css","\u002Fwp-content\u002Fplugins\u002Fjoomsport-prediction\u002Fassets\u002Fcss\u002Ficonstyles.css",[],[1218],[1225,1226,1227,1228,1229],"joomsport-prediction\u002Fsportleague\u002Fassets\u002Fcss\u002Fprediction.css?ver=","joomsport-prediction\u002Fsportleague\u002Fassets\u002Fjs\u002Fjsprediction.js?ver=","joomsport-prediction\u002Fassets\u002Fjs\u002Fcommon.js?ver=","joomsport-prediction\u002Fassets\u002Fcss\u002Fcommon.css?ver=","joomsport-prediction\u002Fassets\u002Fcss\u002Ficonstyles.css?ver=",{"cssClasses":1231,"htmlComments":1234,"htmlAttributes":1235,"restEndpoints":1237,"jsGlobals":1238,"shortcodeOutput":1239},[1232,1233],"jswprediction_league","jswprediction_round",[],[1236],"data-wp-i18n",[],[1232,1233],[]]