10% blip-slideshow

Code Review | Blip Slideshow

WordPress plugin Blip Slideshow scored10%from 54 tests.

About plugin

  • Plugin page: blip-slideshow
  • Plugin version: 1.2.7
  • PHP version: 7.4.16
  • WordPress compatibility: 2.7-4.1
  • WordPress version: 6.3.1
  • First release: Apr 16, 2011
  • Latest release: Jan 14, 2015
  • Number of updates: 269
  • Update frequency: every 5.3 days
  • Top authors: jasonhendriks (100%)

Code review

54 tests

User reviews

1 review

Install metrics

60+ active /17,658 total downloads

Benchmarks

Plugin footprint 40% from 16 tests

Installer 0% from 1 test

🔺 Critical test (weight: 50) | Checking the installer triggered no errors
It is recommended to fix the following installer errors
  • The plugin cannot be installed
    • > Deprecated in wp-content/plugins/blip-slideshow/blip.php+46
    Methods with the same name as their class will not be constructors in a future version of PHP; Blip_Slideshow has a deprecated constructor

Server metrics [RAM: ▼1.76MB] [CPU: ▼52.23ms] Passed 4 tests

An overview of server-side resources used by Blip Slideshow
This plugin does not affect your website's performance
PageMemory (MB)CPU Time (ms)
Home /2.22 ▼1.245.27 ▼33.89
Dashboard /wp-admin2.24 ▼1.066.86 ▼43.78
Posts /wp-admin/edit.php2.25 ▼1.117.81 ▼45.36
Add New Post /wp-admin/post-new.php2.24 ▼3.648.79 ▼85.88
Media Library /wp-admin/upload.php2.24 ▼0.987.23 ▼26.72
Blip Slideshow /wp-admin/options-general.php?page=Blip_Slideshow2.256.11

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

A short overview of filesystem and database impact
The plugin installed successfully
Filesystem: 31 new files
Database: no new tables, 7 new options
New WordPress options
widget_recent-posts
widget_recent-comments
theysaidso_admin_options
Blip_Slideshow
db_upgraded
widget_theysaidso_widget
can_compress_scripts

Browser metrics Passed 4 tests

Checking browser requirements for Blip Slideshow
Normal browser usage
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,895 ▲12415.27 ▲0.889.39 ▲6.9242.12 ▼1.17
Dashboard /wp-admin2,210 ▲224.85 ▼1.01111.13 ▲2.0640.71 ▲2.28
Posts /wp-admin/edit.php2,093 ▲51.99 ▼0.0436.69 ▼3.6434.47 ▼1.96
Add New Post /wp-admin/post-new.php1,533 ▼023.40 ▲0.40653.40 ▼78.5558.55 ▲3.02
Media Library /wp-admin/upload.php1,389 ▲14.15 ▼0.05109.21 ▲7.9049.36 ▲9.06
Blip Slideshow /wp-admin/options-general.php?page=Blip_Slideshow8412.0625.5327.13

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

🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
These items require your attention
  • Uninstall procedure validation failed for this plugin
    • > Deprecated in wp-content/plugins/blip-slideshow/blip.php+46
    Methods with the same name as their class will not be constructors in a future version of PHP; Blip_Slideshow has a deprecated constructor
  • This plugin does not fully uninstall, leaving 7 options in the database
    • widget_recent-comments
    • widget_theysaidso_widget
    • can_compress_scripts
    • theysaidso_admin_options
    • widget_recent-posts
    • Blip_Slideshow
    • db_upgraded

Smoke tests 50% from 4 tests

Server-side errors 0% from 1 test

