65% arforms-form-builder

Code Review | Contact Form, Survey & Popup Form Plugin for WordPress - ARForms Form Builder

WordPress plugin Contact Form, Survey & Popup Form Plugin for WordPress - ARForms Form Builder scored65%from 54 tests.

About plugin

  • Plugin page: arforms-form-builder
  • Plugin version: 1.5.8
  • PHP compatiblity: 5.6+
  • PHP version: 7.4.16
  • WordPress compatibility: 5.0-6.4.1
  • WordPress version: 6.3.1
  • First release: Nov 27, 2020
  • Latest release: Nov 20, 2023
  • Number of updates: 49
  • Update frequency: every 22.2 days
  • Top authors: reputeinfosystems (100%)

Code review

54 tests

User reviews

14 reviews

Install metrics

1,000+ active /18,284 total downloads

Benchmarks

Plugin footprint 81% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | Checking the installer triggered no errors
Installer ran successfully

Server metrics [RAM: ▲5.96MB] [CPU: ▲30.92ms] 50% from 4 tests

This is a short check of server-side resources used by Contact Form, Survey & Popup Form Plugin for WordPress - ARForms Form Builder
Please fix the following
  • CPU: Total CPU usage must kept under 500.00ms (currently 1,444.70ms on /wp-admin/admin.php?page=ARForms-Lite-addons)
  • Extra RAM: The extra memory usage must be under 5MB (currently 5.96MB on /wp-admin/admin.php?page=ARForms-Lite-entries)
PageMemory (MB)CPU Time (ms)
Home /9.47 ▲6.0074.25 ▲33.03
Dashboard /wp-admin9.32 ▲6.0275.86 ▲26.43
Posts /wp-admin/edit.php9.37 ▲6.0190.08 ▲45.61
Add New Post /wp-admin/post-new.php11.69 ▲5.80116.07 ▲18.60
Media Library /wp-admin/upload.php9.24 ▲6.0197.57 ▲65.41
Add New Form /wp-admin/admin.php?page=ARForms-Lite&arfaction=new&isp=18.9958.77
Upgrade To Premium /wp-admin/admin.php?page=arflite_upgrade_to_premium9.1565.18
/wp-admin/admin.php?page=ARForms-Lite-settings19.1467.72
Addons /wp-admin/admin.php?page=ARForms-Lite-addons9.421,444.70
Manage Forms /wp-admin/admin.php?page=ARForms-Lite8.9957.03
Import / Export /wp-admin/admin.php?page=ARForms-Lite-import-export8.9955.23
General Settings /wp-admin/admin.php?page=ARForms-Lite-settings8.9957.10
Growth Plugins /wp-admin/admin.php?page=ARF-Growth-Tools9.1964.74
Form Entries /wp-admin/admin.php?page=ARForms-Lite-entries8.9953.82

Server storage [IO: ▲22.50MB] [DB: ▲0.19MB] Passed 3 tests

How much does this plugin use your filesystem and database?
No storage issues were detected
Filesystem: 1,224 new files
Database: 4 new tables, 15 new options
New tables
wp_arflite_entries
wp_arflite_entry_values
wp_arflite_forms
wp_arflite_fields
New WordPress options
widget_recent-comments
arflite_db_version
arflite_display_bf_sale_popup
widget_recent-posts
db_upgraded
widget_theysaidso_widget
arflite_options
arfalite_css
arflite_plugin_activated
can_compress_scripts
...

Browser metrics 75% from 4 tests

