61% lilicast

Code Review | Lilicast

WordPress plugin Lilicast scored61%from 54 tests.

About plugin

  • Plugin page: lilicast
  • Plugin version: 2.1.10
  • PHP version: 7.4.16
  • WordPress version: 6.3.1
  • First release: Jun 3, 2020
  • Latest release: Jun 3, 2020
  • Number of updates: 3
  • Update frequency: every 2.0 days
  • Top authors: lilicast (100%)

Code review

54 tests

User reviews

1 review

Install metrics

10+ active /304 total downloads

Benchmarks

Plugin footprint 64% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | The install procedure must perform silently
Installer ran successfully

Server metrics [RAM: ▲8.15MB] [CPU: ▲2.04ms] 50% from 4 tests

A check of server-side resources used by Lilicast
The following require your attention
  • RAM: You should keep total memory usage under 10MB (currently 12.16MB on /wp-admin/edit-tags.php?taxonomy=category&post_type=attachment)
  • Extra RAM: Extra memory usage must be kept under 5MB (currently 8.15MB on /wp-admin/edit-tags.php?taxonomy=category&post_type=attachment)
PageMemory (MB)CPU Time (ms)
Home /12.12 ▲8.6662.79 ▲21.43
Dashboard /wp-admin12.16 ▲8.8565.79 ▲11.35
Posts /wp-admin/edit.php12.16 ▲8.8071.58 ▲18.11
Add New Post /wp-admin/post-new.php12.16 ▲6.2755.11 ▼42.72
Media Library /wp-admin/upload.php12.16 ▲8.9359.09 ▲21.77
Generate shortcode /wp-admin/admin.php?page=lilicast-shortcodes12.1651.94
Generate shortcode (flix) /wp-admin/admin.php?page=lilicast-netflix-shortcode12.16334.91
Tags /wp-admin/edit-tags.php?taxonomy=post_tag&post_type=attachment12.1649.00
Overview /wp-admin/admin.php?page=lilicast-top-level12.16290.11
Categories /wp-admin/edit-tags.php?taxonomy=category&post_type=attachment12.1660.76

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

A short overview of filesystem and database impact
Please try to fix the following items
  • The plugin illegally modified 1 file (4.00KB) outside of "wp-content/plugins/lilicast/" and "wp-content/uploads/"
    • (new file) wp-content/mgd_mirror/mgd_maximinodotpy-gitdown-test-repository
Filesystem: 59 new files
Database: 1 new table, 7 new options
New tables
wp_lilicast
New WordPress options
theysaidso_admin_options
widget_recent-posts
widget_recent-comments
db_upgraded
widget_theysaidso_widget
can_compress_scripts
category_children

Browser metrics Passed 4 tests

Lilicast: an overview of browser usage
This plugin renders optimally with no browser resource issues detected
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,987 ▲22613.62 ▼0.768.86 ▲7.2444.43 ▲7.33
Dashboard /wp-admin2,304 ▲984.88 ▼0.03109.83 ▲1.2040.19 ▼5.57
Posts /wp-admin/edit.php2,187 ▲872.04 ▲0.0240.35 ▲1.5238.21 ▲1.03
Add New Post /wp-admin/post-new.php1,578 ▲3323.12 ▲0.04608.55 ▼65.2143.70 ▼24.70
Media Library /wp-admin/upload.php1,484 ▲814.36 ▲0.10101.35 ▼16.6545.38 ▼1.21
Generate shortcode /wp-admin/admin.php?page=lilicast-shortcodes1,0042.0524.2625.79
Generate shortcode (flix) /wp-admin/admin.php?page=lilicast-netflix-shortcode1,0042.0723.9125.83
Tags /wp-admin/edit-tags.php?taxonomy=post_tag&post_type=attachment1,4052.3230.5031.47
Overview /wp-admin/admin.php?page=lilicast-top-level9251.7122.9429.35
Categories /wp-admin/edit-tags.php?taxonomy=category&post_type=attachment1,5352.3230.1135.05

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

🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
Please fix the following items
  • Zombie tables detected upon uninstall: 1 table
    • wp_lilicast
  • Zombie WordPress options detected upon uninstall: 7 options
    • widget_theysaidso_widget
    • theysaidso_admin_options
    • db_upgraded
    • category_children
    • widget_recent-posts
    • can_compress_scripts
    • widget_recent-comments

