Benchmarks
Plugin footprint 81% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
Installer ran successfully
Server metrics [RAM: ▲0.78MB] [CPU: ▲972.86ms] 50% from 4 tests
An overview of server-side resources used by StageShow
Please have a look at the following items
- CPU: The total CPU usage must kept under 500.00ms (currently 980.51ms on /wp-admin/admin.php?page=stageshow_seating)
- Extra CPU: Try to keep extra CPU usage under 200.00ms (currently 972.86ms on /wp-admin/admin.php?page=stageshow_seating)
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 4.38 ▲0.92 | 1,041.91 ▲1,006.69 |
Dashboard /wp-admin | 4.07 ▲0.77 | 1,026.93 ▲976.22 |
Posts /wp-admin/edit.php | 4.13 ▲0.77 | 1,039.31 ▲987.19 |
Add New Post /wp-admin/post-new.php | 6.68 ▲0.79 | 1,003.43 ▲921.32 |
Media Library /wp-admin/upload.php | 4.00 ▲0.77 | 2,381.72 ▲2,347.50 |
Price Plans /wp-admin/admin.php?page=stageshow_priceplans | 4.68 | 982.18 |
Sales /wp-admin/admin.php?page=stageshow_sales | 4.32 | 1,029.98 |
Prices /wp-admin/admin.php?page=stageshow_prices | 4.26 | 1,035.03 |
Settings /wp-admin/admin.php?page=stageshow_settings | 6.53 | 1,018.88 |
Tools /wp-admin/admin.php?page=stageshow_tools | 4.50 | 984.28 |
Overview /wp-admin/admin.php?page=stageshow_adminmenu | 4.20 | 1,033.95 |
Performances /wp-admin/admin.php?page=stageshow_performances | 4.20 | 1,000.56 |
Discount Codes /wp-admin/admin.php?page=stageshow_discounts | 4.11 | 1,002.13 |
Shows /wp-admin/admin.php?page=stageshow_shows | 4.13 | 1,005.44 |
Seating Plans /wp-admin/admin.php?page=stageshow_seating | 4.20 | 980.51 |
Server storage [IO: ▲5.31MB] [DB: ▲0.02MB] 67% from 3 tests
Analyzing filesystem and database footprints of this plugin
It is recommended to fix the following issues
- Illegal file modification detected: 1 file (0.00KB) outside of "wp-content/plugins/stageshow/" and "wp-content/uploads/"
- (new file) logs/.empty
Filesystem: 750 new files
Database: 18 new tables, 6 new options
New tables |
---|
wp_sshow_seating |
wp_sshow_discodes |
wp_sshow_zones |
wp_sshow_prices |
wp_sshow_sessions |
wp_sshow_sales |
wp_sshow_verifys |
wp_sshow_dispresets |
wp_sshow_shows |
wp_sshow_spooler |
... |
New WordPress options |
---|
widget_theysaidso_widget |
can_compress_scripts |
theysaidso_admin_options |
widget_recent-posts |
db_upgraded |
widget_recent-comments |
Browser metrics Passed 4 tests
A check of browser resources used by StageShow
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,001 ▲214 | 13.79 ▼0.92 | 8.10 ▲6.25 | 39.40 ▲2.00 |
Dashboard /wp-admin | 2,257 ▲79 | 5.61 ▼0.09 | 99.44 ▼12.27 | 72.41 ▲26.57 |
Posts /wp-admin/edit.php | 2,174 ▲74 | 1.96 ▲0.00 | 35.03 ▼8.90 | 31.30 ▼7.05 |
Add New Post /wp-admin/post-new.php | 1,464 ▼66 | 18.41 ▼4.70 | 596.39 ▼82.10 | 32.35 ▼19.51 |
Media Library /wp-admin/upload.php | 1,465 ▲68 | 4.17 ▼0.01 | 110.29 ▲7.57 | 90.17 ▲45.76 |
Price Plans /wp-admin/admin.php?page=stageshow_priceplans | 893 | 2.03 | 25.01 | 36.41 |
Sales /wp-admin/admin.php?page=stageshow_sales | 917 | 2.04 | 28.15 | 38.27 |
Prices /wp-admin/admin.php?page=stageshow_prices | 885 | 2.16 | 26.20 | 28.21 |
Settings /wp-admin/admin.php?page=stageshow_settings | 3,000 | 1.69 | 28.20 | 53.71 |
Tools /wp-admin/admin.php?page=stageshow_tools | 1,322 | 1.68 | 25.53 | 33.85 |
Overview /wp-admin/admin.php?page=stageshow_adminmenu | 1,158 | 2.17 | 28.79 | 36.89 |
Performances /wp-admin/admin.php?page=stageshow_performances | 885 | 1.68 | 27.07 | 30.86 |
Discount Codes /wp-admin/admin.php?page=stageshow_discounts | 875 | 2.03 | 24.22 | 29.03 |
Shows /wp-admin/admin.php?page=stageshow_shows | 872 | 2.03 | 26.23 | 29.07 |
Seating Plans /wp-admin/admin.php?page=stageshow_seating | 875 | 2.03 | 22.98 | 26.61 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 75% from 4 tests
🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
The following items require your attention
- Zombie WordPress options were found after uninstall: 6 options
- widget_recent-posts
- widget_theysaidso_widget
- db_upgraded
- widget_recent-comments
- theysaidso_admin_options
- can_compress_scripts
Smoke tests 25% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the server (in the Apache logs)
Good news, no errors were detected
SRP 0% from 2 tests
🔹 Tests weight: 20 | The single-responsibility principle: PHP files have to remain inert when accessed directly, throwing no errors and performing no actions
Please take a closer look at the following
- 29× PHP files output text when accessed directly (only 10 are shown):
- > /wp-content/plugins/stageshow/lib/Mollie/API/examples/09-oauth-list-settlements.php
- > /wp-content/plugins/stageshow/lib/stripe-php/build.php
- > /wp-content/plugins/stageshow/lib/Mollie/API/examples/24-revoke-mandate.php
- > /wp-content/plugins/stageshow/uninstall.php
- > /wp-content/plugins/stageshow/lib/Mollie/API/examples/13-customer-payments-history.php
- > /wp-content/plugins/stageshow/lib/Mollie/API/examples/02-webhook-verification.php
- > /wp-content/plugins/stageshow/lib/Mollie/API/examples/19-update-profile.php
- > /wp-content/plugins/stageshow/lib/Mollie/API/examples/22-create-mandate-subscription.php
- > /wp-content/plugins/stageshow/lib/Mollie/API/examples/14-recurring-first-payment.php
- > /wp-content/plugins/stageshow/samples/stageshow_shortcodes_sample.php
- 625× PHP files trigger server errors when accessed directly (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Class 'GuzzleHttp\\Exception\\RequestException' not found in wp-content/plugins/stageshow/lib/Mollie/API/vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php:10
- > PHP Warning
require_once(STAGESHOW_INCLUDE_PATHstageshowlib_adminlist.php): failed to open stream: No such file or directory in wp-content/plugins/stageshow/admin/stageshow_manage_seating.php on line 23
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\Service\\AbstractServiceFactory' not found in wp-content/plugins/stageshow/lib/stripe-php/lib/Service/Reporting/ReportingServiceFactory.php:13
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\StripeObject' not found in wp-content/plugins/stageshow/lib/stripe-php/lib/Collection.php:16
- > PHP Warning
Use of undefined constant STAGESHOW_INCLUDE_PATH - assumed 'STAGESHOW_INCLUDE_PATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/stageshow/include/stageshow_jquery_email.php on line 23
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\Service\\AbstractService' not found in wp-content/plugins/stageshow/lib/stripe-php/lib/Service/DisputeService.php:7
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\Exception\\OAuth\\OAuthErrorException' not found in wp-content/plugins/stageshow/lib/stripe-php/lib/Exception/OAuth/UnknownOAuthErrorException.php:10
- > PHP Fatal error
Uncaught Error: Class 'Stripe\\Service\\AbstractService' not found in wp-content/plugins/stageshow/lib/stripe-php/lib/Service/EphemeralKeyService.php:7
- > PHP Fatal error
Uncaught Error: Class 'StageShowLibSalesCartPluginBaseClass' not found in wp-content/plugins/stageshow/include/stageshowlib_salesplugin.php:41
- > PHP Fatal error
Uncaught Error: Class 'QRcode' not found in wp-content/plugins/stageshow/include/stageshow_qrbarcode.php:8
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | This is a shallow check for browser errors
There are user-side issues you should fix
- > GET request to /wp-admin/admin.php?page=stageshow_tools
- > Javascript (severe) in unknown
/wp-admin/admin.php?page=stageshow_tools 206:30 Uncaught SyntaxError: Unexpected token ';'
Optimizations
Plugin configuration 90% from 29 tests
readme.txt 81% from 16 tests
The readme.txt file is undoubtedly the most important file in your plugin, preparing it for public listing on WordPress.org
Attributes that require attention:
- Tags: Too many tags (19 tag instead of maximum 10); only the first 5 tags are used in your directory listing
- Screenshots: A description for screenshot #14 is required in stageshow/assets to your readme.txt
- Screenshots: Please add an image for screenshot #20 (Screenshot 19: Sample EMail)
stageshow/stageshow.php Passed 13 tests
The principal PHP file in "StageShow" v. 9.8.3 is loaded by WordPress automatically on each request
49 characters long description:
A Wordpress Plugin to sell theatre tickets online
Code Analysis 5% from 3 tests
File types 0% from 1 test
🔸 Test weight: 35 | A short review of files and their extensions; it is not recommended to include executable files
These items require your attention
- Even if your plugin relies on executable files (for example a companion app), never distribute executable files with your plugin
- .jar - Java Archive in Firefox, IE, Chrome, Safari
- ☣ wp-content/plugins/stageshow/admin/java/StageshowPrinting.jar
- .crt - Security Certificate in Firefox, IE, Chrome, Safari
- ☣ wp-content/plugins/stageshow/lib/stripe-php/data/ca-certificates.crt
- .jar - Java Archive in Firefox, IE, Chrome, Safari
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 588 | 13,634 | 23,500 | 53,779 |
Markdown | 13 | 1,790 | 0 | 4,876 |
JavaScript | 11 | 800 | 370 | 3,616 |
CSS | 9 | 320 | 332 | 1,115 |
JSON | 7 | 0 | 0 | 501 |
XML | 8 | 0 | 0 | 238 |
HTML | 1 | 8 | 8 | 178 |
SQL | 5 | 0 | 0 | 173 |
make | 2 | 13 | 0 | 36 |
YAML | 1 | 0 | 0 | 3 |
PHP code Passed 2 tests
A short review of cyclomatic complexity and code structure
There are no cyclomatic complexity problems detected for this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.28 |
Average class complexity | 11.44 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 467.00 |
Average method complexity | 2.61 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 73.00 |
Code structure | ||
---|---|---|
Namespaces | 49 | |
Interfaces | 23 | |
Traits | 11 | |
Classes | 523 | |
▷ Abstract classes | 14 | 2.68% |
▷ Concrete classes | 509 | 97.32% |
▷ Final classes | 7 | 1.38% |
Methods | 3,622 | |
▷ Static methods | 474 | 13.09% |
▷ Public methods | 3,370 | 93.04% |
▷ Protected methods | 90 | 2.48% |
▷ Private methods | 162 | 4.47% |
Functions | 163 | |
▷ Named functions | 64 | 39.26% |
▷ Anonymous functions | 99 | 60.74% |
Constants | 1,790 | |
▷ Global constants | 474 | 26.48% |
▷ Class constants | 1,316 | 73.52% |
▷ Public constants | 1,316 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
It is recommended to compress PNG files in your plugin to minimize bandwidth usage
15 PNG files occupy 0.06MB with 0.03MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
admin/images/stageshow.png | 0.57KB | 0.43KB | ▼ 23.79% |
templates/images/stage.png | 0.24KB | 0.17KB | ▼ 30.89% |
templates/tickets/Ticket.png | 30.33KB | 0.23KB | ▼ 99.24% |
templates/tickets/Compact.png | 2.03KB | 1.34KB | ▼ 34.02% |
images/delete.png | 4.95KB | 2.48KB | ▼ 49.88% |