77% registerone-event-forms

Code Review | RegisterONE - Exhibitor Registration, Advanced Booth Mapping, Ticketing

WordPress plugin RegisterONE - Exhibitor Registration, Advanced Booth Mapping, Ticketing scored77%from 54 tests.

About plugin

  • Plugin page: registerone-event...
  • Plugin version: 3.6.16
  • PHP compatiblity: 7.4+
  • PHP version: 7.4.16
  • WordPress version: 6.3.1
  • First release: Sep 26, 2017
  • Latest release: Nov 9, 2023
  • Number of updates: 426
  • Update frequency: every 5.3 days
  • Top authors: registerone (100%)

Code review

54 tests

User reviews

3 reviews

Install metrics

20+ active /14,251 total downloads

Benchmarks

Plugin footprint 83% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
Installer ran successfully

Server metrics [RAM: ▲1.88MB] [CPU: ▲2.91ms] Passed 4 tests

Analyzing server-side resources used by RegisterONE - Exhibitor Registration, Advanced Booth Mapping, Ticketing
Normal server usage
PageMemory (MB)CPU Time (ms)
Home /5.25 ▲1.7850.41 ▲12.98
Dashboard /wp-admin5.27 ▲1.9653.03 ▲3.40
Posts /wp-admin/edit.php5.27 ▲1.9155.71 ▲7.55
Add New Post /wp-admin/post-new.php7.75 ▲1.8684.20 ▼8.48
Media Library /wp-admin/upload.php5.27 ▲2.0346.25 ▲9.16
RegisterONE /wp-admin/options-general.php?page=registerone_plugin_options5.2738.51

Server storage [IO: ▲8.21MB] [DB: ▲0.00MB] Passed 3 tests

Input-output and database impact of this plugin
There were no storage issued detected upon installing this plugin
Filesystem: 394 new files
Database: no new tables, 7 new options
New WordPress options
db_upgraded
widget_recent-comments
widget_recent-posts
can_compress_scripts
dwc_account_information
widget_theysaidso_widget
theysaidso_admin_options

Browser metrics Passed 4 tests

An overview of browser requirements for RegisterONE - Exhibitor Registration, Advanced Booth Mapping, Ticketing
Minimal impact on browser resources
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,801 ▲3914.01 ▼0.251.71 ▲0.1144.28 ▼1.63
Dashboard /wp-admin2,206 ▲255.54 ▼0.1791.22 ▼11.9537.43 ▼5.71
Posts /wp-admin/edit.php2,113 ▲132.02 ▲0.0740.71 ▲1.4536.65 ▲2.04
Add New Post /wp-admin/post-new.php1,540 ▲1423.27 ▼0.05675.08 ▲10.3160.61 ▼0.10
Media Library /wp-admin/upload.php1,411 ▲114.18 ▼0.0599.75 ▼16.1641.86 ▼6.54
RegisterONE /wp-admin/options-general.php?page=registerone_plugin_options8701.6525.0326.39

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
  • The uninstall procedure has failed, leaving 6 options in the database
    • theysaidso_admin_options
    • widget_recent-comments
    • db_upgraded
    • widget_theysaidso_widget
    • widget_recent-posts
    • can_compress_scripts

Smoke tests 50% from 4 tests

Server-side errors 0% from 1 test