Smoke tests 25% 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/admin.php?page=lilicast-netflix-shortcode
    • > Warning in wp-content/plugins/lilicast/admin/partials/lilicast-admin-generate-netflix-shortcode.php+79
    Invalid argument supplied for foreach()

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
Please take a closer look at the following
  • 8× GET requests to PHP files return non-empty strings:
    • > /wp-content/plugins/lilicast/admin/partials/lilicast-admin-display.php
    • > /wp-content/plugins/lilicast/public/partials/video-grid-empty.php
    • > /wp-content/plugins/lilicast/public/partials/video-grid-sc-scoped-style.php
    • > /wp-content/plugins/lilicast/public/partials/video-grid-netflix-script.php
    • > /wp-content/plugins/lilicast/public/partials/lilicast-public-display.php
    • > /wp-content/plugins/lilicast/public/partials/video-grid-netflix-pagination.php
    • > /wp-content/plugins/lilicast/public/partials/video-grid-sc-script.php
    • > /wp-content/plugins/lilicast/public/partials/video-grid-sc-thumb-wrapper.php
  • 20× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
    • > PHP Fatal error
      require_once(): Failed opening required 'ABSPATHwp-admin/includes/class-wp-list-table.php' (include_path='.:/usr/share/php') in wp-content/plugins/lilicast/includes/class-lilicast-import-table.php on line 4
    • > PHP Fatal error
      Uncaught Error: Call to undefined function plugin_dir_url() in wp-content/plugins/lilicast/public/partials/show-template.php:8
    • > PHP Notice
      Undefined variable: lc_posts in wp-content/plugins/lilicast/public/partials/video-grid-netflix-template.php on line 5
    • > PHP Fatal error
      Uncaught Error: Call to undefined function add_submenu_page() in wp-content/plugins/lilicast/admin/partials/lilicast-admin-generate-shortcode.php:2
    • > PHP Fatal error
      Uncaught Error: Call to undefined function add_menu_page() in wp-content/plugins/lilicast/admin/partials/lilicast-admin-settings.php:8
    • > PHP Fatal error
      require_once(): Failed opening required 'ABSPATHwp-admin/includes/upgrade.php' (include_path='.:/usr/share/php') in wp-content/plugins/lilicast/includes/class-lilicast-activator.php on line 15
    • > PHP Warning
      Use of undefined constant ABSPATH - assumed 'ABSPATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/lilicast/admin/class-lilicast-admin.php on line 25
    • > 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/lilicast/admin/class-lilicast-admin.php on line 25
    • > PHP Fatal error
      require_once(): Failed opening required 'ABSPATHwp-admin/includes/class-wp-list-table.php' (include_path='.:/usr/share/php') in wp-content/plugins/lilicast/admin/class-lilicast-admin.php on line 25
    • > PHP Notice
      Undefined variable: plugin_uri in wp-content/plugins/lilicast/public/partials/video-grid-netflix-script.php on line 272

User-side errors Passed 1 test

🔹 Test weight: 20 | This is a shallow check for browser errors
No browser issues were found

Optimizations

Plugin configuration 90% from 29 tests

readme.txt 88% from 16 tests

The readme.txt file uses markdown syntax to describe your plugin to the world
These attributes need to be fixed:
  • Contributors: Plugin contributors field is missing
  • Plugin Name: You should set the name of your plugin on the first line ( === lilicast === )
You can look at the official readme.txt

lilicast/lilicast.php 92% from 13 tests

The main PHP script in "Lilicast" version 2.1.10 is automatically included on every request by WordPress
Please make the necessary changes and fix the following:
  • Description: The description should be shorter than 140 characters (currently 222 characters long)

Code Analysis Passed 3 tests

File types Passed 1 test

🔸 Test weight: 35 | Executable files are not allowed as they can serve as attack vectors
Success! There were no dangerous files found in this plugin49,265 lines of code in 53 files:
LanguageFilesBlank linesComment linesLines of code
PHP3756488348,401
CSS415731848
SVG9009
JavaScript36627

PHP code Passed 2 tests

Analyzing cyclomatic complexity and code structure
All good! No complexity issues found
Cyclomatic complexity
Average complexity per logical line of code0.27
Average class complexity10.12
▷ Minimum class complexity1.00
▷ Maximum class complexity30.00
Average method complexity2.43
▷ Minimum method complexity1.00
▷ Maximum method complexity13.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes17
▷ Abstract classes15.88%
▷ Concrete classes1694.12%
▷ Final classes00.00%
Methods92
▷ Static methods2628.26%
▷ Public methods7480.43%
▷ Protected methods00.00%
▷ Private methods1819.57%
Functions17
▷ Named functions635.29%
▷ Anonymous functions1164.71%
Constants4
▷ Global constants250.00%
▷ Class constants250.00%
▷ Public constants2100.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

PNG files should be compressed to save space and minimize bandwidth usage
No PNG images were found in this plugin