Benchmarks
Plugin footprint 83% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
Install script ran successfully
Server metrics [RAM: ▲0.50MB] [CPU: ▲7.95ms] Passed 4 tests
Analyzing server-side resources used by Participants Database
Server-side resource usage in normal parameters
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.95 ▲0.48 | 41.50 ▲2.23 |
Dashboard /wp-admin | 3.84 ▲0.54 | 54.73 ▲4.19 |
Posts /wp-admin/edit.php | 3.89 ▲0.54 | 60.85 ▲13.40 |
Add New Post /wp-admin/post-new.php | 6.38 ▲0.49 | 100.63 ▲20.81 |
Media Library /wp-admin/upload.php | 3.70 ▲0.47 | 45.25 ▲11.98 |
List Participants /wp-admin/admin.php?page=participants-database | 4.29 | 65.25 |
Setup Guide /wp-admin/admin.php?page=participants-database-setup_guide | 3.71 | 40.94 |
Add Participant /wp-admin/admin.php?page=participants-database-add_participant | 3.81 | 39.24 |
Manage Database Fields /wp-admin/admin.php?page=participants-database-manage_fields | 4.08 | 147.76 |
/wp-admin/admin.php?page=participants-database-edit_participant | 3.81 | 43.66 |
Import CSV File /wp-admin/admin.php?page=participants-database-upload_csv | 3.83 | 51.19 |
Settings /wp-admin/admin.php?page=participants-database_settings_page | 4.21 | 326.29 |
Debugging Log /wp-admin/admin.php?page=participants-database-pdb_debugging | 3.69 | 42.51 |
Manage List Columns /wp-admin/admin.php?page=participants-database-manage_list_columns | 3.71 | 42.72 |
Server storage [IO: ▲5.90MB] [DB: ▲0.02MB] Passed 3 tests
Analyzing filesystem and database footprints of this plugin
No storage issues were detected
Filesystem: 303 new files
Database: 3 new tables, 15 new options
New tables |
---|
wp_participants_database_fields |
wp_participants_database |
wp_participants_database_groups |
New WordPress options |
---|
widget_theysaidso_widget |
pdb-option_version |
can_compress_scripts |
widget_recent-comments |
pdb_admin_notices |
widget_recent-posts |
pdb-admin_list_filter-1 |
participants-database_options |
pdb_debugging-settings |
theysaidso_admin_options |
... |
Browser metrics Passed 4 tests
Checking browser requirements for Participants Database
There were no issues detected in relation to browser resource usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,882 ▲120 | 14.30 ▼0.28 | 1.68 ▲0.08 | 46.69 ▲3.61 |
Dashboard /wp-admin | 2,265 ▲88 | 5.63 ▲0.09 | 87.21 ▼20.08 | 39.58 ▼5.54 |
Posts /wp-admin/edit.php | 2,167 ▲67 | 2.01 ▲0.05 | 40.16 ▼1.48 | 33.87 ▼4.19 |
Add New Post /wp-admin/post-new.php | 1,581 ▲55 | 23.27 ▲0.21 | 624.89 ▼86.13 | 49.98 ▼5.56 |
Media Library /wp-admin/upload.php | 1,470 ▲73 | 4.31 ▲0.12 | 95.29 ▼6.49 | 42.91 ▼2.33 |
List Participants /wp-admin/admin.php?page=participants-database | 1,739 | 2.61 | 72.50 | 52.67 |
Setup Guide /wp-admin/admin.php?page=participants-database-setup_guide | 1,002 | 2.12 | 39.84 | 35.48 |
Add Participant /wp-admin/admin.php?page=participants-database-add_participant | 1,615 | 3.49 | 57.31 | 44.92 |
Manage Database Fields /wp-admin/admin.php?page=participants-database-manage_fields | 8,049 | 4.22 | 95.95 | 64.33 |
/wp-admin/admin.php?page=participants-database-edit_participant | 1,614 | 3.46 | 48.30 | 38.24 |
Import CSV File /wp-admin/admin.php?page=participants-database-upload_csv | 1,283 | 2.23 | 28.59 | 30.29 |
Settings /wp-admin/admin.php?page=participants-database_settings_page | 4,400 | 9.42 | 302.38 | 94.27 |
Debugging Log /wp-admin/admin.php?page=participants-database-pdb_debugging | 967 | 2.28 | 41.45 | 31.20 |
Manage List Columns /wp-admin/admin.php?page=participants-database-manage_list_columns | 1,094 | 2.66 | 42.80 | 30.80 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
You still need to fix the following
- Zombie WordPress options detected upon uninstall: 8 options
- can_compress_scripts
- theysaidso_admin_options
- pdb-option_version
- widget_theysaidso_widget
- pdb-admin_list_filter-1
- widget_recent-posts
- db_upgraded
- widget_recent-comments
Smoke tests 25% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | This is a short smoke test looking for server-side errors
Smoke test failed, please fix the following
- 48 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=participants-database-edit_participant
- > Notice in wp-content/plugins/participants-database/edit_participant.php+144
Trying to access array offset on value of type bool
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 fix the following
- 1× PHP files perform the task of outputting text when accessed with GET requests:
- > /wp-content/plugins/participants-database/classes/PDb_File_Uploads.php
- 41× PHP files trigger server-side errors or warnings when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_attr_e() in wp-content/plugins/participants-database/templates/pdb-list-flexbox.php:8
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_html_e() in wp-content/plugins/participants-database/manage_fields_help.php:4
- > PHP Fatal error
Uncaught Error: Class 'PDb_fields\\calculated_field' not found in wp-content/plugins/participants-database/classes/PDb_fields/numeric_calc.php:18
- > PHP Fatal error
Uncaught Error: Class 'PDb_submission\\rest_api\\post_request' not found in wp-content/plugins/participants-database/classes/PDb_submission/rest_api/post/update_record.php:18
- > PHP Fatal error
Uncaught Error: Call to undefined function plugin_dir_path() in wp-content/plugins/participants-database/vendor/deliciousbrains/wp-background-processing/wp-background-processing.php:20
- > PHP Fatal error
Uncaught Error: Class 'ParseCsv\\enums\\AbstractEnum' not found in wp-content/plugins/participants-database/vendor/parsecsv/php-parsecsv/src/enums/SortEnum.php:6
- > PHP Fatal error
Uncaught Error: Class 'PDb_submission\\rest_api\\request' not found in wp-content/plugins/participants-database/classes/PDb_submission/rest_api/head/query_record.php:18
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_attr_e() in wp-content/plugins/participants-database/templates/pdb-search-default.php:8
- > PHP Fatal error
Uncaught Error: Class 'ParseCsv\\enums\\AbstractEnum' not found in wp-content/plugins/participants-database/vendor/parsecsv/php-parsecsv/src/enums/DatatypeEnum.php:12
- > PHP Fatal error
Uncaught Error: Call to undefined function esc_attr_e() in wp-content/plugins/participants-database/templates/pdb-thanks-default.php:7
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
Everything seems fine on the user side
Optimizations
Plugin configuration 93% from 29 tests
readme.txt 88% from 16 tests
The readme.txt file describes your plugin functionality and requirements and it is parsed to prepare the your plugin's listing
These attributes need your attention:
- Tags: There are too many tags (16 tag instead of maximum 10)
- Screenshots: These screenshots do not have images: #1 (Managing Database fields: this is where you set up your database fields and all attributes for each field), #2 (Edit Record: this is where an individual record can be created or edited), #3 (Import CSV File: page where CSV files can be imported, includes detailed instructions and a blank spreadsheet download)
participants-database/participants-database.php Passed 13 tests
The principal PHP file in "Participants Database" v. 2.5.6 is loaded by WordPress automatically on each request
69 characters long description:
Plugin for managing a database of participants, members or volunteers
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | This is an overview of programming languages used in this plugin; dangerous file extensions are not allowed
No dangerous file extensions were detected77,658 lines of code in 250 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PO File | 24 | 15,271 | 22,288 | 44,936 |
PHP | 169 | 8,248 | 20,269 | 27,727 |
CSS | 11 | 106 | 121 | 2,304 |
JavaScript | 32 | 74 | 212 | 1,774 |
Markdown | 4 | 161 | 0 | 406 |
JSON | 5 | 0 | 0 | 283 |
HTML | 3 | 18 | 0 | 190 |
YAML | 1 | 1 | 0 | 37 |
SVG | 1 | 0 | 0 | 1 |
PHP code Passed 2 tests
This is a short overview of cyclomatic complexity and code structure for this plugin
Everything seems fine, there were no complexity issues found
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.46 |
Average class complexity | 30.98 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 258.00 |
Average method complexity | 2.98 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 77.00 |
Code structure | ||
---|---|---|
Namespaces | 16 | |
Interfaces | 0 | |
Traits | 3 | |
Classes | 136 | |
▷ Abstract classes | 17 | 12.50% |
▷ Concrete classes | 119 | 87.50% |
▷ Final classes | 0 | 0.00% |
Methods | 2,097 | |
▷ Static methods | 556 | 26.51% |
▷ Public methods | 1,203 | 57.37% |
▷ Protected methods | 431 | 20.55% |
▷ Private methods | 463 | 22.08% |
Functions | 59 | |
▷ Named functions | 4 | 6.78% |
▷ Anonymous functions | 55 | 93.22% |
Constants | 69 | |
▷ Global constants | 4 | 5.80% |
▷ Class constants | 65 | 94.20% |
▷ Public constants | 65 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
It is recommended to compress PNG files in your plugin to minimize bandwidth usage
13 PNG files occupy 0.04MB with 0.01MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
css/jquery-ui-theme/images/ui-bg_glass_35_dddddd_1x400.png | 0.26KB | 0.13KB | ▼ 49.24% |
ui/no-image.png | 3.66KB | 3.58KB | ▼ 2.19% |
css/jquery-ui-theme/images/ui-icons_70b2e1_256x240.png | 4.44KB | 4.17KB | ▼ 6.02% |
css/jquery-ui-theme/images/ui-icons_454545_256x240.png | 6.83KB | 4.17KB | ▼ 38.86% |
css/jquery-ui-theme/images/ui-bg_glass_60_eeeeee_1x400.png | 0.26KB | 0.12KB | ▼ 51.53% |