WordPress plugin Prompt.Cash scored 88% from 54 tests.

About plugin

  • Plugin page: prompt-cash-monet...
  • Plugin version: 1.0.20
  • PHP compatiblity: 7.1+
  • PHP version: 7.4.16
  • WordPress compatibility: 4.7-5.8
  • WordPress version: 5.9.2
  • First release: Apr 13, 2021
  • Latest release: Aug 26, 2021
  • Number of updates: 43
  • Update frequency: every 3.2 days
  • Top authors: ekliptor (100%)

Code review

54 tests

User reviews

1 review

Install metrics

20+ active / 1,265 total downloads

Benchmarks

Plugin footprint Passed 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
The plugin installed successfully, without throwing any errors or notices

Server metrics [RAM: ▲0.07MB] [CPU: ▼288.11ms] Passed 4 tests

Analyzing server-side resources used by Prompt.Cash
Server-side resource usage in normal parameters
PageMemory (MB)CPU Time (ms)
Home /3.63 ▲0.1161.48 ▲5.05
Dashboard /wp-admin3.48 ▲0.0737.21 ▲3.02
Posts /wp-admin/edit.php3.70 ▲0.0639.39 ▲0.70
Add New Post /wp-admin/post-new.php7.01 ▲0.04101.10 ▼1,155.14
Media Library /wp-admin/upload.php3.42 ▲0.1326.67 ▼1.02

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

Filesystem and database footprint
There were no storage issued detected upon installing this plugin
Filesystem: 83 new files
Database: 2 new tables, 3 new options
New tables
wp_prc_transactions
wp_prc_sessions
New WordPress options
promptcash_tables
promptcash_version
promptcash_settings

Browser metrics Passed 4 tests

An overview of browser requirements for Prompt.Cash
There were no issues detected in relation to browser resource usage
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /3,930 ▲17616.59 ▲0.8711.14 ▲4.832.71 ▼1.04
Dashboard /wp-admin2,915 ▲586.01 ▼0.17119.33 ▼24.85229.67 ▲18.52
Posts /wp-admin/edit.php2,727 ▲393.12 ▼0.1266.84 ▼2.54142.23 ▼12.89
Add New Post /wp-admin/post-new.php1,687 ▲2616.37 ▼0.43409.72 ▼13.98202.27 ▲38.80
Media Library /wp-admin/upload.php1,736 ▲415.57 ▲0.07129.61 ▼48.71210.73 ▲25.04

Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] Passed 4 tests

🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
Uninstaller ran successfully

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
Everything seems fine, however this is by no means an exhaustive test

SRP 0% from 2 tests

