62% all-in-one-forms

Code Review | AIO Forms - Your #1 companion for those difficult forms

WordPress plugin AIO Forms - Your #1 companion for those difficult forms scored62%from 54 tests.

About plugin

  • Plugin page: all-in-one-forms
  • Plugin version: 1.2.140
  • PHP version: 7.4.16
  • WordPress compatibility: 3.3-6.4.1
  • WordPress version: 6.3.1
  • First release: Oct 26, 2021
  • Latest release: Dec 1, 2023
  • Number of updates: 254
  • Update frequency: every 3.0 days
  • Top authors: EDGARROJAS (100%)

Code review

54 tests

User reviews

18 reviews

Install metrics

700+ active /21,679 total downloads

Benchmarks

Plugin footprint 65% 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.62MB] [CPU: ▲5.01ms] Passed 4 tests

A check of server-side resources used by AIO Forms - Your #1 companion for those difficult forms
Normal server usage
PageMemory (MB)CPU Time (ms)
Home /4.07 ▲0.6041.88 ▲3.18
Dashboard /wp-admin3.93 ▲0.6349.84 ▲1.12
Posts /wp-admin/edit.php3.98 ▲0.6258.79 ▲8.03
Add New Post /wp-admin/post-new.php6.52 ▲0.6397.19 ▲16.67
Media Library /wp-admin/upload.php3.85 ▲0.6239.73 ▲7.70
Entries (Little version) /wp-admin/admin.php?page=rednao_entries_form4.2357.84
Settings /wp-admin/admin.php?page=rednao_calculation_form_settings4.0138.77
AIO Forms /wp-admin/admin.php?page=rednao_calculation_form4.0443.84
Help/Documentation /wp-admin/admin.php?page=support3.7634.09

Server storage [IO: ▲7.97MB] [DB: ▲0.01MB] Passed 3 tests

Filesystem and database footprint
This plugin installed successfully
Filesystem: 1,472 new files
Database: 7 new tables, 7 new options
New tables
wp_rednaoeasycalculationforms_records
wp_rednaoeasycalculationforms_field_templates
wp_rednaoeasycalculationforms_forms
wp_rednaoeasycalculationforms_records_files
wp_rednaoeasycalculationforms_records_detail
wp_rednaoeasycalculationforms_links
wp_rednaoeasycalculationforms_records_meta
New WordPress options
widget_recent-posts
theysaidso_admin_options
rednao_rednaoeasycalculationforms_db_version
db_upgraded
can_compress_scripts
widget_recent-comments
widget_theysaidso_widget

Browser metrics Passed 4 tests

Checking browser requirements for AIO Forms - Your #1 companion for those difficult forms
Normal browser usage
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,842 ▲8014.24 ▼0.041.63 ▲0.0237.76 ▼6.65
Dashboard /wp-admin2,250 ▲755.66 ▼0.0290.85 ▼20.9341.28 ▼2.36
Posts /wp-admin/edit.php2,152 ▲521.97 ▲0.0239.99 ▲4.8135.12 ▲3.48
Add New Post /wp-admin/post-new.php1,554 ▲2823.62 ▲0.54637.88 ▲5.4750.72 ▲0.60
Media Library /wp-admin/upload.php1,453 ▲594.21 ▲0.0498.94 ▼0.0840.45 ▼2.75
Entries (Little version) /wp-admin/admin.php?page=rednao_entries_form2,1569.26184.1169.62
Settings /wp-admin/admin.php?page=rednao_calculation_form_settings1,7132.7840.7235.81
AIO Forms /wp-admin/admin.php?page=rednao_calculation_form1,8823.6852.4627.44
Help/Documentation /wp-admin/admin.php?page=support8431.9727.5026.38

Uninstaller [IO: ▲0.00MB] [DB: ▲0.01MB] 50% from 4 tests

🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
These items require your attention
  • Zombie tables detected upon uninstall: 7 tables
    • wp_rednaoeasycalculationforms_forms
    • wp_rednaoeasycalculationforms_field_templates
    • wp_rednaoeasycalculationforms_records_detail
    • wp_rednaoeasycalculationforms_records
    • wp_rednaoeasycalculationforms_records_files
    • wp_rednaoeasycalculationforms_links
    • wp_rednaoeasycalculationforms_records_meta
  • Zombie WordPress options detected upon uninstall: 7 options
    • rednao_rednaoeasycalculationforms_db_version
    • theysaidso_admin_options
    • widget_theysaidso_widget
    • can_compress_scripts
    • widget_recent-comments
    • db_upgraded
    • widget_recent-posts

Smoke tests 25% from 4 tests

Server-side errors Passed 1 test

🔹 Test weight: 20 | A smoke test targeting server-side errors
Even though no errors were found, this is by no means an exhaustive test

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
Almost there! Just fix the following items
  • 1× GET requests to PHP files return non-empty strings:
    • > /wp-content/plugins/all-in-one-forms/vendor/masterminds/html5/bin/entities.php
  • 739× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
    • > PHP Fatal error
      Uncaught Error: Class 'rednaoeasycalculationforms\\Parser\\Core\\ParserElementBase' not found in wp-content/plugins/all-in-one-forms/Parser/Elements/Scalars/ParseVariable.php:9
    • > PHP Fatal error
      Uncaught Error: Class 'HtmlSanitizer\\Visitor\\AbstractNodeVisitor' not found in wp-content/plugins/all-in-one-forms/vendor/tgalopin/html-sanitizer/src/Extension/Basic/NodeVisitor/H5NodeVisitor.php:26
    • > PHP Fatal error
      Uncaught Error: Class 'rednaoeasycalculationforms\\core\\Managers\\FormManager\\Fields\\FBTextField' not found in wp-content/plugins/all-in-one-forms/core/Managers/FormManager/Fields/FBEmail.php:9
    • > PHP Fatal error
      Uncaught Error: Class 'rednaoeasycalculationforms\\Parser\\Core\\ParseBase' not found in wp-content/plugins/all-in-one-forms/Parser/Elements/ParseIfStatement.php:8
    • > PHP Fatal error
      Uncaught Error: Class 'rednaoeasycalculationforms\\Managers\\QueryManager\\Formatter\\CSVFormatter\\Columns\\CSVColumn' not found in wp-content/plugins/all-in-one-forms/Managers/QueryManager/Formatter/CSVFormatter/Columns/BasicStringCSVColumn.php:7
    • > PHP Fatal error
      Uncaught Error: Class 'Twig\ode\\Expression\\AbstractExpression' not found in wp-content/plugins/all-in-one-forms/vendor/twig/twig/src/Node/Expression/BlockReferenceExpression.php:23
    • > PHP Fatal error
      Uncaught Error: Class 'PHPUnit\\Framework\\TestCase' not found in wp-content/plugins/all-in-one-forms/vendor/tgalopin/html-sanitizer/tests/AbstractSanitizerTest.php:18
    • > PHP Fatal error
      Uncaught Error: Class 'DASPRiD\\Enum\\AbstractEnum' not found in wp-content/plugins/all-in-one-forms/vendor/dasprid/enum/test/Planet.php:18
    • > PHP Fatal error
      Uncaught Error: Interface 'Twig\\Cache\\CacheInterface' not found in wp-content/plugins/all-in-one-forms/vendor/twig/twig/src/Cache/FilesystemCache.php:19
    • > PHP Fatal error
      Uncaught Error: Class 'Symfony\\Component\\CssSelector\\XPath\\Extension\\AbstractExtension' not found in wp-content/plugins/all-in-one-forms/vendor/symfony/css-selector/XPath/Extension/NodeExtension.php:28

User-side errors 0% from 1 test

