73% survey-popup

Code Review | Survey Plugin - Quiz, Question, Pull Builder For WordPress

WordPress plugin Survey Plugin - Quiz, Question, Pull Builder For WordPress scored73%from 54 tests.

About plugin

  • Plugin page: survey-popup
  • Plugin version: 1.0.0
  • PHP compatiblity: 5.2.4+
  • PHP version: 7.4.16
  • WordPress compatibility: 4.6-6.2
  • WordPress version: 6.3.1
  • First release: Aug 1, 2020
  • Latest release: Jun 21, 2023
  • Number of updates: 13
  • Update frequency: every 83.0 days
  • Top authors: grandplugin (61.54%)frohadpro (46.15%)

Code review

54 tests

User reviews

1 review

Install metrics

40+ active /1,065 total downloads

Benchmarks

Plugin footprint 83% 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: ▲1.35MB] [CPU: ▲11.32ms] Passed 4 tests

An overview of server-side resources used by Survey Plugin - Quiz, Question, Pull Builder For WordPress
This plugin does not affect your website's performance
PageMemory (MB)CPU Time (ms)
Home /4.84 ▲1.3852.44 ▲8.76
Dashboard /wp-admin4.67 ▲1.3665.45 ▲6.84
Posts /wp-admin/edit.php4.79 ▲1.4373.51 ▲20.01
Add New Post /wp-admin/post-new.php7.26 ▲1.37111.82 ▲12.85
Media Library /wp-admin/upload.php4.53 ▲1.2955.65 ▲16.83
Add New /wp-admin/post-new.php?post_type=gpsp_survey4.7363.99
Settings /wp-admin/edit.php?post_type=gpsp_survey&page=srvy_survey_settings4.5753.69
Help /wp-admin/edit.php?post_type=gpsp_survey&page=grandplugin_help4.5758.57
Manage Survey /wp-admin/edit.php?post_type=gpsp_survey4.7174.05

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

Filesystem and database footprint
No storage issues were detected
Filesystem: 185 new files
Database: no new tables, 7 new options
New WordPress options
widget_theysaidso_widget
db_upgraded
theysaidso_admin_options
can_compress_scripts
widget_recent-comments
_srvy_option_settings
widget_recent-posts

Browser metrics Passed 4 tests

Checking browser requirements for Survey Plugin - Quiz, Question, Pull Builder For WordPress
This plugin has a minimal impact on browser resources
PageNodesMemory (MB)Script (ms)Layout (ms)
Home /2,938 ▲17713.53 ▼0.8311.48 ▲9.3737.52 ▼6.34
Dashboard /wp-admin2,231 ▲575.64 ▼0.0296.51 ▼6.3439.30 ▼3.88
Posts /wp-admin/edit.php2,512 ▲4095.62 ▲3.6299.58 ▲57.5436.15 ▲1.88
Add New Post /wp-admin/post-new.php1,758 ▲23220.36 ▼2.80664.40 ▲21.9258.79 ▲7.90
Media Library /wp-admin/upload.php1,439 ▲424.09 ▼0.1181.99 ▼26.5143.57 ▼1.25
Add New /wp-admin/post-new.php?post_type=gpsp_survey2,5846.58150.5468.13
Settings /wp-admin/edit.php?post_type=gpsp_survey&page=srvy_survey_settings2,4169.77197.0887.84
Help /wp-admin/edit.php?post_type=gpsp_survey&page=grandplugin_help1,81012.42326.82138.86
Manage Survey /wp-admin/edit.php?post_type=gpsp_survey1,4785.1575.8531.46

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

🔸 Tests weight: 35 | The uninstall procedure must remove all plugin files and extra database tables
You still need to fix the following
  • The uninstall procedure has failed, leaving 7 options in the database
    • _srvy_option_settings
    • widget_recent-posts
    • db_upgraded
    • widget_theysaidso_widget
    • widget_recent-comments
    • theysaidso_admin_options
    • can_compress_scripts

Smoke tests 25% from 4 tests

Server-side errors Passed 1 test

🔹 Test weight: 20 | Just a short smoke test targeting errors on the server (in the Apache logs)
Even though no errors were found, this is by no means an exhaustive test

SRP 0% from 2 tests

