72% collabim

Code Review | Collabim Plugin

WordPress plugin Collabim Plugin scored72%from 54 tests.

About plugin

  • Plugin page: collabim
  • Plugin version: 1.0.2
  • PHP compatiblity: 5.2.4+
  • PHP version: 7.4.16
  • WordPress compatibility: 4.5.0-4.9.4
  • WordPress version: 6.3.1
  • First release: May 2, 2018
  • Latest release: Feb 21, 2019
  • Number of updates: 8
  • Update frequency: every 37.5 days
  • Top authors: collabim (100%)

Code review

54 tests

User reviews

1 review

Install metrics

20+ active /1,023 total downloads

Benchmarks

Plugin footprint 82% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | Checking the installer triggered no errors
This plugin's installer ran successfully

Server metrics [RAM: ▲0.13MB] [CPU: ▼5.43ms] 75% from 4 tests

Server-side resources used by Collabim Plugin
It is recommended to improve the following
  • CPU: Total CPU usage must kept under 500.00ms (currently 552.61ms on /wp-admin/admin.php?page=collabim_sett)
PageMemory (MB)CPU Time (ms)
Home /3.59 ▲0.1339.16 ▲0.81
Dashboard /wp-admin3.44 ▲0.0948.00 ▼10.00
Posts /wp-admin/edit.php3.55 ▲0.1949.54 ▲0.95
Add New Post /wp-admin/post-new.php6.04 ▲0.1593.89 ▼13.47
Media Library /wp-admin/upload.php3.36 ▲0.1337.64 ▲5.04
Přehled /wp-admin/admin.php?page=collabim_plugin3.3330.71
Nastavení /wp-admin/admin.php?page=collabim_sett3.33552.61

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

A short overview of filesystem and database impact
The plugin installed successfully
Filesystem: 40 new files
Database: no new tables, 8 new options
New WordPress options
db_upgraded
check_first_select
widget_theysaidso_widget
widget_recent-posts
can_compress_scripts
check_first_api
theysaidso_admin_options
widget_recent-comments

Browser metrics Passed 4 tests

An overview of browser requirements for Collabim Plugin
There were no issues detected in relation to browser resource usage
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,830 ▲8413.17 ▼1.441.67 ▼0.1243.63 ▼0.94
Dashboard /wp-admin2,236 ▲485.83 ▲0.9698.39 ▼16.7879.68 ▲35.82
Posts /wp-admin/edit.php2,128 ▲422.00 ▼0.0039.54 ▲1.2734.96 ▲2.03
Add New Post /wp-admin/post-new.php1,693 ▲17422.47 ▼0.59632.31 ▼69.8259.76 ▲6.53
Media Library /wp-admin/upload.php1,412 ▲244.22 ▲0.03101.78 ▲5.5670.59 ▲26.77
Přehled /wp-admin/admin.php?page=collabim_plugin8052.0122.8027.32
Nastavení /wp-admin/admin.php?page=collabim_sett8312.0224.0329.65

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

🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
Please fix the following items
  • This plugin did not uninstall successfully, leaving 6 options in the database
    • theysaidso_admin_options
    • widget_theysaidso_widget
    • db_upgraded
    • widget_recent-comments
    • can_compress_scripts
    • widget_recent-posts

Smoke tests 25% from 4 tests

Server-side errors 0% from 1 test

🔹 Test weight: 20 | A smoke test targeting server-side errors
Almost there, just fix the following server-side errors
  • 4 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=collabim_sett
    • > Warning in wp-content/plugins/collabim/inc/Api/Callbacks/AdminCallbacks.php+50
    count(): Parameter must be an array or an object that implements Countable

SRP 0% from 2 tests

🔹 Tests weight: 20 | A shallow check of the single-responsibility principle; PHP files should perform no action - including output of placeholder text - and trigger no errors when accessed directly
The following issues need your attention
  • 2× PHP files perform the task of outputting text when accessed with GET requests:
    • > /wp-content/plugins/collabim/Collabim-Plugin.php
    • > /wp-content/plugins/collabim/templates/admin_before.php
  • 7× PHP files trigger server-side errors or warnings when accessed directly:
    • > PHP Fatal error
      Uncaught Error: Class 'CollabimPluginInc\\Base\\BaseController' not found in wp-content/plugins/collabim/inc/Base/Enqueue.php:11
    • > PHP Fatal error
      Uncaught Error: Class 'CollabimPluginInc\\Base\\BaseController' not found in wp-content/plugins/collabim/inc/Api/ProjectSelect.php:12
    • > PHP Fatal error
      Uncaught Error: Class 'CollabimPluginInc\\Base\\BaseController' not found in wp-content/plugins/collabim/inc/Api/Callbacks/AdminCallbacks.php:15
    • > PHP Fatal error
      Uncaught Error: Class 'CollabimPluginInc\\Base\\BaseController' not found in wp-content/plugins/collabim/inc/Pages/Admin.php:15
    • > PHP Fatal error
      Uncaught Error: Class 'CollabimPluginInc\\Base\\BaseController' not found in wp-content/plugins/collabim/inc/Base/SettingsLinks.php:11
    • > PHP Fatal error
      Uncaught Error: Call to undefined function settings_errors() in wp-content/plugins/collabim/templates/settings.php:7
    • > PHP Fatal error
      Uncaught Error: Class 'CollabimPluginInc\\Api\\Callbacks\\AdminCallbacks' not found in wp-content/plugins/collabim/templates/admin_after.php:6

User-side errors Passed 1 test

🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
Everything seems fine, but this is not an exhaustive test

Optimizations

Plugin configuration 96% from 29 tests

readme.txt Passed 16 tests

Often overlooked, readme.txt is one of the most important files in your plugin
2 plugin tags: seo, collabim

collabim/Collabim-Plugin.php 92% from 13 tests

Analyzing the main PHP file in "Collabim Plugin" version 1.0.2
Please make the necessary changes and fix the following:
  • Main file name: Name the main plugin file the same as the plugin slug ("collabim.php" instead of "Collabim-Plugin.php")

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 detected1,308 lines of code in 33 files:
LanguageFilesBlank linesComment linesLines of code
PHP24288277871
XML600403
JSON20018
CSS14016

PHP code Passed 2 tests

Analyzing cyclomatic complexity and code structure
Great job! No cyclomatic complexity issues were detected in this plugin
Cyclomatic complexity
Average complexity per logical line of code0.31
Average class complexity6.79
▷ Minimum class complexity1.00
▷ Maximum class complexity44.00
Average method complexity2.33
▷ Minimum method complexity1.00
▷ Maximum method complexity18.00
Code structure
Namespaces6
Interfaces0
Traits0
Classes14
▷ Abstract classes00.00%
▷ Concrete classes14100.00%
▷ Final classes17.14%
Methods62
▷ Static methods812.90%
▷ Public methods6096.77%
▷ Protected methods00.00%
▷ Private methods23.23%
Functions4
▷ Named functions375.00%
▷ Anonymous functions125.00%
Constants0
▷ Global constants00.00%
▷ Class constants00.00%
▷ Public constants00.00%

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
3 PNG files occupy 0.11MB with 0.04MB in potential savings
Potential savings
Compression of 3 random PNG files using pngquant
FileSize - originalSize - compressedSavings
assets/imgs/screenshot-1.PNG104.76KB47.38KB▼ 54.78%
assets/imgs/collabim-logo.png10.85KB4.54KB▼ 58.20%
assets/imgs/collabim-logo_small.png0.72KB0.74KB0.00%