10% woo-app-sms-server

Code Review | Woocommerce APP SMS Server

WordPress plugin Woocommerce APP SMS Server scored10%from 54 tests.

About plugin

  • Plugin page: woo-app-sms-server
  • Plugin version: 1.0.1
  • PHP compatiblity: 5.2.4+
  • PHP version: 7.4.16
  • WordPress compatibility: 3.0.1-3.4
  • WordPress version: 6.3.1
  • First release: Apr 17, 2018
  • Latest release: Apr 17, 2018
  • Number of updates: 2
  • Update frequency: every 0.5 days
  • Top authors: qsimpapp (100%)

Code review

54 tests

User reviews

1 review

Install metrics

10+ active /503 total downloads

Benchmarks

Plugin footprint 40% from 16 tests

Installer 0% from 1 test

🔺 Critical test (weight: 50) | Checking the installer triggered no errors
These installer errors require your attention
  • Install procedure validation failed for this plugin
    • > Notice in wp-content/plugins/woo-app-sms-server/includes/class-appsmsserver.php+94
    Undefined property: APPSMSServer::$appsms_api_key

Server metrics [RAM: ▼1.72MB] [CPU: ▼56.57ms] Passed 4 tests

This is a short check of server-side resources used by Woocommerce APP SMS Server
Normal server usage
PageMemory (MB)CPU Time (ms)
Home /2.27 ▼1.198.09 ▼35.88
Dashboard /wp-admin2.29 ▼1.018.89 ▼42.70
Posts /wp-admin/edit.php2.29 ▼1.0710.82 ▼39.61
Add New Post /wp-admin/post-new.php2.29 ▼3.608.50 ▼108.08
Media Library /wp-admin/upload.php2.29 ▼0.9411.05 ▼27.62
Predefined SMS /wp-admin/admin.php?page=app-sms-predef2.2912.24
APPSMSServer /wp-admin/admin.php?page=app-sms2.2911.04
Settings /wp-admin/admin.php?page=app-sms-settings2.2910.75

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

Input-output and database impact of this plugin
This plugin installed successfully
Filesystem: 31 new files
Database: no new tables, 6 new options
New WordPress options
theysaidso_admin_options
db_upgraded
widget_recent-comments
widget_theysaidso_widget
widget_recent-posts
can_compress_scripts

Browser metrics Passed 4 tests

Checking browser requirements for Woocommerce APP SMS Server
This plugin renders optimally with no browser resource issues detected
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,829 ▲6814.25 ▼0.101.80 ▲0.1644.80 ▲4.04
Dashboard /wp-admin2,235 ▲585.62 ▲0.0292.03 ▼1.7743.08 ▼0.97
Posts /wp-admin/edit.php2,141 ▲382.00 ▼0.0236.68 ▼1.9135.38 ▲3.26
Add New Post /wp-admin/post-new.php1,561 ▲3423.29 ▲0.00682.03 ▲50.5460.57 ▲6.18
Media Library /wp-admin/upload.php1,437 ▲374.31 ▲0.13111.70 ▲5.5949.96 ▲6.38
Predefined SMS /wp-admin/admin.php?page=app-sms-predef8152.0425.9625.27
APPSMSServer /wp-admin/admin.php?page=app-sms1,2428.8498.7376.77
Settings /wp-admin/admin.php?page=app-sms-settings8722.1623.7033.70

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
It is recommended to fix the following
  • This plugin cannot be uninstalled
    • > Notice in wp-content/plugins/woo-app-sms-server/includes/class-appsmsserver.php+94
    Undefined property: APPSMSServer::$appsms_api_key
  • Zombie WordPress options detected upon uninstall: 6 options
    • db_upgraded
    • can_compress_scripts
    • widget_recent-comments
    • widget_recent-posts
    • theysaidso_admin_options
    • widget_theysaidso_widget

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
These server-side errors were triggered
  • 3 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=app-sms-settings
    • > Notice in wp-content/plugins/woo-app-sms-server/includes/class-appsmsserver.php+94
    Undefined property: APPSMSServer::$appsms_api_key
  • 3 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=app-sms-settings
    • > Notice in wp-content/plugins/woo-app-sms-server/includes/assets/langs/en_US.php+71
    Undefined property: APPSMSServer::$api_sms_user_name
  • 3 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=app-sms-settings
    • > Notice in wp-content/plugins/woo-app-sms-server/includes/assets/langs/en_US.php+110
    Undefined index: app_sms_user_name
  • 2 occurences, only the last one shown
    • > GET request to /wp-admin/admin.php?page=app-sms
    • > Notice in wp-content/plugins/woo-app-sms-server/includes/class-api.php+43
    Undefined variable: request

