Benchmarks
Plugin footprint 40% from 16 tests
Installer 0% from 1 test
🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
These installer errors require your attention
- Install procedure validation failed for this plugin
- > Deprecated in wp-content/plugins/mailmaga-x/classes/modules/Mailmaga-x-install.php+9
Methods with the same name as their class will not be constructors in a future version of PHP; Mailmaga_x_install has a deprecated constructor
Server metrics [RAM: ▼1.88MB] [CPU: ▼55.05ms] Passed 4 tests
This is a short check of server-side resources used by Mailmaga-X
No issues were detected with server-side resource usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 2.10 ▼1.36 | 5.50 ▼36.11 |
Dashboard /wp-admin | 2.13 ▼1.18 | 5.94 ▼43.49 |
Posts /wp-admin/edit.php | 2.13 ▼1.23 | 6.02 ▼48.61 |
Add New Post /wp-admin/post-new.php | 2.13 ▼3.76 | 6.82 ▼91.98 |
Media Library /wp-admin/upload.php | 2.13 ▼1.10 | 5.89 ▼30.50 |
Servers /wp-admin/admin.php?page=mailmaga_x_page_servers | 2.13 | 6.10 |
History /wp-admin/admin.php?page=mailmaga_x_page_history | 2.13 | 6.74 |
Users /wp-admin/admin.php?page=mailmaga_x_page_users | 2.13 | 5.97 |
Mailmaga-X /wp-admin/admin.php?page=mailmaga-x/classes/modules/Mailmaga-x.php | 2.13 | 6.97 |
Server storage [IO: ▲0.62MB] [DB: ▲0.00MB] 67% from 3 tests
Analyzing filesystem and database footprints of this plugin
Just a few items left to fix
- Illegal file modification detected: 1 file (4.00KB) outside of "wp-content/plugins/mailmaga-x/" and "wp-content/uploads/"
- (new file) wp-content/mgd_mirror/mgd_maximinodotpy-gitdown-test-repository
Filesystem: 28 new files
Database: 4 new tables, 7 new options
New tables |
---|
wp_mailmaga_x_users |
wp_mailmaga_x_historys |
wp_mailmaga_x_servers |
wp_mailmaga_x_mails |
New WordPress options |
---|
can_compress_scripts |
db_upgraded |
widget_recent-comments |
widget_theysaidso_widget |
mailmaga_x_db_version |
theysaidso_admin_options |
widget_recent-posts |
Browser metrics Passed 4 tests
A check of browser resources used by Mailmaga-X
Normal browser usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,850 ▲89 | 13.67 ▼0.64 | 5.22 ▲3.33 | 41.38 ▲2.89 |
Dashboard /wp-admin | 2,259 ▲59 | 5.89 ▲1.04 | 99.38 ▼6.62 | 41.81 ▼0.82 |
Posts /wp-admin/edit.php | 2,135 ▲35 | 2.00 ▼0.05 | 38.08 ▲1.65 | 36.48 ▼0.96 |
Add New Post /wp-admin/post-new.php | 1,568 ▲42 | 23.35 ▲5.75 | 626.59 ▲3.56 | 55.33 ▼2.11 |
Media Library /wp-admin/upload.php | 1,432 ▲35 | 4.24 ▼0.01 | 100.02 ▼3.96 | 41.78 ▼6.10 |
Servers /wp-admin/admin.php?page=mailmaga_x_page_servers | 933 | 2.02 | 26.60 | 28.22 |
History /wp-admin/admin.php?page=mailmaga_x_page_history | 900 | 2.05 | 26.77 | 29.78 |
Users /wp-admin/admin.php?page=mailmaga_x_page_users | 1,056 | 2.46 | 36.74 | 29.74 |
Mailmaga-X /wp-admin/admin.php?page=mailmaga-x/classes/modules/Mailmaga-x.php | 878 | 2.16 | 24.29 | 88.52 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 50% from 4 tests
🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
It is recommended to fix the following
- This plugin did not uninstall without warnings or errors
- > Deprecated in wp-content/plugins/mailmaga-x/classes/modules/Mailmaga-x-install.php+9
Methods with the same name as their class will not be constructors in a future version of PHP; Mailmaga_x_install has a deprecated constructor
- Zombie WordPress options were found after uninstall: 7 options
- mailmaga_x_db_version
- widget_recent-posts
- can_compress_scripts
- widget_theysaidso_widget
- widget_recent-comments
- db_upgraded
- theysaidso_admin_options
Smoke tests 50% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | A shallow check that no server-side errors were triggered
These server-side errors were triggered
- 4 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=mailmaga-x/classes/modules/Mailmaga-x.php
- > Deprecated in wp-content/plugins/mailmaga-x/classes/modules/Mailmaga-x-install.php+9
Methods with the same name as their class will not be constructors in a future version of PHP; Mailmaga_x_install has a deprecated constructor
- 4 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=mailmaga-x/classes/modules/Mailmaga-x.php
- > Deprecated in wp-content/plugins/mailmaga-x/classes/modules/Mailmaga-x-user.php+6
Methods with the same name as their class will not be constructors in a future version of PHP; Mailmaga_x_user has a deprecated constructor
- 4 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=mailmaga-x/classes/modules/Mailmaga-x.php
- > Deprecated in wp-content/plugins/mailmaga-x/classes/modules/Mailmaga-x-server.php+6
Methods with the same name as their class will not be constructors in a future version of PHP; Mailmaga_x_server has a deprecated constructor
- 4 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=mailmaga-x/classes/modules/Mailmaga-x.php
- > Deprecated in wp-content/plugins/mailmaga-x/classes/modules/Mailmaga-x-history.php+6
Methods with the same name as their class will not be constructors in a future version of PHP; Mailmaga_x_history has a deprecated constructor
- 4 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=mailmaga-x/classes/modules/Mailmaga-x.php
- > Deprecated in wp-content/plugins/mailmaga-x/classes/modules/Mailmaga-x-mailer.php+6
Methods with the same name as their class will not be constructors in a future version of PHP; Mailmaga_x_mailer has a deprecated constructor
- 56 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=mailmaga-x/classes/modules/Mailmaga-x.php
- > Deprecated in wp-content/plugins/mailmaga-x/classes/modules/Mailmaga-x-csv.php+686
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=mailmaga-x/classes/modules/Mailmaga-x.php
- > Deprecated in wp-content/plugins/mailmaga-x/classes/modules/Mailmaga-x-csv.php+6
Methods with the same name as their class will not be constructors in a future version of PHP; Mailmaga_x_csv has a deprecated constructor
- 4 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=mailmaga-x/classes/modules/Mailmaga-x.php
- > Notice in wp-content/plugins/mailmaga-x/classes/modules/Mailmaga-x.php+69
Undefined index: act
- 4 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=mailmaga-x/classes/modules/Mailmaga-x.php
- > Notice in wp-content/plugins/mailmaga-x/classes/modules/Mailmaga-x.php+69
Undefined index: m
- 4 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=mailmaga-x/classes/modules/Mailmaga-x.php
- > Notice in wp-content/plugins/mailmaga-x/classes/modules/Mailmaga-x.php+69
Undefined index: u
- 4 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=mailmaga-x/classes/modules/Mailmaga-x.php
- > Notice in wp-content/plugins/mailmaga-x/classes/modules/Mailmaga-x.php+69
Undefined index: key
- 44 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=mailmaga-x/classes/modules/Mailmaga-x.php
- > User deprecated in wp-includes/functions.php+5737
Function has_cap was called with an argument that is deprecated since version 2.0.0! Usage of user levels is deprecated. Use capabilities instead.
- 6 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=mailmaga_x_page_users
- > Notice in wp-content/plugins/mailmaga-x/classes/modules/Mailmaga-x-user.php+22
Undefined index: action
- 5 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=mailmaga_x_page_users
- > Notice in wp-content/plugins/mailmaga-x/classes/modules/Mailmaga-x-user.php+56
Undefined index: message
- > GET request to /wp-admin/admin.php?page=mailmaga_x_page_servers
- > Notice in wp-content/plugins/mailmaga-x/templates/server_index.php+9
Undefined property: Mailmaga_x_server::$message
- > GET request to /wp-admin/admin.php?page=mailmaga_x_page_history
- > Notice in wp-content/plugins/mailmaga-x/templates/history_index.php+7
Undefined property: Mailmaga_x_history::$message
- > GET request to /wp-admin/admin.php?page=mailmaga_x_page_users
- > Notice in wp-content/plugins/mailmaga-x/classes/modules/Mailmaga-x.php+69
Undefined index: user_id
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=mailmaga_x_page_users
- > Notice in wp-content/plugins/mailmaga-x/templates/user_index.php+67
Undefined index: user_group
- > GET request to /wp-admin/admin.php?page=mailmaga_x_page_users
- > Notice in wp-content/plugins/mailmaga-x/classes/modules/Mailmaga-x.php+69
Undefined index: keyword
- > GET request to /wp-admin/admin.php?page=mailmaga_x_page_users
- > Notice in wp-content/plugins/mailmaga-x/templates/user_index.php+59
Undefined property: Mailmaga_x_user::$message
SRP 50% 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
- 12× PHP files trigger server-side errors or warnings when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Mailmaga_x' not found in wp-content/plugins/mailmaga-x/classes/modules/Mailmaga-x-mailer.php:6
- > PHP Fatal error
Uncaught Error: Class 'Mailmaga_x' not found in wp-content/plugins/mailmaga-x/classes/modules/Mailmaga-x-history.php:6
- > PHP Fatal error
Uncaught Error: Call to undefined function wp_enqueue_script() in wp-content/plugins/mailmaga-x/templates/user_index.php:2
- > PHP Fatal error
Uncaught Error: Class 'Mailmaga_x' not found in wp-content/plugins/mailmaga-x/classes/modules/Mailmaga-x-server.php:6
- > PHP Fatal error
Uncaught Error: Using $this when not in object context in wp-content/plugins/mailmaga-x/templates/server_index.php:2
- > PHP Fatal error
Uncaught Error: Using $this when not in object context in wp-content/plugins/mailmaga-x/templates/server_input.php:2
- > PHP Fatal error
Uncaught Error: Using $this when not in object context in wp-content/plugins/mailmaga-x/templates/history_index.php:2
- > PHP Fatal error
Uncaught Error: Using $this when not in object context in wp-content/plugins/mailmaga-x/templates/mail_input.php:2
- > PHP Fatal error
Uncaught Error: Call to undefined function register_activation_hook() in wp-content/plugins/mailmaga-x/mailmaga-x.php:21
- > PHP Fatal error
Uncaught Error: Call to undefined function get_bloginfo() in wp-content/plugins/mailmaga-x/templates/index.php:8
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
No browser errors were detected
Optimizations
Plugin configuration 93% from 29 tests
readme.txt 88% from 16 tests
You should put a lot of thought into formatting readme.txt as it is used by WordPress.org to prepare the public listing of your plugin
These attributes need to be fixed:
- Plugin Name: "Plugin Name" should be replaced with the name of your plugin on the first line (
=== mailmaga-x ===
) - Screenshots: Please add images for these screenshots: #1 (User List Page), #2 (New Mail Magazine), #3 (Mail Server List)
mailmaga-x/mailmaga-x.php Passed 13 tests
Analyzing the main PHP file in "Mailmaga-X" version 1.0.2
88 characters long description:
Mailmaga-X is a simple and powerful plugin for sending Mail Magazines to your customers.
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 plugin2,487 lines of code in 18 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 14 | 186 | 465 | 1,959 |
PO File | 2 | 116 | 22 | 262 |
JavaScript | 1 | 13 | 74 | 252 |
CSS | 1 | 1 | 0 | 14 |
PHP code Passed 2 tests
Cyclomatic complexity and code structure are the fingerprint of this plugin
No complexity issues detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.42 |
Average class complexity | 52.00 |
▷ Minimum class complexity | 4.00 |
▷ Maximum class complexity | 186.00 |
Average method complexity | 6.25 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 56.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 7 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 7 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 68 | |
▷ Static methods | 0 | 0.00% |
▷ Public methods | 68 | 100.00% |
▷ Protected methods | 0 | 0.00% |
▷ Private methods | 0 | 0.00% |
Functions | 7 | |
▷ Named functions | 7 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 3 | |
▷ Global constants | 3 | 100.00% |
▷ Class constants | 0 | 0.00% |
▷ Public constants | 0 | 0.00% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
It is recommended to compress PNG files in your plugin to minimize bandwidth usage
7 PNG files occupy 0.51MB with 0.35MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
images/about-user.png | 92.71KB | 27.74KB | ▼ 70.08% |
images/about-history.png | 76.20KB | 21.70KB | ▼ 71.53% |
screenshot-1.png | 112.63KB | 42.31KB | ▼ 62.44% |
screenshot-2.png | 139.08KB | 47.92KB | ▼ 65.54% |
images/about-server.png | 36.23KB | 10.52KB | ▼ 70.96% |