🔹 Tests weight: 20 | A shallow check of the single-responsibility principle; PHP files should perform no action - including output of placeholder text - and trigger no errors when accessed directly
Please fix the following items
  • 1× GET requests to PHP files return non-empty strings:
    • > /wp-content/plugins/survey-popup/public/partials/survey-popup-public-display.php
  • 2× GET requests to PHP files trigger server-side errors or Error 500 responses:
    • > PHP Fatal error
      Uncaught Error: Using $this when not in object context in wp-content/plugins/survey-popup/public/dynamic-styles.php:8
    • > PHP Fatal error
      Uncaught Error: Call to undefined function esc_url() in wp-content/plugins/survey-popup/admin/partials/survey-popup-admin-display.php:184

User-side errors 0% from 1 test

🔹 Test weight: 20 | This is a shallow check for browser errors
Please fix the following browser errors
    • > GET request to /wp-admin/post-new.php?post_type=gpsp_survey
    • > Javascript (severe) in unknown
    /wp-content/plugins/survey-popup/admin/js/chart.min.js?ver=2.7.2 6:75740 Uncaught Error: "horizontalBar" is not a registered controller.
    • > GET request to /wp-admin/post-new.php?post_type=gpsp_survey
    • > Network (severe)
    wp-content/plugins/survey-popup/admin/srvy-metafields/assets/images/preloader.gif - Failed to load resource: the server responded with a status of 404 (Not Found)

Optimizations

Plugin configuration 97% from 29 tests

readme.txt 94% from 16 tests

The readme.txt file describes your plugin functionality and requirements and it is parsed to prepare the your plugin's listing
Attributes that need to be fixed:
  • Screenshots: These screenshots require images: #1 (Survey Popup Back-end.), #2 (Survey Popup Question Builder.), #3 (Survey Popup Analytics Bar Chart.), #4 (Survey Popup Button Settings.), #5 (Survey Popup Popup Settings.), #6 (Survey Popup Front-end.)
You can look at the official readme.txt

survey-popup/survey-popup.php Passed 13 tests

The principal PHP file in "Survey Plugin - Quiz, Question, Pull Builder For WordPress" v. 1.0.0 is loaded by WordPress automatically on each request
28 characters long description:
Survey plugin. Survey Popup.

Code Analysis Passed 3 tests

File types Passed 1 test

🔸 Test weight: 35 | This is a short overview of programming languages used in this plugin, detecting executable files
Everything looks great! No dangerous files found in this plugin33,932 lines of code in 141 files:
LanguageFilesBlank linesComment linesLines of code
PHP852,0741,5757,067
JavaScript101,3365756,658
PO File203,1983,5916,500
Sass1696935,667
CSS74655555,367
SVG3002,673

PHP code Passed 2 tests

A short review of cyclomatic complexity and code structure
No complexity issues detected
Cyclomatic complexity
Average complexity per logical line of code0.61
Average class complexity18.62
▷ Minimum class complexity1.00
▷ Maximum class complexity150.00
Average method complexity6.12
▷ Minimum method complexity1.00
▷ Maximum method complexity57.00
Code structure
Namespaces0
Interfaces0
Traits0
Classes66
▷ Abstract classes23.03%
▷ Concrete classes6496.97%
▷ Final classes00.00%
Methods227
▷ Static methods3113.66%
▷ Public methods22197.36%
▷ Protected methods00.00%
▷ Private methods62.64%
Functions24
▷ Named functions24100.00%
▷ Anonymous functions00.00%
Constants4
▷ Global constants375.00%
▷ Class constants125.00%
▷ Public constants1100.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
5 PNG files occupy 0.09MB with 0.03MB in potential savings
Potential savings
Compression of 5 random PNG files using pngquant
FileSize - originalSize - compressedSavings
admin/srvy-metafields/assets/images/checkerboard.png2.29KB2.54KB0.00%
admin/img/advanced-custom-code-logo.png22.18KB3.71KB▼ 83.26%
admin/img/get-api-key.png44.92KB22.32KB▼ 50.30%
admin/img/icon-128x128.png4.52KB2.26KB▼ 50.10%
admin/img/youtube-video-id.png20.48KB19.97KB▼ 2.49%