68% clickhome-myhome

Code Review | ClickHome-MyHome

WordPress plugin ClickHome-MyHome scored68%from 54 tests.

About plugin

  • Plugin page: clickhome-myhome
  • Plugin version: 1.6.3
  • PHP version: 7.4.16
  • WordPress compatibility: 3.9-4.7.2
  • WordPress version: 6.3.1
  • First release: Jul 28, 2014
  • Latest release: Sep 21, 2018
  • Number of updates: 69
  • Update frequency: every 22.2 days
  • Top authors: ClickHome (100%)

Code review

54 tests

User reviews

1 review

Install metrics

10+ active /1,578 total downloads

Benchmarks

Plugin footprint 65% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | It is important to correctly install your plugin, without throwing errors or notices
The plugin installed successfully, without throwing any errors or notices

Server metrics [RAM: ▲0.41MB] [CPU: ▲1.04ms] Passed 4 tests

Server-side resources used by ClickHome-MyHome
This plugin does not affect your website's performance
PageMemory (MB)CPU Time (ms)
Home /3.47 ▲0.0131.50 ▼11.60
Dashboard /wp-admin3.85 ▲0.5558.29 ▲3.41
Posts /wp-admin/edit.php3.90 ▲0.5565.47 ▲13.62
Add New Post /wp-admin/post-new.php6.43 ▲0.5599.14 ▼1.28
Media Library /wp-admin/upload.php3.78 ▲0.5553.45 ▲16.07
Maintenance /wp-admin/admin.php?page=MyHomeMaintenance3.8347.16
Contact Form /wp-admin/admin.php?page=MyHomeContactForm3.7442.85
Debug Console /wp-admin/admin.php?page=MyHomeDebugConsole3.7943.01
Settings /wp-admin/admin.php?page=MyHomeSettings3.8949.21
Tender /wp-admin/admin.php?page=MyHomeTender3.8347.40
Advertising /wp-admin/admin.php?page=MyHomeAdvertising3.9662.90
Facebook /wp-admin/admin.php?page=MyHomeFacebook3.8346.06

Server storage [IO: ▲15.41MB] [DB: ▲0.01MB] 67% from 3 tests

Filesystem and database footprint
These are issues you should consider
  • There were 1 file (4.00KB) illegally modified outside of "wp-content/plugins/clickhome-myhome/" and "wp-content/uploads/"
    • (new file) wp-content/mgd_mirror/mgd_maximinodotpy-gitdown-test-repository
Filesystem: 604 new files
Database: 10 new tables, 11 new options
New tables
wp_mh_displays
wp_mh_housedetails_facades_docs
wp_mh_displays_planoptions_docs
wp_mh_housedetails
wp_mh_housedetails_rooms
wp_mh_housedetails_housedocs
wp_mh_housedetails_planoptions
wp_mh_displays_planoptions
wp_mh_housedetails_planoptions_docs
wp_mh_housedetails_facades
New WordPress options
db_upgraded
myhome_version
can_compress_scripts
myhome_log_filename
widget_recent-comments
theysaidso_admin_options
widget_contractheaderwidget
myhome_database_version
widget_recent-posts
widget_logoffwidget
...

Browser metrics Passed 4 tests

A check of browser resources used by ClickHome-MyHome
This plugin has a minimal impact on browser resources
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,576 ▼18513.97 ▼0.420.54 ▼1.250.09 ▼43.17
Dashboard /wp-admin2,277 ▲745.87 ▲0.0397.26 ▼13.9074.95 ▲27.30
Posts /wp-admin/edit.php2,154 ▲542.02 ▼0.1034.93 ▼2.6032.86 ▼2.85
Add New Post /wp-admin/post-new.php1,569 ▲4322.66 ▲5.13693.21 ▼19.0475.48 ▲21.46
Media Library /wp-admin/upload.php1,447 ▲474.21 ▼0.06108.71 ▲2.7285.58 ▲38.62
Maintenance /wp-admin/admin.php?page=MyHomeMaintenance1,0901.7327.9440.04
Contact Form /wp-admin/admin.php?page=MyHomeContactForm1,2911.8424.7734.93
Debug Console /wp-admin/admin.php?page=MyHomeDebugConsole1,1911.9231.0527.88
Settings /wp-admin/admin.php?page=MyHomeSettings1,3101.7227.4438.72
Tender /wp-admin/admin.php?page=MyHomeTender1,1371.8829.0230.26
Advertising /wp-admin/admin.php?page=MyHomeAdvertising1,0451.7226.5529.94
Facebook /wp-admin/admin.php?page=MyHomeFacebook1,0391.7225.9930.07

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

🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
These items require your attention
  • Zombie tables were found after uninstall: 10 tables
    • wp_mh_housedetails_facades
    • wp_mh_housedetails_planoptions
    • wp_mh_housedetails
    • wp_mh_housedetails_housedocs
    • wp_mh_housedetails_facades_docs
    • wp_mh_displays_planoptions
    • wp_mh_housedetails_planoptions_docs
    • wp_mh_displays
    • wp_mh_housedetails_rooms
    • wp_mh_displays_planoptions_docs
  • The uninstall procedure has failed, leaving 11 options in the database
    • widget_contractheaderwidget
    • can_compress_scripts
    • widget_recent-comments
    • widget_logoffwidget
    • myhome_database_version
    • theysaidso_admin_options
    • widget_recent-posts
    • myhome_version
    • widget_theysaidso_widget
    • myhome_log_filename
    • ...

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
The smoke test was a success, however most plugin functionality was not tested

SRP 0% from 2 tests

