66% cryptocurrency-donation-box

Code Review | Cryptocurrency Payment & Donation Box - Accept Payments in any Cryptocurrency on your WP Site for Free

WordPress plugin Cryptocurrency Payment & Donation Box - Accept Payments in any Cryptocurrency on your WP Site for Free scored 66% from 54 tests.

About plugin

  • Plugin page: cryptocurrency-do...
  • Plugin version: 2.2.10
  • PHP compatiblity: 5.6+
  • PHP version: 7.4.16
  • WordPress compatibility: 4.5-6.1
  • WordPress version: 6.3.1
  • First release: Jul 30, 2018
  • Latest release: Sep 20, 2023
  • Number of updates: 79
  • Update frequency: every 23.8 days
  • Top authors: Narinder singh (70.89%)djter3a3 (13.92%)blackworks1 (10.13%)nabeel323 (8.86%)

Code review

54 tests

User reviews

72 reviews

Install metrics

2,000+ active / 70,081 total downloads

Benchmarks

Plugin footprint 64% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
Install script ran successfully

Server metrics [RAM: ▲0.28MB] [CPU: ▲433.77ms] 50% from 4 tests

This is a short check of server-side resources used by Cryptocurrency Payment & Donation Box - Accept Payments in any Cryptocurrency on your WP Site for Free
Please take the time to fix the following items
  • CPU: Total CPU usage must kept under 500.00ms (currently 618.84ms on /wp-admin/admin.php?page=cdbbc-activation)
  • Extra CPU: Try to keep extra CPU usage under 200.00ms (currently 433.77ms on /wp-admin/admin.php?page=cdbbc-crypto-donations#tab=networks-for-wallets)
PageMemory (MB)CPU Time (ms)
Home /3.73 ▲0.2743.72 ▲0.83
Dashboard /wp-admin3.61 ▲0.31640.27 ▲589.74
Posts /wp-admin/edit.php3.69 ▲0.33631.45 ▲584.29
Add New Post /wp-admin/post-new.php6.16 ▲0.27657.89 ▲560.23
Media Library /wp-admin/upload.php3.50 ▲0.27673.28 ▲637.98
Transaction /wp-admin/admin.php?page=cdbbc-transaction3.45594.79
Plugin Activation /wp-admin/admin.php?page=cdbbc-activation3.47618.84

Server storage [IO: ▲4.50MB] [DB: ▲0.09MB] Passed 3 tests

A short overview of filesystem and database impact
There were no storage issued detected upon installing this plugin
Filesystem: 290 new files
Database: 1 new table, 15 new options
New tables
wp_cdbbc_transaction
New WordPress options
cdbbc_migarte_codestar
theysaidso_admin_options
cdbbc-alreadyRated
CDBBC_FRESH_INSTALLATION
wp_cdbbc_transaction_db_version
widget_theysaidso_widget
can_compress_scripts
cdbbc_settings
CDBBC_FREE_VERSION
widget_recent-comments
...

Browser metrics 75% from 4 tests

Cryptocurrency Payment & Donation Box - Accept Payments in any Cryptocurrency on your WP Site for Free: an overview of browser usage
You may want to improve the following
  • Nodes: For the best user experience, please reduce the number of DOM nodes under 25,000 (currently 28,268 on /wp-admin/admin.php?page=cdbbc-crypto-donations#tab=style-settings)
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,867 ▲13213.20 ▼1.361.75 ▼0.0733.22 ▼23.65
Dashboard /wp-admin2,270 ▲825.84 ▲0.96102.92 ▼16.7342.16 ▼3.79
Posts /wp-admin/edit.php2,155 ▲662.00 ▼0.0336.76 ▲0.2838.18 ▲2.34
Add New Post /wp-admin/post-new.php1,584 ▲6523.40 ▼0.02671.62 ▲79.8262.21 ▲11.32
Media Library /wp-admin/upload.php1,455 ▲674.25 ▲0.09102.45 ▲2.8845.85 ▲3.94
Quick Setup /wp-admin/admin.php?page=cdbbc-crypto-donations#tab=quick-setup6,1034.5496.4147.42
Transaction /wp-admin/admin.php?page=cdbbc-transaction1,0112.0326.2531.96
Shortcodes /wp-admin/admin.php?page=cdbbc-crypto-donations#tab=shortcodes5,5584.5069.5733.35
Add Coins/Tokens /wp-admin/admin.php?page=cdbbc-crypto-donations#tab=add-coins-tokens5,5744.7968.1437.59
Style Settings /wp-admin/admin.php?page=cdbbc-crypto-donations#tab=style-settings28,2686.031,109.6336.07
Terms & Conditions /wp-admin/admin.php?page=cdbbc-crypto-donations#tab=terms-conditions5,5654.2958.0741.97
Donation Via Wallets /wp-admin/admin.php?page=cdbbc-crypto-donations#tab=donation-via-wallets5,5554.6260.1333.64
Plugin Activation /wp-admin/admin.php?page=cdbbc-activation8841.9229.4628.96
Networks For Wallets /wp-admin/admin.php?page=cdbbc-crypto-donations#tab=networks-for-wallets5,5925.2373.4938.88

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

🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
It is recommended to fix the following
  • This plugin does not fully uninstall, leaving 1 table in the database
    • wp_cdbbc_transaction
  • The uninstall procedure has failed, leaving 14 options in the database
    • can_compress_scripts
    • widget_theysaidso_widget
    • cdbbc_activation_time
    • cdbbc-alreadyRated
    • CDBBC_FREE_VERSION
    • meta_private_key
    • wp_cdbbc_transaction_db_version
    • widget_recent-posts
    • widget_recent-comments
    • CDBBC_FRESH_INSTALLATION
    • ...

Smoke tests 50% from 4 tests

Server-side errors 0% from 1 test

🔹 Test weight: 20 | This is a shallow check for server-side errors
These errors were triggered by the plugin
    • > GET request to /wp-admin/admin.php?page=cdbbc-transaction
    • > Notice in wp-content/plugins/cryptocurrency-donation-box/admin/table/cdbbc-list-table.php+50
    Undefined index: orderby
    • > GET request to /wp-admin/admin.php?page=cdbbc-transaction
    • > Notice in wp-content/plugins/cryptocurrency-donation-box/admin/table/cdbbc-list-table.php+51
    Undefined index: order

SRP 50% 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
Please take a closer look at the following
  • 62× PHP files trigger server errors when accessed directly (only 10 are shown):
    • > PHP Fatal error
      Uncaught Error: Class 'CMB2_Type_Select' not found in wp-content/plugins/cryptocurrency-donation-box/admin/cmb2/includes/types/CMB2_Type_Select_Timezone.php:13
    • > PHP Notice
      Undefined variable: tos_url in wp-content/plugins/cryptocurrency-donation-box/meta-plugin-library/class-license-manager.php on line 219
    • > PHP Fatal error
      Uncaught Error: Class 'CMB2_Base' not found in wp-content/plugins/cryptocurrency-donation-box/admin/cmb2/includes/CMB2_Field.php:17
    • > PHP Fatal error
      Uncaught Error: Class 'CMB2_Type_Multi_Base' not found in wp-content/plugins/cryptocurrency-donation-box/admin/cmb2/includes/types/CMB2_Type_Select.php:13
    • > PHP Fatal error
      Uncaught Error: Class 'CMB2_Type_Text' not found in wp-content/plugins/cryptocurrency-donation-box/admin/cmb2/includes/types/CMB2_Type_Colorpicker.php:13
    • > PHP Fatal error
      Uncaught Error: Class 'CMB2_REST_Controller' not found in wp-content/plugins/cryptocurrency-donation-box/admin/cmb2/includes/rest-api/CMB2_REST_Controller_Boxes.php:17
    • > PHP Fatal error
      Uncaught Error: Class 'CMB2_Type_Taxonomy_Base' not found in wp-content/plugins/cryptocurrency-donation-box/admin/cmb2/includes/types/CMB2_Type_Taxonomy_Select.php:13
    • > PHP Fatal error
      Uncaught Error: Class 'CMB2_Type_File_Base' not found in wp-content/plugins/cryptocurrency-donation-box/admin/cmb2/includes/types/CMB2_Type_File_List.php:13
    • > PHP Notice
      Undefined variable: plugin_nonce in wp-content/plugins/cryptocurrency-donation-box/meta-plugin-library/class-license-manager.php on line 219
    • > PHP Notice
      Undefined variable: plugin_name_camel_case in wp-content/plugins/cryptocurrency-donation-box/meta-plugin-library/class-license-manager.php on line 219

User-side errors Passed 1 test

🔹 Test weight: 20 | This is a shallow check for browser errors
Everything seems fine on the user side

Optimizations

Plugin configuration 90% from 29 tests

readme.txt 88% from 16 tests

The readme.txt file is important because it is parsed by WordPress.org for the public listing of your plugin
These attributes need to be fixed: The official readme.txt is a good inspiration

cryptocurrency-donation-box/cryptocurrency-donation-box.php 92% from 13 tests

The entry point to "Cryptocurrency Payment & Donation Box - Accept Payments in any Cryptocurrency on your WP Site for Free" version 2.2.10 is a PHP file that has certain tags in its header comment area
You should first fix the following items:
  • Text Domain: The text domain name must use dashes instead of underscores, and it must be lowercase

Code Analysis 97% from 3 tests

File types Passed 1 test

🔸 Test weight: 35 | A short check of programming languages and file extensions; no executable files are allowed
No dangerous file extensions were detected38,074 lines of code in 247 files:
LanguageFilesBlank linesComment linesLines of code
PHP1384,4107,68316,557
JSON30010,512
CSS213221,2075,439
JavaScript255578593,344
SVG58391,930
Markdown1630255
PO File171137

PHP code 50% from 2 tests

Analyzing cyclomatic complexity and code structure
The following items need your attention
  • Method cyclomatic complexity has to be reduced to less than 100 (currently 139)
Cyclomatic complexity
Average complexity per logical line of code0.55
Average class complexity20.79
▷ Minimum class complexity1.00
▷ Maximum class complexity188.00
Average method complexity4.41
▷ Minimum method complexity1.00
▷ Maximum method complexity139.00
Code structure
Namespaces1
Interfaces0
Traits0
Classes141
▷ Abstract classes117.80%
▷ Concrete classes13092.20%
▷ Final classes43.08%
Methods821
▷ Static methods16119.61%
▷ Public methods71587.09%
▷ Protected methods9010.96%
▷ Private methods161.95%
Functions57
▷ Named functions57100.00%
▷ Anonymous functions00.00%
Constants24
▷ Global constants1041.67%
▷ Class constants1458.33%
▷ Public constants1178.57%

Plugin size Passed 2 tests

Image compression Passed 2 tests

Using a strong compression for your PNG files is a great way to speed-up your plugin
25 compressed PNG files occupy 0.23MB
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
admin/cmb2/images/ui-icons_454545_256x240.png4.27KB4.11KB▼ 3.78%
assets/images/default-logo.png0.59KB0.53KB▼ 9.44%
admin/cmb2/images/ui-bg_glass_95_fef1ec_1x400.png0.12KB0.14KB0.00%
admin/cmb2/images/ui-bg_glass_75_dadada_1x400.png0.11KB0.16KB0.00%
assets/images/cryptodonation-logo.png13.90KB6.21KB▼ 55.33%