68% bancomail-email-lists-integration

Code Review | Bancomail Email Lists Integration

WordPress plugin Bancomail Email Lists Integration scored68%from 54 tests.

About plugin

  • Plugin page: bancomail-email-l...
  • Plugin version: 1.1.4
  • PHP version: 7.4.16
  • WordPress compatibility: 4.0-4.8.1
  • WordPress version: 6.3.1
  • First release: Apr 11, 2017
  • Latest release: Sep 10, 2018
  • Number of updates: 26
  • Update frequency: every 19.9 days
  • Top authors: neosoftsrl (100%)

Code review

54 tests

User reviews

1 review

Install metrics

10+ active /1,089 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
Install script ran successfully

Server metrics [RAM: ▲0.14MB] [CPU: ▲1.18ms] Passed 4 tests

Server-side resources used by Bancomail Email Lists Integration
Server-side resource usage in normal parameters
PageMemory (MB)CPU Time (ms)
Home /3.62 ▲0.1646.95 ▲9.22
Dashboard /wp-admin3.44 ▲0.1454.06 ▲4.74
Posts /wp-admin/edit.php3.49 ▲0.1452.27 ▼0.70
Add New Post /wp-admin/post-new.php6.04 ▲0.1688.73 ▼3.85
Media Library /wp-admin/upload.php3.37 ▲0.1439.33 ▲4.51
Orders history /wp-admin/admin.php?page=bancomail-email-lists-integration-ordini3.4838.32
Bancomail Email Lists Integration /wp-admin/admin.php?page=bancomail-email-lists-integration3.62381.40

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

Input-output and database impact of this plugin
No storage issues were detected
Filesystem: 279 new files
Database: 2 new tables, 6 new options
New tables
wp_bm_ws_order_history
wp_bm_ws_cart
New WordPress options
widget_recent-comments
theysaidso_admin_options
widget_theysaidso_widget
db_upgraded
can_compress_scripts
widget_recent-posts

Browser metrics Passed 4 tests

Checking browser requirements for Bancomail Email Lists Integration
This plugin has a minimal impact on browser resources
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,903 ▲11713.47 ▼1.108.63 ▲6.4941.98 ▼4.17
Dashboard /wp-admin2,223 ▲465.63 ▲0.0287.93 ▼3.1542.25 ▼0.08
Posts /wp-admin/edit.php2,131 ▲312.01 ▲0.0738.68 ▼0.4235.15 ▼0.38
Add New Post /wp-admin/post-new.php1,400 ▼13018.82 ▼4.31541.60 ▼135.1549.98 ▼2.84
Media Library /wp-admin/upload.php1,428 ▲314.19 ▼0.04101.13 ▼1.9445.92 ▼2.11
Orders history /wp-admin/admin.php?page=bancomail-email-lists-integration-ordini9762.0026.4632.28
Bancomail Email Lists Integration /wp-admin/admin.php?page=bancomail-email-lists-integration1,0491.8025.6931.58

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

🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
It is recommended to fix the following
  • The uninstall procedure failed, leaving 2 tables in the database
    • wp_bm_ws_cart
    • wp_bm_ws_order_history
  • Zombie WordPress options detected upon uninstall: 6 options
    • widget_recent-comments
    • widget_recent-posts
    • can_compress_scripts
    • theysaidso_admin_options
    • widget_theysaidso_widget
    • db_upgraded

Smoke tests 50% from 4 tests

Server-side errors 0% from 1 test

🔹 Test weight: 20 | A shallow check that no server-side errors were triggered
Smoke test failed, please fix the following
  • 5 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=bancomail-email-lists-integration
    • > Notice in wp-content/plugins/bancomail-email-lists-integration/admin/bm_webservice_admin_page.php+416
    Undefined index: tab

SRP Passed 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
Looking good! No server-side errors or output on direct access of PHP files

User-side errors 0% from 1 test

🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
Please fix the following browser errors
    • > GET request to /wp-admin/admin.php?page=bancomail-email-lists-integration-ordini
    • > Javascript (severe) in unknown
    /wp-content/plugins/bancomail-email-lists-integration/js/bm_admin_js.js?ver=6.3.1 124:49 Uncaught TypeError: Cannot read properties of null (reading 'style')

Optimizations

Plugin configuration 97% from 29 tests

readme.txt 94% from 16 tests

The readme.txt file uses markdown syntax to describe your plugin to the world
These attributes need to be fixed: The official readme.txt is a good inspiration

bancomail-email-lists-integration/bancomail-email-lists-integration.php Passed 13 tests

"Bancomail Email Lists Integration" version 1.1.4's main PHP file describes plugin functionality and also serves as the entry point to any WordPress functionality
52 characters long description:
A plugin that integrate Bancomail's products into wp

Code Analysis Passed 3 tests

File types Passed 1 test

🔸 Test weight: 35 | There should be no dangerous file extensions present in any WordPress plugin
Success! There were no dangerous files found in this plugin4,057 lines of code in 15 files:
LanguageFilesBlank linesComment linesLines of code
PHP9285972,421
PO File2286330745
CSS2669624
JavaScript24811267

PHP code Passed 2 tests

A brief analysis of cyclomatic complexity and code structure for this plugin
No cyclomatic complexity issues were detected for this plugin
Cyclomatic complexity
Average complexity per logical line of code0.40
Average class complexity70.33
▷ Minimum class complexity8.00
▷ Maximum class complexity185.00
Average method complexity5.84
▷ Minimum method complexity1.00
▷ Maximum method complexity85.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes3
▷ Abstract classes00.00%
▷ Concrete classes3100.00%
▷ Final classes00.00%
Methods43
▷ Static methods24.65%
▷ Public methods2967.44%
▷ Protected methods49.30%
▷ Private methods1023.26%
Functions3
▷ Named functions3100.00%
▷ Anonymous functions00.00%
Constants5
▷ Global constants5100.00%
▷ Class constants00.00%
▷ Public constants00.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

All PNG images should be compressed to minimize bandwidth usage for end users
256 compressed PNG files occupy 0.21MB
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
images/flags/zm.png0.49KB0.67KB0.00%
images/flags/ma.png0.42KB0.60KB0.00%
images/flags/zw.png0.56KB0.75KB0.00%
images/flags/bt.png0.62KB0.70KB0.00%
images/flags/ng.png0.47KB0.64KB0.00%