Download Monitor

Powerful Download Manager Plugin for WordPress

v5.2.0WP ChillUpdated Added 80k+ installs90% rating100% support resolved
19
Score
425
Errors
1,364
Warnings
+0
Change

Category Scores

Security0
Repo64
Performance96
Maintainability0

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

1,789 findings

Maintainability

925

10 issue groups

Security

621

13 issue groups

I18n

140

2 issue groups

WARNINGMaintainabilityNon-prefixed hook nameHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "'dlm_api_keys_column_' . $column_name".354
Category
Maintainability
Occurrences
354
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "'dlm_api_keys_column_' . $column_name".

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

Sample message

Processing form data without nonce verification.

WARNINGMaintainabilityDirect QueryUse of a direct database call is discouraged.147
Category
Maintainability
Occurrences
147
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().134
Category
Maintainability
Occurrences
134
Severity
warning

Sample message

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

WARNINGMaintainabilityNon-prefixed classClasses declared by a theme/plugin should start with the theme/plugin prefix. Found: "DLM_API_Key".129
Category
Maintainability
Occurrences
129
Severity
warning

Sample message

Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: "DLM_API_Key".

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

Sample message

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

ERRORI18nMissing Arg DomainMissing $domain parameter in function call to __().92
Category
I18n
Occurrences
92
Severity
error

Sample message

Missing $domain parameter in function call to __().

WARNINGSecurityMissing nonce verificationProcessing form data without nonce verification.74
Category
Security
Occurrences
74
Severity
warning

Sample message

Processing form data without nonce verification.

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

Sample message

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

ERRORSecuritySQL query is not preparedUse placeholders and $wpdb->prepare(); found $check_for_downloads59
Category
Security
Occurrences
59
Severity
error

Sample message

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

Show 15 more
ERRORI18nMissing Translators Comment48
Category
I18n
Occurrences
48
Severity
error

Sample message

A function call to __() with texts containing placeholders was found, but was not accompanied by a "translators:" comment on the line above to clarify the meaning of the placeholders.

ERRORSecurityUnsafe printing function38
Category
Security
Occurrences
38
Severity
error

Sample message

All output should be run through an escaping function (like echo esc_html_x() or echo esc_attr_x()), found '_ex'.

WARNINGSecurityInterpolated SQL is not prepared31
Category
Security
Occurrences
31
Severity
warning

Sample message

Use placeholders and $wpdb->prepare(); found interpolated variable $posts_table at "SELECT COUNT(dlm_log.ID) as `entries` FROM {$wpdb->download_log} dlm_log INNER JOIN $posts_table dlm_posts ON dlm_log.download_id = dlm_posts.ID"

ERRORSecurityException output is not escaped27
Category
Security
Occurrences
27
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"$argumentName is not a valid numeric value"'.

WARNINGSecurityRequest data is not unslashed26
Category
Security
Occurrences
26
Severity
warning

Sample message

$_COOKIE['dlm_tc_access_' . $download->get_id()] not unslashed before sanitization. Use wp_unslash() or similar

WARNINGSecurityInput is not sanitized23
Category
Security
Occurrences
23
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_COOKIE['dlm_tc_access_' . $download->get_id()]

WARNINGSecurityInput is not validated18
Category
Security
Occurrences
18
Severity
warning

Sample message

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

WARNINGMaintainabilityNon-prefixed function16
Category
Maintainability
Occurrences
16
Severity
warning

Sample message

Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "_download_monitor_install".

WARNINGSecurityDatabase parameter is not escaped15
Category
Security
Occurrences
15
Severity
warning

Sample message

Unescaped parameter $legacy_tables['files'] used in $wpdb->get_results()

ERRORMaintainabilityMissing direct file access protection15
Category
Maintainability
Occurrences
15
Severity
error

Sample message

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

ERRORSecurityDatabase parameter is not escaped13
Category
Security
Occurrences
13
Severity
error

Sample message

Unescaped parameter $legacy_tables['files'] used in $wpdb->get_row()\n$legacy_tables['files'] used without escaping.

WARNINGMaintainabilityNon-prefixed constant13
Category
Maintainability
Occurrences
13
Severity
warning

Sample message

Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: "DLM_BETA".

WARNINGSecuritywp redirect wp redirect11
Category
Security
Occurrences
11
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.

WARNINGMaintainabilityslow db query meta key7
Category
Maintainability
Occurrences
7
Severity
warning

Sample message

Detected usage of meta_key, possible slow query.

WARNINGMaintainabilitySchema Change5
Category
Maintainability
Occurrences
5
Severity
warning

Sample message

Attempting a database schema change is discouraged.

External Connections

Not analyzed yet.

Score History

First score snapshot

v5.2.0

19

Latest

Findings
1,789
Errors
425
Warnings
1,364
Check
2.0.0

Relationship Map

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

29 nodes

Related Plugins