62% ultimate-auction

Code Review | Ultimate Wordpress Auction Plugin

WordPress plugin Ultimate Wordpress Auction Plugin scored62%from 54 tests.

About plugin

  • Plugin page: ultimate-auction
  • Plugin version: 4.2.3
  • PHP version: 7.4.16
  • WordPress compatibility: 4.6-6.3.1
  • WordPress version: 6.3.1
  • First release: Jun 11, 2013
  • Latest release: Sep 4, 2023
  • Number of updates: 136
  • Update frequency: every 27.5 days
  • Top authors: nitesh_singh (100%)

Code review

54 tests

User reviews

127 reviews

Install metrics

2,000+ active /161,360 total downloads

Benchmarks

Plugin footprint 65% from 16 tests

Installer Passed 1 test

🔺 Critical test (weight: 50) | Checking the installer triggered no errors
The plugin installed successfully, without throwing any errors or notices

Server metrics [RAM: ▲0.55MB] [CPU: ▲6.52ms] Passed 4 tests

This is a short check of server-side resources used by Ultimate Wordpress Auction Plugin
This plugin does not affect your website's performance
PageMemory (MB)CPU Time (ms)
Home /4.01 ▲0.5555.18 ▲12.17
Dashboard /wp-admin3.86 ▲0.5570.63 ▲15.54
Posts /wp-admin/edit.php3.97 ▲0.6160.27 ▲8.46
Add New Post /wp-admin/post-new.php6.44 ▲0.5594.28 ▼2.82
Media Library /wp-admin/upload.php3.78 ▲0.5545.64 ▲8.28
Settings /wp-admin/admin.php?page=ultimate-auction3.7347.09
Add Auction /wp-admin/admin.php?page=add-new-auction3.8651.09
Manage Auctions /wp-admin/admin.php?page=manage_auctions3.8745.90
Payment /wp-admin/admin.php?page=payment3.7944.89
PRO Features /wp-admin/admin.php?page=wdm_why_pro3.8243.37

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

Input-output and database impact of this plugin
This plugin installed successfully
Filesystem: 147 new files
Database: 1 new table, 11 new options
New tables
wp_wdm_bidders
New WordPress options
payment_options_enabled
widget_recent-posts
widget_theysaidso_widget
wdm_powered_by
auction-status_children
wdm_account_mode
theysaidso_admin_options
ua_page_exists
widget_recent-comments
can_compress_scripts
...

Browser metrics Passed 4 tests

Ultimate Wordpress Auction Plugin: an overview of browser usage
Minimal impact on browser resources
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /3,002 ▲25613.67 ▼0.548.57 ▲6.6650.67 ▲8.44
Dashboard /wp-admin2,268 ▲805.06 ▲0.18102.41 ▼1.6797.66 ▲51.88
Posts /wp-admin/edit.php2,165 ▲732.23 ▲0.1834.97 ▼3.1334.81 ▲1.11
Add New Post /wp-admin/post-new.php1,737 ▲20922.69 ▼0.49642.32 ▼47.3631.25 ▼22.90
Media Library /wp-admin/upload.php1,465 ▲744.33 ▲0.09100.94 ▼10.1367.13 ▲19.13
Settings /wp-admin/admin.php?page=ultimate-auction1,5501.9829.5954.71
Add Auction /wp-admin/admin.php?page=add-new-auction2,0207.14145.74122.93
Manage Auctions /wp-admin/admin.php?page=manage_auctions1,1481.8327.7632.83
Payment /wp-admin/admin.php?page=payment1,1571.8027.5038.97
PRO Features /wp-admin/admin.php?page=wdm_why_pro1,4821.7825.0684.33

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
You still need to fix the following
  • This plugin does not fully uninstall, leaving 1 table in the database
    • wp_wdm_bidders
  • This plugin does not fully uninstall, leaving 11 options in the database
    • db_upgraded
    • payment_options_enabled
    • theysaidso_admin_options
    • ua_page_exists
    • wdm_powered_by
    • widget_recent-comments
    • auction-status_children
    • wdm_account_mode
    • can_compress_scripts
    • widget_theysaidso_widget
    • ...

Smoke tests 25% from 4 tests

Server-side errors Passed 1 test

🔹 Test weight: 20 | This is a shallow check for server-side errors
Even though no errors were found, this is by no means an exhaustive test

SRP 0% from 2 tests

