73% login-me-now

Code Review | 1 click passwordless login, temporary login, social login & user switching - Login Me Now

WordPress plugin 1 click passwordless login, temporary login, social login & user switching - Login Me Now scored73%from 54 tests.

About plugin

  • Plugin page: login-me-now
  • Plugin version: 1.3.3
  • PHP compatiblity: 7.4+
  • PHP version: 7.4.16
  • WordPress compatibility: 5.6-6.4.1
  • WordPress version: 6.3.1
  • First release: Jan 21, 2023
  • Latest release: Dec 2, 2023
  • Number of updates: 63
  • Update frequency: every 5.0 days
  • Top authors: heymehedi (100%)

Code review

54 tests

User reviews

6 reviews

Install metrics

200+ active /2,527 total downloads

Benchmarks

Plugin footprint 65% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | Checking the installer triggered no errors
Installer ran successfully

Server metrics [RAM: ▲1.09MB] [CPU: ▲3.27ms] Passed 4 tests

Server-side resources used by 1 click passwordless login, temporary login, social login & user switching - Login Me Now
Server-side resource usage in normal parameters
PageMemory (MB)CPU Time (ms)
Home /4.55 ▲1.0947.11 ▲3.51
Dashboard /wp-admin4.40 ▲1.0657.99 ▼7.57
Posts /wp-admin/edit.php4.51 ▲1.1555.63 ▲11.04
Add New Post /wp-admin/post-new.php7.02 ▲1.13100.46 ▲6.11
Media Library /wp-admin/upload.php4.32 ▲1.1043.63 ▲13.24

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

Input-output and database impact of this plugin
No storage issues were detected
Filesystem: 852 new files
Database: 1 new table, 8 new options
New tables
wp_login_me_now_tokens
New WordPress options
widget_theysaidso_widget
can_compress_scripts
login_me_now_secret_key
widget_recent-comments
db_upgraded
widget_recent-posts
theysaidso_admin_options
login_me_now_algorithm

Browser metrics Passed 4 tests

This is an overview of browser requirements for 1 click passwordless login, temporary login, social login & user switching - Login Me Now
There were no issues detected in relation to browser resource usage
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,915 ▲15314.03 ▼0.681.80 ▲0.0543.72 ▲1.06
Dashboard /wp-admin2,317 ▲1405.52 ▼0.1394.51 ▲0.6341.36 ▼4.39
Posts /wp-admin/edit.php2,226 ▲1261.96 ▼0.0139.96 ▲5.9734.76 ▲1.30
Add New Post /wp-admin/post-new.php1,592 ▲6623.17 ▲0.12611.86 ▼92.1656.39 ▼3.94
Media Library /wp-admin/upload.php1,526 ▲1294.19 ▼0.0395.60 ▼2.6642.98 ▲1.51

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

🔸 Tests weight: 35 | Verifying that this plugin uninstalls completely without leaving any traces
The following items require your attention
  • This plugin does not fully uninstall, leaving 1 table in the database
    • wp_login_me_now_tokens
  • This plugin did not uninstall successfully, leaving 8 options in the database
    • theysaidso_admin_options
    • login_me_now_algorithm
    • login_me_now_secret_key
    • widget_recent-posts
    • can_compress_scripts
    • widget_recent-comments
    • widget_theysaidso_widget
    • db_upgraded

Smoke tests 75% from 4 tests

Server-side errors Passed 1 test

🔹 Test weight: 20 | A smoke test targeting server-side errors
Even though everything seems fine, this is not an exhaustive test

