10% sukellos-login-style

Code Review | Sukellos Login Style

WordPress plugin Sukellos Login Style scored10%from 54 tests.

About plugin

  • Plugin page: sukellos-login-style
  • Plugin version: 1.1.6
  • PHP compatiblity: 7.2+
  • PHP version: 7.4.16
  • WordPress compatibility: 5.2-6.3.0
  • WordPress version: 6.3.1
  • First release: Mar 30, 2022
  • Latest release: Aug 17, 2023
  • Number of updates: 16
  • Update frequency: every 31.6 days
  • Top authors: sukellos (100%)

Code review

54 tests

User reviews

1 review

Install metrics

10+ active /419 total downloads

Benchmarks

Plugin footprint 40% from 16 tests

Installer 0% from 1 test

🔺 Critical test (weight: 50) | The install procedure must perform silently
The following installer errors require your attention
  • This plugin did not install gracefully
    • > 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.)

Server metrics [RAM: ▼1.75MB] [CPU: ▼51.57ms] Passed 4 tests

A check of server-side resources used by Sukellos Login Style
Normal server usage
PageMemory (MB)CPU Time (ms)
Home /2.24 ▼1.226.23 ▼28.81
Dashboard /wp-admin2.26 ▼1.086.65 ▼53.45
Posts /wp-admin/edit.php2.27 ▼1.097.34 ▼37.64
Add New Post /wp-admin/post-new.php2.26 ▼3.627.81 ▼86.38
Media Library /wp-admin/upload.php2.26 ▼0.977.66 ▼27.84
Tools /wp-admin/admin.php?page=wp_sukellos_fw_tools2.266.84
Sukellos Fw /wp-admin/admin.php?page=wp_sukellos_fw_dashboard2.267.57

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

How much does this plugin use your filesystem and database?
This plugin installed successfully
Filesystem: 320 new files
Database: no new tables, 6 new options
New WordPress options
widget_recent-posts
theysaidso_admin_options
widget_theysaidso_widget
widget_recent-comments
db_upgraded
can_compress_scripts

Browser metrics Passed 4 tests

This is an overview of browser requirements for Sukellos Login Style
There were no issues detected in relation to browser resource usage
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,973 ▲22714.38 ▼0.221.89 ▲0.3941.58 ▲3.24
Dashboard /wp-admin2,374 ▲1976.16 ▲0.51115.77 ▲29.2336.83 ▼4.34
Posts /wp-admin/edit.php2,305 ▲2083.33 ▲1.3654.58 ▲19.6134.49 ▼0.45
Add New Post /wp-admin/post-new.php1,564 ▲3822.11 ▼1.04660.04 ▲9.1237.47 ▼17.49
Media Library /wp-admin/upload.php1,436 ▲364.14 ▼0.0977.68 ▼22.5644.00 ▼0.15
Tools /wp-admin/admin.php?page=wp_sukellos_fw_tools1,0913.3139.6032.81
Sukellos Fw /wp-admin/admin.php?page=wp_sukellos_fw_dashboard1,3003.2438.3839.53

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

🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
The following items require your attention
  • The plugin did not uninstall gracefully
    • > 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.)
  • Zombie WordPress options were found after uninstall: 7 options
    • theysaidso_admin_options
    • wp_sukellos_fw_edd_licenses
    • can_compress_scripts
    • widget_recent-posts
    • widget_theysaidso_widget
    • widget_recent-comments
    • db_upgraded

Smoke tests 50% from 4 tests

Server-side errors 0% from 1 test

🔹 Test weight: 20 | This is a short smoke test looking for server-side errors
These errors were triggered by the plugin
  • 2 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=wp_sukellos_fw_dashboard
    • > 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.)

SRP 50% from 2 tests

