78% kickass-slider

Code Review | KickAss Slider

WordPress plugin KickAss Slider scored78%from 54 tests.

About plugin

  • Plugin page: kickass-slider
  • Plugin version: 1.2
  • PHP version: 7.4.16
  • WordPress compatibility: 3.5-3.5.1
  • WordPress version: 6.3.1
  • First release: May 2, 2013
  • Latest release: Jun 12, 2013
  • Number of updates: 7
  • Update frequency: every 6.0 days
  • Top authors: jashwant (100%)

Code review

54 tests

User reviews

14 reviews

Install metrics

40+ active /5,035 total downloads

Benchmarks

Plugin footprint 82% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
The plugin installed successfully, without throwing any errors or notices

Server metrics [RAM: ▲0.18MB] [CPU: ▲3.20ms] Passed 4 tests

This is a short check of server-side resources used by KickAss Slider
Normal server usage
PageMemory (MB)CPU Time (ms)
Home /3.57 ▲0.1039.79 ▲0.56
Dashboard /wp-admin3.58 ▲0.2756.89 ▲6.27
Posts /wp-admin/edit.php3.62 ▲0.2657.49 ▲10.44
Add New Post /wp-admin/post-new.php6.06 ▲0.1890.57 ▲2.50
Media Library /wp-admin/upload.php3.40 ▲0.1838.59 ▲3.48

Server storage [IO: ▲0.22MB] [DB: ▲0.00MB] 67% from 3 tests

Analyzing filesystem and database footprints of this plugin
Please try to fix the following items
  • You have illegally modified 1 file (4.00KB) outside of "wp-content/plugins/kickass-slider/" and "wp-content/uploads/"
    • (new file) wp-content/mgd_mirror/mgd_maximinodotpy-gitdown-test-repository
Filesystem: 38 new files
Database: no new tables, 6 new options
New WordPress options
widget_recent-posts
theysaidso_admin_options
can_compress_scripts
widget_theysaidso_widget
db_upgraded
widget_recent-comments

Browser metrics Passed 4 tests

An overview of browser requirements for KickAss Slider
Normal browser usage
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /3,089 ▲32815.71 ▲1.087.03 ▲5.1441.24 ▼7.05
Dashboard /wp-admin2,406 ▲2036.84 ▲0.94134.53 ▲30.7942.20 ▲0.94
Posts /wp-admin/edit.php2,318 ▲2153.83 ▲1.8058.52 ▲23.2532.53 ▼1.24
Add New Post /wp-admin/post-new.php1,572 ▲3223.55 ▲0.52682.48 ▼29.9137.88 ▼14.23
Media Library /wp-admin/upload.php1,460 ▲604.70 ▲0.4785.82 ▼19.2344.50 ▼2.06

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

🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
It is recommended to fix the following
  • The uninstall procedure has failed, leaving 6 options in the database
    • db_upgraded
    • widget_theysaidso_widget
    • widget_recent-comments
    • theysaidso_admin_options
    • widget_recent-posts
    • can_compress_scripts

Smoke tests 50% from 4 tests

Server-side errors Passed 1 test

🔹 Test weight: 20 | A shallow check that no server-side errors were triggered
Even though no errors were found, this is by no means an exhaustive test

SRP 0% from 2 tests

🔹 Tests weight: 20 | The single-responsibility principle applies for WordPress plugins as well - please make sure your PHP files perform no actions when accessed directly
Almost there! Just fix the following items
  • 1× PHP files perform the task of outputting text when accessed with GET requests:
    • > /wp-content/plugins/kickass-slider/kickass-slider.php
  • 16× PHP files trigger server errors when accessed directly (only 10 are shown):
    • > PHP Fatal error
      Uncaught Error: Cannot access self:: when no class scope is active in wp-content/plugins/kickass-slider/views/templates/slider_options_mb.php:3
    • > PHP Notice
      Trying to access array offset on value of type null in wp-content/plugins/kickass-slider/views/templates/publish_mb.php on line 16
    • > PHP Notice
      Undefined variable: slider in wp-content/plugins/kickass-slider/views/templates/publish_mb.php on line 16
    • > PHP Notice
      Trying to access array offset on value of type null in wp-content/plugins/kickass-slider/views/templates/publish_mb.php on line 16
    • > PHP Fatal error
      Uncaught Error: Cannot access self:: when no class scope is active in wp-content/plugins/kickass-slider/views/templates/publish_mb.php:23
    • > PHP Notice
      Trying to access array offset on value of type null in wp-content/plugins/kickass-slider/views/templates/publish_mb.php on line 3
    • > PHP Notice
      Undefined variable: slider in wp-content/plugins/kickass-slider/views/templates/publish_mb.php on line 3
    • > PHP Fatal error
      Uncaught Error: Interface 'Mustache_Logger' not found in wp-content/plugins/kickass-slider/mustache/src/Mustache/Logger/AbstractLogger.php:21
    • > PHP Fatal error
      Uncaught Error: Interface 'Mustache_Loader' not found in wp-content/plugins/kickass-slider/mustache/src/Mustache/Loader/FilesystemLoader.php:29
    • > PHP Fatal error
      Uncaught Error: Class 'Mustache_Logger_AbstractLogger' not found in wp-content/plugins/kickass-slider/mustache/src/Mustache/Logger/StreamLogger.php:21

User-side errors Passed 1 test

🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
No browser errors were detected

Optimizations

Plugin configuration 97% 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 your attention:
  • Donate link: Please fix this invalid url: "jashwant.github.io/kickass-slider/#donate"
You can look at the official readme.txt

kickass-slider/kickass-slider.php Passed 13 tests

The primary PHP file in "KickAss Slider" version 1.2 is used by WordPress to initiate all plugin functionality
74 characters long description:
Slider having CSS3 animations ( with jQuery fallback ) and drag n drop UI.

Code Analysis Passed 3 tests

File types Passed 1 test

🔸 Test weight: 35 | A short check of programming languages and file extensions; no executable files are allowed
No dangerous file extensions were detected4,166 lines of code in 34 files:
LanguageFilesBlank linesComment linesLines of code
PHP233911,3622,013
JavaScript22641171,346
CSS29733461
Mustache7210346

PHP code Passed 2 tests

A brief analysis 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.32
Average class complexity11.50
▷ Minimum class complexity1.00
▷ Maximum class complexity46.00
Average method complexity2.44
▷ Minimum method complexity1.00
▷ Maximum method complexity26.00
Code structure
Namespaces0
Interfaces3
Traits0
Classes15
▷ Abstract classes213.33%
▷ Concrete classes1386.67%
▷ Final classes00.00%
Methods144
▷ Static methods2215.28%
▷ Public methods10371.53%
▷ Protected methods85.56%
▷ Private methods3322.92%
Functions0
▷ Named functions00.00%
▷ Anonymous functions00.00%
Constants49
▷ Global constants00.00%
▷ Class constants49100.00%
▷ Public constants49100.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

PNG files should be compressed to save space and minimize bandwidth usage
3 PNG files occupy 0.00MB with 0.00MB in potential savings
Potential savings
Compression of 3 random PNG files using pngquant
FileSize - originalSize - compressedSavings
assets/img/preview.png0.67KB0.60KB▼ 10.85%
assets/img/transparent.png0.12KB0.09KB▼ 24.17%
assets/img/expand.png0.42KB0.33KB▼ 21.65%