Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
The plugin installed successfully, without throwing any errors or notices
Server metrics [RAM: ▼0.62MB] [CPU: ▼38.74ms] Passed 4 tests
Server-side resources used by Expert Invoice
This plugin has minimal impact on server resources
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.37 ▼0.10 | 18.42 ▼20.55 |
Dashboard /wp-admin | 3.40 ▲0.06 | 21.24 ▼39.48 |
Posts /wp-admin/edit.php | 3.41 ▲0.05 | 18.95 ▼26.94 |
Add New Post /wp-admin/post-new.php | 3.40 ▼2.48 | 21.45 ▼67.98 |
Media Library /wp-admin/upload.php | 3.40 ▲0.18 | 24.44 ▼9.65 |
Products /wp-admin/admin.php?page=expert-invoice-product | 3.41 | 19.76 |
Payments /wp-admin/admin.php?page=expert-invoice-payment | 3.41 | 22.09 |
Dashboard /wp-admin/admin.php?page=expert-invoice | 3.41 | 19.17 |
Refunds /wp-admin/admin.php?page=expert-invoice-refund | 3.41 | 21.52 |
Customers /wp-admin/admin.php?page=expert-invoice-customer | 3.41 | 20.76 |
Quotes /wp-admin/admin.php?page=expert-invoice-quote | 3.41 | 21.40 |
Customer Categories /wp-admin/admin.php?page=expert-invoice-customer-category | 3.41 | 18.53 |
Settings /wp-admin/admin.php?page=expert-invoice-option | 3.41 | 19.34 |
Invoices /wp-admin/admin.php?page=expert-invoice-invoice | 3.41 | 19.71 |
Email Templates /wp-admin/edit.php?post_type=expert_template | 3.41 | 18.57 |
Server storage [IO: ▲4.08MB] [DB: ▲0.01MB] Passed 3 tests
A short overview of filesystem and database impact
This plugin installed successfully
Filesystem: 439 new files
Database: 11 new tables, 7 new options
New tables |
---|
wp_expertinvoice_payment |
wp_expertinvoice_invoice |
wp_expertinvoice_customer |
wp_expertinvoice_stock_transaction |
wp_expertinvoice_customer_category |
wp_expertinvoice_invoice_item |
wp_expertinvoice_refund |
wp_expertinvoice_product |
wp_expertinvoice_payment_method |
wp_expertinvoice_tax |
... |
New WordPress options |
---|
theysaidso_admin_options |
widget_recent-comments |
can_compress_scripts |
db_upgraded |
widget_theysaidso_widget |
widget_recent-posts |
expert-invoice |
Browser metrics Passed 4 tests
This is an overview of browser requirements for Expert Invoice
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,888 ▲117 | 14.79 ▲0.62 | 1.99 ▲0.18 | 43.20 ▲1.30 |
Dashboard /wp-admin | 2,272 ▲84 | 4.87 ▼1.00 | 100.41 ▼3.48 | 38.99 ▼4.08 |
Posts /wp-admin/edit.php | 2,152 ▲63 | 2.00 ▼0.04 | 33.75 ▼4.37 | 34.85 ▲3.01 |
Add New Post /wp-admin/post-new.php | 1,563 ▲30 | 17.63 ▼5.45 | 688.61 ▲11.54 | 54.43 ▲2.27 |
Media Library /wp-admin/upload.php | 1,454 ▲66 | 4.28 ▼0.04 | 103.62 ▼8.29 | 45.99 ▼1.85 |
Products /wp-admin/admin.php?page=expert-invoice-product | 1,260 | 3.87 | 64.53 | 26.44 |
Payments /wp-admin/admin.php?page=expert-invoice-payment | 1,183 | 3.89 | 61.70 | 25.37 |
Dashboard /wp-admin/admin.php?page=expert-invoice | 1,458 | 6.02 | 81.12 | 34.24 |
Refunds /wp-admin/admin.php?page=expert-invoice-refund | 1,177 | 3.84 | 52.35 | 26.48 |
Customers /wp-admin/admin.php?page=expert-invoice-customer | 1,187 | 3.86 | 50.54 | 25.65 |
Quotes /wp-admin/admin.php?page=expert-invoice-quote | 1,174 | 3.84 | 52.42 | 26.28 |
Customer Categories /wp-admin/admin.php?page=expert-invoice-customer-category | 1,171 | 3.86 | 52.77 | 26.10 |
Settings /wp-admin/admin.php?page=expert-invoice-option | 1,719 | 4.85 | 70.95 | 56.90 |
Invoices /wp-admin/admin.php?page=expert-invoice-invoice | 1,186 | 3.91 | 48.97 | 23.63 |
Email Templates /wp-admin/edit.php?post_type=expert_template | 1,853 | 1.98 | 33.39 | 30.36 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 50% from 4 tests
🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
Please fix the following items
- Uninstall procedure had uncaught errors
- > Notice in wp-content/plugins/expert-invoice/envoqon/web/HttpSession.php+30
session_start(): A session had already been started - ignoring
- This plugin does not fully uninstall, leaving 6 options in the database
- widget_recent-comments
- db_upgraded
- widget_recent-posts
- can_compress_scripts
- theysaidso_admin_options
- widget_theysaidso_widget
Smoke tests 25% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | This is a short smoke test looking for server-side errors
Almost there, just fix the following server-side errors
- 11 occurences, only the last one shown
- > GET request to /wp-admin/edit.php?post_type=expert_template
- > POST request to /wp-admin/admin-ajax.php
- > Notice in wp-content/plugins/expert-invoice/envoqon/web/HttpSession.php+30
session_start(): A session had already been started - ignoring
SRP 50% 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
- 246× GET requests to PHP files have triggered server-side errors or warnings (only 10 are shown):
- > PHP Fatal error
Uncaught Error: Call to undefined function __() in wp-content/plugins/expert-invoice/application/views/report/item_sales.php:10
- > PHP Fatal error
Uncaught Error: Class 'FontLib\\BinaryStream' not found in wp-content/plugins/expert-invoice/vendor/phenx/php-font-lib/src/FontLib/Table/DirectoryEntry.php:10
- > PHP Fatal error
Uncaught Error: Class 'Sabberworm\\CSS\\CSSList\\CSSList' not found in wp-content/plugins/expert-invoice/vendor/sabberworm/php-css-parser/lib/Sabberworm/CSS/CSSList/CSSBlockList.php:13
- > PHP Fatal error
Uncaught Error: Class 'envoqon\\db\\DbMigration' not found in wp-content/plugins/expert-invoice/application/migrations/m181231_124550_initial.php:5
- > PHP Fatal error
Uncaught Error: Class 'Dompdf\\FrameDecorator\\AbstractFrameDecorator' not found in wp-content/plugins/expert-invoice/vendor/dompdf/dompdf/src/FrameDecorator/TableRow.php:10
- > PHP Warning
Use of undefined constant WP_DEBUG - assumed 'WP_DEBUG' (this will throw an Error in a future version of PHP) in wp-content/plugins/expert-invoice/envoqon/App.php on line 18
- > PHP Fatal error
Uncaught Error: Class 'envoqon\\base\\Component' not found in wp-content/plugins/expert-invoice/envoqon/base/Model.php:15
- > PHP Fatal error
Uncaught Error: Class 'envoqon\\widgets\\Widget' not found in wp-content/plugins/expert-invoice/envoqon/widgets/ActiveForm.php:14
- > PHP Fatal error
Uncaught Error: Class 'envoqon\\web\\Controller' not found in wp-content/plugins/expert-invoice/application/controllers/ProductController.php:11
- > PHP Fatal error
Uncaught Error: Class 'envoqon\\base\\ApplicationComponent' not found in wp-content/plugins/expert-invoice/envoqon/web/HttpSession.php:15
- > PHP Fatal error
User-side errors 0% from 1 test
🔹 Test weight: 20 | A shallow check that no browser errors were triggered
Please fix the following browser errors
- > GET request to /wp-admin/admin.php?page=expert-invoice
- > Console-api (warning) in unknown
/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.3.1 1:28609 "jQuery.Deferred exception: $ is not a function" "TypeError: $ is not a function\n at getSalesReport (/wp-admin/admin.php?page=expert-invoice:324:9)\n at HTMLDocument.\u003Canonymous> (/wp-admin/admin.php?page=expert-invoice:350:41)\n at e (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.3.1:2:26990)\n at t (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.3.1:2:27292)" undefined
- > GET request to /wp-admin/admin.php?page=expert-invoice
- > Javascript (severe) in unknown
/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.3.1 1:28721 Uncaught TypeError: $ is not a function
Optimizations
Plugin configuration Passed 29 tests
readme.txt Passed 16 tests
The readme.txt file describes your plugin functionality and requirements and it is parsed to prepare the your plugin's listing
5 plugin tags: invoicing, quotes, invoice, pdf invoice, paypal
expert-invoice/expert-invoice.php Passed 13 tests
"Expert Invoice" version 1.0.2's primary PHP file adds more information about the plugin and serves as the entry point for WordPress
47 characters long description:
A feature-packed and flexible invoicing system.
Code Analysis 97% from 3 tests
File types Passed 1 test
🔸 Test weight: 35 | This is a short overview of programming languages used in this plugin, detecting executable files
There were no executable files found in this plugin54,461 lines of code in 377 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 326 | 15,179 | 369 | 51,206 |
Markdown | 6 | 255 | 0 | 909 |
JavaScript | 17 | 73 | 259 | 771 |
CSS | 9 | 108 | 71 | 552 |
JSON | 6 | 0 | 0 | 336 |
SVG | 7 | 1 | 3 | 269 |
PO File | 1 | 109 | 145 | 216 |
XML | 4 | 3 | 2 | 185 |
HTML | 1 | 0 | 0 | 17 |
PHP code 50% 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 methods to less than 100 (currently 652)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.42 |
Average class complexity | 31.00 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 765.00 |
Average method complexity | 3.64 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 652.00 |
Code structure | ||
---|---|---|
Namespaces | 44 | |
Interfaces | 5 | |
Traits | 0 | |
Classes | 282 | |
▷ Abstract classes | 22 | 7.80% |
▷ Concrete classes | 260 | 92.20% |
▷ Final classes | 0 | 0.00% |
Methods | 3,327 | |
▷ Static methods | 325 | 9.77% |
▷ Public methods | 2,853 | 85.75% |
▷ Protected methods | 330 | 9.92% |
▷ Private methods | 144 | 4.33% |
Functions | 47 | |
▷ Named functions | 6 | 12.77% |
▷ Anonymous functions | 41 | 87.23% |
Constants | 205 | |
▷ Global constants | 5 | 2.44% |
▷ Class constants | 200 | 97.56% |
▷ Public constants | 200 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
All PNG images should be compressed to minimize bandwidth usage for end users
8 PNG files occupy 0.13MB with 0.03MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
images/icons/item.png | 1.97KB | 2.14KB | 0.00% |
images/icons/favicon.png | 1.36KB | 1.35KB | ▼ 1.29% |
images/banner-1544x500.png | 86.70KB | 30.15KB | ▼ 65.22% |
images/icons/user.png | 3.55KB | 3.63KB | 0.00% |
images/icon-128x128.png | 3.79KB | 2.09KB | ▼ 44.81% |