🔹 Test weight: 20 | Just a short smoke test targeting errors on the browser (console and network errors and warnings)
Please take a look at the following user-side issues
  • 3 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=rednao_calculation_form
    • > Console-api (warning) in wp-content/plugins/all-in-one-forms/js/dist/RNMainLit_bundle.js?ver=62+0:809
    Running in dev mode. Do not use in production!
  • 3 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=rednao_calculation_form
    • > Console-api (warning) in wp-content/plugins/all-in-one-forms/js/dist/RNMainLit_bundle.js?ver=62+0:10476
    Lit is in dev mode. Not recommended for production! See https://lit.dev/msg/dev-mode for more information.
  • 3 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=rednao_calculation_form
    • > Console-api (warning) in wp-content/plugins/all-in-one-forms/js/dist/RNMainLit_bundle.js?ver=62+0:24619
    Multiple versions of Lit loaded. Loading multiple versions is not recommended. See https://lit.dev/msg/multiple-versions for more information.
  • 3 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=rednao_calculation_form
    • > Console-api (warning) in wp-content/plugins/all-in-one-forms/js/dist/RNMainLit_bundle.js?ver=62+0:47282
    lit-html is in dev mode. Not recommended for production!

Optimizations

Plugin configuration 93% from 29 tests

readme.txt 94% 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 need to be fixed:
  • Screenshots: These screenshots need descriptions #1, #2, #3, #4, #5, #6 in all-in-one-forms/assets to your readme.txt
You can look at the official readme.txt

all-in-one-forms/rednaoeasycalculationforms.php 92% from 13 tests

The entry point to "AIO Forms - Your #1 companion for those difficult forms" version 1.2.140 is a PHP file that has certain tags in its header comment area
You should first fix the following items:
  • Main file name: Please rename the main PHP file in this plugin to the plugin slug ("all-in-one-forms.php" instead of "rednaoeasycalculationforms.php")

Code Analysis Passed 3 tests

File types Passed 1 test

🔸 Test weight: 35 | A short glimpse at programming languages used with this plugin and a check that no dangerous files are present
There were no executable files found in this plugin74,818 lines of code in 1,399 files:
LanguageFilesBlank linesComment linesLines of code
PHP1,03513,15413,97256,999
CSS551,0101876,790
JavaScript1031,0091,0024,055
reStructuredText1142,4942,4092,934
JSON22001,549
Markdown2132801,214
HTML313812608
Twig294328379
make1245124
SVG100776
XML34150
Python17316533
TypeScript1106
YAML1001

PHP code Passed 2 tests

This plugin's cyclomatic complexity and code structure detailed below
No complexity issues detected
Cyclomatic complexity
Average complexity per logical line of code0.33
Average class complexity6.04
▷ Minimum class complexity1.00
▷ Maximum class complexity153.00
Average method complexity2.37
▷ Minimum method complexity1.00
▷ Maximum method complexity62.00
Code structure
Namespaces195
Interfaces61
Traits9
Classes931
▷ Abstract classes434.62%
▷ Concrete classes88895.38%
▷ Final classes16118.13%
Methods3,740
▷ Static methods2757.35%
▷ Public methods3,17784.95%
▷ Protected methods3148.40%
▷ Private methods2496.66%
Functions212
▷ Named functions11654.72%
▷ Anonymous functions9645.28%
Constants253
▷ Global constants41.58%
▷ Class constants24998.42%
▷ Public constants16767.07%

Plugin size Passed 2 tests

Image compression Passed 2 tests

All PNG images should be compressed to minimize bandwidth usage for end users
33 PNG files occupy 0.09MB with 0.02MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
images/rating/star-empty.png0.57KB0.35KB▼ 38.16%
images/fieldimages/group.png0.49KB0.44KB▼ 10.42%
images/icons/check.png0.17KB0.17KB0.00%
images/fieldimages/date.png0.92KB0.74KB▼ 18.96%
Templates/Locals/ContactForm/Image.png3.14KB1.71KB▼ 45.76%