Benchmarks
Plugin footprint 40% from 16 tests
Installer 0% from 1 test
🔺 Critical test (weight: 50) | Verifying that this plugin installs correctly without errors
These installer errors require your attention
- Install procedure had errors
- > Deprecated in wp-content/plugins/nextcellent-gallery-nextgen-legacy/widgets/class-ngg-slideshow-widget.php+175
Function create_function() is deprecated
Server metrics [RAM: ▼1.97MB] [CPU: ▼346.81ms] Passed 4 tests
Server-side resources used by NextCellent Gallery - NextGEN Legacy
No issues were detected with server-side resource usage
Page | Memory (MB) | CPU Time (ms) |
---|---|---|
Home / | 2.40 ▼1.12 | 8.08 ▼47.44 |
Dashboard /wp-admin | 2.42 ▼0.99 | 7.70 ▼27.14 |
Posts /wp-admin/edit.php | 2.42 ▼1.22 | 6.88 ▼32.77 |
Add New Post /wp-admin/post-new.php | 2.42 ▼4.55 | 7.21 ▼1,279.87 |
Media Library /wp-admin/upload.php | 2.42 ▼0.88 | 7.30 ▼17.95 |
Overview /wp-admin/admin.php?page=nextcellent-gallery-nextgen-legacy | 2.42 | 6.78 |
Settings /wp-admin/admin.php?page=nggallery-options | 2.43 | 7.50 |
Style /wp-admin/admin.php?page=nggallery-style | 2.43 | 7.55 |
Roles /wp-admin/admin.php?page=nggallery-roles | 2.43 | 8.06 |
Albums /wp-admin/admin.php?page=nggallery-manage-album | 2.43 | 8.10 |
Tags /wp-admin/admin.php?page=nggallery-tags | 2.43 | 11.62 |
Add Gallery / Images /wp-admin/admin.php?page=nggallery-add-gallery | 2.43 | 8.98 |
Galleries /wp-admin/admin.php?page=nggallery-manage | 2.43 | 6.74 |
Server storage [IO: ▲3.33MB] [DB: ▲0.24MB] Passed 3 tests
Analyzing filesystem and database footprints of this plugin
This plugin installed successfully
Filesystem: 177 new files
Database: 3 new tables, 5 new options
New tables |
---|
wp_ngg_pictures |
wp_ngg_album |
wp_ngg_gallery |
New WordPress options |
---|
ngg_options |
ngg_db_version |
widget_ngg-mrssw |
widget_slideshow |
widget_ngg-images |
Browser metrics Passed 4 tests
This is an overview of browser requirements for NextCellent Gallery - NextGEN Legacy
This plugin renders optimally with no browser resource issues detected
Page | Nodes | Memory (MB) | Script (ms) | Layout (ms) |
---|---|---|---|---|
Home / | 3,982 ▲238 | 16.72 ▲1.09 | 10.40 ▲4.33 | 2.38 ▲0.46 |
Dashboard /wp-admin | 2,961 ▲107 | 6.12 ▼0.06 | 115.28 ▼17.05 | 152.87 ▼1.88 |
Posts /wp-admin/edit.php | 2,756 ▲65 | 3.23 ▼0.00 | 62.65 ▼1.85 | 147.85 ▲4.65 |
Add New Post /wp-admin/post-new.php | 1,754 ▲93 | 22.32 ▲6.79 | 401.42 ▼16.07 | 156.45 ▲4.93 |
Media Library /wp-admin/upload.php | 1,771 ▲73 | 5.54 ▲0.08 | 137.41 ▼10.94 | 184.15 ▼1.50 |
Overview /wp-admin/admin.php?page=nextcellent-gallery-nextgen-legacy | 2,089 | 3.43 | 76.02 | 140.45 |
Settings /wp-admin/admin.php?page=nggallery-options | 3,783 | 3.90 | 93.47 | 159.11 |
Style /wp-admin/admin.php?page=nggallery-style | 1,288 | 2.41 | 54.38 | 127.47 |
Roles /wp-admin/admin.php?page=nggallery-roles | 1,531 | 2.39 | 54.23 | 150.50 |
Albums /wp-admin/admin.php?page=nggallery-manage-album | 1,312 | 3.52 | 71.72 | 101.85 |
Tags /wp-admin/admin.php?page=nggallery-tags | 1,440 | 2.49 | 52.33 | 127.46 |
Add Gallery / Images /wp-admin/admin.php?page=nggallery-add-gallery | 1,418 | 3.36 | 70.34 | 140.86 |
Galleries /wp-admin/admin.php?page=nggallery-manage | 1,884 | 3.27 | 77.42 | 96.49 |
Uninstaller [IO: ▲0.00MB] [DB: ▲0.24MB] 50% from 4 tests
🔸 Tests weight: 35 | All plugins must uninstall correctly, removing their source code and extra database tables they might have created
You still need to fix the following
- Uninstall procedure validation failed for this plugin
- > Deprecated in wp-content/plugins/nextcellent-gallery-nextgen-legacy/widgets/class-ngg-slideshow-widget.php+175
Function create_function() is deprecated
- This plugin did not uninstall successfully, leaving 3 options in the database
- widget_ngg-images
- widget_ngg-mrssw
- widget_slideshow
Smoke tests 25% 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
- 36 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=nggallery-manage
- > Deprecated in wp-content/plugins/nextcellent-gallery-nextgen-legacy/widgets/class-ngg-gallery-widget.php+252
Function create_function() is deprecated
- > GET request to /wp-admin/admin.php?page=nggallery-options
- > Notice in wp-content/plugins/nextcellent-gallery-nextgen-legacy/admin/class-ngg-options.php+672
Undefined offset: 0
- 3 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=nggallery-options
- > Notice in wp-content/plugins/nextcellent-gallery-nextgen-legacy/admin/class-ngg-options.php+685
Trying to get property 'pid' of non-object
- > GET request to /wp-admin/admin.php?page=nggallery-options
- > Notice in wp-content/plugins/nextcellent-gallery-nextgen-legacy/admin/class-ngg-options.php+685
Trying to get property 'alttext' of non-object
- 9 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=nggallery-style
- > Notice in wp-content/plugins/nextcellent-gallery-nextgen-legacy/admin/class-ngg-style.php+73
Undefined offset: 1
- 2 occurences, only the last one shown
- > GET request to /wp-admin/admin.php?page=nggallery-manage
- > Deprecated in wp-content/plugins/nextcellent-gallery-nextgen-legacy/admin/functions.php+921
Array and string offset access syntax with curly braces is deprecated
SRP 0% from 2 tests
🔹 Tests weight: 20 | It is important to ensure that your PHP files perform no action when accessed directly, respecting the single-responsibility principle
The following issues need your attention
- 16× PHP files perform the task of outputting text when accessed with GET requests (only 10 are shown):
- > /wp-content/plugins/nextcellent-gallery-nextgen-legacy/view/gallery.php
- > /wp-content/plugins/nextcellent-gallery-nextgen-legacy/admin/functions.php
- > /wp-content/plugins/nextcellent-gallery-nextgen-legacy/view/singlepic.php
- > /wp-content/plugins/nextcellent-gallery-nextgen-legacy/view/gallery-carousel.php
- > /wp-content/plugins/nextcellent-gallery-nextgen-legacy/admin/tinymce/window.php
- > /wp-content/plugins/nextcellent-gallery-nextgen-legacy/view/album-extend.php
- > /wp-content/plugins/nextcellent-gallery-nextgen-legacy/view/imagebrowser-exif.php
- > /wp-content/plugins/nextcellent-gallery-nextgen-legacy/xml/json.php
- > /wp-content/plugins/nextcellent-gallery-nextgen-legacy/view/imagebrowser-caption.php
- > /wp-content/plugins/nextcellent-gallery-nextgen-legacy/view/imagebrowser.php
- 48× GET requests to PHP files have triggered server-side errors or warnings (only 10 are shown):
- > PHP Warning
include_once(): Failed opening 'NGGALLERY_ABSPATH/admin/interface-ngg-displayable.php' for inclusion (include_path='.:/usr/share/php') in wp-content/plugins/nextcellent-gallery-nextgen-legacy/admin/manage/class-ngg-manager.php on line 3
- > PHP Warning
Use of undefined constant NGGALLERY_ABSPATH - assumed 'NGGALLERY_ABSPATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/nextcellent-gallery-nextgen-legacy/admin/manage/class-ngg-manager.php on line 3
- > PHP Fatal error
Uncaught Error: Class 'nggGallery' not found in wp-content/plugins/nextcellent-gallery-nextgen-legacy/nggshow.php:3
- > PHP Warning
Use of undefined constant NGGALLERY_ABSPATH - assumed 'NGGALLERY_ABSPATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/nextcellent-gallery-nextgen-legacy/admin/manage/class-ngg-manager.php on line 3
- > PHP Fatal error
Uncaught Error: Call to undefined function add_filter() in wp-content/plugins/nextcellent-gallery-nextgen-legacy/admin/tinymce/tinymce.php:30
- > PHP Warning
Use of undefined constant ABSPATH - assumed 'ABSPATH' (this will throw an Error in a future version of PHP) in wp-content/plugins/nextcellent-gallery-nextgen-legacy/admin/manage/class-ngg-gallery-list-table.php on line 4
- > PHP Fatal error
Uncaught Error: Class 'WP_Widget' not found in wp-content/plugins/nextcellent-gallery-nextgen-legacy/widgets/class-ngg-media-rss-widget.php:6
- > PHP Warning
require_once(ABSPATHwp-admin/includes/class-wp-list-table.php): failed to open stream: No such file or directory in wp-content/plugins/nextcellent-gallery-nextgen-legacy/admin/manage/class-ngg-gallery-list-table.php on line 4
- > PHP Fatal error
Uncaught Error: Call to undefined function add_filter() in wp-content/plugins/nextcellent-gallery-nextgen-legacy/lib/xmlrpc.php:17
- > PHP Warning
require_once(ABSPATHwp-admin/includes/class-wp-list-table.php): failed to open stream: No such file or directory in wp-content/plugins/nextcellent-gallery-nextgen-legacy/admin/manage/class-ngg-gallery-list-table.php on line 4
- > PHP Warning
User-side errors Passed 1 test
🔹 Test weight: 20 | Just a short smoke test targeting errors on the browser (console and network errors and warnings)
There were no browser issues found
Optimizations
Plugin configuration 90% from 29 tests
readme.txt 88% from 16 tests
Don't ignore readme.txt as it is the file that instructs WordPress.org on how to present your plugin to the world
Please fix the following attributes:
- Tags: Too many tags (16 tag instead of maximum 10); only the first 5 tags are used in your directory listing
- Screenshots: Please add images for these screenshots: #1 (Screenshot - Admin Area), #2 (Screenshot - Album Selection), #3 (Screenshot - Shutter Effect), #4 (Screenshot - Watermark function), #5 (Screenshot - Flexible template layout), #6 (Screenshot - Shows Exif data)
nextcellent-gallery-nextgen-legacy/nggallery.php 92% from 13 tests
The entry point to "NextCellent Gallery - NextGEN Legacy" version 1.9.35 is a PHP file that has certain tags in its header comment area
The following require your attention:
- Main file name: The principal plugin file should be the same as the plugin slug ("nextcellent-gallery-nextgen-legacy.php" instead of "nggallery.php")
Code Analysis Passed 3 tests
File types Passed 1 test
🔸 Test weight: 35 | A short glimpse at programming languages used with this plugin and a check that no dangerous files are present
No dangerous file extensions were detected44,265 lines of code in 116 files:
Language | Files | Blank lines | Comment lines | Lines of code |
---|---|---|---|---|
PO File | 8 | 7,697 | 12,200 | 16,561 |
PHP | 62 | 3,349 | 4,835 | 13,685 |
JavaScript | 21 | 1,929 | 1,975 | 7,706 |
CSS | 18 | 1,302 | 306 | 6,230 |
SVG | 7 | 0 | 7 | 83 |
PHP code Passed 2 tests
Cyclomatic complexity and code structure are the fingerprint of this plugin
There are no cyclomatic complexity problems detected for this plugin
Cyclomatic complexity | |
---|---|
Average complexity per logical line of code | 0.34 |
Average class complexity | 35.33 |
▷ Minimum class complexity | 1.00 |
▷ Maximum class complexity | 202.00 |
Average method complexity | 4.71 |
▷ Minimum method complexity | 1.00 |
▷ Maximum method complexity | 30.00 |
Code structure | ||
---|---|---|
Namespaces | 0 | |
Interfaces | 1 | |
Traits | 0 | |
Classes | 45 | |
▷ Abstract classes | 3 | 6.67% |
▷ Concrete classes | 42 | 93.33% |
▷ Final classes | 0 | 0.00% |
Methods | 428 | |
▷ Static methods | 116 | 27.10% |
▷ Public methods | 351 | 82.01% |
▷ Protected methods | 27 | 6.31% |
▷ Private methods | 50 | 11.68% |
Functions | 41 | |
▷ Named functions | 41 | 100.00% |
▷ Anonymous functions | 0 | 0.00% |
Constants | 13 | |
▷ Global constants | 11 | 84.62% |
▷ Class constants | 2 | 15.38% |
▷ Public constants | 2 | 100.00% |
Plugin size Passed 2 tests
Image compression Passed 2 tests
It is recommended to compress PNG files in your plugin to minimize bandwidth usage
25 compressed PNG files occupy 0.04MB
Potential savings
Compression of 5 random PNG files using pngquant | |||
---|---|---|---|
File | Size - original | Size - compressed | Savings |
admin/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png | 0.10KB | 0.17KB | 0.00% |
admin/css/images/ui-icons_454545_256x240.png | 4.27KB | 4.11KB | ▼ 3.78% |
admin/css/images/ui-bg_glass_65_ffffff_1x400.png | 0.10KB | 0.10KB | ▼ 5.71% |
admin/css/images/ui-bg_flat_0_aaaaaa_40x100.png | 0.18KB | 0.08KB | ▼ 51.67% |
admin/images/nextgen_32_color.png | 1.08KB | 1.00KB | ▼ 7.67% |