48% form-vibes

Code Review | Form Vibes - Database Manager for Forms

WordPress plugin Form Vibes - Database Manager for Forms scored 48% from 54 tests.

About plugin

  • Plugin page: form-vibes
  • Plugin version: 1.4.1
  • PHP compatiblity: 5.6+
  • PHP version: 7.4.16
  • WordPress compatibility: 5.0-5.8.1
  • WordPress version: 5.8.1
  • First release: May 17, 2019
  • Latest release: Sep 30, 2021
  • Number of updates: 82
  • Update frequency: every 10.6 days
  • Top authors: wpvibes (100%)

Code review

54 tests

User reviews

103 reviews

Install metrics

20,000+ active / 163,270 total downloads

Benchmarks

Plugin footprint 48% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
This plugin's installer ran successfully

Server metrics [RAM: ▲0.57MB] [CPU: ▼160.41ms] Passed 4 tests

This is a short check of server-side resources used by Form Vibes - Database Manager for Forms
This plugin does not affect your website's performance
PageMemory (MB)CPU Time (ms)
Home /3.25 ▲0.5346.51 ▲23.90
Dashboard /wp-admin3.69 ▲0.6452.77 ▲8.79
Posts /wp-admin/edit.php3.72 ▲0.6155.19 ▲10.42
Add New Post /wp-admin/post-new.php5.97 ▲0.53103.28 ▼670.89
Media Library /wp-admin/upload.php3.60 ▲0.5946.43 ▲10.04
Settings /wp-admin/admin.php?page=fv-db-settings3.4536.43
Analytics /wp-admin/admin.php?page=fv-analytics3.4538.20
Contact Us /wp-admin/admin.php?page=fv-leads-contact3.4934.83
Event Logs /wp-admin/admin.php?page=fv-logs3.4531.58
Freemius Debug [v.2.4.2] /wp-admin/admin.php?page=freemius3.8141.43
Submissions /wp-admin/admin.php?page=fv-leads3.4532.62
Upgrade  ➤ /wp-admin/admin.php?page=fv-leads-pricing3.7937.50

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

Analyzing filesystem and database footprints of this plugin
The plugin installed successfully
Filesystem: 1,078 new files
Database: 3 new tables, 7 new options
New tables
wp_fv_entry_meta
wp_fv_enteries
wp_fv_logs
New WordPress options
fs_gdpr
fv_dashboard_widget_settings
fs_debug_mode
fs_accounts
fs_active_plugins
fv_db_version
fv_pro_purchase

Browser metrics Passed 4 tests

Checking browser requirements for Form Vibes - Database Manager for Forms
Minimal impact on browser resources
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /3,990 ▲38423.61 ▲8.0311.82 ▲2.7662.53 ▲12.95
Dashboard /wp-admin3,279 ▲34214.53 ▲8.56344.19 ▲186.80157.06 ▲34.90
Posts /wp-admin/edit.php2,810 ▲712.70 ▲0.0168.62 ▼1.43104.04 ▲7.38
Add New Post /wp-admin/post-new.php1,548 ▼13518.55 ▼0.18346.82 ▼69.48131.70 ▲18.48
Media Library /wp-admin/upload.php1,807 ▼35.02 ▲0.01154.89 ▲6.12128.60 ▲6.77
Settings /wp-admin/admin.php?page=fv-db-settings1,3487.93149.3276.79
Analytics /wp-admin/admin.php?page=fv-analytics1,28612.63213.29109.51
Contact Us /wp-admin/admin.php?page=fv-leads-contact1,1372.4863.8564.85
Event Logs /wp-admin/admin.php?page=fv-logs1,2269.22151.6186.25
Freemius Debug [v.2.4.2] /wp-admin/admin.php?page=freemius1,5292.1061.6786.84
Submissions /wp-admin/admin.php?page=fv-leads1,29613.07240.60108.51
Upgrade  ➤ /wp-admin/admin.php?page=fv-leads-pricing1,2512.8170.0962.70

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

🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
These items require your attention
  • Uninstall procedure validation failed for this plugin
    • > Notice in wp-content/plugins/form-vibes/freemius/includes/class-freemius.php+8552
    Undefined property: stdClass::$plugins
  • Zombie tables were found after uninstall: 3 tables
    • wp_fv_enteries
    • wp_fv_entry_meta
    • wp_fv_logs
  • Zombie WordPress options were found after uninstall: 7 options
    • fv_pro_purchase
    • fs_accounts
    • fs_debug_mode
    • fs_gdpr
    • fs_active_plugins
    • fv_dashboard_widget_settings
    • fv_db_version

Smoke tests 50% from 4 tests

Server-side errors Passed 1 test

