10% eventissimo

Code Review | Eventissimo

WordPress plugin Eventissimo scored10%from 54 tests.

About plugin

  • Plugin page: eventissimo
  • Plugin version: 1.4.3
  • PHP version: 7.4.16
  • WordPress compatibility: 3.8-3.4
  • WordPress version: 6.3.1
  • First release: Jan 3, 2014
  • Latest release: Jun 23, 2014
  • Number of updates: 44
  • Update frequency: every 3.9 days
  • Top authors: digitalissimo (100%)

Code review

54 tests

User reviews

1 review

Install metrics

10+ active /3,845 total downloads

Benchmarks

Plugin footprint 40% from 16 tests

Installer 0% from 1 test

🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
Please fix the following installer errors
  • The plugin did not install without errors
    • > Deprecated in wp-content/plugins/eventissimo/function/widget.php+163
    Methods with the same name as their class will not be constructors in a future version of PHP; eventissimo_taxonomy has a deprecated constructor

Server metrics [RAM: ▼1.58MB] [CPU: ▼49.53ms] Passed 4 tests

Analyzing server-side resources used by Eventissimo
Normal server usage
PageMemory (MB)CPU Time (ms)
Home /2.40 ▼1.067.98 ▼37.88
Dashboard /wp-admin2.42 ▼0.8811.71 ▼43.04
Posts /wp-admin/edit.php2.42 ▼0.9311.80 ▼36.24
Add New Post /wp-admin/post-new.php2.42 ▼3.4613.06 ▼80.97
Media Library /wp-admin/upload.php2.42 ▼0.809.70 ▼29.92
Add New /wp-admin/post-new.php?post_type=events2.4212.02
Settings /wp-admin/edit.php?post_type=events&page=eventissimo_setting2.4312.86
Event categories /wp-admin/edit-tags.php?taxonomy=eventscategories&post_type=events2.4311.93
Import FB events /wp-admin/edit.php?post_type=events&page=eventissimo_fbupdating2.4312.01
Events /wp-admin/edit.php?post_type=events2.439.81
Event types /wp-admin/edit-tags.php?taxonomy=typeEvents&post_type=events2.4311.12

Server storage [IO: ▲2.02MB] [DB: ▲0.00MB] Passed 3 tests

A short overview of filesystem and database impact
There were no storage issued detected upon installing this plugin
Filesystem: 121 new files
Database: no new tables, 22 new options
New WordPress options
UseSingleTemplateDefault
wp_fbAppId
wp_locationZoom
db_upgraded
wp_fbprivateKey
wp_locationCityDefault
wp_publicatefeedFB
can_compress_scripts
wp_fbUser
wp_locationUrl
...

Browser metrics Passed 4 tests

An overview of browser requirements for Eventissimo
This plugin renders optimally with no browser resource issues detected
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /3,271 ▲48517.36 ▲3.0916.56 ▲14.5043.53 ▲0.36
Dashboard /wp-admin2,358 ▲1556.88 ▲1.02142.78 ▲22.9597.89 ▲54.72
Posts /wp-admin/edit.php2,256 ▲1563.86 ▲1.8653.90 ▲17.3674.55 ▲34.16
Add New Post /wp-admin/post-new.php6,592 ▲5,04725.10 ▲2.01982.89 ▲286.2138.96 ▼12.59
Media Library /wp-admin/upload.php1,555 ▲1586.16 ▲1.91122.15 ▲16.1786.45 ▲41.78
Add New /wp-admin/post-new.php?post_type=events2,4826.48130.26122.77
Settings /wp-admin/edit.php?post_type=events&page=eventissimo_setting1,2514.7374.4863.86
Event categories /wp-admin/edit-tags.php?taxonomy=eventscategories&post_type=events1,4363.6345.7563.51
Import FB events /wp-admin/edit.php?post_type=events&page=eventissimo_fbupdating9413.3843.9449.92
Events /wp-admin/edit.php?post_type=events1,2783.8349.2976.54
Event types /wp-admin/edit-tags.php?taxonomy=typeEvents&post_type=events1,4363.5945.0567.58

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

🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
Please fix the following items
  • The plugin did not uninstall gracefully
    • > User deprecated in wp-includes/functions.php+5546
    The called constructor method for WP_Widget class in eventissimo_listevents is deprecated since version 4.3.0! Use __construct() instead.
  • Zombie WordPress options detected upon uninstall: 9 options
    • can_compress_scripts
    • widget_eventissimo_taxonomy
    • theysaidso_admin_options
    • widget_recent-posts
    • db_upgraded
    • widget_recent-comments
    • widget_eventissimo_list
    • widget_theysaidso_widget
    • wp_locationZoom

Smoke tests 25% 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)
Please fix the following server-side errors
  • 7 occurences, only the last one shown
    • > GET request to /wp-admin/edit-tags.php?taxonomy=typeEvents&post_type=events
    • > User deprecated in wp-includes/functions.php+5546
    The called constructor method for WP_Widget class in eventissimo_listevents is deprecated since version 4.3.0! Use __construct() instead.
  • 7 occurences, only the last one shown
    • > GET request to /wp-admin/edit-tags.php?taxonomy=typeEvents&post_type=events
    • > User deprecated in wp-includes/functions.php+5546
    The called constructor method for WP_Widget class in eventissimo_taxonomy is deprecated since version 4.3.0! Use __construct() instead.
    • > GET request to /wp-admin/post-new.php?post_type=events
    • > Notice in wp-content/plugins/eventissimo/function.php+65
    Undefined variable: option
    • > GET request to /wp-admin/edit.php?post_type=events&page=eventissimo_setting
    • > User deprecated in wp-includes/functions.php+5463
    Function screen_icon is deprecated since version 3.8.0 with no alternative available.
    • > GET request to /wp-admin/edit.php?post_type=events&page=eventissimo_setting
    • > User deprecated in wp-includes/functions.php+5463
    Function get_screen_icon is deprecated since version 3.8.0 with no alternative available.
    • > GET request to /wp-admin/edit.php?post_type=events&page=eventissimo_setting
    • > Notice in wp-content/plugins/eventissimo/eventissimo.php+517
    Undefined variable: latlongMaps

