Benchmarks
Plugin footprint 65% from 16 tests
Installer Passed 1 test
🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
The plugin installed successfully, without throwing any errors or notices
Server metrics [RAM: ▲0.74MB] [CPU: ▲191.21ms] Passed 4 tests
This is a short check of server-side resources used by Timely All-in-One Events Calendar
This plugin has minimal impact on server resources
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 4.18 ▲0.72 | 47.59 ▲4.84 |
Dashboard /wp-admin | 4.05 ▲0.75 | 306.86 ▲252.56 |
Posts /wp-admin/edit.php | 4.16 ▲0.81 | 300.47 ▲245.25 |
Add New Post /wp-admin/post-new.php | 6.65 ▲0.77 | 362.60 ▲262.18 |
Media Library /wp-admin/upload.php | 3.97 ▲0.75 | 814.05 ▲781.16 |
Sign In /wp-admin/admin.php?page=timely_signin | 3.95 | 287.06 |
Server storage [IO: ▲17.80MB] [DB: ▲0.00MB] Passed 3 tests
Filesystem and database footprint
There were no storage issued detected upon installing this plugin
Filesystem: 1,588 new files
Database: no new tables, 6 new options
New WordPress options |
---|
widget_recent-posts |
db_upgraded |
widget_recent-comments |
theysaidso_admin_options |
can_compress_scripts |
widget_theysaidso_widget |
Browser metrics Passed 4 tests
A check of browser resources used by Timely All-in-One Events Calendar
Minimal impact on browser resources
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 2,982 ▲221 | 14.66 ▲0.04 | 41.80 ▲40.08 | 43.77 ▲2.49 |
Dashboard /wp-admin | 2,220 ▲46 | 5.56 ▼0.08 | 84.95 ▼7.82 | 70.22 ▲27.09 |
Posts /wp-admin/edit.php | 2,140 ▲40 | 1.98 ▲0.01 | 37.35 ▼1.31 | 33.90 ▼2.56 |
Add New Post /wp-admin/post-new.php | 1,564 ▲33 | 23.28 ▲0.35 | 692.89 ▲53.98 | 55.94 ▲5.58 |
Media Library /wp-admin/upload.php | 1,437 ▲40 | 4.21 ▼0.00 | 99.01 ▼6.56 | 77.42 ▲30.77 |
Sign In /wp-admin/admin.php?page=timely_signin | 921 | 17.53 | 398.59 | 20.67 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] 50% from 4 tests
🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
These items require your attention
- Uninstall procedure validation failed for this plugin
- > Notice in wp-content/plugins/all-in-one-event-calendar/uninstall.php+26
Trying to get property 'term_id' of non-object
- Zombie WordPress options detected upon uninstall: 6 options
- theysaidso_admin_options
- widget_recent-comments
- widget_theysaidso_widget
- db_upgraded
- widget_recent-posts
- can_compress_scripts
Smoke tests 25% from 4 tests
Server-side errors Passed 1 test
🔹 Test weight: 20 | A shallow check that no server-side errors were triggered
Even though everything seems fine, this is not 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
Almost there! Just fix the following items
- 8× PHP files output text when accessed directly:
- > /wp-content/plugins/all-in-one-event-calendar/public/admin/save_successful.php
- > /wp-content/plugins/all-in-one-event-calendar/public/admin/subscription_button.php
- > /wp-content/plugins/all-in-one-event-calendar/public/admin/plugins/general_plugin_settings.php
- > /wp-content/plugins/all-in-one-event-calendar/public/admin/add_new_event_meta_box.php
- > /wp-content/plugins/all-in-one-event-calendar/public/admin/box_inline_warning.php
- > /wp-content/plugins/all-in-one-event-calendar/public/admin/admin_notices.php
- > /wp-content/plugins/all-in-one-event-calendar/public/admin/plugins/render_opening_div.php
- > /wp-content/plugins/all-in-one-event-calendar/public/admin/save_error.php
- 1612× GET requests to PHP files have triggered server-side errors or warnings (only 10 are shown):
- > PHP Notice
Undefined variable: msg in wp-content/plugins/all-in-one-event-calendar/public/admin/admin_notices.php on line 8
- > PHP Warning
Use of undefined constant AI1EC_PATH - assumed 'AI1EC_PATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/all-in-one-event-calendar/lib/bootstrap/loader-map.php on line 1472
- > PHP Warning
Use of undefined constant AI1EC_PATH - assumed 'AI1EC_PATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/all-in-one-event-calendar/lib/bootstrap/loader-map.php on line 431
- > PHP Fatal error
Uncaught Error: Class 'Composer\\Installers\\BaseInstaller' not found in wp-content/plugins/all-in-one-event-calendar/apiki/vendor/composer/installers/src/Composer/Installers/CockpitInstaller.php:4
- > PHP Warning
Use of undefined constant AI1EC_PATH - assumed 'AI1EC_PATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/all-in-one-event-calendar/lib/bootstrap/loader-map.php on line 2538
- > PHP Warning
Use of undefined constant AI1EC_PATH - assumed 'AI1EC_PATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/all-in-one-event-calendar/lib/bootstrap/loader-map.php on line 6432
- > PHP Fatal error
Uncaught Error: Interface 'Twig_TokenParserInterface' not found in wp-content/plugins/all-in-one-event-calendar/vendor/twig/TokenParser.php:17
- > PHP Warning
Use of undefined constant AI1EC_PATH - assumed 'AI1EC_PATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/all-in-one-event-calendar/lib/bootstrap/loader-map.php on line 2766
- > PHP Warning
Use of undefined constant AI1EC_PATH - assumed 'AI1EC_PATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/all-in-one-event-calendar/lib/bootstrap/loader-map.php on line 1047
- > PHP Warning
Use of undefined constant AI1EC_PATH - assumed 'AI1EC_PATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/all-in-one-event-calendar/lib/bootstrap/loader-map.php on line 4797
- > PHP Notice
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 take a look at the following user-side issues
- > GET request to /wp-admin/admin.php?page=timely_signin
- > Security (severe) in unknown
https://app.time.ly/main-es2015.771cfb7e6e69c244c2dd.js 0 Blocked autofocusing on a element in a cross-origin subframe.
Optimizations
Plugin configuration 93% from 29 tests
readme.txt 94% from 16 tests
Often overlooked, readme.txt is one of the most important files in your plugin
These attributes need to be fixed:
- Screenshots: These screenshots require images: #13 (Events admin creation), #14 (Filters: categories, tags, venues and organizers), #15 (Import Events: calendar feed, upload and event finder), #16 (RSVP/Ticket Add-On: Reports for Tickets & Invoices)
all-in-one-event-calendar/all-in-one-event-calendar.php 92% from 13 tests
The main PHP file in "Timely All-in-One Events Calendar" ver. 3.0.1 adds more information about the plugin and also serves as the entry point for this plugin
It is important to fix the following:
- Description: Please keep the plugin description shorter than 140 characters (currently 147 characters long)
Code Analysis 3% from 3 tests
File types 0% from 1 test
🔸 Test weight: 35 | This is an overview of programming languages used in this plugin; dangerous file extensions are not allowed
Almost there! Just fix the following issues
- Do not distribute dangerous files with your plugin
- .bat - Batch File in Windows
- ☣ wp-content/plugins/all-in-one-event-calendar/public/admin/less/build-css.bat
- .bat - Batch File in Windows
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PHP | 792 | 8,998 | 30,837 | 75,490 |
PO File | 41 | 33,244 | 35,897 | 70,110 |
LESS | 82 | 1,645 | 1,980 | 12,641 |
CSS | 27 | 83 | 167 | 8,770 |
HTML | 2 | 738 | 46 | 8,294 |
Twig | 77 | 149 | 5 | 2,636 |
Markdown | 14 | 376 | 0 | 1,786 |
SVG | 4 | 0 | 0 | 998 |
JSON | 10 | 0 | 0 | 883 |
JavaScript | 170 | 273 | 2,083 | 642 |
Sass | 9 | 101 | 39 | 552 |
XML | 4 | 4 | 0 | 92 |
YAML | 4 | 9 | 0 | 66 |
Bourne Shell | 2 | 6 | 13 | 29 |
DOS Batch | 1 | 0 | 0 | 6 |
PHP code 50% from 2 tests
This is a very shot review of cyclomatic complexity and code structure
It is recommended to fix the following
- Method cyclomatic complexity should be reduced to less than 100 (currently 144)
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.43 |
Average class complexity | 13.22 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 424.00 |
Average method complexity | 3.78 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 144.00 |
Code structure | ||
---|---|---|
Namespaces | 40 | |
Interfaces | 52 | |
Traits | 60 | |
Classes | 613 | |
▷ Abstract classes | 48 | 7.83% |
▷ Concrete classes | 565 | 92.17% |
▷ Final classes | 2 | 0.35% |
Methods | 3,414 | |
▷ Static methods | 231 | 6.77% |
▷ Public methods | 2,731 | 79.99% |
▷ Protected methods | 575 | 16.84% |
▷ Private methods | 108 | 3.16% |
Functions | 341 | |
▷ Named functions | 179 | 52.49% |
▷ Anonymous functions | 162 | 47.51% |
Constants | 247 | |
▷ Global constants | 76 | 30.77% |
▷ Class constants | 171 | 69.23% |
▷ Public constants | 171 | 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
88 compressed PNG files occupy 0.82MB
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
public/admin/img/timely-logo.png | 6.81KB | 3.91KB | ▼ 42.57% |
public/themes-ai1ec/journey/img/stream-view.png | 0.44KB | 0.34KB | ▼ 23.74% |
public/themes-ai1ec/vortex/img/select2.png | 0.60KB | 0.99KB | 0.00% |
public/themes-ai1ec/vortex/img/date-icon.png | 0.52KB | 0.57KB | 0.00% |
public/themes-ai1ec/gamma/screenshot.png | 33.53KB | 35.12KB | 0.00% |