73% miniorange-login-openid

Code Review | WordPress Social Login and Register (Discord, Google, Twitter, LinkedIn)

WordPress plugin WordPress Social Login and Register (Discord, Google, Twitter, LinkedIn) scored73%from 54 tests.

About plugin

Code review

54 tests

User reviews

351 reviews

Install metrics

30,000+ active /1,505,551 total downloads

Benchmarks

Plugin footprint 65% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | All plugins must install correctly, without throwing any errors, warnings, or notices
This plugin's installer ran successfully

Server metrics [RAM: ▲0.22MB] [CPU: ▲2.06ms] Passed 4 tests

Analyzing server-side resources used by WordPress Social Login and Register (Discord, Google, Twitter, LinkedIn)
This plugin does not affect your website's performance
PageMemory (MB)CPU Time (ms)
Home /3.65 ▲0.1956.56 ▲13.55
Dashboard /wp-admin3.52 ▲0.1857.01 ▼2.45
Posts /wp-admin/edit.php3.62 ▲0.2660.75 ▲12.10
Add New Post /wp-admin/post-new.php6.25 ▲0.3683.52 ▼14.97
Media Library /wp-admin/upload.php3.48 ▲0.2549.26 ▲15.86
BuddyPress Add-On /wp-admin/admin.php?page=mo_openid_buddypress_add_on3.5845.23
Custom Registration Add-On /wp-admin/admin.php?page=mo_openid_settings_addOn3.5055.90
WooCommerce Add-On /wp-admin/admin.php?page=mo_openid_woocommerce_add_on3.5051.69
Discord Add-On /wp-admin/admin.php?page=mo_openid_discord_add_on3.4957.47
MailChimp Add-On /wp-admin/admin.php?page=mo_openid_mailchimp_add_on3.4942.78
HubSpot Add-On /wp-admin/admin.php?page=mo_openid_hubspot_add_on3.5041.60
Social Commenting /wp-admin/admin.php?page=mo_openid_social_commenting_settings3.4943.61
Social Login /wp-admin/admin.php?page=mo_openid_general_settings3.6055.97
Social Sharing /wp-admin/admin.php?page=mo_openid_social_sharing_settings3.5253.09

Server storage [IO: ▲7.55MB] [DB: ▲0.01MB] Passed 3 tests

Filesystem and database footprint
No storage issues were detected
Filesystem: 234 new files
Database: 1 new table, 117 new options
New tables
wp_mo_openid_linked_user
New WordPress options
mo_account_linking_existing_user_button
mo_openid_auto_register_enable
mo_profile_complete_email_label
mo_openid_share_widget_customize_text_color
mo_share_options_enable_post_position
mo_openid_fonawesome_load
mo_openid_login_redirect
mo_openid_share_email_body
mo_email_failure_message
mo_delete_user_error_message
...

Browser metrics Passed 4 tests

Checking browser requirements for WordPress Social Login and Register (Discord, Google, Twitter, LinkedIn)
There were no issues detected in relation to browser resource usage
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,930 ▲18313.78 ▼0.5412.11 ▲10.3837.74 ▼5.32
Dashboard /wp-admin2,234 ▲545.56 ▼0.0893.20 ▼5.2390.05 ▲48.14
Posts /wp-admin/edit.php2,154 ▲512.12 ▲0.1735.01 ▼8.6732.75 ▼4.79
Add New Post /wp-admin/post-new.php1,584 ▲5823.26 ▲0.09740.93 ▲128.1868.53 ▲17.34
Media Library /wp-admin/upload.php1,451 ▲574.29 ▲0.1397.53 ▼4.1768.73 ▲26.74
BuddyPress Add-On /wp-admin/admin.php?page=mo_openid_buddypress_add_on5,09812.73329.3163.50
Custom Registration Add-On /wp-admin/admin.php?page=mo_openid_settings_addOn5,08813.42287.0274.45
WooCommerce Add-On /wp-admin/admin.php?page=mo_openid_woocommerce_add_on5,0179.73308.9051.74
Discord Add-On /wp-admin/admin.php?page=mo_openid_discord_add_on4,4903.0649.6940.57
MailChimp Add-On /wp-admin/admin.php?page=mo_openid_mailchimp_add_on4,4373.0245.3539.61
HubSpot Add-On /wp-admin/admin.php?page=mo_openid_hubspot_add_on4,8623.0750.0937.68
Social Commenting /wp-admin/admin.php?page=mo_openid_social_commenting_settings4,4093.0545.4036.06
Social Login /wp-admin/admin.php?page=mo_openid_general_settings5,9854.0699.0797.36
Social Sharing /wp-admin/admin.php?page=mo_openid_social_sharing_settings5,1524.4991.5358.13

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

🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
Please fix the following items
  • Zombie tables detected upon uninstall: 1 table
    • wp_mo_openid_linked_user
  • Zombie WordPress options were found after uninstall: 15 options
    • mo_openid_extension_tab
    • widget_recent-comments
    • mo_login_icon_custom_hover_color
    • can_compress_scripts
    • mo_openid_button_theme_effect
    • widget_theysaidso_widget
    • theysaidso_admin_options
    • db_upgraded
    • app_pos_premium
    • mo_login_icon_custom_smart_color2
    • ...

