Benchmarks
Plugin footprint 40% from 16 tests
Installer 0% from 1 test
🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
The following installer errors require your attention
- Install procedure had errors
- > Notice in wp-content/plugins/fantasy-sports/fanvictor.php+207
Trying to access array offset on value of type bool
Server metrics [RAM: ▼0.27MB] [CPU: ▼328.21ms] Passed 4 tests
Analyzing server-side resources used by Fan Victor
This plugin does not affect your website's performance
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 4.07 ▲0.56 | 13.77 ▼36.95 |
Dashboard /wp-admin | 4.13 ▲0.72 | 14.85 ▼19.76 |
Posts /wp-admin/edit.php | 4.13 ▲0.49 | 13.28 ▼23.06 |
Add New Post /wp-admin/post-new.php | 4.13 ▼2.84 | 15.36 ▼1,233.07 |
Media Library /wp-admin/upload.php | 4.13 ▲0.83 | 13.75 ▼9.00 |
Manage Contests /wp-admin/admin.php?page=manage-contests | 4.22 | 15.08 |
Manage Withdrawls /wp-admin/admin.php?page=withdrawls | 4.22 | 15.69 |
Add Contests /wp-admin/admin.php?page=add-contests | 4.22 | 15.69 |
Manage Events /wp-admin/admin.php?page=manage-pools | 4.22 | 16.33 |
Add Fighters /wp-admin/admin.php?page=add-fighters | 4.22 | 15.64 |
Event Statistics /wp-admin/admin.php?page=statistic | 4.22 | 15.41 |
Manage Player Positions /wp-admin/admin.php?page=manage-playerposition | 4.22 | 15.49 |
Manage Fighters /wp-admin/admin.php?page=manage-fighters | 4.22 | 15.76 |
Manage Sports /wp-admin/admin.php?page=manage-sports | 4.22 | 15.51 |
Add Events /wp-admin/admin.php?page=add-pools | 4.22 | 15.29 |
Server storage [IO: ▲10.69MB] [DB: ▲0.01MB] Passed 3 tests
How much does this plugin use your filesystem and database?
No storage issues were detected
Filesystem: 639 new files
Database: 6 new tables, 46 new options
New tables |
---|
wp_user_payment |
wp_user_teams |
wp_withdrawls |
wp_user_extended |
wp_fundhistory |
wp_firebase_tokens |
New WordPress options |
---|
fanvictor_paypal_pro_signature |
fanvictor_league_size |
fanvictor_flutterwave_merchant_key |
fanvictor_flutterwave_cvv |
fanvictor_fee_percentage |
fanvictor_entry_fee |
fanvictor_priority_password |
fanvictor_no_invite_user_list |
paypal_test |
fanvictor_priority_credit_card_expiration_date |
... |
Browser metrics Passed 4 tests
An overview of browser requirements for Fan Victor
Normal browser usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 4,012 ▲258 | 15.96 ▲0.38 | 6.51 ▲0.70 | 6.13 ▲3.58 |
Dashboard /wp-admin | 2,999 ▲145 | 6.17 ▼0.07 | 117.22 ▼15.90 | 155.97 ▼1.49 |
Posts /wp-admin/edit.php | 2,794 ▲106 | 3.23 ▼0.01 | 63.09 ▼0.49 | 138.60 ▼2.36 |
Add New Post /wp-admin/post-new.php | 1,766 ▲105 | 22.29 ▲5.44 | 405.08 ▼24.09 | 153.33 ▼5.88 |
Media Library /wp-admin/upload.php | 1,805 ▲110 | 5.55 ▲0.02 | 143.19 ▼7.73 | 189.91 ▲3.30 |
Manage Contests /wp-admin/admin.php?page=manage-contests | 1,651 | 3.39 | 63.32 | 101.86 |
Manage Withdrawls /wp-admin/admin.php?page=withdrawls | 1,418 | 3.17 | 63.20 | 102.96 |
Add Contests /wp-admin/admin.php?page=add-contests | 1,118 | 3.36 | 64.51 | 101.21 |
Manage Events /wp-admin/admin.php?page=manage-pools | 1,409 | 3.09 | 59.92 | 102.20 |
Add Fighters /wp-admin/admin.php?page=add-fighters | 1,112 | 3.15 | 60.91 | 98.66 |
Event Statistics /wp-admin/admin.php?page=statistic | 1,405 | 2.89 | 68.47 | 103.71 |
Manage Player Positions /wp-admin/admin.php?page=manage-playerposition | 1,362 | 2.48 | 55.10 | 101.63 |
Manage Fighters /wp-admin/admin.php?page=manage-fighters | 1,365 | 2.45 | 54.22 | 101.33 |
Manage Sports /wp-admin/admin.php?page=manage-sports | 1,329 | 2.84 | 62.11 | 99.84 |
Add Events /wp-admin/admin.php?page=add-pools | 1,115 | 3.15 | 59.72 | 98.87 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 50% from 4 tests
🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
The following items require your attention
- Uninstall procedure had uncaught errors
- > Notice in wp-content/plugins/fantasy-sports/fanvictor.php+207
Trying to access array offset on value of type bool
- The plugin did not uninstall successfully, leaving 1 table in the database
- wp_user_teams
Smoke tests 0% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the server (in the Apache logs)
Smoke test failed, please fix the following
- 20 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=add-pools
- > Notice in wp-content/plugins/fantasy-sports/fanvictor.php+207
Trying to access array offset on value of type bool
- 57 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=add-pools
- > Notice in wp-content/plugins/fantasy-sports/controller/admin/fanvictor-pools.php+109
Trying to access array offset on value of type null
SRP 0% from 2 tests
🔹 Tests weight: 20 | SRP (Single-Responsibility Principle) - PHP files must act as libraries and never output text or perform any action when accessed directly in a browser
Please take a closer look at the following
- 12× PHP files output non-empty strings when accessed directly via GET requests (only 10 are shown):
- > /wp-content/plugins/fantasy-sports/views/block/userbalance.html.php
- > /wp-content/plugins/fantasy-sports/views/Elements/live_entries.php
- > /wp-content/plugins/fantasy-sports/views/Elements/contest_detail_tab_prize.php
- > /wp-content/plugins/fantasy-sports/views/Elements/paypal_normal.php
- > /wp-content/plugins/fantasy-sports/views/dlg_info.php
- > /wp-content/plugins/fantasy-sports/views/Elements/dashboard_stats_chart.php
- > /wp-content/plugins/fantasy-sports/views/Elements/qq_template.php
- > /wp-content/plugins/fantasy-sports/views/Elements/lobby_list.php
- > /wp-content/plugins/fantasy-sports/views/Elements/live_point.php
- > /wp-content/plugins/fantasy-sports/views/Elements/user_summary.php
- 650× PHP files trigger server errors when accessed directly (only 10 are shown):
- > PHP Notice
Trying to access array offset on value of type null in wp-content/plugins/fantasy-sports/views/Elements/entry/normal.php on line 17
- > PHP Warning
Use of undefined constant FANVICTOR__PLUGIN_DIR_VIEW_ELEMENT - assumed 'FANVICTOR__PLUGIN_DIR_VIEW_ELEMENT' (this will throw an Error in a future version of PHP) in wp-content/plugins/fantasy-sports/views/Elements/result/survival.php on line 7
- > PHP Notice
Undefined variable: league in wp-content/plugins/fantasy-sports/views/Elements/result/livedraft.php on line 13
- > PHP Notice
Undefined variable: players in wp-content/plugins/fantasy-sports/views/Elements/livescore/injuries.php on line 2
- > PHP Fatal error
Uncaught Error: Call to undefined function __() in wp-content/plugins/fantasy-sports/model/admin/emailTemplates/survival_reminder.php:1
- > PHP Fatal error
Uncaught Error: Call to undefined function __() in wp-content/plugins/fantasy-sports/views/Elements/livescore/roster.php:6
- > PHP Fatal error
Uncaught Error: Class 'WP_List_Table' not found in wp-content/plugins/fantasy-sports/views/players/class.table-players.php:2
- > PHP Warning
Invalid argument supplied for foreach() in wp-content/plugins/fantasy-sports/views/Elements/live_point.php on line 24
- > PHP Fatal error
Uncaught Error: Interface 'GuzzleHttp\\Promise\\PromisorInterface' not found in wp-content/plugins/fantasy-sports/lib/moneywave/vendor/guzzlehttp/promises/src/EachPromise.php:8
- > PHP Fatal error
Uncaught Error: Class 'HngX\\Moneywave\\MoneywaveApiClient' not found in wp-content/plugins/fantasy-sports/lib/moneywave/vendor/hngx/moneywave-php/src/Resources/Resource.php:8
- > PHP Notice
User-side errors 0% from 1 test
🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
Please take a look at the following user-side issues
- > GET request to /wp-admin/admin.php?page=add-fighters
- > Javascript (severe) in unknown
/wp-admin/admin.php?page=add-fighters 0:0 Uncaught SyntaxError: Unexpected token u in JSON at position 0
- > GET request to /wp-admin/admin.php?page=add-pools
- > Javascript (severe) in unknown
/wp-admin/admin.php?page=add-pools 0:0 Uncaught SyntaxError: Unexpected token u in JSON at position 0
Optimizations
Plugin configuration 87% from 29 tests
readme.txt 88% from 16 tests
The readme.txt file is important because it is parsed by WordPress.org for the public listing of your plugin
Attributes that need to be fixed:
- Screenshots: Add images for these screenshots: #1 (The lobby bock lists the contests a user can join.), #2 (Game Summary block indicates your all time stats.), #3 (Create a contest from any major sport.), #4 (Live, Upcoming and Historical game blocks available as well.), #5 (Back End administration to create your own pool in any major sport.), #6 (Here are all the admin functions available to site admins.)
- Plugin Name: Write the name of your plugin instead of "Plugin Name" on the first line (
=== fantasy-sports ===
)
fantasy-sports/fanvictor.php 85% from 13 tests
The primary PHP file in "Fan Victor" version 2.1.52 is used by WordPress to initiate all plugin functionality
Please take the time to fix the following:
- Description: Please don't use more than 140 characters for the plugin description (currently 333 characters long)
- Main file name: Please rename the main PHP file in this plugin to the plugin slug ("fantasy-sports.php" instead of "fanvictor.php")
Code Analysis 5% from 3 tests
File types 0% from 1 test
🔸 Test weight: 35 | Executable files are not allowed as they can serve as attack vectors
Please fix the following items
- For security reasons, never distribute binary or executable files with your plugin
- .crt - Security Certificate in Firefox, IE, Chrome, Safari
- ☣ wp-content/plugins/fantasy-sports/model/api_cert_chain.crt
- .crt - Security Certificate in Firefox, IE, Chrome, Safari
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 416 | 4,579 | 6,077 | 41,492 |
CSS | 21 | 234 | 187 | 38,039 |
JavaScript | 50 | 5,529 | 11,907 | 33,424 |
Markdown | 10 | 945 | 0 | 3,275 |
Sass | 13 | 23 | 24 | 1,256 |
LESS | 13 | 23 | 33 | 1,247 |
SVG | 2 | 0 | 0 | 539 |
JSON | 7 | 0 | 0 | 465 |
YAML | 1 | 7 | 0 | 34 |
make | 1 | 4 | 0 | 9 |
XML | 3 | 0 | 0 | 3 |
PHP code Passed 2 tests
A short review of cyclomatic complexity and code structure
There were no cyclomatic complexity issued detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.34 |
Average class complexity | 22.31 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 691.00 |
Average method complexity | 3.25 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 66.00 |
Code structure | ||
---|---|---|
Namespaces | 13 | |
Interfaces | 14 | |
Traits | 3 | |
Classes | 172 | |
▷ Abstract classes | 1 | 0.58% |
▷ Concrete classes | 171 | 99.42% |
▷ Final classes | 7 | 4.09% |
Methods | 1,852 | |
▷ Static methods | 464 | 25.05% |
▷ Public methods | 1,549 | 83.64% |
▷ Protected methods | 20 | 1.08% |
▷ Private methods | 283 | 15.28% |
Functions | 201 | |
▷ Named functions | 104 | 51.74% |
▷ Anonymous functions | 97 | 48.26% |
Constants | 184 | |
▷ Global constants | 110 | 59.78% |
▷ Class constants | 74 | 40.22% |
▷ Public constants | 74 | 100.00% |
Plugin size 0% from 2 tests
Image compression 0% from 2 tests
Often times overlooked, PNG files can occupy unnecessary space in your plugin
52 PNG files occupy 3.78MB with 2.21MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
assets/screenshot-6.png | 44.96KB | 14.01KB | ▼ 68.83% |
_inc/image/cheesecoin.png | 7.16KB | 6.82KB | ▼ 4.78% |
(invalid) _inc/css/ui/image/ui-bg_diagonals-thick_20_666666_40x40.png | 0.25KB | 0.00KB | ▼ 100.00% |
_inc/image/fttech.png | 7.67KB | 3.58KB | ▼ 53.30% |
assets/screenshot-2.png | 23.11KB | 7.97KB | ▼ 65.52% |