SRP 50% 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
Please fix the following items
  • 2× GET requests to PHP files have triggered server-side errors or warnings:
    • > PHP Fatal error
      Uncaught Error: Using $this when not in object context in wp-content/plugins/woo-app-sms-server/includes/assets/langs/en_US.php:71
    • > PHP Fatal error
      Uncaught Error: Using $this when not in object context in wp-content/plugins/woo-app-sms-server/includes/assets/langs/ro_RO.php:74

User-side errors 0% from 1 test

🔹 Test weight: 20 | This is a smoke test targeting browser errors/issues
These are user-side errors you should fix
    • > GET request to /wp-admin/admin.php?page=app-sms
    • > Network (severe)
    wp-content/plugins/appsmsserver/includes/assets/img/icon.png - Failed to load resource: the server responded with a status of 404 (Not Found)
    • > GET request to /wp-admin/admin.php?page=app-sms
    • > Network (severe)
    wp-content/plugins/appsmsserver/includes/assets/img/woo.png - Failed to load resource: the server responded with a status of 404 (Not Found)
    • > GET request to /wp-admin/admin.php?page=app-sms
    • > Network (severe)
    wp-content/plugins/appsmsserver/includes/assets/img/clock.png - Failed to load resource: the server responded with a status of 404 (Not Found)
    • > GET request to /wp-admin/admin.php?page=app-sms
    • > Network (severe)
    wp-content/plugins/appsmsserver/includes/assets/img/qrcode.png - Failed to load resource: the server responded with a status of 404 (Not Found)
    • > GET request to /wp-admin/admin.php?page=app-sms
    • > Network (severe)
    wp-content/plugins/appsmsserver/includes/assets/img/android.png - Failed to load resource: the server responded with a status of 404 (Not Found)

Optimizations

Plugin configuration 90% from 29 tests

readme.txt 94% from 16 tests

Often overlooked, readme.txt is one of the most important files in your plugin
Please fix the following attributes:
  • Screenshots: Please add images for these screenshots: #1 (First screenshot represents the main app sms dashboard), #2 (Second screenshot is the appsmsserver plugin settings panel)
You can take inspiration from this readme.txt

woo-app-sms-server/appsmsserver.php 85% from 13 tests

Analyzing the main PHP file in "Woocommerce APP SMS Server" version 1.0.1
Please take the time to fix the following:
  • Text Domain: The text domain must be the same as the plugin slug, although optional since WordPress version 4.6
  • Main file name: The principal plugin file should be the same as the plugin slug ("woo-app-sms-server.php" instead of "appsmsserver.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
There were no executable files found in this plugin3,775 lines of code in 13 files:
LanguageFilesBlank linesComment linesLines of code
SVG30122,880
PHP7184212875
CSS34420

PHP code Passed 2 tests

Analyzing cyclomatic complexity and code structure
There are no cyclomatic complexity problems detected for this plugin
Cyclomatic complexity
Average complexity per logical line of code0.21
Average class complexity29.67
▷ Minimum class complexity4.00
▷ Maximum class complexity75.00
Average method complexity4.07
▷ Minimum method complexity1.00
▷ Maximum method complexity32.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes3
▷ Abstract classes00.00%
▷ Concrete classes3100.00%
▷ Final classes133.33%
Methods28
▷ Static methods00.00%
▷ Public methods28100.00%
▷ Protected methods00.00%
▷ Private methods00.00%
Functions0
▷ Named functions00.00%
▷ Anonymous functions00.00%
Constants1
▷ Global constants1100.00%
▷ Class constants00.00%
▷ Public constants00.00%

Plugin size Passed 2 tests

Image compression Passed 2 tests

All PNG images should be compressed to minimize bandwidth usage for end users
5 PNG files occupy 0.17MB with 0.04MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
includes/assets/img/qrcode.png0.68KB0.68KB0.14%
includes/assets/img/android.png152.62KB92.33KB▼ 39.50%
includes/assets/img/woo.png6.84KB6.85KB0.00%
includes/assets/img/icon.png2.92KB1.42KB▼ 51.50%
includes/assets/img/clock.png10.64KB7.00KB▼ 34.24%