🔹 Test weight: 20 | A shallow check that no server-side errors were triggered
The smoke test was a success, however most plugin functionality was not tested

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
  • 2× GET requests to PHP files return non-empty strings:
    • > /wp-content/plugins/form-vibes/vendor/symfony/translation/Resources/bin/translation-status.php
    • > /wp-content/plugins/form-vibes/freemius/templates/ajax-loader.php
  • 514× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
    • > PHP Fatal error
      Uncaught Error: Class 'Monolog\\Handler\\AbstractProcessingHandler' not found in wp-content/plugins/form-vibes/lib/vendor/monolog/monolog/src/Monolog/Handler/SocketHandler.php:22
    • > PHP Fatal error
      Uncaught Error: Class 'Google_Model' not found in wp-content/plugins/form-vibes/lib/vendor/google/apiclient-services/src/Google/Service/Sheets/DeleteSheetRequest.php:18
    • > PHP Fatal error
      Uncaught Error: Interface 'Psr\\Http\\Message\\StreamInterface' not found in wp-content/plugins/form-vibes/lib/vendor/guzzlehttp/psr7/src/Stream.php:11
    • > PHP Fatal error
      Uncaught Error: Class 'Monolog\\Formatter\ormalizerFormatter' not found in wp-content/plugins/form-vibes/lib/vendor/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php:24
    • > PHP Fatal error
      Uncaught Error: Class 'Google_Model' not found in wp-content/plugins/form-vibes/lib/vendor/google/apiclient-services/src/Google/Service/Sheets/ChartData.php:18
    • > PHP Fatal error
      Uncaught Error: Class 'Google_Model' not found in wp-content/plugins/form-vibes/lib/vendor/google/apiclient-services/src/Google/Service/Sheets/Padding.php:18
    • > PHP Fatal error
      Uncaught Error: Class 'Google_Model' not found in wp-content/plugins/form-vibes/lib/vendor/google/apiclient-services/src/Google/Service/Sheets/UpdateEmbeddedObjectPositionResponse.php:18
    • > PHP Fatal error
      Uncaught Error: Class 'Google_Collection' not found in wp-content/plugins/form-vibes/lib/vendor/google/apiclient-services/src/Google/Service/Drive/GeneratedIds.php:18
    • > PHP Fatal error
      Uncaught Error: Class 'Monolog\\Handler\\AbstractProcessingHandler' not found in wp-content/plugins/form-vibes/lib/vendor/monolog/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php:24
    • > PHP Fatal error
      Uncaught Error: Class 'Google_Model' not found in wp-content/plugins/form-vibes/lib/vendor/google/apiclient-services/src/Google/Service/Sheets/SortSpec.php:18

User-side errors Passed 1 test

🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
Everything seems fine on the user side

Optimizations

Plugin configuration 96% from 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
10 plugin tags: elementor db manager, save contact form, contact form 7 db, elementor form db, cf7 db...

form-vibes/form-vibes.php 92% from 13 tests

Analyzing the main PHP file in "Form Vibes - Database Manager for Forms" version 1.4.1
The following require your attention:
  • Text Domain: The text domain is optional since WordPress version 4.6; if you do specify it, it must be the same as the plugin slug

Code Analysis 0% from 3 tests

File types 0% from 1 test

🔸 Test weight: 35 | There should be no dangerous file extensions present in any WordPress plugin
Please fix the following items
  • Even if your plugin relies on executable files (for example a companion app), never distribute executable files with your plugin
    • .bat - Batch File in Windows
      • wp-content/plugins/form-vibes/vendor/nesbot/carbon/bin/upgrade-carbon.bat
115,243 lines of code in 999 files:
LanguageFilesBlank linesComment linesLines of code
PHP88819,71257,056104,059
Markdown481,96505,668
XSD392482,803
JSON23002,296
JavaScript93859219
CSS17240117
YAML26042
XML10011
Dockerfile18010
make1409
SVG5005
DOS Batch1004

PHP code 0% from 2 tests

This is a short overview of cyclomatic complexity and code structure for this plugin
The following items need your attention
  • Please reduce cyclomatic complexity of classes to less than 1000 (currently 2,907)
  • Method cyclomatic complexity has to be reduced to less than 100 (currently 160)
Cyclomatic complexity
Average complexity per logical line of code0.43
Average class complexity18.33
▷ Minimum class complexity1.00
▷ Maximum class complexity2,907.00
Average method complexity2.87
▷ Minimum method complexity1.00
▷ Maximum method complexity160.00
Code structure
Namespaces66
Interfaces51
Traits10
Classes664
▷ Abstract classes182.71%
▷ Concrete classes64697.29%
▷ Final classes162.48%
Methods6,858
▷ Static methods6108.89%
▷ Public methods5,88985.87%
▷ Protected methods2653.86%
▷ Private methods70410.27%
Functions364
▷ Named functions21157.97%
▷ Anonymous functions15342.03%
Constants568
▷ Global constants13123.06%
▷ Class constants43776.94%
▷ Public constants41795.42%

Plugin size Passed 2 tests

Image compression Passed 2 tests

It is recommended to compress PNG files in your plugin to minimize bandwidth usage
5 PNG files occupy 0.16MB with 0.08MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
assets/images/error.png111.12KB55.86KB▼ 49.73%
assets/images/avatar.png18.28KB9.16KB▼ 49.86%
freemius/assets/img/theme-icon.png10.97KB5.78KB▼ 47.37%
freemius/assets/img/plugin-icon.png9.16KB5.26KB▼ 42.58%
assets/dist/2e4ef16d1cbc3b27f9d785f602c6a2fd.png18.28KB9.16KB▼ 49.86%