🔹 Test weight: 20 | This is a shallow check for server-side errors
Almost there, just fix the following server-side errors
    • > GET request to /wp-admin/options-general.php?page=registerone_plugin_options
    • > User deprecated in wp-includes/functions.php+5463
    Function screen_icon is deprecated since version 3.8.0 with no alternative available.
    • > GET request to /wp-admin/options-general.php?page=registerone_plugin_options
    • > User deprecated in wp-includes/functions.php+5463
    Function get_screen_icon is deprecated since version 3.8.0 with no alternative available.

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 take a closer look at the following
  • 9× PHP files trigger server errors when accessed directly:
    • > PHP Fatal error
      Uncaught Error: Call to undefined function language_attributes() in wp-content/plugins/registerone-event-forms/registerone-template.php:2
    • > PHP Fatal error
      Uncaught Error: Call to undefined function esc_html() in wp-content/plugins/registerone-event-forms/src/assets/registerone-theme-override/footer.php:4
    • > PHP Fatal error
      Uncaught Error: Call to undefined function get_header() in wp-content/plugins/registerone-event-forms/src/assets/registerone-theme-override/single.php:1
    • > PHP Fatal error
      Uncaught Error: Call to undefined function get_header() in wp-content/plugins/registerone-event-forms/src/assets/registerone-theme-override/index.php:1
    • > PHP Fatal error
      Uncaught Error: Call to undefined function language_attributes() in wp-content/plugins/registerone-event-forms/src/assets/registerone-theme-override/header.php:2
    • > PHP Fatal error
      Uncaught Error: Call to undefined function get_header() in wp-content/plugins/registerone-event-forms/src/assets/registerone-theme-override/page.php:1
    • > PHP Fatal error
      Uncaught Error: Call to undefined function add_action() in wp-content/plugins/registerone-event-forms/src/assets/registerone-theme-override/functions.php:3
    • > PHP Fatal error
      Uncaught Error: Call to undefined function get_header() in wp-content/plugins/registerone-event-forms/src/assets/registerone-theme-override/404.php:1
    • > PHP Fatal error
      Uncaught Error: Call to undefined function the_ID() in wp-content/plugins/registerone-event-forms/src/assets/registerone-theme-override/entry.php:1

User-side errors Passed 1 test

🔹 Test weight: 20 | This is a shallow check for browser errors
No browser errors were detected

Optimizations

Plugin configuration 90% 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 to be fixed:
  • Requires at least: Invalid plugin version format
  • Tags: You are using too many tags: 11 tag instead of maximum 10
The official readme.txt might help

registerone-event-forms/registerone-wordpress-client.php 92% from 13 tests

The primary PHP file in "RegisterONE - Exhibitor Registration, Advanced Booth Mapping, Ticketing" version 3.6.16 is used by WordPress to initiate all plugin functionality
Please make the necessary changes and fix the following:
  • Main file name: It is recommended to name the main PHP file as the plugin slug ("registerone-event-forms.php" instead of "registerone-wordpress-client.php")

Code Analysis 95% from 3 tests

File types Passed 1 test

🔸 Test weight: 35 | A short review of files and their extensions; it is not recommended to include executable files
There were no executable files found in this plugin82,055 lines of code in 316 files:
LanguageFilesBlank linesComment linesLines of code
JavaScript1867,3795,47439,839
CSS682,32087127,189
PHP192,3591,8468,768
JSON2002,481
Sass4147701,997
SVG340291,395
Markdown21070359
Mustache15027

PHP code 0% from 2 tests

An short overview of logical lines of code, cyclomatic complexity, and other code metrics
Please fix the following
  • Please reduce cyclomatic complexity of classes to less than 1000 (currently 1,347)
  • Method cyclomatic complexity has to be reduced to less than 100 (currently 150)
Cyclomatic complexity
Average complexity per logical line of code0.43
Average class complexity146.20
▷ Minimum class complexity1.00
▷ Maximum class complexity1,347.00
Average method complexity9.96
▷ Minimum method complexity1.00
▷ Maximum method complexity150.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes10
▷ Abstract classes00.00%
▷ Concrete classes10100.00%
▷ Final classes00.00%
Methods164
▷ Static methods53.05%
▷ Public methods5734.76%
▷ Protected methods00.00%
▷ Private methods10765.24%
Functions34
▷ Named functions3191.18%
▷ Anonymous functions38.82%
Constants6
▷ Global constants6100.00%
▷ Class constants00.00%
▷ Public constants00.00%

Plugin size 50% from 2 tests

Image compression 50% from 2 tests

PNG files should be compressed to save space and minimize bandwidth usage
32 PNG files occupy 0.50MB with 0.16MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
front-end/assets/img/container-bg.png2.34KB3.59KB0.00%
front-end/assets/img/paypal-img1-footer-250.png14.98KB6.06KB▼ 59.51%
front-end/assets/img/authorize.png70.08KB4.61KB▼ 93.42%
front-end/assets/leaflet/images/marker-icon-2x.png2.41KB2.52KB0.00%
front-end/assets/jquery-ui-1.12.1/images/ui-icons_cc0000_256x240.png4.52KB4.18KB▼ 7.56%