Checking browser requirements for Contact Form, Survey & Popup Form Plugin for WordPress - ARForms Form Builder
A great user experience is important, so you should focus on the following
  • Nodes: For the best user experience, please reduce the number of DOM nodes under 25,000 (currently 45,665 on /wp-admin/admin.php?page=arflite_upgrade_to_premium)
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,925 ▲16313.49 ▼0.958.39 ▲6.7027.38 ▼17.46
Dashboard /wp-admin2,234 ▲595.53 ▼0.1693.46 ▼7.1286.56 ▲49.85
Posts /wp-admin/edit.php2,151 ▲481.95 ▲0.0037.44 ▼0.0835.63 ▼3.19
Add New Post /wp-admin/post-new.php1,769 ▲23420.36 ▲2.24878.56 ▲285.2644.53 ▼23.39
Media Library /wp-admin/upload.php1,454 ▲544.06 ▼0.15112.37 ▲18.1382.68 ▲41.75
Add New Form /wp-admin/admin.php?page=ARForms-Lite&arfaction=new&isp=11,9224.3997.3782.19
Upgrade To Premium /wp-admin/admin.php?page=arflite_upgrade_to_premium45,6657.02234.55199.17
/wp-admin/admin.php?page=ARForms-Lite-settings19172.4948.5826.62
Addons /wp-admin/admin.php?page=ARForms-Lite-addons2,2412.4536.8052.69
Manage Forms /wp-admin/admin.php?page=ARForms-Lite1,8944.3278.0739.18
Import / Export /wp-admin/admin.php?page=ARForms-Lite-import-export1,7553.5166.0865.01
General Settings /wp-admin/admin.php?page=ARForms-Lite-settings4,7984.98114.9971.49
Growth Plugins /wp-admin/admin.php?page=ARF-Growth-Tools1,2141.7223.0480.41
Form Entries /wp-admin/admin.php?page=ARForms-Lite-entries1,9544.4689.8771.67

Uninstaller [IO: ▲0.06MB] [DB: ▲0.05MB] 75% from 4 tests

🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
You still need to fix the following
  • Zombie WordPress options were found after uninstall: 8 options
    • wp_get_version
    • arflite_display_bf_sale_popup
    • can_compress_scripts
    • widget_recent-posts
    • widget_theysaidso_widget
    • db_upgraded
    • theysaidso_admin_options
    • widget_recent-comments

Smoke tests 0% from 4 tests

Server-side errors 0% from 1 test

🔹 Test weight: 20 | A shallow check that no server-side errors were triggered
Please fix the following server-side errors
    • > GET request to /wp-admin/admin.php?page=ARForms-Lite-settings1
    • > Warning in wp-includes/class-wp-hook.php+310
    call_user_func_array() expects parameter 1 to be a valid callback, class 'arflitemaincontroller' does not have a method 'list_entries'

SRP 0% from 2 tests

🔹 Tests weight: 20 | A shallow check of the single-responsibility principle; PHP files should perform no action - including output of placeholder text - and trigger no errors when accessed directly
The following issues need your attention
  • 1× PHP files output text when accessed directly:
    • > /wp-content/plugins/arforms-form-builder/arformslite_cs/includes/arformslite-cs/style.php
  • 575× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
    • > PHP Notice
      Trying to access array offset on value of type null in wp-content/plugins/arforms-form-builder/core/arflite_css_create_materialize.php on line 332
    • > PHP Fatal error
      Uncaught Error: Class 'phpseclib3\\Math\\BigInteger\\Engines\\PHP' not found in wp-content/plugins/arforms-form-builder/core/gmail/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/PHP64.php:23
    • > PHP Fatal error
      Uncaught Error: Class 'Monolog\\Handler\\Handler' not found in wp-content/plugins/arforms-form-builder/core/gmail/vendor/monolog/monolog/src/Monolog/Handler/NoopHandler.php:23
    • > PHP Notice
      Undefined variable: is_prefix_suffix_enable in wp-content/plugins/arforms-form-builder/core/arflite_css_create_rtl.php on line 69
    • > PHP Fatal error
      Uncaught Error: Call to undefined function add_shortcode() in wp-content/plugins/arforms-form-builder/core/controllers/arfliteprocontroller.php:7
    • > PHP Fatal error
      Uncaught Error: Class 'Monolog\\Handler\\SocketHandler' not found in wp-content/plugins/arforms-form-builder/core/gmail/vendor/monolog/monolog/src/Monolog/Handler/LogmaticHandler.php:21
    • > PHP Fatal error
      Uncaught Error: Class 'phpseclib3\\Crypt\\Common\\BlockCipher' not found in wp-content/plugins/arforms-form-builder/core/gmail/vendor/phpseclib/phpseclib/phpseclib/Crypt/Rijndael.php:67
    • > PHP Fatal error
      Uncaught Error: Interface 'Monolog\\Handler\\FingersCrossed\\ActivationStrategyInterface' not found in wp-content/plugins/arforms-form-builder/core/gmail/vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ChannelLevelActivationStrategy.php:41
    • > PHP Fatal error
      Uncaught Error: Class 'Google\\Auth\\HttpHandler\\Guzzle6HttpHandler' not found in wp-content/plugins/arforms-form-builder/core/gmail/vendor/google/auth/src/HttpHandler/Guzzle7HttpHandler.php:19
    • > PHP Fatal error
      Uncaught Error: Class 'GeoIp2\\Model\\AbstractModel' not found in wp-content/plugins/arforms-form-builder/core/models/geoip/geoip2/geoip2/src/Model/Asn.php:16

