68% odynogooglegroups

Code Review | Odyno GoogleGroups

WordPress plugin Odyno GoogleGroups scored68%from 54 tests.

About plugin

  • Plugin page: odynogooglegroups
  • Plugin version: 0.0.10
  • PHP version: 7.4.16
  • WordPress compatibility: 3.4.2-4.7
  • WordPress version: 6.3.1
  • First release: Oct 23, 2012
  • Latest release: Jan 3, 2017
  • Number of updates: 46
  • Update frequency: every 33.3 days
  • Top authors: Odyno (100%)

Code review

54 tests

User reviews

4 reviews

Install metrics

100+ active /5,917 total downloads

Benchmarks

Plugin footprint 65% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
The plugin installed successfully, without throwing any errors or notices

Server metrics [RAM: ▲0.03MB] [CPU: ▲0.13ms] Passed 4 tests

Server-side resources used by Odyno GoogleGroups
This plugin does not affect your website's performance
PageMemory (MB)CPU Time (ms)
Home /3.49 ▲0.0333.72 ▼4.18
Dashboard /wp-admin3.34 ▲0.0345.90 ▼2.80
Posts /wp-admin/edit.php3.45 ▲0.1049.42 ▲4.38
Add New Post /wp-admin/post-new.php5.92 ▲0.0392.11 ▲6.55
Media Library /wp-admin/upload.php3.26 ▲0.0336.79 ▲3.11
Odyno gGroups /wp-admin/options-general.php?page=OdynoGoogleGroupsPreference3.3028.60

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

Filesystem and database footprint
This plugin was installed successfully
Filesystem: 31 new files
Database: no new tables, 9 new options
New WordPress options
can_compress_scripts
ody_gg_enabled_analityc
widget_recent-posts
theysaidso_admin_options
ody_gg_show_signe
widget_theysaidso_widget
db_upgraded
widget_recent-comments
widget_odyno-google-groups-widget

Browser metrics Passed 4 tests

This is an overview of browser requirements for Odyno GoogleGroups
Normal browser usage
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,804 ▲6913.29 ▼1.094.45 ▲2.5840.54 ▼5.41
Dashboard /wp-admin2,210 ▲225.86 ▲0.00105.27 ▼8.8238.90 ▼7.88
Posts /wp-admin/edit.php2,093 ▲12.01 ▼0.0239.17 ▼0.3833.93 ▼0.53
Add New Post /wp-admin/post-new.php1,545 ▲1223.21 ▲0.02657.91 ▼17.9354.93 ▲0.38
Media Library /wp-admin/upload.php1,386 ▲14.19 ▲0.0194.35 ▼21.1341.47 ▼7.37
Odyno gGroups /wp-admin/options-general.php?page=OdynoGoogleGroupsPreference1,1102.2125.5740.13

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

🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
The following items require your attention
  • The plugin did not uninstall gracefully
    • > Warning in wp-content/plugins/odynogooglegroups/odynogooglegroups.php+113
    Use of undefined constant ODY_GOOGLE_GROUPS_ANALYTICS - assumed 'ODY_GOOGLE_GROUPS_ANALYTICS' (this will throw an Error in a future version of PHP)
  • This plugin does not fully uninstall, leaving 8 options in the database
    • theysaidso_admin_options
    • db_upgraded
    • can_compress_scripts
    • widget_theysaidso_widget
    • widget_recent-posts
    • ody_gg_enabled_analityc
    • widget_recent-comments
    • widget_odyno-google-groups-widget

Smoke tests 50% from 4 tests

Server-side errors 0% from 1 test

🔹 Test weight: 20 | This is a shallow check for server-side errors
Almost there, just fix the following server-side errors
    • > GET request to /wp-admin/options-general.php?page=OdynoGoogleGroupsPreference
    • > User deprecated in wp-includes/functions.php+5463
    Function screen_icon is deprecated since version 3.8.0 with no alternative available.
    • > GET request to /wp-admin/options-general.php?page=OdynoGoogleGroupsPreference
    • > User deprecated in wp-includes/functions.php+5463
    Function get_screen_icon is deprecated since version 3.8.0 with no alternative available.

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
  • 3× GET requests to PHP files have triggered server-side errors or warnings:
    • > PHP Fatal error
      Uncaught Error: Call to undefined function _e() in wp-content/plugins/odynogooglegroups/admin/views/html-promote.inc.php:18
    • > PHP Fatal error
      Uncaught Error: Call to undefined function settings_fields() in wp-content/plugins/odynogooglegroups/admin/views/html-settings-page.inc.php:22
    • > PHP Fatal error
      Uncaught Error: Class 'WP_Widget' not found in wp-content/plugins/odynogooglegroups/include/odyno-google-groups-widget.php:21

User-side errors Passed 1 test

🔹 Test weight: 20 | A shallow check that no browser errors were triggered
No browser errors were detected

Optimizations

Plugin configuration 96% from 29 tests

readme.txt Passed 16 tests

It's important to format your readme.txt file correctly as it is parsed for the public listing of your plugin
8 plugin tags: ggroups, bridge, google, fusion, google groups...

odynogooglegroups/odynogooglegroups.php 92% from 13 tests

The main PHP script in "Odyno GoogleGroups" version 0.0.10 is automatically included on every request by WordPress
It is important to fix the following:
  • Description: Please keep the plugin description shorter than 140 characters (currently 368 characters long)

Code Analysis Passed 3 tests

File types Passed 1 test

🔸 Test weight: 35 | There should be no dangerous file extensions present in any WordPress plugin
Success! There were no dangerous files found in this plugin1,022 lines of code in 13 files:
LanguageFilesBlank linesComment linesLines of code
PHP7161191463
PO File29098371
Bourne Shell123867
Markdown134061
Sass111036
CSS11124

PHP code Passed 2 tests

A brief analysis of cyclomatic complexity and code structure for this plugin
This plugin has no cyclomatic complexity issues
Cyclomatic complexity
Average complexity per logical line of code0.11
Average class complexity2.00
▷ Minimum class complexity2.00
▷ Maximum class complexity2.00
Average method complexity1.12
▷ Minimum method complexity1.00
▷ Maximum method complexity2.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes3
▷ Abstract classes00.00%
▷ Concrete classes3100.00%
▷ Final classes00.00%
Methods25
▷ Static methods14.00%
▷ Public methods2392.00%
▷ Protected methods00.00%
▷ Private methods28.00%
Functions5
▷ Named functions5100.00%
▷ Anonymous functions00.00%
Constants14
▷ Global constants14100.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
9 PNG files occupy 0.02MB with 0.01MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
admin/images/logo.png9.39KB3.67KB▼ 60.88%
admin/images/code.png0.54KB0.50KB▼ 6.75%
admin/images/flags/en_EN.png1.53KB0.55KB▼ 64.39%
admin/images/link.png0.94KB0.97KB0.00%
admin/images/flags/es_ES.png2.78KB0.11KB▼ 96.10%