67% venture-event-manager

Code Review | Venture Event Manager

WordPress plugin Venture Event Manager scored 67% from 54 tests.

About plugin

  • Plugin page: venture-event-man...
  • Plugin version: 3.2.5
  • PHP version: 7.4.16
  • WordPress compatibility: 4.9.0-5.5.0
  • WordPress version: 5.8.1
  • First release: Apr 17, 2018
  • Latest release: Sep 14, 2021
  • Number of updates: 49
  • Update frequency: every 25.4 days
  • Top authors: ventureindustriesonline (100%)

Code review

54 tests

User reviews

2 reviews

Install metrics

70+ active / 2,401 total downloads

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 gracefully, with no errors

Server metrics [RAM: ▲3.56MB] [CPU: ▼124.68ms] Passed 4 tests

A check of server-side resources used by Venture Event Manager
Server-side resource usage in normal parameters
PageMemory (MB)CPU Time (ms)
Home /6.39 ▲3.5648.97 ▲14.59
Dashboard /wp-admin6.68 ▲3.6268.41 ▲17.38
Posts /wp-admin/edit.php6.75 ▲3.6464.85 ▲17.66
Add New Post /wp-admin/post-new.php8.96 ▲3.52109.35 ▼548.34
Media Library /wp-admin/upload.php6.54 ▲3.5354.34 ▲20.76
Add New /wp-admin/post-new.php?post_type=event_transcript6.7266.26
All Events /wp-admin/edit.php?post_type=event6.6956.76
All Event Transcripts /wp-admin/edit.php?post_type=event_transcript6.6955.24
Venture Options /wp-admin/admin.php?page=venture-options6.6251.55
Add New /wp-admin/post-new.php?post_type=event_calendar6.6875.62
Occurrence Categories /wp-admin/edit-tags.php?taxonomy=occurrence_category6.6353.96
All Event Calendars /wp-admin/edit.php?post_type=event_calendar6.6956.75
Layouts /wp-admin/admin.php?page=venture-options-layouts6.6250.18
Add New Event /wp-admin/post-new.php?post_type=event6.7886.19
Tags /wp-admin/edit-tags.php?taxonomy=post_tag&post_type=event6.6354.29

Server storage [IO: ▲3.32MB] [DB: ▲0.02MB] Passed 3 tests

How much does this plugin use your filesystem and database?
The plugin installed successfully
Filesystem: 259 new files
Database: 2 new tables, 3 new options
New tables
wp_vem_event_dates
wp_vem_date_terms
New WordPress options
widget_who_what_where_widget
vem-last-welcome
vem-db-version

Browser metrics Passed 4 tests

Checking browser requirements for Venture Event Manager
This plugin renders optimally with no browser resource issues detected
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /4,153 ▲55717.72 ▲2.1213.09 ▲3.7146.06 ▼3.37
Dashboard /wp-admin3,411 ▲4778.29 ▲2.12177.39 ▲16.26105.88 ▼6.41
Posts /wp-admin/edit.php3,210 ▲4714.20 ▲1.4994.12 ▲25.5485.12 ▼3.39
Add New Post /wp-admin/post-new.php1,783 ▲10013.76 ▼4.50274.81 ▼137.51114.39 ▲0.97
Media Library /wp-admin/upload.php2,053 ▲2434.92 ▼0.10121.02 ▼27.41117.27 ▲2.09
Add New /wp-admin/post-new.php?post_type=event_transcript3,3149.28234.83139.81
All Events /wp-admin/edit.php?post_type=event1,9104.4091.8869.11
All Event Transcripts /wp-admin/edit.php?post_type=event_transcript1,8774.3987.7876.28
Venture Options /wp-admin/admin.php?page=venture-options2,1224.24100.5979.04
Add New /wp-admin/post-new.php?post_type=event_calendar3,6455.58130.53104.16
Occurrence Categories /wp-admin/edit-tags.php?taxonomy=occurrence_category2,2394.5483.2478.87
All Event Calendars /wp-admin/edit.php?post_type=event_calendar1,8914.3991.3271.44
Layouts /wp-admin/admin.php?page=venture-options-layouts1,8574.3093.2697.37
Add New Event /wp-admin/post-new.php?post_type=event5,5448.90260.11159.32
Tags /wp-admin/edit-tags.php?taxonomy=post_tag&post_type=event2,3004.5288.4779.92

Uninstaller [IO: ▲0.00MB] [DB: ▲0.02MB] 50% from 4 tests

🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
You still need to fix the following
  • Zombie tables were found after uninstall: 2 tables
    • wp_vem_event_dates
    • wp_vem_date_terms
  • Zombie WordPress options were found after uninstall: 3 options
    • vem-last-welcome
    • widget_who_what_where_widget
    • vem-db-version

Smoke tests 50% from 4 tests

Server-side errors Passed 1 test

