Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
The plugin installed gracefully, with no errors
Server metrics [RAM: ▲6.18MB] [CPU: ▲52.87ms] 75% from 4 tests
A check of server-side resources used by RegistrationMagic - Custom Registration Forms, User Registration, Payment, and User Login
Please fix the following
- Extra RAM: Extra memory usage must be kept under 5MB (currently 6.18MB on /wp-admin/admin.php?page=rm_submission_view)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 9.64 ▲6.18 | 84.81 ▲45.58 |
Dashboard /wp-admin | 9.57 ▲6.27 | 107.25 ▲57.49 |
Posts /wp-admin/edit.php | 9.48 ▲6.13 | 106.45 ▲59.96 |
Add New Post /wp-admin/post-new.php | 12.20 ▲6.31 | 139.41 ▲48.45 |
Media Library /wp-admin/upload.php | 9.40 ▲6.17 | 418.15 ▲384.99 |
Third Party Integration Settings /wp-admin/admin.php?page=rm_options_autoresponder | 9.89 | 124.42 |
Email Templates /wp-admin/admin.php?page=rm_login_email_temp | 9.66 | 91.77 |
Email Templates /wp-admin/admin.php?page=rm_form_sett_email_templates | 9.47 | 92.26 |
Payments /wp-admin/admin.php?page=rm_payments_manage | 9.60 | 88.81 |
ProfileGrid /wp-admin/admin.php?page=rm_form_sett_profilegrid | 9.48 | 86.05 |
Log Retention /wp-admin/admin.php?page=rm_login_retention | 9.53 | 86.01 |
Attachment Download /wp-admin/admin.php?page=rm_attachment_download | 9.40 | 82.93 |
Global Settings /wp-admin/admin.php?page=rm_options_manage | 9.55 | 85.56 |
RM Chronos 3 /wp-admin/admin.php?page=rm_ex_chronos_edit_task | 9.86 | 90.22 |
View Submission /wp-admin/admin.php?page=rm_submission_view | 9.41 | 80.02 |
Server storage [IO: ▲18.99MB] [DB: ▲0.13MB] Passed 3 tests
A short overview of filesystem and database impact
This plugin was installed successfully
Filesystem: 1,055 new files
Database: 20 new tables, 13 new options
New tables |
---|
wp_rm_sent_mails |
wp_rm_login |
wp_rm_login_log |
wp_rm_sessions |
wp_rm_forms |
wp_rm_rules |
wp_rm_fields |
wp_rm_task_exe_log |
wp_rm_stats |
wp_rm_custom_status |
... |
New WordPress options |
---|
can_compress_scripts |
recovery_mode_email_last_sent |
widget_rm_form_widget |
rm_option_front_sub_page_id |
theysaidso_admin_options |
db_upgraded |
widget_recent-posts |
rm_option_front_login_page_id |
widget_rm_otp_widget |
widget_rm_login_btn_widget |
... |
Browser metrics Passed 4 tests
A check of browser resources used by RegistrationMagic - Custom Registration Forms, User Registration, Payment, and User Login
There were no issues detected in relation to browser resource usage
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,177 ▲415 | 14.41 ▼0.29 | 17.02 ▲15.19 | 29.07 ▼15.83 |
Dashboard /wp-admin | 2,412 ▲237 | 5.63 ▼0.05 | 99.09 ▼12.57 | 77.00 ▲33.19 |
Posts /wp-admin/edit.php | 2,246 ▲143 | 2.06 ▲0.12 | 38.20 ▼0.23 | 32.41 ▼4.51 |
Add New Post /wp-admin/post-new.php | 1,744 ▲218 | 21.74 ▼1.44 | 686.02 ▲56.47 | 37.44 ▼14.96 |
Media Library /wp-admin/upload.php | 1,549 ▲155 | 4.27 ▲0.07 | 110.15 ▲13.33 | 47.17 ▲5.01 |
Third Party Integration Settings /wp-admin/admin.php?page=rm_options_autoresponder | 1,446 | 2.84 | 65.41 | 75.79 |
Email Templates /wp-admin/admin.php?page=rm_login_email_temp | 2,615 | 10.04 | 323.58 | 271.58 |
Email Templates /wp-admin/admin.php?page=rm_form_sett_email_templates | 845 | 1.93 | 27.42 | 20.81 |
Payments /wp-admin/admin.php?page=rm_payments_manage | 1,229 | 2.34 | 48.30 | 44.20 |
ProfileGrid /wp-admin/admin.php?page=rm_form_sett_profilegrid | 971 | 2.32 | 44.07 | 26.84 |
Log Retention /wp-admin/admin.php?page=rm_login_retention | 1,093 | 2.70 | 52.60 | 38.76 |
Attachment Download /wp-admin/admin.php?page=rm_attachment_download | 942 | 2.43 | 44.00 | 23.59 |
Global Settings /wp-admin/admin.php?page=rm_options_manage | 1,335 | 2.33 | 46.43 | 54.41 |
RM Chronos 3 /wp-admin/admin.php?page=rm_ex_chronos_edit_task | 2,618 | 7.50 | 169.32 | 80.96 |
View Submission /wp-admin/admin.php?page=rm_submission_view | 845 | 1.98 | 26.92 | 19.52 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.13MB] 50% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
These items require your attention
- This plugin does not fully uninstall, leaving 20 tables in the database
- wp_rm_tasks
- wp_rm_submission_fields
- wp_rm_notes
- wp_rm_paypal_fields
- wp_rm_submissions
- wp_rm_login
- wp_rm_custom_status
- wp_rm_stats
- wp_rm_paypal_logs
- wp_rm_tabs
- ...
- This plugin did not uninstall successfully, leaving 13 options in the database
- db_upgraded
- widget_rm_form_widget
- widget_recent-posts
- theysaidso_admin_options
- rm_option_front_sub_page_id
- widget_theysaidso_widget
- widget_rm_otp_widget
- widget_recent-comments
- rm_option_front_login_page_id
- widget_rm_login_btn_widget
- ...
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
Almost there, just fix the following server-side errors
- > GET request to /wp-admin/admin.php?page=rm_form_sett_email_templates
- > Notice in wp-content/plugins/custom-registration-form-builder-with-submission-manager/admin/controllers/class_rm_form_settings_controller.php+261
Undefined variable: view
- > GET request to /wp-admin/admin.php?page=rm_form_sett_email_templates
- > Error in wp-content/plugins/custom-registration-form-builder-with-submission-manager/admin/controllers/class_rm_form_settings_controller.php+261
Uncaught Error: Call to a member function render() on null in wp-content/plugins/custom-registration-form-builder-with-submission-manager/admin/controllers/class_rm_form_settings_controller.php:261
Stack trace:
#0 wp-content/plugins/custom-registration-form-builder-with-submission-manager/includes/class_rm_main_controller.php(136): RM_Form_Settings_Controller->email_templates()
#1 wp-includes/class-wp-hook.php(310): RM_Main_Controller->run()
#2 wp-includes/class-wp-hook.php(334): WP_Hook->apply_filters()
#3 wp-includes/plugin.php(517): WP_Hook->do_action()
#4 wp-admin/admin.php(259): do_action()
#5 {main}
thrown- > GET request to /wp-admin/admin.php?page=rm_submission_view
- > Error in wp-content/plugins/custom-registration-form-builder-with-submission-manager/admin/controllers/class_rm_submission_controller.php+154
Uncaught InvalidArgumentException: Invalid Submission Id in wp-content/plugins/custom-registration-form-builder-with-submission-manager/admin/controllers/class_rm_submission_controller.php:154
Stack trace:
#0 wp-content/plugins/custom-registration-form-builder-with-submission-manager/includes/class_rm_main_controller.php(136): RM_Submission_Controller->view()
#1 wp-includes/class-wp-hook.php(310): RM_Main_Controller->run()
#2 wp-includes/class-wp-hook.php(334): WP_Hook->apply_filters()
#3 wp-includes/plugin.php(517): WP_Hook->do_action()
#4 wp-admin/admin.php(259): do_action()
#5 {main}
thrown
SRP 0% from 2 tests
🔹 Tests weight: 20 | The single-responsibility principle applies for WordPress plugins as well - please make sure your PHP files perform no actions when accessed directly
Please fix the following items
- 169× PHP files output text when accessed directly (only 10 are shown):
- > /wp-content/plugins/custom-registration-form-builder-with-submission-manager/admin/views/template_rm_login_integrations.php
- > /wp-content/plugins/custom-registration-form-builder-with-submission-manager/admin/views/template_rm_cant_continue.php
- > /wp-content/plugins/custom-registration-form-builder-with-submission-manager/admin/views/template_rm_related_submissions.php
- > /wp-content/plugins/custom-registration-form-builder-with-submission-manager/admin/views/template_rm_widget_picker.php
- > /wp-content/plugins/custom-registration-form-builder-with-submission-manager/admin/views/widgets/pricev.php
- > /wp-content/plugins/custom-registration-form-builder-with-submission-manager/admin/views/template_rm_form_post_sub_sett.php
- > /wp-content/plugins/custom-registration-form-builder-with-submission-manager/admin/views/template_rm_form_upload.php
- > /wp-content/plugins/custom-registration-form-builder-with-submission-manager/admin/views/html/wc_billing_field.php
- > /wp-content/plugins/custom-registration-form-builder-with-submission-manager/admin/views/template_rm_form_setup.php
- > /wp-content/plugins/custom-registration-form-builder-with-submission-manager/admin/views/template_rm_login_view_sett.php
- 177× PHP files trigger server-side errors or warnings when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'Element_Textbox' not found in wp-content/plugins/custom-registration-form-builder-with-submission-manager/external/PFBC/Element/Time.php:2
- > PHP Fatal error
Uncaught Error: Class 'Element' not found in wp-content/plugins/custom-registration-form-builder-with-submission-manager/external/PFBC/Element/HTMLH.php:14
- > PHP Fatal error
Uncaught Error: Class 'RM_Services' not found in wp-content/plugins/custom-registration-form-builder-with-submission-manager/services/class_rm_submission_service.php:8
- > PHP Fatal error
Uncaught Error: Class 'WP_Widget' not found in wp-content/plugins/custom-registration-form-builder-with-submission-manager/public/widgets/class_rm_login_btn_widget.php:6
- > PHP Fatal error
Uncaught Error: Class 'Element' not found in wp-content/plugins/custom-registration-form-builder-with-submission-manager/external/PFBC/Element/Timer.php:13
- > PHP Fatal error
Uncaught Error: Class 'OptionElement' not found in wp-content/plugins/custom-registration-form-builder-with-submission-manager/external/PFBC/Element/Checkbox.php:2
- > PHP Fatal error
Uncaught Error: Class 'Element_Select' not found in wp-content/plugins/custom-registration-form-builder-with-submission-manager/external/PFBC/Element/State.php:2
- > PHP Fatal error
Uncaught Error: Class 'View_UserForm' not found in wp-content/plugins/custom-registration-form-builder-with-submission-manager/external/PFBC/View/UserFormTwoCols.php:14
- > PHP Fatal error
Uncaught Error: Class 'Validation' not found in wp-content/plugins/custom-registration-form-builder-with-submission-manager/external/PFBC/Validation/Url.php:2
- > PHP Fatal error
Uncaught Error: Interface 'AWeberOAuthAdapter' not found in wp-content/plugins/custom-registration-form-builder-with-submission-manager/external/AWeber/oauth_application.php:57
- > PHP Fatal error
User-side errors Passed 1 test
🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
No browser issues were found
Optimizations
Plugin configuration 90% from 29 tests
readme.txt Passed 16 tests
Often overlooked, readme.txt is one of the most important files in your plugin
5 plugin tags: event registration, registration, payment form, user registration, woocommerce registration form
custom-registration-form-builder-with-submission-manager/registration_magic.php 77% from 13 tests
The primary PHP file in "RegistrationMagic - Custom Registration Forms, User Registration, Payment, and User Login" version 5.2.5.0 is used by WordPress to initiate all plugin functionality
It is important to fix the following:
- Description: Please don't use more than 140 characters for the plugin description (currently 177 characters long)
- Requires at least: The required version number must match the one declared in readme.txt ("4.6" instead of "4.6.0")
- Main file name: Name the main plugin file the same as the plugin slug ("custom-registration-form-builder-with-submission-manager.php" instead of "registration_magic.php")
Code Analysis 95% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | This is a short overview of programming languages used in this plugin, detecting executable files
Good job! No executable or dangerous file extensions detected166,212 lines of code in 572 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 439 | 14,848 | 7,756 | 74,787 |
PO File | 9 | 19,366 | 23,257 | 56,503 |
CSS | 40 | 5,010 | 756 | 21,695 |
JavaScript | 49 | 1,579 | 1,901 | 9,705 |
XML | 3 | 361 | 141 | 1,852 |
SVG | 30 | 1 | 2 | 1,651 |
JSON | 1 | 0 | 0 | 11 |
HTML | 1 | 2 | 0 | 8 |
PHP code 0% from 2 tests
This plugin's cyclomatic complexity and code structure detailed below
The following items need your attention
- Please reduce cyclomatic complexity of classes to less than 1000 (currently 1,635)
- Cyclomatic complexity of methods has to be reduced to less than 100 (currently 1,635)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.39 |
Average class complexity | 37.91 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 1,635.00 |
Average method complexity | 4.81 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 1,635.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 11 | |
Traits | 0 | |
Classes | 247 | |
▷ Abstract classes | 9 | 3.64% |
▷ Concrete classes | 238 | 96.36% |
▷ Final classes | 0 | 0.00% |
Methods | 2,529 | |
▷ Static methods | 427 | 16.88% |
▷ Public methods | 2,436 | 96.32% |
▷ Protected methods | 84 | 3.32% |
▷ Private methods | 9 | 0.36% |
Functions | 28 | |
▷ Named functions | 23 | 82.14% |
▷ Anonymous functions | 5 | 17.86% |
Constants | 138 | |
▷ Global constants | 59 | 42.75% |
▷ Class constants | 79 | 57.25% |
▷ Public constants | 79 | 100.00% |
Plugin size 50% from 2 tests
Image compression 50% from 2 tests
Using a strong compression for your PNG files is a great way to speed-up your plugin
440 PNG files occupy 3.88MB with 1.25MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
images/flag/16/mr.png | 0.51KB | 0.40KB | ▼ 20.38% |
images/flag/16/af.png | 0.51KB | 0.40KB | ▼ 20.46% |
images/clock.png | 1.23KB | 0.26KB | ▼ 78.95% |
images/flag/16/na.png | 0.52KB | 0.41KB | ▼ 20.93% |
images/flag/16/er.png | 0.52KB | 0.41KB | ▼ 20.64% |