🔹 Tests weight: 20 | It is important to ensure that your PHP files perform no action when accessed directly, respecting the single-responsibility principle
Please take a closer look at the following
  • 14× GET requests to PHP files return non-empty strings (only 10 are shown):
    • > /wp-content/plugins/prompt-cash-monetize-your-blog-with-bitcoin-cash/tpl/client/button/button.php
    • > /wp-content/plugins/prompt-cash-monetize-your-blog-with-bitcoin-cash/tpl/client/button/amountEditInput.php
    • > /wp-content/plugins/prompt-cash-monetize-your-blog-with-bitcoin-cash/tpl/client/button/buttonCode.php
    • > /wp-content/plugins/prompt-cash-monetize-your-blog-with-bitcoin-cash/prompt-cash.php
    • > /wp-content/plugins/prompt-cash-monetize-your-blog-with-bitcoin-cash/tpl/client/RestrictContentPro/payFrame.php
    • > /wp-content/plugins/prompt-cash-monetize-your-blog-with-bitcoin-cash/tpl/client/button/hiddenContent.php
    • > /wp-content/plugins/prompt-cash-monetize-your-blog-with-bitcoin-cash/tpl/cookieConfirm.php
    • > /wp-content/plugins/prompt-cash-monetize-your-blog-with-bitcoin-cash/tpl/admin/mainSettingsWrap.php
    • > /wp-content/plugins/prompt-cash-monetize-your-blog-with-bitcoin-cash/tpl/client/button/blurryImages.php
    • > /wp-content/plugins/prompt-cash-monetize-your-blog-with-bitcoin-cash/tpl/admin/mainSettings.php
  • 17× GET requests to PHP files have triggered server-side errors or warnings (only 10 are shown):
    • > PHP Fatal error
      require_once(): Failed opening required 'PRCA__PLUGIN_DIRclasses/Settings.php' (include_path='.:/usr/share/php') in wp-content/plugins/prompt-cash-monetize-your-blog-with-bitcoin-cash/classes/PromptCash.php on line 5
    • > PHP Fatal error
      Uncaught Error: Class 'Ekliptor\\PromptCash\\AbstractSessionHandler' not found in wp-content/plugins/prompt-cash-monetize-your-blog-with-bitcoin-cash/classes/Session/MemcachedSessionHandler.php:6
    • > PHP Fatal error
      Uncaught Error: Call to undefined function esc_html_e() in wp-content/plugins/prompt-cash-monetize-your-blog-with-bitcoin-cash/tpl/admin/metaboxPayment.php:1
    • > PHP Fatal error
      Uncaught Error: Class 'Ekliptor\\PromptCash\\AbstractImage' not found in wp-content/plugins/prompt-cash-monetize-your-blog-with-bitcoin-cash/classes/blurry/ImageParser.php:18
    • > PHP Warning
      require_once(PRCA__PLUGIN_DIRclasses/Session/MemcachedSessionHandler.php): failed to open stream: No such file or directory in wp-content/plugins/prompt-cash-monetize-your-blog-with-bitcoin-cash/classes/Session/AbstractSessionHandler.php on line 31
    • > PHP Fatal error
      Uncaught Error: Class 'WC_Payment_Gateway' not found in wp-content/plugins/prompt-cash-monetize-your-blog-with-bitcoin-cash/integrations/woocommerce/WcGateway.php:5
    • > PHP Warning
      Use of undefined constant PRCA__PLUGIN_DIR - assumed 'PRCA__PLUGIN_DIR' (this will throw an Error in a future version of PHP) in wp-content/plugins/prompt-cash-monetize-your-blog-with-bitcoin-cash/classes/Session/AbstractSessionHandler.php on line 31
    • > PHP Warning
      Use of undefined constant PRCA__PLUGIN_DIR - assumed 'PRCA__PLUGIN_DIR' (this will throw an Error in a future version of PHP) in wp-content/plugins/prompt-cash-monetize-your-blog-with-bitcoin-cash/classes/PromptCash.php on line 5
    • > PHP Fatal error
      require_once(): Failed opening required 'PRCA__PLUGIN_DIRclasses/Session/MemcachedSessionHandler.php' (include_path='.:/usr/share/php') in wp-content/plugins/prompt-cash-monetize-your-blog-with-bitcoin-cash/classes/Session/AbstractSessionHandler.php on line 31
    • > PHP Fatal error
      Uncaught Error: Call to undefined function esc_html_e() in wp-content/plugins/prompt-cash-monetize-your-blog-with-bitcoin-cash/tpl/admin/metaboxAccount.php:2

User-side errors Passed 1 test

🔹 Test weight: 20 | A shallow check that no browser errors were triggered
No browser errors were detected

Optimizations

Plugin configuration 90% from 29 tests

readme.txt 94% from 16 tests

It's important to format your readme.txt file correctly as it is parsed for the public listing of your plugin
Please fix the following attributes:
  • Tags: You are using too many tags: 11 tag instead of maximum 10
You can take inspiration from this readme.txt

prompt-cash-monetize-your-blog-with-bitcoin-cash/prompt-cash.php 85% from 13 tests

The main PHP script in "Prompt.Cash" version 1.0.20 is automatically included on every request by WordPress
Please make the necessary changes and fix the following:
  • Text Domain: You no longer need to specify the text domain since WordPress 4.6; it must be the same as the plugin slug
  • Main file name: The principal plugin file should be the same as the plugin slug ("prompt-cash-monetize-your-blog-with-bitcoin-cash.php" instead of "prompt-cash.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 plugin4,558 lines of code in 68 files:
LanguageFilesBlank linesComment linesLines of code
PHP496051,0553,310
TypeScript12150139822
CSS26618336
JSON20046
JavaScript292932
Markdown17012

PHP code Passed 2 tests

Analyzing logical lines of code, cyclomatic complexity, and other code metrics
All good! No complexity issues found
Cyclomatic complexity
Average complexity per logical line of code0.31
Average class complexity16.03
▷ Minimum class complexity1.00
▷ Maximum class complexity68.00
Average method complexity2.67
▷ Minimum method complexity1.00
▷ Maximum method complexity18.00
Code structure
Namespaces1
Interfaces0
Traits0
Classes29
▷ Abstract classes13.45%
▷ Concrete classes2896.55%
▷ Final classes00.00%
Methods252
▷ Static methods3212.70%
▷ Public methods20681.75%
▷ Protected methods4116.27%
▷ Private methods51.98%
Functions13
▷ Named functions323.08%
▷ Anonymous functions1076.92%
Constants29
▷ Global constants310.34%
▷ Class constants2689.66%
▷ Public constants26100.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

Often times overlooked, PNG files can occupy unnecessary space in your plugin
5 PNG files occupy 0.02MB with 0.01MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
img/prompt_48.png5.00KB2.35KB▼ 53.00%
img/prompt_16.png1.72KB0.97KB▼ 43.88%
img/prompt_64.png6.65KB2.89KB▼ 56.63%
img/bch_32.png2.87KB1.60KB▼ 44.24%
img/prompt_32.png5.00KB2.35KB▼ 52.98%