User-side errors 0% from 1 test

🔹 Test weight: 20 | A shallow check that no browser errors were triggered
Please fix the following user-side errors
    • > GET request to /wp-admin/admin.php?page=arflite_upgrade_to_premium
    • > Security (warning) in unknown
    security - Error with Feature-Policy header: Unrecognized feature: 'speaker'.

Optimizations

Plugin configuration Passed 29 tests

readme.txt Passed 16 tests

Don't ignore readme.txt as it is the file that instructs WordPress.org on how to present your plugin to the world
5 plugin tags: survey, popup forms, payment form, custom form, contact form builder

arforms-form-builder/arforms-form-builder.php Passed 13 tests

The main file in "Contact Form, Survey & Popup Form Plugin for WordPress - ARForms Form Builder" v. 1.5.8 serves as a complement to information provided in readme.txt and as the entry point to the plugin
74 characters long description:
Most Powerful Form Builder to create wide variety of forms within a minute

Code Analysis 95% from 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
There were no executable files found in this plugin186,149 lines of code in 996 files:
LanguageFilesBlank linesComment linesLines of code
PHP85722,28743,595112,354
PO File1215,99942,08532,354
JavaScript411,867017,307
SVG80213,123
JSON20007,003
Markdown1495403,255
CSS40300441
Pascal1481,534283
XML10019
YAML1007
Bourne Shell1203

PHP code 0% from 2 tests

Analyzing cyclomatic complexity and code structure
It is recommended to fix the following
  • Class cyclomatic complexity has to be reduced to less than 1000 (currently 2,237)
  • Cyclomatic complexity of methods should be reduced to less than 100 (currently 1,045)
Cyclomatic complexity
Average complexity per logical line of code0.42
Average class complexity18.16
▷ Minimum class complexity1.00
▷ Maximum class complexity2,237.00
Average method complexity4.26
▷ Minimum method complexity1.00
▷ Maximum method complexity1,045.00
Code structure
Namespaces88
Interfaces51
Traits15
Classes752
▷ Abstract classes22029.26%
▷ Concrete classes53270.74%
▷ Final classes6612.41%
Methods4,378
▷ Static methods71316.29%
▷ Public methods3,44978.78%
▷ Protected methods4009.14%
▷ Private methods52912.08%
Functions200
▷ Named functions5527.50%
▷ Anonymous functions14572.50%
Constants600
▷ Global constants6711.17%
▷ Class constants53388.83%
▷ Public constants48791.37%

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
123 PNG files occupy 0.65MB with 0.16MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
css/calender/images/ui-bg_glass_100_e4f1fb_1x400.png0.12KB0.15KB0.00%
css/calender/images/ui-bg_highlight-soft_15_cc0000_1x100.png0.11KB0.18KB0.00%
images/cs-lifetime-tick.png0.76KB0.44KB▼ 41.57%
images/gvo.png5.03KB3.54KB▼ 29.74%
css/calender/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png3.38KB1.68KB▼ 50.10%