🔹 Tests weight: 20 | SRP (Single-Responsibility Principle) - PHP files must act as libraries and never output text or perform any action when accessed directly in a browser
Please fix the following items
  • 1× PHP files perform the task of outputting text when accessed with GET requests:
    • > /wp-content/plugins/clickhome-myhome/vendor/cool-php-captcha/captcha.php
  • 112× GET requests to PHP files trigger server-side errors or Error 500 responses (only 10 are shown):
    • > PHP Fatal error
      Uncaught Error: Interface 'Facebook\\Http\\RequestBodyInterface' not found in wp-content/plugins/clickhome-myhome/vendor/facebook-php-sdk/src/Facebook/Http/RequestBodyMultipart.php:37
    • > PHP Fatal error
      Uncaught Error: Class 'Facebook\\GraphNodes\\GraphNodeFactory' not found in wp-content/plugins/clickhome-myhome/vendor/facebook-php-sdk/src/Facebook/GraphNodes/GraphObjectFactory.php:36
    • > PHP Fatal error
      Uncaught Error: Class 'PHPUnit_Framework_TestCase' not found in wp-content/plugins/clickhome-myhome/vendor/facebook-php-sdk/tests/GraphNodes/GraphGroupTest.php:30
    • > PHP Fatal error
      Uncaught Error: Class 'PHPUnit_Framework_TestCase' not found in wp-content/plugins/clickhome-myhome/vendor/facebook-php-sdk/tests/FacebookBatchResponseTest.php:32
    • > PHP Fatal error
      Uncaught Error: Class 'Facebook\\GraphNodes\\GraphNode' not found in wp-content/plugins/clickhome-myhome/vendor/facebook-php-sdk/src/Facebook/GraphNodes/GraphAlbum.php:32
    • > PHP Fatal error
      Uncaught Error: Interface 'Facebook\\PseudoRandomString\\PseudoRandomStringGeneratorInterface' not found in wp-content/plugins/clickhome-myhome/vendor/facebook-php-sdk/tests/Helpers/FacebookRedirectLoginHelperTest.php:34
    • > PHP Fatal error
      Uncaught Error: Class 'PHPUnit_Framework_TestCase' not found in wp-content/plugins/clickhome-myhome/vendor/facebook-php-sdk/tests/GraphNodes/GraphNodeTest.php:28
    • > PHP Fatal error
      Uncaught Error: Class 'PHPUnit_Framework_TestCase' not found in wp-content/plugins/clickhome-myhome/vendor/facebook-php-sdk/tests/FacebookRequestTest.php:32
    • > PHP Fatal error
      Uncaught Error: Class 'Facebook\\Helpers\\FacebookSignedRequestFromInputHelper' not found in wp-content/plugins/clickhome-myhome/vendor/facebook-php-sdk/src/Facebook/Helpers/FacebookCanvasHelper.php:31
    • > PHP Fatal error
      Uncaught Error: Interface 'Facebook\\PseudoRandomString\\PseudoRandomStringGeneratorInterface' not found in wp-content/plugins/clickhome-myhome/vendor/facebook-php-sdk/src/Facebook/PseudoRandomString/RandomBytesPseudoRandomStringGenerator.php:28

User-side errors Passed 1 test

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

Optimizations

Plugin configuration 96% 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
2 plugin tags: clickhome, myhome

clickhome-myhome/clickhome-myhome.php 92% from 13 tests

The principal PHP file in "ClickHome-MyHome" v. 1.6.3 is loaded by WordPress automatically on each request
The following require your attention:
  • Description: The description should be shorter than 140 characters (currently 435 characters long)

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 detected57,428 lines of code in 485 files:
LanguageFilesBlank linesComment linesLines of code
PHP2664,740107,29120,517
JavaScript1493,7912,44619,530
CSS161,1048718,787
XML316212,155
Sass1661391,916
LESS1547491,796
SVG3101,791
Markdown72320594
JSON500177
HTML1100127
YAML27025
Ruby1208
make1305

PHP code Passed 2 tests

This is a very shot review of cyclomatic complexity and code structure
No cyclomatic complexity issues were detected for this plugin
Cyclomatic complexity
Average complexity per logical line of code0.31
Average class complexity7.50
▷ Minimum class complexity1.00
▷ Maximum class complexity63.00
Average method complexity2.08
▷ Minimum method complexity1.00
▷ Maximum method complexity35.00
Code structure
Namespaces22
Interfaces5
Traits1
Classes223
▷ Abstract classes114.93%
▷ Concrete classes21295.07%
▷ Final classes00.00%
Methods1,313
▷ Static methods443.35%
▷ Public methods1,09683.47%
▷ Protected methods997.54%
▷ Private methods1188.99%
Functions42
▷ Named functions1638.10%
▷ Anonymous functions2661.90%
Constants51
▷ Global constants1529.41%
▷ Class constants3670.59%
▷ Public constants36100.00%

Plugin size 50% from 2 tests

Image compression 50% from 2 tests

PNG files should be compressed to save space and minimize bandwidth usage
36 PNG files occupy 1.51MB with 0.27MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
vendor/jquery.ui/images/ui-bg_glass_65_ffffff_1x400.png0.10KB0.10KB▼ 5.71%
vendor/jquery.slick/img/lazyfonz3.png84.11KB30.72KB▼ 63.47%
vendor/jquery.colorbox/img/loading_background.png0.15KB0.15KB▼ 0.64%
vendor/jquery.colorbox/img/overlay.png0.18KB0.15KB▼ 15.93%
vendor/jquery.ui/images/ui-icons_cd0a0a_256x240.png4.27KB4.11KB▼ 3.78%