Smoke tests 75% from 4 tests

Server-side errors Passed 1 test

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

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
The following issues need your attention
  • 17× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
    • > PHP Warning
      Use of undefined constant ABSPATH - assumed 'ABSPATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/miniorange-login-openid/view/soc_sha/soc_apps/mo_openid_sharing.php on line 2
    • > PHP Warning
      require_once(ABSPATHwp-includes/plugin.php): failed to open stream: No such file or directory in wp-content/plugins/miniorange-login-openid/view/soc_sha/soc_apps/mo_openid_sharing.php on line 2
    • > PHP Fatal error
      require_once(): Failed opening required 'ABSPATHwp-includes/pluggable.php' (include_path='.:/usr/share/php') in wp-content/plugins/miniorange-login-openid/view/support_form/miniorange_openid_support_form.php on line 2
    • > PHP Warning
      Use of undefined constant ABSPATH - assumed 'ABSPATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/miniorange-login-openid/class-mo-openid-login-widget.php on line 3
    • > PHP Fatal error
      Uncaught Error: Call to undefined function esc_url() in wp-content/plugins/miniorange-login-openid/miniorange_openid_sso_settings.php:13
    • > PHP Warning
      require_once(ABSPATHwp-admin/includes/user.php): failed to open stream: No such file or directory in wp-content/plugins/miniorange-login-openid/class-mo-openid-login-widget.php on line 3
    • > PHP Fatal error
      Uncaught Error: Call to undefined function sanitize_text_field() in wp-content/plugins/miniorange-login-openid/class-mo-openid-social-share.php:7
    • > PHP Warning
      require_once(ABSPATHwp-includes/pluggable.php): failed to open stream: No such file or directory in wp-content/plugins/miniorange-login-openid/view/support_form/miniorange_openid_support_form.php on line 2
    • > PHP Fatal error
      require_once(): Failed opening required 'ABSPATHwp-admin/includes/user.php' (include_path='.:/usr/share/php') in wp-content/plugins/miniorange-login-openid/class-mo-openid-login-widget.php on line 3
    • > PHP Warning
      Use of undefined constant ABSPATH - assumed 'ABSPATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/miniorange-login-openid/view/rate_us/rate_us.php on line 2

User-side errors Passed 1 test

🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
Everything seems fine on the user side

Optimizations

Plugin configuration 93% from 29 tests

readme.txt 94% from 16 tests

It's important to format your readme.txt file correctly as it is parsed for the public listing of your plugin
Attributes that need to be fixed:
  • Tags: Too many tags (23 tag instead of maximum 10); only the first 5 tags are used in your directory listing
The official readme.txt might help

miniorange-login-openid/miniorange_openid_sso_settings.php 92% from 13 tests

The main file in "WordPress Social Login and Register (Discord, Google, Twitter, LinkedIn)" v. 7.6.7 serves as a complement to information provided in readme.txt and as the entry point to the plugin
Please make the necessary changes and fix the following:
  • Main file name: Please rename the main PHP file in this plugin to the plugin slug ("miniorange-login-openid.php" instead of "miniorange_openid_sso_settings.php")

Code Analysis 97% from 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
No dangerous file extensions were detected60,029 lines of code in 140 files:
LanguageFilesBlank linesComment linesLines of code
PHP1092,07339019,365
JavaScript113,2812,16216,269
CSS141,9991919,552
SVG3009,552
PO File31,9102,3415,291

PHP code 50% from 2 tests

Cyclomatic complexity and code structure are the fingerprint of this plugin
The following items need your attention
  • Cyclomatic complexity of methods should be reduced to less than 100 (currently 189)
Cyclomatic complexity
Average complexity per logical line of code0.28
Average class complexity11.60
▷ Minimum class complexity1.00
▷ Maximum class complexity286.00
Average method complexity7.30
▷ Minimum method complexity1.00
▷ Maximum method complexity189.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes60
▷ Abstract classes00.00%
▷ Concrete classes60100.00%
▷ Final classes00.00%
Methods101
▷ Static methods43.96%
▷ Public methods9897.03%
▷ Protected methods00.00%
▷ Private methods32.97%
Functions141
▷ Named functions13797.16%
▷ Anonymous functions42.84%
Constants3
▷ Global constants3100.00%
▷ Class constants00.00%
▷ Public constants00.00%

Plugin size 50% from 2 tests

Image compression 50% from 2 tests

Often times overlooked, PNG files can occupy unnecessary space in your plugin
71 PNG files occupy 0.97MB with 0.31MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
includes/images/sample.png12.61KB6.58KB▼ 47.81%
includes/images/icons/livejournal.png1.49KB1.11KB▼ 25.44%
includes/images/icons/naver.png0.62KB0.60KB▼ 3.30%
includes/images/modt_bp.png24.39KB12.76KB▼ 47.68%
includes/images/modt_sc.png14.88KB9.29KB▼ 37.58%