77% gv-excel-export

Code Review | GV Excel-Export

WordPress plugin GV Excel-Export scored77%from 54 tests.

About plugin

  • Plugin page: gv-excel-export
  • Plugin version: ...
  • PHP compatiblity: 5.4+
  • PHP version: 7.4.16
  • WordPress compatibility: 4.7-6.3.1
  • WordPress version: 6.3.1
  • First release: Mar 4, 2021
  • Latest release: Sep 28, 2023
  • Number of updates: 12
  • Update frequency: every 78.3 days
  • Top authors: wpgear (100%)

Code review

54 tests

User reviews

1 review

Install metrics

60+ active /1,017 total downloads

Benchmarks

Plugin footprint 83% 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.07MB] [CPU: ▼5.76ms] Passed 4 tests

This is a short check of server-side resources used by GV Excel-Export
Normal server usage
PageMemory (MB)CPU Time (ms)
Home /3.55 ▲0.0939.95 ▲0.23
Dashboard /wp-admin3.38 ▲0.0445.93 ▼12.46
Posts /wp-admin/edit.php3.43 ▲0.0847.69 ▲2.66
Add New Post /wp-admin/post-new.php5.97 ▲0.0890.33 ▼13.47
Media Library /wp-admin/upload.php3.31 ▲0.0835.55 ▲4.25

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

Filesystem and database footprint
There were no storage issued detected upon installing this plugin
Filesystem: 263 new files
Database: no new tables, 6 new options
New WordPress options
db_upgraded
can_compress_scripts
widget_theysaidso_widget
widget_recent-posts
widget_recent-comments
theysaidso_admin_options

Browser metrics Passed 4 tests

An overview of browser requirements for GV Excel-Export
Minimal impact on browser resources
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,796 ▲4914.31 ▲0.101.94 ▼0.1742.33 ▼1.79
Dashboard /wp-admin2,198 ▲205.58 ▼0.0989.35 ▼23.4340.24 ▼5.14
Posts /wp-admin/edit.php2,100 ▼01.96 ▼0.1141.25 ▲1.8836.95 ▲1.63
Add New Post /wp-admin/post-new.php1,526 ▼523.41 ▲0.20617.04 ▲29.0751.94 ▲0.27
Media Library /wp-admin/upload.php1,403 ▲94.18 ▼0.0895.25 ▼5.0341.04 ▼3.23

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

