Subscribe to Download Lite – Email Before Download Plugin

Collect email subscribers before file download and deliver your lead magnet through a secure download email.

v1.3.0WP ShuffleUpdated Added 400 installs60% rating
34
Score
106
Errors
157
Warnings
+0
Change

Category Scores

Security0
Repo94
Performance100
Maintainability50

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

263 findings

Maintainability

149

10 issue groups

Security

106

12 issue groups

I18n

5

3 issue groups

WARNINGMaintainabilityNon-prefixed global variableGlobal variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$alias_class".86
Category
Maintainability
Occurrences
86
Severity
warning

Sample message

Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$alias_class".

ERRORSecurityOutput is not escapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$this'.48
Category
Security
Occurrences
48
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$this'.

ERRORMaintainabilityMissing direct file access protectionPHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;22
Category
Maintainability
Occurrences
22
Severity
error

Sample message

PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;

ERRORMaintainabilityOffloaded ContentOffloading images, js, css, and other scripts to your servers or any remote service is disallowed.18
Category
Maintainability
Occurrences
18
Severity
error

Sample message

Offloading images, js, css, and other scripts to your servers or any remote service is disallowed.

WARNINGSecurityRequest data is not unslashed$_COOKIE['stdl_encryption_key'] not unslashed before sanitization. Use wp_unslash() or similar17
Category
Security
Occurrences
17
Severity
warning

Sample message

$_COOKIE['stdl_encryption_key'] not unslashed before sanitization. Use wp_unslash() or similar

WARNINGSecurityInput is not sanitizedDetected usage of a non-sanitized input variable: $_COOKIE['stdl_encryption_key']12
Category
Security
Occurrences
12
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_COOKIE['stdl_encryption_key']

WARNINGMaintainabilityDirect QueryUse of a direct database call is discouraged.8
Category
Maintainability
Occurrences
8
Severity
warning

Sample message

Use of a direct database call is discouraged.

WARNINGMaintainabilityNo CachingDirect database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().7
Category
Maintainability
Occurrences
7
Severity
warning

Sample message

Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().

WARNINGSecurityNonce verification recommendedProcessing form data without nonce verification.7
Category
Security
Occurrences
7
Severity
warning

Sample message

Processing form data without nonce verification.

WARNINGSecurityInput is not validatedDetected usage of a possibly undefined superglobal array index: $_COOKIE['stdl_encryption_key']. Check that the array index exists before using it.5
Category
Security
Occurrences
5
Severity
warning

Sample message

Detected usage of a possibly undefined superglobal array index: $_COOKIE['stdl_encryption_key']. Check that the array index exists before using it.

Show 15 more
ERRORSecurityUnsafe printing function4
Category
Security
Occurrences
4
Severity
error

Sample message

All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.

WARNINGSecurityMissing nonce verification4
Category
Security
Occurrences
4
Severity
warning

Sample message

Processing form data without nonce verification.

WARNINGSecurityInterpolated SQL is not prepared3
Category
Security
Occurrences
3
Severity
warning

Sample message

Use placeholders and $wpdb->prepare(); found interpolated variable $encryption_key at "SELECT COUNT(*) FROM $subscriber_table WHERE subscriber_encryption_key like '$encryption_key'"

ERRORMaintainabilitydate date3
Category
Maintainability
Occurrences
3
Severity
error

Sample message

date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.

ERRORI18nText Domain Mismatch3
Category
I18n
Occurrences
3
Severity
error

Sample message

Mismatched text domain. Expected 'subscribe-to-download-lite' but got 'frontend-post-submission-manager-lite'.

ERRORSecuritySQL query is not prepared2
Category
Security
Occurrences
2
Severity
error

Sample message

Use placeholders and $wpdb->prepare(); found $subscriber_query

WARNINGSecuritywp redirect wp redirect2
Category
Security
Occurrences
2
Severity
warning

Sample message

wp_redirect() found. Using wp_safe_redirect(), along with the "allowed_redirect_hosts" filter if needed, can help avoid any chances of malicious redirects within code. It is also important to remember to call exit() after a redirect so that no other unwanted code is executed.

WARNINGMaintainabilityNot In Footer2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

In footer ($in_footer) is not set explicitly wp_enqueue_script; It is recommended to load scripts in the footer. Please set this value to `true` to load it in the footer, or explicitly `false` if it should be loaded in the header.

WARNINGI18nDiscouraged text-domain loading1
Category
I18n
Occurrences
1
Severity
warning

Sample message

load_plugin_textdomain() has been discouraged since WordPress version 4.6. When your plugin is hosted on WordPress.org, you no longer need to manually include this function call for translations under your plugin slug. WordPress will automatically load the translations for you as needed.

ERRORSecurityDatabase parameter is not escaped1
Category
Security
Occurrences
1
Severity
error

Sample message

Unescaped parameter $encryption_key used in $wpdb->get_var()\n$encryption_key assigned unsafely at line 248.

WARNINGMaintainabilityerror log print r1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

print_r() found. Debug code should not normally be used in production.

ERRORSecurityException output is not escaped1
Category
Security
Occurrences
1
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"No such method exists: $name"'.

ERRORMaintainabilityfile system operations readfile1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: readfile().

ERRORMaintainabilityparse url parse url1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

parse_url() is discouraged because of inconsistency in the output across PHP versions; use wp_parse_url() instead.

ERRORI18nNon Singular String Literal Text1
Category
I18n
Occurrences
1
Severity
error

Sample message

The $text parameter must be a single text string literal. Found: sprintf('Hello There,\n\nThank you for subscribing in our %s website. Please download the file from below link:\n\n#download_link\n\nThank you', esc_attr(get_bloginfo('name')))

External Connections

Potential connections found in static code analysis.

100 domains

Outbound calls

236

External assets

30

Incoming endpoints

9

Notable Domains

fontawesome.com28 · outbound
en.wikipedia.org14 · outbound
facebook.com5 · outbound
msdn.microsoft.com5 · outbound
twitter.com5 · outbound
1.envato.market4 · outbound

Platform / Reference Domains

github.com6 · platform/reference
wordpress.org2 · platform/reference

External Asset Domains

wpshuffle.com31 · asset + outbound
demo.wpshuffle.com26 · asset + outbound

Incoming Endpoints

wp_ajax_nopriv_stdl_form_process_actionpublic

wp_ajax

wp_ajax_nopriv_stdl_settings_save_actionpublic

wp_ajax

wp_ajax_nopriv_stdl_subscriber_delete_actionpublic

wp_ajax

Admin AJAX endpoints6
admin_post_stdl_export_csvauthenticated

admin_post

admin_post_stdl_hide_review_noticeauthenticated

admin_post

admin_post_stdl_remind_later_review_noticeauthenticated

admin_post

wp_ajax_stdl_form_process_actionauthenticated

wp_ajax

wp_ajax_stdl_settings_save_actionauthenticated

wp_ajax

wp_ajax_stdl_subscriber_delete_actionauthenticated

wp_ajax

Score History

First score snapshot

v1.3.0

34

Latest

Findings
263
Errors
106
Warnings
157
Check
2.0.0

Relationship Map

Author, categories, issues, domains, and nearby plugins.

37 nodes

Related Plugins