🔹 Tests weight: 20 | The single-responsibility principle: PHP files have to remain inert when accessed directly, throwing no errors and performing no actions
Please fix the following items
  • 96× PHP files trigger server errors when accessed directly (only 10 are shown):
    • > PHP Fatal error
      Uncaught Error: Interface 'Monolog\\Handler\\HandlerInterface' not found in wp-content/plugins/sukellos-login-style/vendor/monolog/monolog/src/Monolog/Handler/HandlerWrapper.php:34
    • > PHP Fatal error
      Uncaught Error: Class 'Monolog\\Handler\\Handler' not found in wp-content/plugins/sukellos-login-style/vendor/monolog/monolog/src/Monolog/Handler/FilterHandler.php:31
    • > PHP Fatal error
      Uncaught Error: Class 'Monolog\\Formatter\ormalizerFormatter' not found in wp-content/plugins/sukellos-login-style/vendor/monolog/monolog/src/Monolog/Formatter/HtmlFormatter.php:24
    • > PHP Fatal error
      Uncaught Error: Class 'Monolog\\Handler\\SocketHandler' not found in wp-content/plugins/sukellos-login-style/vendor/monolog/monolog/src/Monolog/Handler/LogmaticHandler.php:21
    • > PHP Fatal error
      Uncaught Error: Class 'Monolog\\Handler\\AbstractProcessingHandler' not found in wp-content/plugins/sukellos-login-style/vendor/monolog/monolog/src/Monolog/Handler/CubeHandler.php:23
    • > PHP Fatal error
      Uncaught Error: Class 'Monolog\\Handler\\AbstractHandler' not found in wp-content/plugins/sukellos-login-style/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php:27
    • > PHP Fatal error
      Uncaught Error: Class 'Monolog\\Handler\\AbstractProcessingHandler' not found in wp-content/plugins/sukellos-login-style/vendor/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php:23
    • > PHP Fatal error
      Uncaught Error: Class 'Monolog\\Handler\\AbstractHandler' not found in wp-content/plugins/sukellos-login-style/vendor/monolog/monolog/src/Monolog/Handler/SamplingHandler.php:33
    • > PHP Fatal error
      Uncaught Error: Class 'Monolog\\Formatter\ormalizerFormatter' not found in wp-content/plugins/sukellos-login-style/vendor/monolog/monolog/src/Monolog/Formatter/ElasticsearchFormatter.php:21
    • > PHP Fatal error
      Uncaught Error: Class 'Monolog\\Handler\\AbstractProcessingHandler' not found in wp-content/plugins/sukellos-login-style/vendor/monolog/monolog/src/Monolog/Handler/SlackWebhookHandler.php:25

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 Passed 16 tests

The readme.txt file describes your plugin functionality and requirements and it is parsed to prepare the your plugin's listing
8 plugin tags: admin, option, login style, post meta, custom admin panel...

sukellos-login-style/sukellos-login-style.php 77% from 13 tests

The main PHP script in "Sukellos Login Style" version 1.1.6 is automatically included on every request by WordPress
The following require your attention:
  • Text Domain: If you choose to specify the text domain, it must be the same as the plugin slug; optional since WordPress version 4.6
  • Domain Path: The domain path points to an invalid folder, "/languages" does not exist
  • Requires PHP: Required version must match the one declared in readme.txt ("7.0" instead of "7.2")

Code Analysis Passed 3 tests

File types Passed 1 test

🔸 Test weight: 35 | An overview of files in this plugin; executable files are not allowed
Success! There were no dangerous files found in this plugin16,880 lines of code in 301 files:
LanguageFilesBlank linesComment linesLines of code
PHP1944,5099,95112,867
JavaScript862995072,426
CSS1344103716
Markdown41920604
JSON400267

PHP code Passed 2 tests

An overview of cyclomatic complexity and code structure
This plugin has no cyclomatic complexity problems
Cyclomatic complexity
Average complexity per logical line of code0.39
Average class complexity9.59
▷ Minimum class complexity1.00
▷ Maximum class complexity84.00
Average method complexity2.51
▷ Minimum method complexity1.00
▷ Maximum method complexity51.00
Code structure
Namespaces22
Interfaces13
Traits10
Classes163
▷ Abstract classes2716.56%
▷ Concrete classes13683.44%
▷ Final classes32.21%
Methods1,130
▷ Static methods1049.20%
▷ Public methods81572.12%
▷ Protected methods23220.53%
▷ Private methods837.35%
Functions23
▷ Named functions14.35%
▷ Anonymous functions2295.65%
Constants136
▷ Global constants00.00%
▷ Class constants136100.00%
▷ Public constants11483.82%

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
No PNG files were detected