[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fR8bf2A0e11tzYIgprvjPRKsm4yVUzHIHwM7Yxn-eUr0":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":46,"crawl_stats":37,"alternatives":53,"analysis":153,"fingerprints":1107},"world-cup-predictor","World Cup Predictor","1.9.8","ianhaycox","https:\u002F\u002Fprofiles.wordpress.org\u002Fianhaycox\u002F","\u003Cp>This plugin is designed to collect users predictions for each match in FIFA Club World Cup 2025™.\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\u003Cp>To view examples of usage, visit the website \u003Ca href=\"http:\u002F\u002Fwww.wcp.net.br\u002F\" rel=\"nofollow ugc\">wcp.net.br\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>New in V1.7\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Inclusion of single pages for show Predictions by Match and Predictions of User.\u003Cbr \u002F>\nNew widget for show standings of Stage Groups.\u003Cbr \u002F>\nShow the widget WorldCupPredictions only to logged users.\u003Cbr \u002F>\nFix the kickoff times for browsers’ timezone\u003C\u002Fp>\n\u003Cp>\u003Cstrong>New in V1.5\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Inclusion of matches, teams and locations of the 2014 FIFA World Cup Brazil™.\u003Cbr \u002F>\nAbility for users to toggle match kickoff times between Brazilian and browser local time.\u003Cbr \u002F>\nManually order Group tables in the event that FIFA draw lots.\u003Cbr \u002F>\nCountdown timer message can be customized to use local language conventions.\u003Cbr \u002F>\nDisplay all users predictions for all matches with one shortcode.\u003Cbr \u002F>\nOption to show\u002Fhide avatar in ranking table.\u003Cbr \u002F>\nMarking a match as finished automatically updates the users prediction scores.\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 World Cup games\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 – Domingo Robaina\u003C\u002Fli>\n\u003Cli>Brazilian Portuguese – Ed Torres\u003C\u002Fli>\n\u003Cli>Dutch – Deborah Kerkhof\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 – Oles Lukas\u003C\u002Fli>\n\u003Cli>Serbian – \u003Ca href=\"http:\u002F\u002Fmarcrelic.wordpress.com\u002F\" rel=\"nofollow ugc\">Marko Relic\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Other translations may be available at \u003Ca href=\"http:\u002F\u002Fwww.wcp.net.br\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 and give a comment.\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cp>After installation, use Import button on the Overview menu of ‘WCP Cup’ to load the teams and match schedules.\u003C\u002Fp>\n\u003Cp>Verify the timezone offset on this screen. Any difference should reflect the difference in time between your servers’ local time and Russian time. If this setting is incorrect then users may be able to make predictions after kickoff.\u003C\u002Fp>\n\u003Cp>The date and times of matches are in Russian local time (UTC+3)\u003C\u002Fp>\n\u003Cp>In order to manage the teams, matches, etc. the logged user must be have the WordPress capability \u003Ccode>wcup_manager\u003C\u002Fcode>. By default the plugin adds this capability to the Administrator and Editor roles. If the ‘WCP Cup’ menu option is not available, verify that the current user has the \u003Ccode>wcup_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>Once imported you may wish to update the URL setting via the Admin->World Cup 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>[world-cup-predictor]\u003C\u002Fcode> to display an entry form. Other shortcodes are available to display prediction results and 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 predictions.\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 team that has qualified to the next stage.  For example, if Russia win Group A, edit Match Number 13 and change the team from ‘WA’ to ‘Russia’.\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, enter the final score in the Matches tab and check the ‘Match Finished’ box. The displayed group tables\u003Cbr \u002F>\nwill be updated with the latest team standings.\u003C\u002Fp>\n\u003Cp>To update the users’ prediction, select the match in the ‘Predictions’ menu and click ‘Score Selected’. This updates the\u003Cbr \u002F>\nusers’ scores in the widget and on 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>[world-cup-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=true\u003C\u002Fcode>,\u003Cbr \u002F>\ne.g. \u003Ccode>[world-cup-predictor group=true]\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>To display matches sorted by kickoff time, rather than by each stage, use the attribute \u003Ccode>kickoff=true\u003C\u002Fcode> and optionally a\u003Cbr \u002F>\nlimit, e.g. \u003Ccode>[world-cup-predictor kickoff=true 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>[world-cup-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>Match Results\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[world-cup-predictor results=1 stage=n team=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 or use attribute \u003Ccode>team=n\u003C\u002Fcode> where \u003Ccode>n\u003C\u002Fcode> is the team id to limit the matches to a particular team.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Users Predictions\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[world-cup-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.  This is to prevent users viewing each others predictions before the match has started.\u003C\u002Fp>\n\u003Cp>Use the option \u003Ccode>[world-cup-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>[world-cup-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>[world-cup-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>[world-cup-predictor show_total=1]\u003C\u002Fcode> without the table.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Rankings\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[world-cup-predictor ranking=1 limit=999]\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>[world-cup-predictor ranking=1 highlight=\"background:red;font-weight:bold\"]\u003C\u002Fcode>.\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>[world-cup-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>[world-cup-predictor user=1]\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Drag and drop the widget to a sidebar and configure.\u003C\u002Fp>\n\u003Ch4>Toggle timezones\u003C\u002Fh4>\n\u003Cp>All match kickoff times and dates are displayed in Brazilian local time.  If you have changed the match times in the admin screens\u003Cbr \u002F>\nto another timezone, this will NOT work.\u003C\u002Fp>\n\u003Cp>To allow a user to toggle between BRST and local time you need to add the following code in your blog post, or sidebar, that contains\u003Cbr \u002F>\none of the plugin shortcodes: For example,\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003Cdiv class=\"tzcContainer\">\n  \u003Cp id=\"tzLocal\" style=\"display:none\">Match times are currently set to match local time, please click here to convert to your time zone.\u003C\u002Fp>\n  \u003Cp id=\"tzClient\">Match times are currently set to \u003Cstrong>your timezone\u003C\u002Fstrong>, please click here to revert to local time.\u003C\u002Fp>\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>\nBRST 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 \u003Ccode>auto-translate\u003C\u002Fcode> feature uncheck the setting on the overview screen.\u003C\u002Fp>\n","Plugin to manage soccer predictions and present a fantasy football competition for the FIFA Club World Cup 2025™.",50,26194,100,26,"2025-04-08T10:55:00.000Z","6.7.5","2.8","",[20,21,22,23,24],"club-world-cup","football","leaderboard","prediction","tournament","https:\u002F\u002Fwcp.net.br\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fworld-cup-predictor.1.9.8.zip",79,1,"2025-01-13 00:00:00","2026-03-15T15:16:48.613Z",[32],{"id":33,"url_slug":34,"title":35,"description":36,"plugin_slug":4,"theme_slug":37,"affected_versions":38,"patched_in_version":37,"severity":39,"cvss_score":40,"cvss_vector":41,"vuln_type":42,"published_date":29,"updated_date":43,"references":44,"days_to_patch":37},"CVE-2025-22794","world-cup-predictor-reflected-cross-site-scripting","World Cup Predictor \u003C= 1.9.6 - Reflected Cross-Site Scripting","The World Cup Predictor plugin for WordPress is vulnerable to Reflected Cross-Site Scripting in all versions up to, and including, 1.9.6 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute if they can successfully trick a user into performing an action such as clicking on a link.",null,"\u003C=1.9.6","medium",6.1,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:R\u002FS:C\u002FC:L\u002FI:L\u002FA:N","Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","2025-02-20 16:49:41",[45],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Fde58a0d1-42d2-46d7-a8a5-6b86b438b326?source=api-prod",{"slug":7,"display_name":7,"profile_url":8,"plugin_count":47,"total_installs":48,"avg_security_score":49,"avg_patch_time_days":50,"trust_score":51,"computed_at":52},3,660,83,30,82,"2026-04-04T15:13:55.734Z",[54,79,98,121,139],{"slug":55,"name":56,"version":57,"author":58,"author_profile":59,"description":60,"short_description":61,"active_installs":62,"downloaded":63,"rating":64,"num_ratings":51,"last_updated":65,"tested_up_to":66,"requires_at_least":67,"requires_php":68,"tags":69,"homepage":73,"download_link":74,"security_score":75,"vuln_count":76,"unpatched_count":77,"last_vuln_date":78,"fetched_at":30},"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,"2025-09-09T18:21:00.000Z","6.8.5","5.3","7.4",[21,70,71,23,72],"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,0,"2025-09-09 00:00:00",{"slug":80,"name":81,"version":82,"author":83,"author_profile":84,"description":85,"short_description":86,"active_installs":13,"downloaded":87,"rating":77,"num_ratings":77,"last_updated":88,"tested_up_to":89,"requires_at_least":90,"requires_php":18,"tags":91,"homepage":95,"download_link":96,"security_score":97,"vuln_count":77,"unpatched_count":77,"last_vuln_date":37,"fetched_at":30},"football-standings","Sport livescores: foootball and basketball results, fixtures and standings","1.0.1","footstandings","https:\u002F\u002Fprofiles.wordpress.org\u002Ffootstandings\u002F","\u003Cp>Introducing Sport LiveScores, the ultimate WordPress plugin for every sports enthusiast and website owner! This powerful, free plugin brings real-time football and basketball score updates directly to your WordPress site. With Sport LiveScores, stay updated with all the action from the sports world without the hassle of ads or subscription fees.\u003C\u002Fp>\n\u003Cp>Key Features:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Comprehensive Coverage: Sport LiveScores offers extensive coverage of football and basketball games, ensuring you don’t miss any action. It includes:\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cul>\n\u003Cli>Today’s Games: Get scores and updates on all the football and basketball games happening today.\u003C\u002Fli>\n\u003Cli>Live Games: Stay on top of live matches as they happen.\u003C\u002Fli>\n\u003Cli>Tomorrow’s Games: Preview upcoming games scheduled for the next day.\u003C\u002Fli>\n\u003Cli>Yesterday’s Games: Review scores and highlights from yesterday’s matches.\u003C\u002Fli>\n\u003Cli>Tournament Tracking: Access scores and updates from over 3000 tournaments, including major events like Euro-2024, the English Premier League (EPL), the UEFA Champions League, the NBA, and even the Olympic Games.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Col>\n\u003Cli>\n\u003Cp>User-Friendly Interface: The plugin is fully responsive, providing an optimal viewing experience across all devices. Whether your audience is on desktop, tablet, or mobile, Sport LiveScores adjusts seamlessly.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Timezone Autodetection: Sport LiveScores intelligently detects the user’s timezone, displaying the match times and event data accurately for their specific location. No more timezone confusion for your international audience!\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Multi-Language Support: Break language barriers with Sport LiveScores’s support for 21 languages, making your website accessible to a global audience.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Customization at Your Fingertips: Tailor the look and feel of Sport LiveScores to match your website’s theme. The plugin allows you to customize colors, fonts, and layout, offering a consistent user experience.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>No Ads, Absolutely Free: Enjoy all the features of Sport LiveScores without any advertisements. This plugin is completely free, providing a clean and uninterrupted experience for both you and your users.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Sport LiveScores is more than just a plugin – it’s a comprehensive solution for integrating live sports scores into your WordPress site. Whether you’re a sports blogger, a fan site, or a news portal, Sport LiveScores enriches your content, engages your audience, and elevates your website’s appeal.\u003C\u002Fp>\n\u003Cp>Get Sport LiveScores now and transform your WordPress site into a dynamic sports hub!\u003C\u002Fp>\n\u003Cp>Sport LiveScores utilizes the external service 777score.com to obtain up-to-date information about the schedule and results of football matches. 777score.com is a recognized source of sports information trusted by the sports community. This service provides a wide range of information about football, including various leagues, tournaments, and championships from around the world.\u003C\u002Fp>\n\u003Cp>The functioning of the 777score.com service is based on delivering real-time data about selected matches, including the match start time, its status, incidents, and the score. Users have the ability to view detailed information about matches, such as goal lists, received cards, and other key events, without the need to refresh the page. This means that data is automatically updated without requiring page reload.\u003C\u002Fp>\n","Add auto-updated live scores information about more than 3000 football and basketball tournaments and standings with ease!",9359,"2024-09-02T10:41:00.000Z","6.6.5","4.1",[92,21,72,93,94],"basketball","team","tournaments","http:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Ffootball-standings\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffootball-standings.1.0.1.zip",92,{"slug":99,"name":100,"version":101,"author":100,"author_profile":102,"description":103,"short_description":104,"active_installs":13,"downloaded":105,"rating":106,"num_ratings":107,"last_updated":108,"tested_up_to":109,"requires_at_least":110,"requires_php":111,"tags":112,"homepage":116,"download_link":117,"security_score":118,"vuln_count":119,"unpatched_count":28,"last_vuln_date":120,"fetched_at":30},"tournamatch","Tournamatch","4.7.0","https:\u002F\u002Fprofiles.wordpress.org\u002Ftournamatch\u002F","\u003Cp>Use this plugin to create a gaming community with your own tournaments, ladders, competitor challenges, and more. Ladder standings (or “leaderboard”) track points, wins, losses, [optionally] draws, games played, win streak, and win percent. Tournament brackets support single elimination head-to-head competitions. Tournamatch also includes match challenges, player profiles, team profiles, ladder and tournament rule pages, match lists, and a player dashboard for managing everything.\u003C\u002Fp>\n\u003Cp>Using Tournamatch, you create ladder or tournament events and allow registered users to self-serve. Registered users can create their own teams, join other teams, accept or decline join requests, drop team members, and send email or user team invitations; users can send match challenges; users or admins report, confirm, or dispute match results; ladders and tournaments will update automatically when match results are confirmed.\u003C\u002Fp>\n\u003Cp>This plugin includes many pages and shortcodes with user-facing components. You should expect to restyle those using the WordPress Backend -> Appearance, Customize -> Additional CSS page.\u003C\u002Fp>\n\u003Cp>Need support or have a feature request? Please reach out to us here on the WordPress.org forums, on Twitter at \u003Ca href=\"https:\u002F\u002Ftwitter.com\u002FTournamatch\" rel=\"nofollow ugc\">@tournamatch\u003C\u002Fa>, on Facebook at \u003Ca href=\"https:\u002F\u002Fwww.facebook.com\u002Ftournamatch\" rel=\"nofollow ugc\">Tournamatch\u003C\u002Fa>, or visit our website at \u003Ca href=\"https:\u002F\u002Fwww.tournamatch.com\" rel=\"nofollow ugc\">www.tournamatch.com\u003C\u002Fa>.\u003C\u002Fp>\n","A ladder and tournament plugin for eSports, physical sports, board games, and other online gaming leagues.",9397,84,6,"2025-12-09T12:21:00.000Z","6.9.0","4.7","5.6.20",[113,114,22,115,24],"bracket","ladder","standings","https:\u002F\u002Fwww.tournamatch.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftournamatch.4.7.0.zip",74,4,"2025-05-22 00:00:00",{"slug":122,"name":123,"version":124,"author":7,"author_profile":8,"description":125,"short_description":126,"active_installs":127,"downloaded":128,"rating":13,"num_ratings":28,"last_updated":129,"tested_up_to":130,"requires_at_least":131,"requires_php":18,"tags":132,"homepage":136,"download_link":137,"security_score":138,"vuln_count":77,"unpatched_count":77,"last_vuln_date":37,"fetched_at":30},"euro-2012-predictor","Euro 2012 Predictor","0.9.1","\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,"2012-12-17T09:43:00.000Z","3.5.2","3.1",[133,134,21,23,135],"competition","fantasy-football","soccer","http:\u002F\u002Fwww.ianhaycox.com\u002Feuro2012","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Feuro-2012-predictor.0.9.1.zip",85,{"slug":140,"name":141,"version":142,"author":143,"author_profile":144,"description":145,"short_description":146,"active_installs":127,"downloaded":147,"rating":13,"num_ratings":28,"last_updated":148,"tested_up_to":66,"requires_at_least":149,"requires_php":18,"tags":150,"homepage":151,"download_link":152,"security_score":13,"vuln_count":77,"unpatched_count":77,"last_vuln_date":37,"fetched_at":30},"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",[133,134,21,23,135],"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ffootball-predictor\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffootball-predictor.1.0.9.zip",{"attackSurface":154,"codeSignals":203,"taintFlows":731,"riskAssessment":1088,"analyzedAt":1106},{"hooks":155,"ajaxHandlers":194,"restRoutes":200,"shortcodes":201,"cronEvents":202,"entryPointCount":28,"unprotectedCount":28},[156,162,167,171,174,177,180,183,186,191],{"type":157,"name":158,"callback":159,"file":160,"line":161},"action","admin_notices","nag","admin\\wcp-admin.class.php",257,{"type":157,"name":163,"callback":164,"file":165,"line":166},"wp_print_styles","print_styles","world-cup-predictor.php",320,{"type":157,"name":168,"callback":169,"file":165,"line":170},"wp_print_scripts","print_scripts",321,{"type":157,"name":172,"callback":172,"file":165,"line":173},"widgets_init",322,{"type":157,"name":175,"callback":175,"file":165,"line":176},"admin_menu",351,{"type":157,"name":178,"callback":178,"file":165,"line":179},"admin_print_scripts",352,{"type":157,"name":181,"callback":181,"file":165,"line":182},"admin_print_styles",353,{"type":157,"name":184,"callback":184,"file":165,"line":185},"admin_init",354,{"type":187,"name":188,"callback":189,"file":165,"line":190},"filter","the_content","wcp_template_scores_content",358,{"type":187,"name":188,"callback":192,"file":165,"line":193},"wcp_template_predictions_content",362,[195],{"action":196,"nopriv":197,"callback":198,"hasNonce":197,"hasCapCheck":197,"file":165,"line":199},"worldcuppredictor_ajax",false,"ajax",326,[],[],[],{"dangerousFunctions":204,"sqlUsage":215,"outputEscaping":249,"fileOperations":28,"externalRequests":28,"nonceChecks":729,"capabilityChecks":47,"bundledLibraries":730},[205,210],{"fn":206,"file":207,"line":208,"context":209},"create_function","admin\\markdown.php",1506,"$this->utf8_strlen = create_function('$text', 'return preg_match_all(",{"fn":211,"file":212,"line":213,"context":214},"unserialize","admin\\wcp-overview.class.php",327,"$content = unserialize($response['body']);",{"prepared":216,"raw":217,"locations":218},160,14,[219,222,224,226,228,230,233,235,237,239,241,243,245,247],{"file":160,"line":220,"context":221},37,"$wpdb->query() with variable interpolation",{"file":160,"line":223,"context":221},38,{"file":160,"line":225,"context":221},39,{"file":160,"line":227,"context":221},40,{"file":160,"line":229,"context":221},41,{"file":212,"line":231,"context":232},19,"$wpdb->get_var() with variable interpolation",{"file":212,"line":234,"context":232},20,{"file":212,"line":236,"context":232},21,{"file":212,"line":238,"context":232},22,{"file":165,"line":240,"context":221},291,{"file":165,"line":242,"context":221},292,{"file":165,"line":244,"context":221},293,{"file":165,"line":246,"context":221},294,{"file":165,"line":248,"context":221},295,{"escaped":250,"rawEcho":251,"locations":252},29,305,[253,256,258,260,261,262,263,264,266,268,269,271,273,274,275,277,278,280,282,284,286,288,290,291,294,295,297,299,301,303,305,307,309,311,313,315,317,319,321,323,325,327,329,330,332,333,334,336,338,340,342,344,346,348,350,352,354,356,358,361,363,364,365,367,369,371,373,374,375,377,379,381,383,385,387,389,390,391,392,393,394,395,396,397,399,401,402,403,405,406,408,410,412,414,416,418,420,422,423,425,426,428,430,432,434,436,438,439,441,443,444,445,447,448,449,450,452,454,456,458,460,461,463,464,465,467,469,471,473,475,477,479,480,481,482,484,486,488,489,490,491,493,495,496,497,499,501,503,505,507,509,511,513,515,517,519,521,522,523,525,526,528,530,532,534,536,537,538,539,540,541,542,543,545,547,549,551,552,554,556,558,559,561,563,565,566,567,569,571,573,574,575,576,577,578,579,581,582,583,584,585,587,588,590,591,593,594,595,597,599,600,601,603,605,606,608,609,611,612,613,614,615,616,617,619,620,622,624,625,626,628,629,630,632,633,634,636,638,639,641,642,643,644,645,646,647,648,649,650,652,654,657,658,659,660,661,662,663,664,666,668,669,671,672,673,675,677,678,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,696,697,698,700,701,702,703,704,706,708,710,712,714,716,717,719,720,722,724,726,727,728],{"file":160,"line":254,"context":255},266,"raw output",{"file":160,"line":257,"context":255},288,{"file":160,"line":259,"context":255},289,{"file":160,"line":259,"context":255},{"file":160,"line":242,"context":255},{"file":160,"line":244,"context":255},{"file":160,"line":244,"context":255},{"file":160,"line":265,"context":255},296,{"file":160,"line":267,"context":255},297,{"file":160,"line":267,"context":255},{"file":160,"line":270,"context":255},300,{"file":160,"line":272,"context":255},301,{"file":160,"line":272,"context":255},{"file":160,"line":272,"context":255},{"file":160,"line":276,"context":255},304,{"file":160,"line":251,"context":255},{"file":160,"line":279,"context":255},318,{"file":160,"line":281,"context":255},324,{"file":160,"line":283,"context":255},325,{"file":160,"line":285,"context":255},338,{"file":160,"line":287,"context":255},363,{"file":160,"line":289,"context":255},377,{"file":160,"line":289,"context":255},{"file":292,"line":293,"context":255},"admin\\wcp-matches.class.php",134,{"file":292,"line":293,"context":255},{"file":292,"line":296,"context":255},142,{"file":292,"line":298,"context":255},147,{"file":292,"line":300,"context":255},152,{"file":292,"line":302,"context":255},156,{"file":292,"line":304,"context":255},161,{"file":292,"line":306,"context":255},163,{"file":292,"line":308,"context":255},165,{"file":292,"line":310,"context":255},170,{"file":292,"line":312,"context":255},172,{"file":292,"line":314,"context":255},174,{"file":292,"line":316,"context":255},188,{"file":292,"line":318,"context":255},190,{"file":292,"line":320,"context":255},191,{"file":292,"line":322,"context":255},197,{"file":292,"line":324,"context":255},224,{"file":292,"line":326,"context":255},226,{"file":292,"line":328,"context":255},250,{"file":292,"line":328,"context":255},{"file":292,"line":331,"context":255},252,{"file":292,"line":331,"context":255},{"file":292,"line":331,"context":255},{"file":292,"line":335,"context":255},253,{"file":292,"line":337,"context":255},254,{"file":292,"line":339,"context":255},255,{"file":292,"line":341,"context":255},256,{"file":292,"line":343,"context":255},258,{"file":292,"line":345,"context":255},259,{"file":292,"line":347,"context":255},261,{"file":292,"line":349,"context":255},265,{"file":292,"line":351,"context":255},267,{"file":292,"line":353,"context":255},270,{"file":292,"line":355,"context":255},272,{"file":292,"line":357,"context":255},280,{"file":359,"line":360,"context":255},"admin\\wcp-menu.class.php",25,{"file":359,"line":362,"context":255},28,{"file":359,"line":250,"context":255},{"file":359,"line":50,"context":255},{"file":359,"line":366,"context":255},31,{"file":359,"line":368,"context":255},32,{"file":359,"line":370,"context":255},35,{"file":359,"line":372,"context":255},36,{"file":359,"line":225,"context":255},{"file":359,"line":227,"context":255},{"file":359,"line":376,"context":255},43,{"file":359,"line":378,"context":255},44,{"file":359,"line":380,"context":255},47,{"file":359,"line":382,"context":255},48,{"file":359,"line":384,"context":255},51,{"file":359,"line":386,"context":255},52,{"file":359,"line":388,"context":255},69,{"file":212,"line":225,"context":255},{"file":212,"line":227,"context":255},{"file":212,"line":376,"context":255},{"file":212,"line":378,"context":255},{"file":212,"line":380,"context":255},{"file":212,"line":382,"context":255},{"file":212,"line":384,"context":255},{"file":212,"line":386,"context":255},{"file":212,"line":398,"context":255},62,{"file":212,"line":400,"context":255},65,{"file":212,"line":400,"context":255},{"file":212,"line":400,"context":255},{"file":212,"line":404,"context":255},86,{"file":212,"line":404,"context":255},{"file":212,"line":407,"context":255},113,{"file":212,"line":409,"context":255},114,{"file":212,"line":411,"context":255},115,{"file":212,"line":413,"context":255},120,{"file":212,"line":415,"context":255},154,{"file":212,"line":417,"context":255},184,{"file":212,"line":419,"context":255},185,{"file":212,"line":421,"context":255},186,{"file":212,"line":316,"context":255},{"file":424,"line":411,"context":255},"admin\\wcp-predictions.class.php",{"file":424,"line":411,"context":255},{"file":424,"line":427,"context":255},121,{"file":424,"line":429,"context":255},126,{"file":424,"line":431,"context":255},130,{"file":424,"line":433,"context":255},132,{"file":424,"line":435,"context":255},136,{"file":424,"line":437,"context":255},138,{"file":424,"line":296,"context":255},{"file":424,"line":440,"context":255},146,{"file":424,"line":442,"context":255},150,{"file":424,"line":300,"context":255},{"file":424,"line":415,"context":255},{"file":424,"line":446,"context":255},155,{"file":424,"line":302,"context":255},{"file":424,"line":304,"context":255},{"file":424,"line":306,"context":255},{"file":424,"line":451,"context":255},164,{"file":424,"line":453,"context":255},169,{"file":424,"line":455,"context":255},209,{"file":424,"line":457,"context":255},213,{"file":424,"line":459,"context":255},236,{"file":424,"line":459,"context":255},{"file":424,"line":462,"context":255},239,{"file":424,"line":462,"context":255},{"file":424,"line":462,"context":255},{"file":424,"line":466,"context":255},241,{"file":424,"line":468,"context":255},242,{"file":424,"line":470,"context":255},243,{"file":424,"line":472,"context":255},244,{"file":424,"line":474,"context":255},245,{"file":424,"line":476,"context":255},247,{"file":424,"line":478,"context":255},249,{"file":424,"line":339,"context":255},{"file":424,"line":161,"context":255},{"file":424,"line":347,"context":255},{"file":424,"line":483,"context":255},262,{"file":424,"line":485,"context":255},271,{"file":487,"line":225,"context":255},"admin\\wcp-results.class.php",{"file":487,"line":225,"context":255},{"file":487,"line":225,"context":255},{"file":487,"line":229,"context":255},{"file":487,"line":492,"context":255},64,{"file":487,"line":494,"context":255},68,{"file":487,"line":75,"context":255},{"file":487,"line":75,"context":255},{"file":487,"line":498,"context":255},101,{"file":487,"line":500,"context":255},102,{"file":487,"line":502,"context":255},103,{"file":487,"line":504,"context":255},104,{"file":487,"line":506,"context":255},105,{"file":487,"line":508,"context":255},106,{"file":487,"line":510,"context":255},108,{"file":487,"line":512,"context":255},109,{"file":487,"line":514,"context":255},110,{"file":487,"line":516,"context":255},119,{"file":518,"line":376,"context":255},"admin\\wcp-scoring.class.php",{"file":518,"line":520,"context":255},46,{"file":518,"line":380,"context":255},{"file":518,"line":382,"context":255},{"file":518,"line":524,"context":255},49,{"file":518,"line":386,"context":255},{"file":518,"line":527,"context":255},53,{"file":518,"line":529,"context":255},56,{"file":518,"line":531,"context":255},57,{"file":518,"line":533,"context":255},60,{"file":518,"line":535,"context":255},61,{"file":518,"line":492,"context":255},{"file":518,"line":400,"context":255},{"file":518,"line":510,"context":255},{"file":518,"line":510,"context":255},{"file":518,"line":409,"context":255},{"file":518,"line":411,"context":255},{"file":518,"line":516,"context":255},{"file":518,"line":544,"context":255},124,{"file":518,"line":546,"context":255},125,{"file":518,"line":548,"context":255},135,{"file":518,"line":550,"context":255},140,{"file":518,"line":440,"context":255},{"file":518,"line":553,"context":255},179,{"file":518,"line":555,"context":255},180,{"file":518,"line":557,"context":255},183,{"file":518,"line":417,"context":255},{"file":518,"line":560,"context":255},189,{"file":518,"line":562,"context":255},194,{"file":564,"line":508,"context":255},"admin\\wcp-stages.class.php",{"file":564,"line":508,"context":255},{"file":564,"line":409,"context":255},{"file":564,"line":568,"context":255},122,{"file":564,"line":570,"context":255},127,{"file":564,"line":572,"context":255},129,{"file":564,"line":431,"context":255},{"file":564,"line":548,"context":255},{"file":564,"line":300,"context":255},{"file":564,"line":415,"context":255},{"file":564,"line":310,"context":255},{"file":564,"line":310,"context":255},{"file":564,"line":580,"context":255},171,{"file":564,"line":580,"context":255},{"file":564,"line":580,"context":255},{"file":564,"line":312,"context":255},{"file":564,"line":314,"context":255},{"file":564,"line":586,"context":255},175,{"file":564,"line":557,"context":255},{"file":589,"line":510,"context":255},"admin\\wcp-teams.class.php",{"file":589,"line":510,"context":255},{"file":589,"line":592,"context":255},116,{"file":589,"line":413,"context":255},{"file":589,"line":544,"context":255},{"file":589,"line":596,"context":255},128,{"file":589,"line":598,"context":255},133,{"file":589,"line":548,"context":255},{"file":589,"line":435,"context":255},{"file":589,"line":602,"context":255},141,{"file":589,"line":604,"context":255},159,{"file":589,"line":306,"context":255},{"file":589,"line":607,"context":255},181,{"file":589,"line":607,"context":255},{"file":589,"line":610,"context":255},182,{"file":589,"line":610,"context":255},{"file":589,"line":610,"context":255},{"file":589,"line":557,"context":255},{"file":589,"line":417,"context":255},{"file":589,"line":419,"context":255},{"file":589,"line":421,"context":255},{"file":589,"line":618,"context":255},187,{"file":589,"line":316,"context":255},{"file":589,"line":621,"context":255},196,{"file":623,"line":508,"context":255},"admin\\wcp-venues.class.php",{"file":623,"line":508,"context":255},{"file":623,"line":409,"context":255},{"file":623,"line":627,"context":255},118,{"file":623,"line":568,"context":255},{"file":623,"line":429,"context":255},{"file":623,"line":631,"context":255},131,{"file":623,"line":598,"context":255},{"file":623,"line":293,"context":255},{"file":623,"line":635,"context":255},139,{"file":623,"line":637,"context":255},157,{"file":623,"line":304,"context":255},{"file":623,"line":640,"context":255},178,{"file":623,"line":640,"context":255},{"file":623,"line":553,"context":255},{"file":623,"line":553,"context":255},{"file":623,"line":553,"context":255},{"file":623,"line":555,"context":255},{"file":623,"line":607,"context":255},{"file":623,"line":610,"context":255},{"file":623,"line":557,"context":255},{"file":623,"line":417,"context":255},{"file":623,"line":651,"context":255},192,{"file":653,"line":107,"context":255},"donations\\index.php",{"file":655,"line":656,"context":255},"wcp-widgets.class.php",34,{"file":655,"line":372,"context":255},{"file":655,"line":229,"context":255},{"file":655,"line":378,"context":255},{"file":655,"line":380,"context":255},{"file":655,"line":138,"context":255},{"file":655,"line":404,"context":255},{"file":655,"line":404,"context":255},{"file":655,"line":665,"context":255},88,{"file":655,"line":667,"context":255},89,{"file":655,"line":667,"context":255},{"file":655,"line":670,"context":255},91,{"file":655,"line":97,"context":255},{"file":655,"line":97,"context":255},{"file":655,"line":674,"context":255},94,{"file":655,"line":676,"context":255},95,{"file":655,"line":676,"context":255},{"file":655,"line":679,"context":255},97,{"file":655,"line":64,"context":255},{"file":655,"line":64,"context":255},{"file":655,"line":13,"context":255},{"file":655,"line":498,"context":255},{"file":655,"line":498,"context":255},{"file":655,"line":429,"context":255},{"file":655,"line":596,"context":255},{"file":655,"line":598,"context":255},{"file":655,"line":435,"context":255},{"file":655,"line":635,"context":255},{"file":655,"line":453,"context":255},{"file":655,"line":310,"context":255},{"file":655,"line":310,"context":255},{"file":655,"line":312,"context":255},{"file":655,"line":695,"context":255},173,{"file":655,"line":695,"context":255},{"file":655,"line":586,"context":255},{"file":655,"line":699,"context":255},176,{"file":655,"line":699,"context":255},{"file":655,"line":640,"context":255},{"file":655,"line":553,"context":255},{"file":655,"line":553,"context":255},{"file":655,"line":705,"context":255},199,{"file":655,"line":707,"context":255},201,{"file":655,"line":709,"context":255},206,{"file":655,"line":711,"context":255},208,{"file":655,"line":713,"context":255},228,{"file":655,"line":715,"context":255},229,{"file":655,"line":715,"context":255},{"file":655,"line":718,"context":255},251,{"file":655,"line":335,"context":255},{"file":655,"line":721,"context":255},260,{"file":655,"line":723,"context":255},283,{"file":655,"line":725,"context":255},284,{"file":655,"line":725,"context":255},{"file":165,"line":610,"context":255},{"file":165,"line":345,"context":255},23,[],[732,747,756,766,774,796,823,873,890,913,933,958,976,1001,1018,1045,1062],{"entryPoint":733,"graph":734,"unsanitizedCount":28,"severity":39},"get_server_info (admin\\wcp-overview.class.php:169)",{"nodes":735,"edges":745},[736,740],{"id":737,"type":738,"label":739,"file":212,"line":417},"n0","source","$_SERVER['SERVER_SOFTWARE']",{"id":741,"type":742,"label":743,"file":212,"line":417,"wp_function":744},"n1","sink","echo() [XSS]","echo",[746],{"from":737,"to":741,"sanitized":197},{"entryPoint":748,"graph":749,"unsanitizedCount":28,"severity":39},"results (admin\\wcp-results.class.php:27)",{"nodes":750,"edges":754},[751,753],{"id":737,"type":738,"label":752,"file":487,"line":492},"$_SERVER['REQUEST_URI']",{"id":741,"type":742,"label":743,"file":487,"line":492,"wp_function":744},[755],{"from":737,"to":741,"sanitized":197},{"entryPoint":757,"graph":758,"unsanitizedCount":77,"severity":765},"\u003Cwcp-overview.class> (admin\\wcp-overview.class.php:0)",{"nodes":759,"edges":762},[760,761],{"id":737,"type":738,"label":739,"file":212,"line":417},{"id":741,"type":742,"label":743,"file":212,"line":417,"wp_function":744},[763],{"from":737,"to":741,"sanitized":764},true,"low",{"entryPoint":767,"graph":768,"unsanitizedCount":28,"severity":765},"\u003Cwcp-results.class> (admin\\wcp-results.class.php:0)",{"nodes":769,"edges":772},[770,771],{"id":737,"type":738,"label":752,"file":487,"line":492},{"id":741,"type":742,"label":743,"file":487,"line":492,"wp_function":744},[773],{"from":737,"to":741,"sanitized":197},{"entryPoint":775,"graph":776,"unsanitizedCount":77,"severity":765},"scores (admin\\wcp-scoring.class.php:77)",{"nodes":777,"edges":792},[778,780,783,785,787,790],{"id":737,"type":738,"label":779,"file":518,"line":106},"$_POST",{"id":741,"type":742,"label":781,"file":518,"line":674,"wp_function":782},"update_option() [Settings Manipulation]","update_option",{"id":784,"type":738,"label":752,"file":518,"line":510},"n2",{"id":786,"type":742,"label":743,"file":518,"line":510,"wp_function":744},"n3",{"id":788,"type":738,"label":789,"file":518,"line":106},"n4","$_POST (x5)",{"id":791,"type":742,"label":743,"file":518,"line":409,"wp_function":744},"n5",[793,794,795],{"from":737,"to":741,"sanitized":764},{"from":784,"to":786,"sanitized":764},{"from":788,"to":791,"sanitized":764},{"entryPoint":797,"graph":798,"unsanitizedCount":28,"severity":822},"matches (admin\\wcp-matches.class.php:27)",{"nodes":799,"edges":817},[800,802,803,806,807,809,812],{"id":737,"type":738,"label":801,"file":292,"line":293},"$_SERVER['REQUEST_URI'] (x3)",{"id":741,"type":742,"label":743,"file":292,"line":293,"wp_function":744},{"id":784,"type":738,"label":804,"file":292,"line":805},"$_GET (x16)",107,{"id":786,"type":742,"label":743,"file":292,"line":316,"wp_function":744},{"id":788,"type":738,"label":808,"file":292,"line":510},"$_GET",{"id":791,"type":810,"label":811,"file":292,"line":510},"transform","→ get()",{"id":813,"type":742,"label":814,"file":623,"line":815,"wp_function":816},"n6","get_row() [SQLi]",277,"get_row",[818,819,820,821],{"from":737,"to":741,"sanitized":764},{"from":784,"to":786,"sanitized":764},{"from":788,"to":791,"sanitized":197},{"from":791,"to":813,"sanitized":197},"high",{"entryPoint":824,"graph":825,"unsanitizedCount":872,"severity":822},"\u003Cwcp-matches.class> (admin\\wcp-matches.class.php:0)",{"nodes":826,"edges":862},[827,828,829,830,831,833,837,838,841,843,848,850,852,854,857,860],{"id":737,"type":738,"label":801,"file":292,"line":293},{"id":741,"type":742,"label":743,"file":292,"line":293,"wp_function":744},{"id":784,"type":738,"label":804,"file":292,"line":805},{"id":786,"type":742,"label":743,"file":292,"line":316,"wp_function":744},{"id":788,"type":738,"label":832,"file":292,"line":805},"$_GET (x2)",{"id":791,"type":742,"label":834,"file":292,"line":835,"wp_function":836},"query() [SQLi]",371,"query",{"id":813,"type":738,"label":808,"file":292,"line":805},{"id":839,"type":742,"label":814,"file":292,"line":840,"wp_function":816},"n7",389,{"id":842,"type":738,"label":808,"file":292,"line":805},"n8",{"id":844,"type":742,"label":845,"file":292,"line":846,"wp_function":847},"n9","get_var() [SQLi]",408,"get_var",{"id":849,"type":738,"label":808,"file":292,"line":510},"n10",{"id":851,"type":810,"label":811,"file":292,"line":510},"n11",{"id":853,"type":742,"label":814,"file":623,"line":815,"wp_function":816},"n12",{"id":855,"type":738,"label":808,"file":292,"line":856},"n13",375,{"id":858,"type":810,"label":859,"file":292,"line":856},"n14","→ calculate_scores()",{"id":861,"type":742,"label":834,"file":518,"line":190,"wp_function":836},"n15",[863,864,865,866,867,868,869,870,871],{"from":737,"to":741,"sanitized":764},{"from":784,"to":786,"sanitized":764},{"from":788,"to":791,"sanitized":764},{"from":813,"to":839,"sanitized":764},{"from":842,"to":844,"sanitized":764},{"from":849,"to":851,"sanitized":197},{"from":851,"to":853,"sanitized":197},{"from":855,"to":858,"sanitized":197},{"from":858,"to":861,"sanitized":197},2,{"entryPoint":874,"graph":875,"unsanitizedCount":28,"severity":822},"predictions (admin\\wcp-predictions.class.php:27)",{"nodes":876,"edges":885},[877,878,879,880,881,883,884],{"id":737,"type":738,"label":801,"file":424,"line":411},{"id":741,"type":742,"label":743,"file":424,"line":411,"wp_function":744},{"id":784,"type":738,"label":804,"file":424,"line":667},{"id":786,"type":742,"label":743,"file":424,"line":304,"wp_function":744},{"id":788,"type":738,"label":808,"file":424,"line":882},90,{"id":791,"type":810,"label":811,"file":424,"line":882},{"id":813,"type":742,"label":814,"file":623,"line":815,"wp_function":816},[886,887,888,889],{"from":737,"to":741,"sanitized":764},{"from":784,"to":786,"sanitized":764},{"from":788,"to":791,"sanitized":197},{"from":791,"to":813,"sanitized":197},{"entryPoint":891,"graph":892,"unsanitizedCount":28,"severity":822},"\u003Cwcp-predictions.class> (admin\\wcp-predictions.class.php:0)",{"nodes":893,"edges":906},[894,895,896,897,898,899,900,901,903,904,905],{"id":737,"type":738,"label":801,"file":424,"line":411},{"id":741,"type":742,"label":743,"file":424,"line":411,"wp_function":744},{"id":784,"type":738,"label":804,"file":424,"line":667},{"id":786,"type":742,"label":743,"file":424,"line":304,"wp_function":744},{"id":788,"type":738,"label":832,"file":424,"line":667},{"id":791,"type":742,"label":834,"file":424,"line":193,"wp_function":836},{"id":813,"type":738,"label":808,"file":424,"line":667},{"id":839,"type":742,"label":814,"file":424,"line":902,"wp_function":816},374,{"id":842,"type":738,"label":808,"file":424,"line":882},{"id":844,"type":810,"label":811,"file":424,"line":882},{"id":849,"type":742,"label":814,"file":623,"line":815,"wp_function":816},[907,908,909,910,911,912],{"from":737,"to":741,"sanitized":764},{"from":784,"to":786,"sanitized":764},{"from":788,"to":791,"sanitized":764},{"from":813,"to":839,"sanitized":764},{"from":842,"to":844,"sanitized":197},{"from":844,"to":849,"sanitized":197},{"entryPoint":914,"graph":915,"unsanitizedCount":119,"severity":822},"ranking (admin\\wcp-scoring.class.php:154)",{"nodes":916,"edges":929},[917,920,921,922,924],{"id":737,"type":738,"label":918,"file":518,"line":919},"$_POST (x3)",162,{"id":741,"type":742,"label":743,"file":518,"line":553,"wp_function":744},{"id":784,"type":738,"label":779,"file":518,"line":560},{"id":786,"type":810,"label":923,"file":518,"line":560},"→ user_scores()",{"id":788,"type":742,"label":925,"file":926,"line":927,"wp_function":928},"get_results() [SQLi]","wcp-reports.class.php",805,"get_results",[930,931,932],{"from":737,"to":741,"sanitized":197},{"from":784,"to":786,"sanitized":197},{"from":786,"to":788,"sanitized":197},{"entryPoint":934,"graph":935,"unsanitizedCount":28,"severity":822},"\u003Cwcp-scoring.class> (admin\\wcp-scoring.class.php:0)",{"nodes":936,"edges":951},[937,938,939,940,941,943,944,946,948,949,950],{"id":737,"type":738,"label":779,"file":518,"line":106},{"id":741,"type":742,"label":781,"file":518,"line":674,"wp_function":782},{"id":784,"type":738,"label":752,"file":518,"line":510},{"id":786,"type":742,"label":743,"file":518,"line":510,"wp_function":744},{"id":788,"type":738,"label":942,"file":518,"line":106},"$_POST (x8)",{"id":791,"type":742,"label":743,"file":518,"line":409,"wp_function":744},{"id":813,"type":738,"label":945,"file":518,"line":919},"$_POST (x9)",{"id":839,"type":742,"label":834,"file":518,"line":947,"wp_function":836},221,{"id":842,"type":738,"label":779,"file":518,"line":560},{"id":844,"type":810,"label":923,"file":518,"line":560},{"id":849,"type":742,"label":925,"file":926,"line":927,"wp_function":928},[952,953,954,955,956,957],{"from":737,"to":741,"sanitized":764},{"from":784,"to":786,"sanitized":764},{"from":788,"to":791,"sanitized":764},{"from":813,"to":839,"sanitized":764},{"from":842,"to":844,"sanitized":197},{"from":844,"to":849,"sanitized":197},{"entryPoint":959,"graph":960,"unsanitizedCount":28,"severity":822},"stages (admin\\wcp-stages.class.php:27)",{"nodes":961,"edges":971},[962,963,964,967,968,969,970],{"id":737,"type":738,"label":801,"file":564,"line":508},{"id":741,"type":742,"label":743,"file":564,"line":508,"wp_function":744},{"id":784,"type":738,"label":965,"file":564,"line":966},"$_GET (x8)",81,{"id":786,"type":742,"label":743,"file":564,"line":570,"wp_function":744},{"id":788,"type":738,"label":808,"file":564,"line":51},{"id":791,"type":810,"label":811,"file":564,"line":51},{"id":813,"type":742,"label":814,"file":623,"line":815,"wp_function":816},[972,973,974,975],{"from":737,"to":741,"sanitized":764},{"from":784,"to":786,"sanitized":764},{"from":788,"to":791,"sanitized":197},{"from":791,"to":813,"sanitized":197},{"entryPoint":977,"graph":978,"unsanitizedCount":28,"severity":822},"\u003Cwcp-stages.class> (admin\\wcp-stages.class.php:0)",{"nodes":979,"edges":993},[980,981,982,983,984,985,986,987,988,989,990,991,992],{"id":737,"type":738,"label":801,"file":564,"line":508},{"id":741,"type":742,"label":743,"file":564,"line":508,"wp_function":744},{"id":784,"type":738,"label":965,"file":564,"line":966},{"id":786,"type":742,"label":743,"file":564,"line":570,"wp_function":744},{"id":788,"type":738,"label":832,"file":564,"line":966},{"id":791,"type":742,"label":834,"file":564,"line":331,"wp_function":836},{"id":813,"type":738,"label":808,"file":564,"line":966},{"id":839,"type":742,"label":814,"file":564,"line":349,"wp_function":816},{"id":842,"type":738,"label":808,"file":564,"line":966},{"id":844,"type":742,"label":845,"file":564,"line":725,"wp_function":847},{"id":849,"type":738,"label":808,"file":564,"line":51},{"id":851,"type":810,"label":811,"file":564,"line":51},{"id":853,"type":742,"label":814,"file":623,"line":815,"wp_function":816},[994,995,996,997,998,999,1000],{"from":737,"to":741,"sanitized":764},{"from":784,"to":786,"sanitized":764},{"from":788,"to":791,"sanitized":764},{"from":813,"to":839,"sanitized":764},{"from":842,"to":844,"sanitized":764},{"from":849,"to":851,"sanitized":197},{"from":851,"to":853,"sanitized":197},{"entryPoint":1002,"graph":1003,"unsanitizedCount":28,"severity":822},"teams (admin\\wcp-teams.class.php:27)",{"nodes":1004,"edges":1013},[1005,1006,1007,1009,1010,1011,1012],{"id":737,"type":738,"label":801,"file":589,"line":510},{"id":741,"type":742,"label":743,"file":589,"line":510,"wp_function":744},{"id":784,"type":738,"label":1008,"file":589,"line":49},"$_GET (x11)",{"id":786,"type":742,"label":743,"file":589,"line":598,"wp_function":744},{"id":788,"type":738,"label":808,"file":589,"line":106},{"id":791,"type":810,"label":811,"file":589,"line":106},{"id":813,"type":742,"label":814,"file":623,"line":815,"wp_function":816},[1014,1015,1016,1017],{"from":737,"to":741,"sanitized":764},{"from":784,"to":786,"sanitized":764},{"from":788,"to":791,"sanitized":197},{"from":791,"to":813,"sanitized":197},{"entryPoint":1019,"graph":1020,"unsanitizedCount":28,"severity":822},"\u003Cwcp-teams.class> (admin\\wcp-teams.class.php:0)",{"nodes":1021,"edges":1037},[1022,1023,1024,1025,1026,1027,1029,1030,1032,1033,1034,1035,1036],{"id":737,"type":738,"label":801,"file":589,"line":510},{"id":741,"type":742,"label":743,"file":589,"line":510,"wp_function":744},{"id":784,"type":738,"label":1008,"file":589,"line":49},{"id":786,"type":742,"label":743,"file":589,"line":598,"wp_function":744},{"id":788,"type":738,"label":832,"file":589,"line":49},{"id":791,"type":742,"label":834,"file":589,"line":1028,"wp_function":836},268,{"id":813,"type":738,"label":808,"file":589,"line":49},{"id":839,"type":742,"label":814,"file":589,"line":1031,"wp_function":816},281,{"id":842,"type":738,"label":808,"file":589,"line":49},{"id":844,"type":742,"label":845,"file":589,"line":270,"wp_function":847},{"id":849,"type":738,"label":808,"file":589,"line":106},{"id":851,"type":810,"label":811,"file":589,"line":106},{"id":853,"type":742,"label":814,"file":623,"line":815,"wp_function":816},[1038,1039,1040,1041,1042,1043,1044],{"from":737,"to":741,"sanitized":764},{"from":784,"to":786,"sanitized":764},{"from":788,"to":791,"sanitized":764},{"from":813,"to":839,"sanitized":764},{"from":842,"to":844,"sanitized":764},{"from":849,"to":851,"sanitized":197},{"from":851,"to":853,"sanitized":197},{"entryPoint":1046,"graph":1047,"unsanitizedCount":28,"severity":822},"venues (admin\\wcp-venues.class.php:27)",{"nodes":1048,"edges":1057},[1049,1050,1051,1053,1054,1055,1056],{"id":737,"type":738,"label":801,"file":623,"line":508},{"id":741,"type":742,"label":743,"file":623,"line":508,"wp_function":744},{"id":784,"type":738,"label":1052,"file":623,"line":51},"$_GET (x10)",{"id":786,"type":742,"label":743,"file":623,"line":631,"wp_function":744},{"id":788,"type":738,"label":808,"file":623,"line":49},{"id":791,"type":810,"label":811,"file":623,"line":49},{"id":813,"type":742,"label":814,"file":623,"line":815,"wp_function":816},[1058,1059,1060,1061],{"from":737,"to":741,"sanitized":764},{"from":784,"to":786,"sanitized":764},{"from":788,"to":791,"sanitized":197},{"from":791,"to":813,"sanitized":197},{"entryPoint":1063,"graph":1064,"unsanitizedCount":28,"severity":822},"\u003Cwcp-venues.class> (admin\\wcp-venues.class.php:0)",{"nodes":1065,"edges":1080},[1066,1067,1068,1069,1070,1071,1073,1074,1075,1076,1077,1078,1079],{"id":737,"type":738,"label":801,"file":623,"line":508},{"id":741,"type":742,"label":743,"file":623,"line":508,"wp_function":744},{"id":784,"type":738,"label":1052,"file":623,"line":51},{"id":786,"type":742,"label":743,"file":623,"line":631,"wp_function":744},{"id":788,"type":738,"label":832,"file":623,"line":51},{"id":791,"type":742,"label":834,"file":623,"line":1072,"wp_function":836},264,{"id":813,"type":738,"label":808,"file":623,"line":51},{"id":839,"type":742,"label":814,"file":623,"line":815,"wp_function":816},{"id":842,"type":738,"label":808,"file":623,"line":51},{"id":844,"type":742,"label":845,"file":623,"line":265,"wp_function":847},{"id":849,"type":738,"label":808,"file":623,"line":49},{"id":851,"type":810,"label":811,"file":623,"line":49},{"id":853,"type":742,"label":814,"file":623,"line":815,"wp_function":816},[1081,1082,1083,1084,1085,1086,1087],{"from":737,"to":741,"sanitized":764},{"from":784,"to":786,"sanitized":764},{"from":788,"to":791,"sanitized":764},{"from":813,"to":839,"sanitized":764},{"from":842,"to":844,"sanitized":764},{"from":849,"to":851,"sanitized":197},{"from":851,"to":853,"sanitized":197},{"summary":1089,"deductions":1090},"The World Cup Predictor plugin exhibits a mixed security posture. While it demonstrates good practices in some areas, such as a high percentage of SQL queries using prepared statements and a moderate number of nonce checks, significant concerns arise from its attack surface and code analysis. The presence of an unprotected AJAX handler is a critical weakness, providing a direct entry point for unauthenticated attackers.  Furthermore, the high number of taint analysis flows with unsanitized paths, particularly those classified as high severity, indicate a substantial risk of vulnerabilities like Cross-Site Scripting or Remote Code Execution if these flows are not properly handled.  The plugin's vulnerability history, though currently showing only one medium CVE, is concerning given the timing of the last vulnerability and the potential for unpatched issues to exist, especially when combined with the identified code weaknesses.\n\nOverall, the plugin's reliance on potentially unsanitized inputs for several code flows, coupled with an unprotected AJAX endpoint, makes it a moderate to high risk. The limited number of capability checks and the concerning output escaping rates further exacerbate these risks. While the plugin has a history of only one medium vulnerability, the static analysis reveals deeper systemic issues that could lead to more severe exploitation. Addressing the unprotected AJAX handler and thoroughly reviewing all identified high-severity taint flows for proper sanitization and escaping is paramount to improving its security.",[1091,1093,1096,1098,1101,1104],{"reason":1092,"points":127},"Unprotected AJAX handler",{"reason":1094,"points":1095},"High severity taint flows",12,{"reason":1097,"points":76},"Low rate of proper output escaping",{"reason":1099,"points":1100},"Unpatched CVE history",15,{"reason":1102,"points":1103},"Dangerous function usage (unserialize)",5,{"reason":1105,"points":127},"Unsanitized paths in taint analysis","2026-03-16T21:52:30.442Z",{"wat":1108,"direct":1117},{"assetPaths":1109,"generatorPatterns":1112,"scriptPaths":1113,"versionParams":1114},[1110,1111],"\u002Fwp-content\u002Fplugins\u002Fworld-cup-predictor\u002Fcss\u002Fstyle.css","\u002Fwp-content\u002Fplugins\u002Fworld-cup-predictor\u002Fjs\u002Fwcp.js",[],[1111],[1115,1116],"world-cup-predictor\u002Fcss\u002Fstyle.css?v=1.1.01","world-cup-predictor\u002Fjs\u002Fwcp.js",{"cssClasses":1118,"htmlComments":1122,"htmlAttributes":1123,"restEndpoints":1125,"jsGlobals":1126,"shortcodeOutput":1128},[1119,1120,1121],"wcup_flag","message","error",[],[1124],"data-wcup-id",[],[1127],"wcp",[1129],"[world-cup-predictor]"]