🔹 Test weight: 20 | A smoke test targeting server-side errors
These server-side errors were triggered
    • > GET request to /wp-admin/options-general.php?page=Blip_Slideshow
    • > Deprecated in wp-content/plugins/blip-slideshow/blip.php+46
    Methods with the same name as their class will not be constructors in a future version of PHP; Blip_Slideshow has a deprecated constructor
    • > GET request to /wp-admin/options-general.php?page=Blip_Slideshow
    • > Deprecated in wp-content/plugins/blip-slideshow/blip.php+370
    Methods with the same name as their class will not be constructors in a future version of PHP; Blip_Slideshow_Rss_Reader has a deprecated constructor
    • > GET request to /wp-admin/options-general.php?page=Blip_Slideshow
    • > Deprecated in wp-content/plugins/blip-slideshow/blip.php+648
    Methods with the same name as their class will not be constructors in a future version of PHP; Blip_Slideshow_Admin has a deprecated constructor
    • > GET request to /wp-admin/options-general.php?page=Blip_Slideshow
    • > Notice in wp-content/plugins/blip-slideshow/blip.php+757
    Undefined index: PATH_INFO
    • > GET request to /wp-admin/options-general.php?page=Blip_Slideshow
    • > User notice in wp-includes/functions.php+5905
    Function register_uninstall_hook was called incorrectly. Only a static class method or function can be used in an uninstall hook. Please see Debugging in WordPress for more information. (This message was added in version 3.1.0.)
    • > GET request to /wp-admin/options-general.php?page=Blip_Slideshow
    • > User notice in wp-includes/functions.php+5905
    Function wp_register_script was called incorrectly. Scripts and styles should not be registered or enqueued until the wp_enqueue_scripts, admin_enqueue_scripts, or login_enqueue_scripts hooks. This notice was triggered by the blip-slideshow handle. Please see Debugging in WordPress for more information. (This message was added in version 3.3.0.)
    • > GET request to /wp-admin/options-general.php?page=Blip_Slideshow
    • > User notice in wp-includes/functions.php+5905
    Function wp_register_script was called incorrectly. Scripts and styles should not be registered or enqueued until the wp_enqueue_scripts, admin_enqueue_scripts, or login_enqueue_scripts hooks. This notice was triggered by the blip-mootools handle. Please see Debugging in WordPress for more information. (This message was added in version 3.3.0.)
    • > GET request to /wp-admin/options-general.php?page=Blip_Slideshow
    • > User notice in wp-includes/functions.php+5905
    Function wp_register_script was called incorrectly. Scripts and styles should not be registered or enqueued until the wp_enqueue_scripts, admin_enqueue_scripts, or login_enqueue_scripts hooks. This notice was triggered by the slideshow2 handle. Please see Debugging in WordPress for more information. (This message was added in version 3.3.0.)
    • > GET request to /wp-admin/options-general.php?page=Blip_Slideshow
    • > User notice in wp-includes/functions.php+5905
    Function wp_register_script was called incorrectly. Scripts and styles should not be registered or enqueued until the wp_enqueue_scripts, admin_enqueue_scripts, or login_enqueue_scripts hooks. This notice was triggered by the slideshow2-flash handle. Please see Debugging in WordPress for more information. (This message was added in version 3.3.0.)
    • > GET request to /wp-admin/options-general.php?page=Blip_Slideshow
    • > User notice in wp-includes/functions.php+5905
    Function wp_register_script was called incorrectly. Scripts and styles should not be registered or enqueued until the wp_enqueue_scripts, admin_enqueue_scripts, or login_enqueue_scripts hooks. This notice was triggered by the slideshow2-fold handle. Please see Debugging in WordPress for more information. (This message was added in version 3.3.0.)
    • > GET request to /wp-admin/options-general.php?page=Blip_Slideshow
    • > User notice in wp-includes/functions.php+5905
    Function wp_register_script was called incorrectly. Scripts and styles should not be registered or enqueued until the wp_enqueue_scripts, admin_enqueue_scripts, or login_enqueue_scripts hooks. This notice was triggered by the slideshow2-kenburns handle. Please see Debugging in WordPress for more information. (This message was added in version 3.3.0.)
    • > GET request to /wp-admin/options-general.php?page=Blip_Slideshow
    • > User notice in wp-includes/functions.php+5905
    Function wp_register_script was called incorrectly. Scripts and styles should not be registered or enqueued until the wp_enqueue_scripts, admin_enqueue_scripts, or login_enqueue_scripts hooks. This notice was triggered by the slideshow2-push handle. Please see Debugging in WordPress for more information. (This message was added in version 3.3.0.)
    • > GET request to /wp-admin/options-general.php?page=Blip_Slideshow
    • > User notice in wp-includes/functions.php+5905
    Function wp_register_script was called incorrectly. Scripts and styles should not be registered or enqueued until the wp_enqueue_scripts, admin_enqueue_scripts, or login_enqueue_scripts hooks. This notice was triggered by the mootools handle. Please see Debugging in WordPress for more information. (This message was added in version 3.3.0.)
    • > GET request to /wp-admin/options-general.php?page=Blip_Slideshow
    • > User notice in wp-includes/functions.php+5905
    Function wp_register_script was called incorrectly. Scripts and styles should not be registered or enqueued until the wp_enqueue_scripts, admin_enqueue_scripts, or login_enqueue_scripts hooks. This notice was triggered by the mootools-more handle. Please see Debugging in WordPress for more information. (This message was added in version 3.3.0.)
    • > GET request to /wp-admin/options-general.php?page=Blip_Slideshow
    • > User notice in wp-includes/functions.php+5905
    Function wp_register_style was called incorrectly. Scripts and styles should not be registered or enqueued until the wp_enqueue_scripts, admin_enqueue_scripts, or login_enqueue_scripts hooks. This notice was triggered by the slideshow2 handle. Please see Debugging in WordPress for more information. (This message was added in version 3.3.0.)
    • > GET request to /wp-admin/options-general.php?page=Blip_Slideshow
    • > User notice in wp-includes/functions.php+5905
    Function wp_register_style was called incorrectly. Scripts and styles should not be registered or enqueued until the wp_enqueue_scripts, admin_enqueue_scripts, or login_enqueue_scripts hooks. This notice was triggered by the blip-slideshow handle. Please see Debugging in WordPress for more information. (This message was added in version 3.3.0.)
    • > GET request to /wp-admin/options-general.php?page=Blip_Slideshow
    • > Notice in wp-content/plugins/blip-slideshow/blip.php+699
    Undefined variable: sa
    • > GET request to /wp-admin/options-general.php?page=Blip_Slideshow
    • > Notice in wp-content/plugins/blip-slideshow/blip.php+712
    Undefined variable: sb
    • > GET request to /wp-admin/options-general.php?page=Blip_Slideshow
    • > Notice in wp-content/plugins/blip-slideshow/blip.php+715
    Undefined variable: sc

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 fix the following items
  • 2× PHP files trigger server-side errors or warnings when accessed directly:
    • > PHP Notice
      Undefined index: PATH_INFO in wp-content/plugins/blip-slideshow/blip.php on line 757
    • > PHP Fatal error
      Uncaught Error: Call to undefined function register_activation_hook() in wp-content/plugins/blip-slideshow/blip.php:651

