10% sharepulse

Code Review | SharePulse

WordPress plugin SharePulse scored10%from 54 tests.

About plugin

  • Plugin page: sharepulse
  • Plugin version: 3.2
  • PHP version: 7.4.16
  • WordPress compatibility: 3.5-4.4
  • WordPress version: 6.3.1
  • First release: Mar 24, 2010
  • Latest release: Nov 19, 2015
  • Number of updates: 32
  • Update frequency: every 64.6 days
  • Top authors: jackreichert (100%)

Code review

54 tests

User reviews

4 reviews

Install metrics

10+ active /11,424 total downloads

Benchmarks

Plugin footprint 40% from 16 tests

Installer 0% from 1 test

🔺 Critical test (weight: 50) | The install procedure must perform silently
It is recommended to fix the following installer errors
  • The plugin cannot be installed
    • > Deprecated in wp-content/plugins/sharepulse/SharePulse.php+330
    Methods with the same name as their class will not be constructors in a future version of PHP; SharePulse_widget has a deprecated constructor

Server metrics [RAM: ▼1.81MB] [CPU: ▼57.29ms] Passed 4 tests

A check of server-side resources used by SharePulse
Normal server usage
PageMemory (MB)CPU Time (ms)
Home /2.18 ▼1.297.15 ▼35.96
Dashboard /wp-admin2.20 ▼1.115.38 ▼48.17
Posts /wp-admin/edit.php2.20 ▼1.165.58 ▼47.51
Add New Post /wp-admin/post-new.php2.20 ▼3.695.99 ▼97.53
Media Library /wp-admin/upload.php2.20 ▼1.036.45 ▼32.06
Build Stats /wp-admin/admin.php?page=sharepulse-build2.208.77
SharePulse /wp-admin/admin.php?page=sharepulse2.207.40

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

A short overview of filesystem and database impact
This plugin installed successfully
Filesystem: 5 new files
Database: no new tables, 7 new options
New WordPress options
theysaidso_admin_options
db_upgraded
widget_recent-posts
can_compress_scripts
widget_theysaidso_widget
widget_recent-comments
widget_sharepulse_widget

Browser metrics Passed 4 tests

Checking browser requirements for SharePulse
Minimal impact on browser resources
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,829 ▲8313.24 ▼0.981.67 ▼2.0841.78 ▼3.02
Dashboard /wp-admin2,234 ▲464.90 ▼0.07107.80 ▼1.1439.35 ▼3.53
Posts /wp-admin/edit.php2,114 ▲251.98 ▼0.0939.27 ▼1.5933.65 ▲0.71
Add New Post /wp-admin/post-new.php1,549 ▲2522.91 ▼0.60675.89 ▲20.5261.80 ▲0.90
Media Library /wp-admin/upload.php1,413 ▲284.25 ▲0.00113.43 ▼11.0343.51 ▼4.55
Build Stats /wp-admin/admin.php?page=sharepulse-build8331.9128.7629.49
SharePulse /wp-admin/admin.php?page=sharepulse8502.0228.7035.97

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

🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
It is recommended to fix the following
  • Uninstall procedure validation failed for this plugin
    • > Deprecated in wp-content/plugins/sharepulse/SharePulse.php+330
    Methods with the same name as their class will not be constructors in a future version of PHP; SharePulse_widget has a deprecated constructor
  • This plugin does not fully uninstall, leaving 7 options in the database
    • db_upgraded
    • widget_recent-comments
    • theysaidso_admin_options
    • widget_sharepulse_widget
    • can_compress_scripts
    • widget_theysaidso_widget
    • widget_recent-posts

Smoke tests 50% 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
  • 2 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=sharepulse
    • > Deprecated in wp-content/plugins/sharepulse/SharePulse.php+330
    Methods with the same name as their class will not be constructors in a future version of PHP; SharePulse_widget has a deprecated constructor
  • 2 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=sharepulse
    • > User deprecated in wp-includes/functions.php+5546
    The called constructor method for WP_Widget class in SharePulse_widget is deprecated since version 4.3.0! Use __construct() instead.
  • 5 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=sharepulse
    • > POST request to /wp-cron.php?doing_wp_cron=1696658530.1360850334167480468750
    • > Notice in wp-content/plugins/pressforward/Core/Utility/Retrieval.php+204
    Undefined offset: 0
  • 5 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=sharepulse
    • > POST request to /wp-cron.php?doing_wp_cron=1696658530.1360850334167480468750
    • > Notice in wp-content/plugins/pressforward/Core/Utility/Retrieval.php+205
    Trying to get property 'guid' of non-object
  • 22 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=sharepulse
    • > POST request to /wp-cron.php?doing_wp_cron=1696658530.1360850334167480468750
    • > Notice in wp-content/plugins/pressforward/Core/Utility/Retrieval.php+221
    Trying to get property 'ID' of non-object
  • 6 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=sharepulse
    • > POST request to /wp-cron.php?doing_wp_cron=1696658530.1360850334167480468750
    • > Notice in wp-content/plugins/pressforward/Core/Utility/Retrieval.php+222
    Trying to get property 'post_title' of non-object

SRP 50% 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
Please take a closer look at the following
  • 1× PHP files trigger errors when accessed directly with GET requests:
    • > PHP Fatal error
      Uncaught Error: Call to undefined function add_action() in wp-content/plugins/sharepulse/SharePulse.php:22

User-side errors Passed 1 test

🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
No browser errors were detected

Optimizations

Plugin configuration 93% from 29 tests

readme.txt Passed 16 tests

The readme.txt file uses markdown syntax to describe your plugin to the world
10 plugin tags: comments, facebook, stats, most popular, statistics...

sharepulse/SharePulse.php 85% from 13 tests

The entry point to "SharePulse" version 3.2 is a PHP file that has certain tags in its header comment area
Please make the necessary changes and fix the following:
  • Description: The description should be shorter than 140 characters (currently 184 characters long)
  • Main file name: Please rename the main PHP file in this plugin to the plugin slug ("sharepulse.php" instead of "SharePulse.php")

Code Analysis Passed 3 tests

File types Passed 1 test

🔸 Test weight: 35 | This is an overview of programming languages used in this plugin; dangerous file extensions are not allowed
Success! There were no dangerous files found in this plugin418 lines of code in 4 files:
LanguageFilesBlank linesComment linesLines of code
PHP16616349
JavaScript24758
CSS12011

PHP code Passed 2 tests

This plugin's cyclomatic complexity and code structure detailed below
No complexity issues detected
Cyclomatic complexity
Average complexity per logical line of code0.25
Average class complexity20.50
▷ Minimum class complexity14.00
▷ Maximum class complexity27.00
Average method complexity2.95
▷ Minimum method complexity1.00
▷ Maximum method complexity8.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes2
▷ Abstract classes00.00%
▷ Concrete classes2100.00%
▷ Final classes00.00%
Methods20
▷ Static methods525.00%
▷ Public methods1680.00%
▷ Protected methods00.00%
▷ Private methods420.00%
Functions1
▷ Named functions1100.00%
▷ Anonymous functions00.00%
Constants0
▷ Global constants00.00%
▷ Class constants00.00%
▷ Public constants00.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

Often times overlooked, PNG files can occupy unnecessary space in your plugin
PNG images were not found in this plugin