🔹 Test weight: 20 | This is a short smoke test looking for server-side errors
Good news, no errors were detected

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
  • 7× GET requests to PHP files return non-empty strings:
    • > /wp-content/plugins/venture-event-manager/templates/occurrence-action-bar.php
    • > /wp-content/plugins/venture-event-manager/templates/gsd-schema.php
    • > /wp-content/plugins/venture-event-manager/templates/gsd-location-place.php
    • > /wp-content/plugins/venture-event-manager/templates/gsd-location-online.php
    • > /wp-content/plugins/venture-event-manager/classes/welcome/welcome.php
    • > /wp-content/plugins/venture-event-manager/templates/one-occurrence.php
    • > /wp-content/plugins/venture-event-manager/classes/welcome/welcome-pro.php
  • 170× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
    • > PHP Notice
      Trying to access array offset on value of type null in wp-content/plugins/venture-event-manager/templates/one-occurrence.php on line 119
    • > PHP Fatal error
      Uncaught Error: Class 'VentureHelpBase' not found in wp-content/plugins/venture-event-manager/classes/help/class-help-EventCalendarEditor.php:3
    • > PHP Notice
      Undefined variable: data in wp-content/plugins/venture-event-manager/templates/gsd-location-place.php on line 10
    • > PHP Notice
      Trying to access array offset on value of type null in wp-content/plugins/venture-event-manager/templates/one-occurrence.php on line 12
    • > PHP Notice
      Undefined variable: data in wp-content/plugins/venture-event-manager/templates/one-occurrence.php on line 6
    • > PHP Notice
      Trying to access array offset on value of type null in wp-content/plugins/venture-event-manager/templates/one-occurrence.php on line 2
    • > PHP Notice
      Undefined variable: data in wp-content/plugins/venture-event-manager/templates/one-occurrence.php on line 48
    • > PHP Notice
      Trying to access array offset on value of type null in wp-content/plugins/venture-event-manager/templates/gsd-schema.php on line 6
    • > PHP Notice
      Trying to access array offset on value of type null in wp-content/plugins/venture-event-manager/templates/one-occurrence.php on line 104
    • > PHP Notice
      Undefined variable: data in wp-content/plugins/venture-event-manager/templates/one-occurrence.php on line 121

User-side errors Passed 1 test

🔹 Test weight: 20 | A shallow check that no browser errors were triggered
There were no browser issues found

Optimizations

Plugin configuration 87% from 29 tests

readme.txt 88% from 16 tests

Perhaps the most important file in your plugin readme.txt gets parsed in order to generate the public listing of your plugin
These attributes need your attention:
  • Screenshots: These screenshots need descriptions #4, #5, #6, #7, #8, #9 in venture-event-manager/assets to your readme.txt
  • Requires php: Invalid version format
The official readme.txt might help

venture-event-manager/event-manager.php 85% from 13 tests

Analyzing the main PHP file in "Venture Event Manager" version 3.2.5
It is important to fix the following:
  • Description: Please keep the plugin description shorter than 140 characters (currently 145 characters long)
  • Main file name: Even though not officially enforced, the main plugin file should be the same as the plugin slug ("venture-event-manager.php" instead of "event-manager.php")

Code Analysis 97% from 3 tests

File types Passed 1 test

🔸 Test weight: 35 | A short review of files and their extensions; it is not recommended to include executable files
There were no executable files found in this plugin22,921 lines of code in 221 files:
LanguageFilesBlank linesComment linesLines of code
PHP912,8813,12016,056
JavaScript1004324573,211
CSS181922242,407
PO File9218275663
Markdown21380556
JSON10028

PHP code 50% from 2 tests

A short review of cyclomatic complexity and code structure
The following items need your attention
  • Method cyclomatic complexity has to be reduced to less than 100 (currently 104)
Cyclomatic complexity
Average complexity per logical line of code0.42
Average class complexity22.25
▷ Minimum class complexity1.00
▷ Maximum class complexity446.00
Average method complexity4.10
▷ Minimum method complexity1.00
▷ Maximum method complexity104.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes106
▷ Abstract classes00.00%
▷ Concrete classes106100.00%
▷ Final classes00.00%
Methods722
▷ Static methods263.60%
▷ Public methods52072.02%
▷ Protected methods18826.04%
▷ Private methods141.94%
Functions33
▷ Named functions2987.88%
▷ Anonymous functions412.12%
Constants23
▷ Global constants1147.83%
▷ Class constants1252.17%
▷ Public constants12100.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

Often times overlooked, PNG files can occupy unnecessary space in your plugin
18 PNG files occupy 0.07MB with 0.04MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
css/images/ui-icons_8e8e93_0.png9.28KB4.76KB▼ 48.71%
css/images/ui-bg_flat_75_999999_40x100.png0.21KB0.08KB▼ 60.45%
css/images/ui-bg_flat_100_eeeeee_40x100.png0.21KB0.08KB▼ 60.45%
css/images/ui-bg_flat_55_ebf7fd_40x100.png0.20KB0.08KB▼ 57.77%
css/images/ui-icons_999999_256x240.png6.82KB4.17KB▼ 38.81%