SRP 50% 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 fix the following
  • 396× GET requests to PHP files have triggered server-side errors or warnings (only 10 are shown):
    • > PHP Warning
      Class 'Google\\Http\\REST' not found in wp-content/plugins/login-me-now/vendor/google/apiclient/src/aliases.php on line 32
    • > PHP Fatal error
      Uncaught Error: Class 'phpseclib3\\Crypt\\EC' not found in wp-content/plugins/login-me-now/vendor/phpseclib/phpseclib/phpseclib/Crypt/EC/PublicKey.php:31
    • > PHP Warning
      Use of undefined constant ABSPATH - assumed 'ABSPATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/login-me-now/App/Admin/TokensListTable.php on line 14
    • > PHP Fatal error
      Uncaught Error: Class 'phpseclib3\\Math\\BigInteger\\Engines\\BCMath\\Reductions\\Barrett' not found in wp-content/plugins/login-me-now/vendor/phpseclib/phpseclib/phpseclib/Math/BigInteger/Engines/BCMath/DefaultEngine.php:23
    • > PHP Fatal error
      Uncaught Error: Class 'phpseclib3\\Crypt\\Common\\Formats\\Keys\\PKCS1' not found in wp-content/plugins/login-me-now/vendor/phpseclib/phpseclib/phpseclib/Crypt/DH/Formats/Keys/PKCS1.php:34
    • > PHP Fatal error
      Uncaught Error: Class 'GuzzleHttp\\Exception\\TransferException' not found in wp-content/plugins/login-me-now/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:15
    • > PHP Fatal error
      Uncaught Error: Class 'Monolog\\Handler\\AbstractProcessingHandler' not found in wp-content/plugins/login-me-now/vendor/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php:26
    • > PHP Fatal error
      Uncaught Error: Interface 'Psr\\Http\\Message\\StreamInterface' not found in wp-content/plugins/login-me-now/vendor/guzzlehttp/psr7/src/AppendStream.php:14
    • > PHP Fatal error
      Uncaught Error: Class 'phpseclib3\\Crypt\\Common\\Formats\\Signature\\Raw' not found in wp-content/plugins/login-me-now/vendor/phpseclib/phpseclib/phpseclib/Crypt/EC/Formats/Signature/Raw.php:23
    • > PHP Fatal error
      Trait 'LoginMeNow\\Traits\\Singleton' not found in wp-content/plugins/login-me-now/App/Models/UserToken.php on line 14

User-side errors Passed 1 test

🔹 Test weight: 20 | Just a short smoke test targeting errors on the browser (console and network errors and warnings)
Everything seems fine, but this is not an exhaustive test

Optimizations

Plugin configuration 97% from 29 tests

readme.txt 94% 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
Attributes that require attention:
  • Screenshots: Add descriptions for screenshots #1, #2, #3, #4, #5 in login-me-now/assets to your readme.txt
The official readme.txt might help

login-me-now/login-me-now.php Passed 13 tests

"1 click passwordless login, temporary login, social login & user switching - Login Me Now" version 1.3.3's primary PHP file adds more information about the plugin and serves as the entry point for WordPress
57 characters long description:
1 click passwordless login, social login & user switching

Code Analysis 97% from 3 tests

File types Passed 1 test

🔸 Test weight: 35 | There should be no dangerous file extensions present in any WordPress plugin
Everything looks great! No dangerous files found in this plugin72,309 lines of code in 796 files:
LanguageFilesBlank linesComment linesLines of code
PHP72913,06539,99461,791
Markdown342,11405,860
CSS11771192,240
JSON20002,221
JavaScript6100154
SVG40021
XML10019
Bourne Shell1203

PHP code 50% from 2 tests

Analyzing cyclomatic complexity and code structure
These items need your attention
  • Please reduce cyclomatic complexity of methods to less than 100 (currently 104)
Cyclomatic complexity
Average complexity per logical line of code0.38
Average class complexity12.63
▷ Minimum class complexity1.00
▷ Maximum class complexity679.00
Average method complexity3.35
▷ Minimum method complexity1.00
▷ Maximum method complexity104.00
Code structure
Namespaces92
Interfaces50
Traits18
Classes656
▷ Abstract classes22133.69%
▷ Concrete classes43566.31%
▷ Final classes6715.40%
Methods3,609
▷ Static methods76021.06%
▷ Public methods2,69874.76%
▷ Protected methods40211.14%
▷ Private methods50914.10%
Functions163
▷ Named functions2112.88%
▷ Anonymous functions14287.12%
Constants535
▷ Global constants254.67%
▷ Class constants51095.33%
▷ Public constants46390.78%

Plugin size 50% from 2 tests

Image compression 50% from 2 tests

Often times overlooked, PNG files can occupy unnecessary space in your plugin
26 PNG files occupy 0.88MB with 0.49MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
App/Admin/Assets/images/safari.png97.50KB36.31KB▼ 62.76%
App/Admin/Assets/images/lock.png2.84KB1.83KB▼ 35.52%
App/Admin/Assets/build/images/temporary-login-ss.572d2502.png43.11KB17.20KB▼ 60.12%
App/Admin/Assets/images/microsoft.png37.19KB12.76KB▼ 65.70%
App/Admin/Assets/images/google.png0.98KB0.43KB▼ 56.27%