84% omniform

Code Review | OmniForm

WordPress plugin OmniForm scored84%from 54 tests.

About plugin

  • Plugin page: omniform
  • Plugin version: 1.0.5
  • PHP compatiblity: 7.4+
  • PHP version: 7.4.16
  • WordPress compatibility: 6.2-6.4
  • WordPress version: 6.3.1
  • First release: Sep 6, 2023
  • Latest release: Nov 11, 2023
  • Number of updates: 8
  • Update frequency: every 9.9 days
  • Top authors: jrtashjian (100%)

Code review

54 tests

User reviews

1 review

Install metrics

10+ active /316 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: ▲0.85MB] [CPU: ▲6.34ms] Passed 4 tests

Server-side resources used by OmniForm
No issues were detected with server-side resource usage
PageMemory (MB)CPU Time (ms)
Home /4.36 ▲0.8944.30 ▲6.62
Dashboard /wp-admin4.14 ▲0.8451.04 ▲2.08
Posts /wp-admin/edit.php4.20 ▲0.8454.39 ▲10.99
Add New Post /wp-admin/post-new.php7.19 ▲1.31101.95 ▲5.66
Media Library /wp-admin/upload.php4.07 ▲0.8447.99 ▲11.88
All Forms /wp-admin/edit.php?post_type=omniform4.1547.02
Create a Form /wp-admin/post-new.php?post_type=omniform7.1894.48
View responses /wp-admin/edit.php?post_type=omniform_response4.1144.29

Server storage [IO: ▲1.35MB] [DB: ▲0.02MB] Passed 3 tests

A short overview of filesystem and database impact
No storage issues were detected
Filesystem: 761 new files
Database: no new tables, 6 new options
New WordPress options
widget_recent-posts
theysaidso_admin_options
widget_recent-comments
can_compress_scripts
db_upgraded
widget_theysaidso_widget

Browser metrics Passed 4 tests

OmniForm: an overview of browser usage
There were no issues detected in relation to browser resource usage
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,863 ▲11614.68 ▲0.441.61 ▼0.2237.53 ▼6.94
Dashboard /wp-admin2,240 ▲665.52 ▼0.1490.67 ▼7.6938.67 ▼7.46
Posts /wp-admin/edit.php2,144 ▲441.99 ▲0.0139.98 ▲4.2837.01 ▲1.44
Add New Post /wp-admin/post-new.php6,438 ▲4,90928.88 ▲5.46899.56 ▲264.9838.56 ▼10.07
Media Library /wp-admin/upload.php1,447 ▲504.27 ▲0.1498.71 ▼0.2944.67 ▲5.14
All Forms /wp-admin/edit.php?post_type=omniform2,2422.1036.1134.32
Create a Form /wp-admin/post-new.php?post_type=omniform1,54216.09619.3429.77
View responses /wp-admin/edit.php?post_type=omniform_response1,1211.9331.2929.91

Uninstaller [IO: ▲0.00MB] [DB: ▲0.02MB] 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
    • db_upgraded
    • widget_theysaidso_widget
    • widget_recent-comments
    • can_compress_scripts
    • widget_recent-posts

Smoke tests 75% from 4 tests

Server-side errors Passed 1 test

🔹 Test weight: 20 | Just a short smoke test targeting errors on the server (in the Apache logs)
Even though everything seems fine, this is not an exhaustive test

