76% clickdesk-live-support-chat-plugin

Code Review | Live Chat from ClickDesk - Live Chat - Help Desk Plugin for Websites

WordPress plugin Live Chat from ClickDesk - Live Chat - Help Desk Plugin for Websites scored 76% from 54 tests.

About plugin

  • Plugin page: clickdesk-live-su...
  • Plugin version: 4.4
  • PHP version: 7.4.16
  • WordPress compatibility: 2.7-4.1
  • WordPress version: 5.9.2
  • First release: Oct 5, 2011
  • Latest release: Nov 9, 2016
  • Number of updates: 87
  • Update frequency: every 21.4 days
  • Top authors: jagan.2desk (100%)

Code review

54 tests

User reviews

40 reviews

Install metrics

1,000+ active / 212,390 total downloads

Benchmarks

Plugin footprint Passed 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | The install procedure must perform silently
This plugin's installer ran successfully

Server metrics [RAM: ▲0.00MB] [CPU: ▼294.12ms] Passed 4 tests

Server-side resources used by Live Chat from ClickDesk - Live Chat - Help Desk Plugin for Websites
This plugin has minimal impact on server resources
PageMemory (MB)CPU Time (ms)
Home /3.57 ▲0.0559.39 ▲0.25
Dashboard /wp-admin3.44 ▲0.0333.86 ▼2.01
Posts /wp-admin/edit.php3.67 ▲0.0347.75 ▲10.08
Add New Post /wp-admin/post-new.php6.91 ▼0.07100.88 ▼1,181.64
Media Library /wp-admin/upload.php3.32 ▲0.0231.77 ▲6.93
ClickDesk Webchat /wp-admin/admin.php?page=clickdesk-submenu-page3.2925.40
ClickDesk /wp-admin/admin.php?page=landing3.2925.65
ClickDesk Live-Chat /wp-admin/admin.php?page=livily_dashboard3.2728.30

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

How much does this plugin use your filesystem and database?
The plugin installed successfully
Filesystem: 21 new files
Database: no new tables, no new options

Browser metrics Passed 4 tests

Live Chat from ClickDesk - Live Chat - Help Desk Plugin for Websites: an overview of browser usage
This plugin renders optimally with no browser resource issues detected
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /3,813 ▲9115.86 ▼0.256.43 ▲0.232.35 ▼0.26
Dashboard /wp-admin2,921 ▲676.06 ▼0.10117.77 ▼18.24171.26 ▲3.56
Posts /wp-admin/edit.php2,715 ▲273.25 ▲0.1966.94 ▲0.67136.13 ▼11.23
Add New Post /wp-admin/post-new.php1,716 ▼4616.93 ▼2.53417.99 ▲29.97158.88 ▲1.07
Media Library /wp-admin/upload.php1,727 ▲295.55 ▲0.06130.29 ▼13.88210.19 ▲22.38
ClickDesk Webchat /wp-admin/admin.php?page=clickdesk-submenu-page1,1192.4252.06184.98
ClickDesk /wp-admin/admin.php?page=landing1,1432.3851.94159.55
ClickDesk Live-Chat /wp-admin/admin.php?page=livily_dashboard1,5047.53199.88139.65

Uninstaller [IO: ▲0.00MB] [DB: ▲0.00MB] Passed 4 tests

🔸 Tests weight: 35 | It is important to correctly uninstall your plugin, without leaving any traces
This plugin's uninstaller ran successfully

Smoke tests 0% 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
    • > GET request to /wp-admin/admin.php?page=livily_dashboard
    • > Notice in wp-content/plugins/clickdesk-live-support-chat-plugin/clickdesk.php+172
    Undefined index: cdwidgetid

SRP 0% 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
  • 2× PHP files output non-empty strings when accessed directly via GET requests:
    • > /wp-content/plugins/clickdesk-live-support-chat-plugin/cd-authentication.php
    • > /wp-content/plugins/clickdesk-live-support-chat-plugin/cd-landing.php
  • 1× GET requests to PHP files trigger server-side errors or Error 500 responses:
    • > PHP Fatal error
      Uncaught Error: Call to undefined function is_admin() in wp-content/plugins/clickdesk-live-support-chat-plugin/clickdesk.php:99

User-side errors 0% from 1 test

🔹 Test weight: 20 | This is just a short smoke test looking for browser issues
There are user-side issues you should fix
    • > GET request to /wp-admin/admin.php?page=livily_dashboard
    • > Security (severe) in unknown
    https://my.clickdesk.com/register 163 Blocked autofocusing on a element in a cross-origin subframe.

Optimizations

Plugin configuration 87% from 29 tests

readme.txt 88% from 16 tests

Perhaps the most important file in your plugin readme.txt gets parsed in order to generate the public listing of your plugin
Attributes that need to be fixed:
  • Tags: You are using too many tags: 13 tag instead of maximum 10
  • Screenshots: These screenshots require images: #1 (Chat Window Templates), #2 (Live support your visitors even on mobile!), #3 (How ClickDesk works), #4 (Web Chat Interface), #5 (Real-time Website Visitors Information), #6 (Visitor Information List View), #7 (Social Toolbar), #8 (Reports), #9 (Customizable Live chat forms (Online/ Offline)), #10 (Customized chat themes), #11 (Add Operator), #12 (Department added and plugin installed successfully)
You can look at the official readme.txt

clickdesk-live-support-chat-plugin/clickdesk.php 85% from 13 tests

The entry point to "Live Chat from ClickDesk - Live Chat - Help Desk Plugin for Websites" version 4.4 is a PHP file that has certain tags in its header comment area
Please make the necessary changes and fix the following:
  • Main file name: It is recommended to name the main PHP file as the plugin slug ("clickdesk-live-support-chat-plugin.php" instead of "clickdesk.php")
  • Description: Please don't use more than 140 characters for the plugin description (currently 224 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 plugin149 lines of code in 4 files:
LanguageFilesBlank linesComment linesLines of code
PHP38546145
JavaScript1304

PHP code Passed 2 tests

A brief analysis of cyclomatic complexity and code structure for this plugin
There were no cyclomatic complexity issued detected
Cyclomatic complexity
Average complexity per logical line of code0.19
Average class complexity0.00
▷ Minimum class complexity0.00
▷ Maximum class complexity0.00
Average method complexity0.00
▷ Minimum method complexity0.00
▷ Maximum method complexity0.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes0
▷ Abstract classes00.00%
▷ Concrete classes00.00%
▷ Final classes00.00%
Methods0
▷ Static methods00.00%
▷ Public methods00.00%
▷ Protected methods00.00%
▷ Private methods00.00%
Functions11
▷ Named functions11100.00%
▷ Anonymous functions00.00%
Constants5
▷ Global constants5100.00%
▷ Class constants00.00%
▷ Public constants00.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
14 PNG files occupy 1.46MB with 0.75MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
screenshot-4.png54.00KB54.43KB0.00%
screenshot-5.png367.27KB141.06KB▼ 61.59%
screenshot-6.png147.98KB55.95KB▼ 62.19%
screenshot-2.png115.54KB39.96KB▼ 65.41%
screenshot-9.png40.65KB12.87KB▼ 68.34%