User-side errors Passed 1 test

🔹 Test weight: 20 | A shallow check that no browser errors were triggered
No browser errors were detected

Optimizations

Plugin configuration 90% from 29 tests

readme.txt 88% from 16 tests

Don't ignore readme.txt as it is the file that instructs WordPress.org on how to present your plugin to the world
Please fix the following attributes:
  • Screenshots: Screenshot #1 (Blip running at [Ambient Photography - Wedding Gallery](http://www.ambientphotography.ca/gallery/wedding-gallery/)) image required
  • Tags: Please delete some tags, you are using 22 tag instead of maximum 10
The official readme.txt is a good inspiration

blip-slideshow/blip.php 92% from 13 tests

The primary PHP file in "Blip Slideshow" version 1.2.7 is used by WordPress to initiate all plugin functionality
It is important to fix the following:
  • Main file name: Name the main plugin file the same as the plugin slug ("blip-slideshow.php" instead of "blip.php")

Code Analysis Passed 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
Good job! No executable or dangerous file extensions detected5,631 lines of code in 13 files:
LanguageFilesBlank linesComment linesLines of code
JavaScript91,4719914,943
PHP2129219506
CSS12276132
HTML16050

PHP code Passed 2 tests

A short review of cyclomatic complexity and code structure
No complexity issues detected
Cyclomatic complexity
Average complexity per logical line of code0.34
Average class complexity16.00
▷ Minimum class complexity5.00
▷ Maximum class complexity36.00
Average method complexity3.50
▷ Minimum method complexity1.00
▷ Maximum method complexity23.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes4
▷ Abstract classes00.00%
▷ Concrete classes4100.00%
▷ Final classes00.00%
Methods24
▷ Static methods00.00%
▷ Public methods24100.00%
▷ Protected methods00.00%
▷ Private methods00.00%
Functions0
▷ Named functions00.00%
▷ Anonymous functions00.00%
Constants3
▷ Global constants3100.00%
▷ Class constants00.00%
▷ Public constants00.00%

Plugin size 50% from 2 tests

Image compression 50% from 2 tests

All PNG images should be compressed to minimize bandwidth usage for end users
8 PNG files occupy 1.68MB with 1.08MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
screenshot-2.png286.89KB77.78KB▼ 72.89%
screenshot-3.png626.16KB301.74KB▼ 51.81%
screenshot-1.png767.02KB206.61KB▼ 73.06%
Slideshow/css/controller.png2.15KB0.89KB▼ 58.55%
assets/icon-256x256.png11.98KB4.16KB▼ 65.29%