Benchmarks
Plugin footprint 48% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
This plugin's installer ran successfully
Server metrics [RAM: ▼1.44MB] [CPU: ▼55.12ms] Passed 4 tests
Analyzing server-side resources used by Exam Matrix
Normal server usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 2.56 ▼0.91 | 12.69 ▼33.21 |
Dashboard /wp-admin | 2.57 ▼0.73 | 14.36 ▼45.59 |
Posts /wp-admin/edit.php | 2.57 ▼0.79 | 13.60 ▼42.61 |
Add New Post /wp-admin/post-new.php | 2.57 ▼3.32 | 13.64 ▼99.05 |
Media Library /wp-admin/upload.php | 2.57 ▼0.66 | 13.83 ▼22.88 |
Import Export /wp-admin/admin.php?page=ex_import_export | 2.57 | 14.78 |
Category /wp-admin/edit-tags.php?taxonomy=ex_categories&post_type=ex_test | 2.57 | 13.16 |
Q Set /wp-admin/admin.php?page=ex_qset | 2.57 | 13.94 |
All Test /wp-admin/edit.php?post_type=ex_test | 2.57 | 13.05 |
Add Question /wp-admin/admin.php?page=ex_add_ques | 2.57 | 12.91 |
New Test /wp-admin/post-new.php?post_type=ex_test | 2.57 | 21.21 |
Search Results /wp-admin/admin.php?page=ex_search_results | 2.57 | 14.21 |
Manage Question /wp-admin/admin.php?page=ex_manage_ques | 2.57 | 12.12 |
Server storage [IO: ▲0.21MB] [DB: ▲0.01MB] Passed 3 tests
Filesystem and database footprint
No storage issues were detected
Filesystem: 34 new files
Database: 6 new tables, 10 new options
New tables |
---|
wp_ex_set |
wp_ex_subset |
wp_ex_result |
wp_ex_session |
wp_ex_questions |
wp_ex_mapping |
New WordPress options |
---|
widget_theysaidso_widget |
exammatrix_db_version |
can_compress_scripts |
widget_user_login |
widget_recent-comments |
exammatrix_donation_camp |
widget_user_widget |
db_upgraded |
widget_recent-posts |
theysaidso_admin_options |
Browser metrics Passed 4 tests
An overview of browser requirements for Exam Matrix
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,960 ▲199 | 13.74 ▼1.04 | 10.95 ▲9.06 | 42.15 ▼5.37 |
Dashboard /wp-admin | 2,251 ▲74 | 5.58 ▼0.06 | 93.66 ▲2.19 | 68.27 ▲26.16 |
Posts /wp-admin/edit.php | 2,168 ▲68 | 1.98 ▼0.02 | 37.14 ▼3.28 | 35.79 ▲0.52 |
Add New Post /wp-admin/post-new.php | 1,583 ▲57 | 22.34 ▼0.38 | 731.80 ▲116.58 | 55.59 ▼1.41 |
Media Library /wp-admin/upload.php | 1,462 ▲59 | 4.22 ▼0.05 | 101.20 ▼3.86 | 65.35 ▲20.26 |
Import Export /wp-admin/admin.php?page=ex_import_export | 1,005 | 2.14 | 23.80 | 30.75 |
Category /wp-admin/edit-tags.php?taxonomy=ex_categories&post_type=ex_test | 1,339 | 2.14 | 31.67 | 31.14 |
Q Set /wp-admin/admin.php?page=ex_qset | 937 | 2.14 | 25.26 | 28.31 |
All Test /wp-admin/edit.php?post_type=ex_test | 1,183 | 1.91 | 31.30 | 29.91 |
Add Question /wp-admin/admin.php?page=ex_add_ques | 1,758 | 6.78 | 134.61 | 112.85 |
New Test /wp-admin/post-new.php?post_type=ex_test | 2,689 | 7.85 | 168.38 | 119.65 |
Search Results /wp-admin/admin.php?page=ex_search_results | 882 | 2.17 | 26.65 | 26.90 |
Manage Question /wp-admin/admin.php?page=ex_manage_ques | 969 | 2.01 | 24.45 | 30.52 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.01MB] 25% from 4 tests
🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
These items require your attention
- Uninstall procedure validation failed for this plugin
- > Deprecated in wp-content/plugins/exam-matrix/inc/classes/csv.php+96
Array and string offset access syntax with curly braces is deprecated
- This plugin does not fully uninstall, leaving 6 tables in the database
- wp_ex_result
- wp_ex_subset
- wp_ex_questions
- wp_ex_mapping
- wp_ex_session
- wp_ex_set
- The uninstall procedure has failed, leaving 10 options in the database
- widget_recent-posts
- can_compress_scripts
- widget_recent-comments
- db_upgraded
- theysaidso_admin_options
- widget_user_login
- exammatrix_donation_camp
- widget_user_widget
- exammatrix_db_version
- widget_theysaidso_widget
Smoke tests 25% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | This is a shallow check for server-side errors
These server-side errors were triggered
- 126 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=ex_manage_ques
- > Deprecated in wp-content/plugins/exam-matrix/inc/classes/csv.php+410
Array and string offset access syntax with curly braces is deprecated
- 4 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=ex_manage_ques
- > Notice in wp-content/plugins/exam-matrix/inc/pages/manageq.php+28
Undefined variable: alert
- 4 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=ex_manage_ques
- > Notice in wp-content/plugins/exam-matrix/inc/pages/manageq.php+28
Trying to access array offset on value of type null
- 3 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=ex_manage_ques
- > Notice in wp-content/plugins/exam-matrix/inc/pages/manageq.php+61
Undefined variable: subset
- > GET request to /wp-admin/admin.php?page=ex_qset
- > Warning in wp-content/plugins/exam-matrix/inc/pages/qtest.php+98
count(): Parameter must be an array or an object that implements Countable
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=ex_manage_ques
- > Warning in wp-content/plugins/exam-matrix/inc/pages/manageq.php+61
Invalid argument supplied for foreach()
- > GET request to /wp-admin/admin.php?page=ex_search_results
- > Notice in wp-content/plugins/exam-matrix/inc/pages/search-results.php+63
Undefined variable: tests
- > GET request to /wp-admin/admin.php?page=ex_search_results
- > Notice in wp-content/plugins/exam-matrix/inc/pages/search-results.php+99
Undefined variable: detail
SRP 0% from 2 tests
🔹 Tests weight: 20 | It is important to ensure that your PHP files perform no action when accessed directly, respecting the single-responsibility principle
Please take a closer look at the following
- 2× PHP files output text when accessed directly:
- > /wp-content/plugins/exam-matrix/lib/php-formhelper/example.php
- > /wp-content/plugins/exam-matrix/inc/pages/search-results.php
- 19× GET requests to PHP files have triggered server-side errors or warnings (only 10 are shown):
- > PHP Notice
Trying to access array offset on value of type null in wp-content/plugins/exam-matrix/inc/pages/search-results.php on line 32
- > PHP Notice
Undefined variable: detail in wp-content/plugins/exam-matrix/inc/pages/search-results.php on line 99
- > PHP Fatal error
Uncaught Error: Call to a member function getAllSet() on null in wp-content/plugins/exam-matrix/inc/pages/addq.php:9
- > PHP Notice
Undefined variable: db in wp-content/plugins/exam-matrix/inc/pages/addq.php on line 9
- > PHP Fatal error
Uncaught Error: Class 'WP_Widget' not found in wp-content/plugins/exam-matrix/inc/widget/user-widget.php:9
- > PHP Fatal error
Uncaught Error: Call to a member function getRecentQuestions() on null in wp-content/plugins/exam-matrix/inc/pages/manageq.php:12
- > PHP Notice
Undefined variable: db in wp-content/plugins/exam-matrix/inc/pages/manageq.php on line 12
- > PHP Fatal error
Uncaught Error: Call to a member function getExampleCSV() on null in wp-content/plugins/exam-matrix/inc/pages/import-export.php:38
- > PHP Fatal error
Uncaught Error: Call to undefined function get_option() in wp-content/plugins/exam-matrix/inc/pages/donation.php:5
- > PHP Fatal error
Uncaught Error: Call to undefined function ExamMatrix\\register_activation_hook() in wp-content/plugins/exam-matrix/exam-matrix.php:24
- > PHP Notice
User-side errors Passed 1 test
🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
No browser issues were found
Optimizations
Plugin configuration 90% from 29 tests
readme.txt 81% from 16 tests
The readme.txt file is undoubtedly the most important file in your plugin, preparing it for public listing on WordPress.org
Attributes that require attention:
- Tags: Please delete some tags, you are using 12 tag instead of maximum 10
- Plugin Name: Write the name of your plugin instead of "Plugin Name" on the first line (
=== exam-matrix ===
) - Donate link: Invalid url: ""
exam-matrix/exam-matrix.php Passed 13 tests
"Exam Matrix" version 1.5's primary PHP file adds more information about the plugin and serves as the entry point for WordPress
20 characters long description:
Emerico Web Solution
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
Success! There were no dangerous files found in this plugin4,438 lines of code in 28 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 21 | 96 | 186 | 2,982 |
JavaScript | 3 | 71 | 480 | 912 |
CSS | 3 | 36 | 41 | 540 |
Markdown | 1 | 2 | 0 | 4 |
PHP code Passed 2 tests
An short overview of logical lines of code, cyclomatic complexity, and other code metrics
There are no cyclomatic complexity problems detected for this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.45 |
Average class complexity | 42.27 |
▷ Minimum class complexity | 2.00 |
▷ Maximum class complexity | 186.00 |
Average method complexity | 4.49 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 56.00 |
Code structure | ||
---|---|---|
Namespaces | 1 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 11 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 11 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 130 | |
▷ Static methods | 5 | 3.85% |
▷ Public methods | 123 | 94.62% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 7 | 5.38% |
Functions | 0 | |
▷ Named functions | 0 | 0.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 0 | |
▷ Global constants | 0 | 0.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.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
2 PNG files occupy 0.01MB with 0.01MB in potential savings
Potential savings
Compression of 2 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
images/noimage.png | 10.38KB | 5.26KB | ▼ 49.32% |
images/exam.png | 3.42KB | 0.91KB | ▼ 73.42% |