🔸 Tests weight: 35 | Checking the uninstaller removed all traces of the plugin
These items require your attention
  • This plugin does not fully uninstall, leaving 6 options in the database
    • theysaidso_admin_options
    • can_compress_scripts
    • widget_recent-comments
    • widget_recent-posts
    • widget_theysaidso_widget
    • db_upgraded

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 | 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
  • 1× PHP files output text when accessed directly:
    • > /wp-content/plugins/gv-excel-export/uninstall.php
  • 102× PHP files trigger errors when accessed directly with GET requests (only 10 are shown):
    • > PHP Fatal error
      Uncaught Error: Class 'PHPExcel_Settings' not found in wp-content/plugins/gv-excel-export/lib/phpExcel_7.4/PHPExcel/Writer/PDF/mPDF.php:4
    • > PHP Fatal error
      Uncaught Error: Class 'PHPExcel_Writer_Abstract' not found in wp-content/plugins/gv-excel-export/lib/phpExcel_7.4/PHPExcel/Writer/Excel2007.php:28
    • > PHP Fatal error
      Uncaught Error: Class 'PHPExcel_Writer_Excel5_BIFFwriter' not found in wp-content/plugins/gv-excel-export/lib/phpExcel_7.4/PHPExcel/Writer/Excel5/Workbook.php:63
    • > PHP Fatal error
      Uncaught Error: Class 'PHPExcel_Writer_Excel2007_WriterPart' not found in wp-content/plugins/gv-excel-export/lib/phpExcel_7.4/PHPExcel/Writer/Excel2007/Drawing.php:28
    • > PHP Fatal error
      Uncaught Error: Class 'PHPExcel_Writer_Abstract' not found in wp-content/plugins/gv-excel-export/lib/phpExcel_7.4/PHPExcel/Writer/OpenDocument.php:28
    • > PHP Fatal error
      require_once(): Failed opening required 'PHPEXCEL_ROOTPHPExcel/Shared/trend/linearBestFitClass.php' (include_path='.:/usr/share/php') in wp-content/plugins/gv-excel-export/lib/phpExcel_7.4/PHPExcel/Shared/trend/trendClass.php on line 3
    • > PHP Fatal error
      Uncaught Error: Class 'PHPExcel_Writer_Excel2007_WriterPart' not found in wp-content/plugins/gv-excel-export/lib/phpExcel_7.4/PHPExcel/Writer/Excel2007/Theme.php:36
    • > PHP Fatal error
      Uncaught Error: Class 'PHPExcel_Writer_Excel2007_WriterPart' not found in wp-content/plugins/gv-excel-export/lib/phpExcel_7.4/PHPExcel/Writer/OpenDocument/WriterPart.php:28
    • > PHP Fatal error
      Uncaught Error: Class 'PHPExcel_Writer_Excel2007_WriterPart' not found in wp-content/plugins/gv-excel-export/lib/phpExcel_7.4/PHPExcel/Writer/Excel2007/Rels.php:28
    • > PHP Fatal error
      Uncaught Error: Class 'PHPExcel_Writer_OpenDocument_WriterPart' not found in wp-content/plugins/gv-excel-export/lib/phpExcel_7.4/PHPExcel/Writer/OpenDocument/Mimetype.php:28

User-side errors Passed 1 test

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

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
9 plugin tags: gravityforms, gravity, export, gravity view, gravity forms...

gv-excel-export/gv-excel-export.php 85% from 13 tests

The principal PHP file in "GV Excel-Export" v. ... is loaded by WordPress automatically on each request
Please take the time to fix the following:
  • Version: The version number should be digits and periods (ex. "1.0.3" instead of "...")
  • Description: Please don't use more than 140 characters for the plugin description (currently 175 characters long)

Code Analysis 95% from 3 tests

File types Passed 1 test

🔸 Test weight: 35 | This is an overview of file extensions present in this plugin and a short test that no dangerous files are bundled with this plugin
Success! There were no dangerous files found in this plugin55,821 lines of code in 221 files:
LanguageFilesBlank linesComment linesLines of code
PHP21910,18134,05055,786
CSS23635

PHP code 0% from 2 tests

A short review of cyclomatic complexity and code structure
It is recommended to fix the following
  • Cyclomatic complexity of classes has to be reduced to less than 1000 (currently 1,019)
  • Cyclomatic complexity of methods has to be reduced to less than 100 (currently 387)
Cyclomatic complexity
Average complexity per logical line of code0.38
Average class complexity47.20
▷ Minimum class complexity1.00
▷ Maximum class complexity1,019.00
Average method complexity4.51
▷ Minimum method complexity1.00
▷ Maximum method complexity387.00
Code structure
Namespaces0
Interfaces7
Traits0
Classes205
▷ Abstract classes104.88%
▷ Concrete classes19595.12%
▷ Final classes00.00%
Methods2,813
▷ Static methods62822.32%
▷ Public methods2,22178.95%
▷ Protected methods802.84%
▷ Private methods51218.20%
Functions18
▷ Named functions18100.00%
▷ Anonymous functions00.00%
Constants750
▷ Global constants567.47%
▷ Class constants69492.53%
▷ Public constants694100.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

All PNG images should be compressed to minimize bandwidth usage for end users
1 PNG file occupies 0.09MB with 0.07MB in potential savings
Potential savings
Compression of 1 random PNG file using pngquant
FileSize - originalSize - compressedSavings
screenshot-1.png96.13KB26.27KB▼ 72.67%