SRP 50% 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
  • 399× GET requests to PHP files have triggered server-side errors or warnings (only 10 are shown):
    • > PHP Fatal error
      Uncaught Error: Class 'OmniForm\\Dependencies\\Respect\\Validation\\Exceptions\\ValidationException' not found in wp-content/plugins/omniform/vendor_prefixed/respect/validation/library/Exceptions/IsbnException.php:19
    • > PHP Fatal error
      Uncaught Error: Class 'OmniForm\\Dependencies\\Respect\\Validation\\Rules\\AbstractRule' not found in wp-content/plugins/omniform/vendor_prefixed/respect/validation/library/Rules/AlwaysInvalid.php:22
    • > PHP Fatal error
      Uncaught Error: Class 'OmniForm\\Dependencies\\Respect\\Validation\\Exceptions\\ValidationException' not found in wp-content/plugins/omniform/vendor_prefixed/respect/validation/library/Exceptions/MacAddressException.php:20
    • > PHP Fatal error
      Uncaught Error: Interface 'OmniForm\\Dependencies\\Dflydev\\DotAccessData\\DataInterface' not found in wp-content/plugins/omniform/vendor_prefixed/dflydev/dot-access-data/src/Data.php:22
    • > PHP Fatal error
      Uncaught Error: Class 'OmniForm\\Dependencies\\Respect\\Validation\\Exceptions\\FilteredValidationException' not found in wp-content/plugins/omniform/vendor_prefixed/respect/validation/library/Exceptions/VowelException.php:19
    • > PHP Fatal error
      Uncaught Error: Class 'OmniForm\\Dependencies\\Respect\\Validation\\Exceptions\\ValidationException' not found in wp-content/plugins/omniform/vendor_prefixed/respect/validation/library/Exceptions/DecimalException.php:18
    • > PHP Fatal error
      Uncaught Error: Interface 'OmniForm\\Dependencies\\Respect\\Stringifier\\Stringifier' not found in wp-content/plugins/omniform/vendor_prefixed/respect/stringifier/src/Stringifiers/StringableObjectStringifier.php:23
    • > PHP Fatal error
      Uncaught Error: Class 'OmniForm\\Dependencies\\Respect\\Validation\\Rules\\AbstractRule' not found in wp-content/plugins/omniform/vendor_prefixed/respect/validation/library/Rules/Equivalent.php:22
    • > PHP Fatal error
      Uncaught Error: Class 'OmniForm\\Dependencies\\Respect\\Validation\\Exceptions\\ValidationException' not found in wp-content/plugins/omniform/vendor_prefixed/respect/validation/library/Exceptions/PerfectSquareException.php:20
    • > PHP Fatal error
      Uncaught Error: Class 'OmniForm\\Dependencies\\Respect\\Validation\\Exceptions\estedValidationException' not found in wp-content/plugins/omniform/vendor_prefixed/respect/validation/library/Exceptions/CallbackException.php:20

User-side errors Passed 1 test

🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
Everything seems fine on the user side

Optimizations

Plugin configuration Passed 29 tests

readme.txt Passed 16 tests

Perhaps the most important file in your plugin readme.txt gets parsed in order to generate the public listing of your plugin
5 plugin tags: contact form, form builder, forms, email, block editor

omniform/omniform.php Passed 13 tests

The main PHP script in "OmniForm" version 1.0.5 is automatically included on every request by WordPress
130 characters long description:
Easily create and manage custom forms with the block editor, customizable fields, and form submission management for your website.

Code Analysis Passed 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
No dangerous file extensions were detected21,289 lines of code in 753 files:
LanguageFilesBlank linesComment linesLines of code
PHP4551,35610,20013,598
JSON263007,076
Markdown72080585
CSS150016
JavaScript130014

PHP code Passed 2 tests

Analyzing logical lines of code, cyclomatic complexity, and other code metrics
All good! No complexity issues found
Cyclomatic complexity
Average complexity per logical line of code0.42
Average class complexity3.76
▷ Minimum class complexity1.00
▷ Maximum class complexity181.00
Average method complexity2.53
▷ Minimum method complexity1.00
▷ Maximum method complexity22.00
Code structure
Namespaces27
Interfaces27
Traits6
Classes390
▷ Abstract classes123.08%
▷ Concrete classes37896.92%
▷ Final classes32385.45%
Methods1,093
▷ Static methods21019.21%
▷ Public methods94086.00%
▷ Protected methods605.49%
▷ Private methods938.51%
Functions111
▷ Named functions8072.07%
▷ Anonymous functions3127.93%
Constants130
▷ Global constants64.62%
▷ Class constants12495.38%
▷ Public constants10483.87%

Plugin size Passed 2 tests

Image compression Passed 2 tests

It is recommended to compress PNG files in your plugin to minimize bandwidth usage
There were not PNG files found in your plugin