Benchmarks
Plugin footprint 48% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | The install procedure must perform silently
Installer ran successfully
Server metrics [RAM: ▼0.87MB] [CPU: ▼38.70ms] Passed 4 tests
An overview of server-side resources used by Give It Away Now!
No issues were detected with server-side resource usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 3.09 ▼0.37 | 16.58 ▼27.14 |
Dashboard /wp-admin | 3.14 ▼0.16 | 21.90 ▼29.03 |
Posts /wp-admin/edit.php | 3.14 ▼0.21 | 22.35 ▼24.22 |
Add New Post /wp-admin/post-new.php | 3.14 ▼2.75 | 22.81 ▼74.42 |
Media Library /wp-admin/upload.php | 3.14 ▼0.09 | 22.74 ▼10.18 |
All Giveaways /wp-admin/edit.php?post_type=giveaway | 3.14 | 18.68 |
Add New /wp-admin/post-new.php?post_type=giveaway | 3.14 | 20.45 |
Server storage [IO: ▲9.46MB] [DB: ▲0.00MB] Passed 3 tests
Input-output and database impact of this plugin
The plugin installed successfully
Filesystem: 857 new files
Database: 1 new table, 6 new options
New tables |
---|
wp_give_it_away |
New WordPress options |
---|
widget_recent-posts |
can_compress_scripts |
theysaidso_admin_options |
db_upgraded |
widget_theysaidso_widget |
widget_recent-comments |
Browser metrics Passed 4 tests
A check of browser resources used by Give It Away Now!
This plugin has a minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,977 ▲242 | 15.12 ▲0.83 | 1.67 ▼0.28 | 41.87 ▼2.57 |
Dashboard /wp-admin | 2,383 ▲191 | 6.52 ▲1.57 | 132.21 ▲10.80 | 42.20 ▼5.55 |
Posts /wp-admin/edit.php | 2,286 ▲197 | 3.40 ▲1.36 | 55.06 ▲19.66 | 35.47 ▲0.28 |
Add New Post /wp-admin/post-new.php | 1,575 ▲40 | 23.58 ▲0.55 | 678.49 ▲36.55 | 35.34 ▼42.38 |
Media Library /wp-admin/upload.php | 1,428 ▲40 | 4.18 ▼0.02 | 79.99 ▼15.49 | 41.18 ▼1.86 |
Give it Away Now Entries /wp-admin/giveaway-form.php | 26 | 0.44 | 0.11 | 13.69 |
All Giveaways /wp-admin/edit.php?post_type=giveaway | 1,259 | 3.40 | 45.22 | 25.35 |
Add New /wp-admin/post-new.php?post_type=giveaway | 2,902 | 9.68 | 253.61 | 79.04 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 25% from 4 tests
🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
The following items require your attention
- Uninstall procedure had uncaught errors
- > Warning in wp-content/plugins/give-it-away-now/includes/metabox/init.php+724
count(): Parameter must be an array or an object that implements Countable
- Zombie tables detected upon uninstall: 1 table
- wp_give_it_away
- Zombie WordPress options were found after uninstall: 6 options
- theysaidso_admin_options
- widget_recent-comments
- db_upgraded
- can_compress_scripts
- widget_recent-posts
- widget_theysaidso_widget
Smoke tests 0% from 4 tests
Server-side errors 0% from 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the server (in the Apache logs)
Almost there, just fix the following server-side errors
- 3 occurences, only the last one shown
- > GET request to /wp-admin/post-new.php?post_type=giveaway
- > Warning in wp-content/plugins/give-it-away-now/includes/metabox/init.php+724
count(): Parameter must be an array or an object that implements Countable
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
The following issues need your attention
- 16× PHP files output text when accessed directly (only 10 are shown):
- > /wp-content/plugins/give-it-away-now/includes/datatables/media/unit_testing/templates/6776.php
- > /wp-content/plugins/give-it-away-now/includes/datatables/media/unit_testing/templates/two_tables.php
- > /wp-content/plugins/give-it-away-now/includes/datatables/media/unit_testing/templates/dom_data.php
- > /wp-content/plugins/give-it-away-now/includes/datatables/media/unit_testing/templates/empty_table.php
- > /wp-content/plugins/give-it-away-now/includes/datatables/media/unit_testing/templates/deferred_table.php
- > /wp-content/plugins/give-it-away-now/includes/datatables/media/unit_testing/templates/js_data.php
- > /wp-content/plugins/give-it-away-now/includes/datatables/media/unit_testing/templates/-complex_header.php
- > /wp-content/plugins/give-it-away-now/includes/datatables/media/unit_testing/templates/js_data_mixed_types.php
- > /wp-content/plugins/give-it-away-now/includes/datatables/media/unit_testing/templates/dom_data_two_headers.php
- > /wp-content/plugins/give-it-away-now/includes/datatables/media/unit_testing/controller.php
- 60× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
- > PHP Warning
include(): Failed opening 'datatables/mysql.php' for inclusion (include_path='.:/usr/share/php') in wp-content/plugins/give-it-away-now/includes/datatables/examples/server_side/scripts/custom_data_property.php on line 24
- > PHP Fatal error
Uncaught Error: Call to undefined function mysql_pconnect() in wp-content/plugins/give-it-away-now/includes/datatables/examples/server_side/scripts/jsonp.php:45
- > PHP Notice
Undefined index: scripts in wp-content/plugins/give-it-away-now/includes/datatables/media/unit_testing/templates/js_data.php on line 84
- > PHP Fatal error
Uncaught Error: Call to undefined function mysql_pconnect() in wp-content/plugins/give-it-away-now/includes/datatables/examples/server_side/scripts/server_processing.php:45
- > PHP Warning
include(datatables/mysql.php): failed to open stream: No such file or directory in wp-content/plugins/give-it-away-now/includes/datatables/examples/server_side/scripts/jsonp.php on line 24
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/give-it-away-now/giveaway-admin.php:3
- > PHP Fatal error
Uncaught Error: Call to undefined function add_action() in wp-content/plugins/give-it-away-now/giveaway-admin.php:3
- > PHP Warning
include(datatables/mysql.php): failed to open stream: No such file or directory in wp-content/plugins/give-it-away-now/includes/datatables/examples/server_side/scripts/post.php on line 24
- > PHP Fatal error
Uncaught Error: Call to undefined function mysql_pconnect() in wp-content/plugins/give-it-away-now/includes/datatables/examples/server_side/scripts/objects.php:45
- > PHP Warning
include(): Failed opening 'datatables/mysql.php' for inclusion (include_path='.:/usr/share/php') in wp-content/plugins/give-it-away-now/includes/datatables/extras/Scroller/media/data/server_processing.php on line 24
- > PHP Warning
User-side errors 0% from 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the browser (console and network errors and warnings)
Please fix the following browser errors
- > GET request to /wp-admin/giveaway-form.php
- > Network (severe)
wp-admin/giveaway-form.php - Failed to load resource: the server responded with a status of 404 (Not Found)
Optimizations
Plugin configuration 96% from 29 tests
readme.txt Passed 16 tests
The readme.txt file uses markdown syntax to describe your plugin to the world
4 plugin tags: contest, entry, custom post type, giveaways
give-it-away-now/giveaway.php 92% from 13 tests
Analyzing the main PHP file in "Give It Away Now!" version 1.3
Please take the time to fix the following:
- Main file name: Even though not officially enforced, the main plugin file should be the same as the plugin slug ("give-it-away-now.php" instead of "giveaway.php")
Code Analysis 5% from 3 tests
File types 0% from 1 test
🔸 Test weight: 35 | This is an overview of file extensions present in this plugin and a short test that no dangerous files are bundled with this plugin
Please make sure to remedy the following
- For security reasons, never distribute binary or executable files with your plugin
- .as - Adobe Flash ActionScript File in Adobe Flash
- ☣ wp-content/plugins/give-it-away-now/includes/datatables/extras/TableTools/media/as3/ZeroClipboard.as
- ☣ wp-content/plugins/give-it-away-now/includes/datatables/extras/TableTools/media/as3/ZeroClipboardPdf.as
- .as - Adobe Flash ActionScript File in Adobe Flash
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
HTML | 221 | 4,484 | 1 | 87,977 |
JavaScript | 386 | 11,154 | 19,390 | 59,441 |
PHP | 40 | 952 | 1,582 | 7,532 |
CSS | 22 | 703 | 760 | 4,049 |
Markdown | 4 | 163 | 0 | 391 |
ActionScript | 2 | 84 | 65 | 382 |
Bourne Shell | 2 | 35 | 5 | 232 |
JSON | 6 | 0 | 0 | 159 |
SQL | 1 | 1 | 0 | 66 |
YAML | 1 | 0 | 0 | 10 |
PHP code Passed 2 tests
Cyclomatic complexity and code structure are the fingerprint of this plugin
No complexity issues detected
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.45 |
Average class complexity | 64.50 |
▷ Minimum class complexity | 20.00 |
▷ Maximum class complexity | 133.00 |
Average method complexity | 3.89 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 28.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 0 | |
Traits | 0 | |
Classes | 6 | |
▷ Abstract classes | 0 | 0.00% |
▷ Concrete classes | 6 | 100.00% |
▷ Final classes | 0 | 0.00% |
Methods | 132 | |
▷ Static methods | 33 | 25.00% |
▷ Public methods | 130 | 98.48% |
▷ Protected methods | 2 | 1.52% |
▷ Private methods | 0 | 0.00% |
Functions | 34 | |
▷ Named functions | 34 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 2 | |
▷ Global constants | 1 | 50.00% |
▷ Class constants | 1 | 50.00% |
▷ Public constants | 1 | 100.00% |
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
84 PNG files occupy 0.13MB with 0.07MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
includes/datatables/media/images/sort_desc_disabled.png | 1.02KB | 0.25KB | ▼ 75.98% |
includes/datatables/media/images/sort_both.png | 1.11KB | 0.29KB | ▼ 74.12% |
includes/datatables/extras/TableTools/media/images/xls.png | 1.60KB | 1.01KB | ▼ 36.93% |
includes/datatables/extras/Scroller/media/docs/media/images/arrow.png | 0.99KB | 0.17KB | ▼ 82.59% |
includes/datatables/examples/examples_support/themes/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png | 0.10KB | 0.10KB | ▼ 5.71% |