🔹 Tests weight: 20 | SRP (Single-Responsibility Principle) - PHP files must act as libraries and never output text or perform any action when accessed directly in a browser
Please take a closer look at the following
  • 1× PHP files output text when accessed directly:
    • > /wp-content/plugins/ultimate-auction/ajax-actions/see-more-bidder.php
  • 26× PHP files trigger server errors when accessed directly (only 10 are shown):
    • > PHP Fatal error
      Uncaught Error: Call to undefined function __() in wp-content/plugins/ultimate-auction/payment.php:3
    • > PHP Fatal error
      Uncaught Error: Call to undefined function admin_url() in wp-content/plugins/ultimate-auction/ajax-actions/send-email.php:3
    • > PHP Fatal error
      Uncaught Error: Call to undefined function is_admin() in wp-content/plugins/ultimate-auction/settings-page.php:13
    • > PHP Fatal error
      Uncaught Error: Call to undefined function get_option() in wp-content/plugins/ultimate-auction/auction-feeder-page.php:4
    • > PHP Fatal error
      Uncaught Error: Call to undefined function get_post_meta() in wp-content/plugins/ultimate-auction/wdm-second_layout_detail.php:22
    • > 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/ultimate-auction/manage-auctions.php on line 4
    • > PHP Fatal error
      Uncaught Error: Call to undefined function add_action() in wp-content/plugins/ultimate-auction/send-auction-email.php:4
    • > PHP Fatal error
      Uncaught Error: Call to undefined function get_option() in wp-content/plugins/ultimate-auction/auctions-listing-with-attributes.php:4
    • > PHP Fatal error
      require_once(): Failed opening required 'ABSPATHwp-admin/includes/class-wp-list-table.php' (include_path='.:/usr/share/php') in wp-content/plugins/ultimate-auction/manage-auctions.php on line 4
    • > PHP Fatal error
      Uncaught Error: Call to undefined function admin_url() in wp-content/plugins/ultimate-auction/ajax-actions/multi-delete.php:6

User-side errors 0% from 1 test

🔹 Test weight: 20 | A shallow check that no browser errors were triggered
These are user-side errors you should fix
    • > GET request to /wp-admin/admin.php?page=manage_auctions
    • > Console-api (warning) in unknown
    /wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.3.1 1:28609 "jQuery.Deferred exception: $(...).live is not a function" "TypeError: $(...).live is not a function\n at HTMLDocument.\u003Canonymous> (/wp-admin/admin.php?page=manage_auctions:232:34)\n at e (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.3.1:2:26990)\n at t (/wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.3.1:2:27292)" undefined
    • > GET request to /wp-admin/admin.php?page=manage_auctions
    • > Javascript (severe) in unknown
    /wp-admin/load-scripts.php?c=0&load%5Bchunk_0%5D=jquery-core,jquery-migrate,utils&ver=6.3.1 1:28721 Uncaught TypeError: $(...).live is not a function

Optimizations

Plugin configuration 93% from 29 tests

readme.txt 94% from 16 tests

You should put a lot of thought into formatting readme.txt as it is used by WordPress.org to prepare the public listing of your plugin
Attributes that need to be fixed:
  • Tags: Please delete some tags, you are using 14 tag instead of maximum 10
The official readme.txt is a good inspiration

ultimate-auction/ultimate-auction.php 92% from 13 tests

The entry point to "Ultimate Wordpress Auction Plugin" version 4.2.3 is a PHP file that has certain tags in its header comment area
It is important to fix the following:
  • Text Domain: The text domain is optional since WordPress version 4.6; if you do specify it, it must be the same as the plugin slug

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
Good job! No executable or dangerous file extensions detected25,216 lines of code in 52 files:
LanguageFilesBlank linesComment linesLines of code
PO File84,6149,01312,187
PHP261,3392955,758
JavaScript117646954,275
CSS74701952,996

PHP code Passed 2 tests

This is a short overview 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.37
Average class complexity68.00
▷ Minimum class complexity46.00
▷ Maximum class complexity90.00
Average method complexity4.53
▷ Minimum method complexity1.00
▷ Maximum method complexity26.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes2
▷ Abstract classes00.00%
▷ Concrete classes2100.00%
▷ Final classes00.00%
Methods38
▷ Static methods00.00%
▷ Public methods38100.00%
▷ Protected methods00.00%
▷ Private methods00.00%
Functions34
▷ Named functions34100.00%
▷ Anonymous functions00.00%
Constants0
▷ Global constants00.00%
▷ Class constants00.00%
▷ Public constants00.00%

Plugin size 50% from 2 tests

Image compression 50% from 2 tests

Often times overlooked, PNG files can occupy unnecessary space in your plugin
53 PNG files occupy 0.55MB with 0.16MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
img/woo_ua_auction_big.png0.71KB0.72KB0.00%
img/favicon_black.png2.97KB0.45KB▼ 85.02%
img/Ultimate-Auction-Pro.png2.25KB2.34KB0.00%
img/ui-bg_glass_55_fbf9ee_1x400.png0.33KB0.12KB▼ 62.09%
img/email.png1.45KB1.49KB0.00%