SRP 50% from 2 tests

🔹 Tests weight: 20 | SRP (Single-Responsibility Principle) - PHP files must act as libraries and never output text or perform any action when accessed directly in a browser
Please take a closer look at the following
  • 19× PHP files trigger server errors when accessed directly (only 10 are shown):
    • > PHP Fatal error
      Uncaught Error: Call to undefined function add_action() in wp-content/plugins/eventissimo/call_function/listEvents.php:61
    • > PHP Fatal error
      Uncaught Error: Call to undefined function get_header() in wp-content/plugins/eventissimo/pages/single-events.php:7
    • > PHP Warning
      Use of undefined constant ABSPATH - assumed 'ABSPATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/eventissimo/endpoint.php on line 4
    • > PHP Fatal error
      Uncaught Error: Call to undefined function __() in wp-content/plugins/eventissimo/meta_post/images_events.php:10
    • > PHP Fatal error
      Uncaught Error: Call to undefined function get_option() in wp-content/plugins/eventissimo/eventissimo.php:28
    • > PHP Warning
      require_once(ABSPATHwp-admin/includes/class-wp-list-table.php): failed to open stream: No such file or directory in wp-content/plugins/eventissimo/backend.php on line 7
    • > PHP Fatal error
      Uncaught Error: Call to undefined function get_header() in wp-content/plugins/eventissimo/pages/events-template-single.php:7
    • > PHP Warning
      Use of undefined constant ABSPATH - assumed 'ABSPATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/eventissimo/backend.php on line 7
    • > PHP Fatal error
      Uncaught Error: Call to undefined function add_action() in wp-content/plugins/eventissimo/call_function/calendar.php:42
    • > PHP Fatal error
      Uncaught Error: Call to undefined function add_action() in wp-content/plugins/eventissimo/meta_post/facebook_events.php:21

User-side errors 0% from 1 test

🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
There are user-side issues you should fix
  • 6 occurences, only the last one shown
    • > GET request to /wp-admin/edit-tags.php?taxonomy=typeEvents&post_type=events
    • > Console-api (warning) in unknown
    http://maps.google.com/maps/api/js?sensor=true&language=en&ver=6.3.1 210:51 "Google Maps JavaScript API has been loaded directly without a callback. This is not supported and can lead to race conditions and suboptimal performance. For supported loading patterns please see https://goo.gle/js-api-loading"
  • 2 occurences, only the last one shown
    • > GET request to /wp-admin/edit.php?post_type=events&page=eventissimo_setting
    • > Console-api (severe) in unknown
    http://maps.google.com/maps/api/js?sensor=true&language=en&ver=6.3.1 128:248 "Geocoding Service: You must use an API key to authenticate each request to Google Maps Platform APIs. For additional information, please refer to http://g.co/dev/maps-no-account"

Optimizations

Plugin configuration Passed 29 tests

readme.txt Passed 16 tests

The readme.txt file is important because it is parsed by WordPress.org for the public listing of your plugin
6 plugin tags: shortcode, events, calendar, facebook, widget...

eventissimo/eventissimo.php Passed 13 tests

"Eventissimo" version 1.4.3's primary PHP file adds more information about the plugin and serves as the entry point for WordPress
131 characters long description:
Create and organize events into your site. Your events also automatically automatically created on Facebook and import FB's events.

Code Analysis 5% from 3 tests

File types 0% from 1 test

🔸 Test weight: 35 | This is a short overview of programming languages used in this plugin, detecting executable files
Almost there! Just fix the following issues
  • You should never include executable (binary) or otherwise dangerous files in your plugin
    • .crt - Security Certificate in Firefox, IE, Chrome, Safari
      • wp-content/plugins/eventissimo/plugin/facebook/sdk-facebook/fb_ca_chain_bundle.crt
19,336 lines of code in 81 files:
LanguageFilesBlank linesComment linesLines of code
JavaScript152,0711,2578,437
PHP251,3301,0413,902
CSS102172803,824
Sass1319221,158
LESS1319311,149
SVG100504
PO File1194261349
XML30013

PHP code Passed 2 tests

This is a short overview of cyclomatic complexity and code structure for this plugin
This plugin has no cyclomatic complexity problems
Cyclomatic complexity
Average complexity per logical line of code0.36
Average class complexity32.67
▷ Minimum class complexity10.00
▷ Maximum class complexity126.00
Average method complexity3.38
▷ Minimum method complexity1.00
▷ Maximum method complexity11.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes6
▷ Abstract classes116.67%
▷ Concrete classes583.33%
▷ Final classes00.00%
Methods84
▷ Static methods55.95%
▷ Public methods4250.00%
▷ Protected methods4250.00%
▷ Private methods00.00%
Functions78
▷ Named functions78100.00%
▷ Anonymous functions00.00%
Constants14
▷ Global constants1071.43%
▷ Class constants428.57%
▷ Public constants4100.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
30 PNG files occupy 0.32MB with 0.06MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
plugin/css/redmond/images/ui-icons_6da8d5_256x240.png4.27KB4.11KB▼ 3.78%
plugin/colorbox/images/loading_background.png0.15KB0.15KB▼ 0.64%
images/FB-created.png0.69KB0.63KB▼ 8.25%
images/no-image-cover.png14.40KB6.15KB▼ 57.28%
images/icon_menu.png0.21KB0.16KB▼ 23.85%