WP Docs

A documents management tool for education portals.

v2.3.1Fahad MahmoodUpdated Added 1k+ installs96% rating100% support resolved
30
Score
268
Errors
271
Warnings
+0
Change

Category Scores

Security0
Repo100
Performance91
Maintainability29

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

539 findings

Security

362

12 issue groups

Maintainability

159

13 issue groups

ERRORSecurityOutput is not escapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"<li class='list-group-item'>{$dir_string}: <strong class='float-right d-inline-block'>{$import_folder} {$out_of_string} {$total_folder}</strong></li>"'.149
Category
Security
Occurrences
149
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"<li class='list-group-item'>{$dir_string}: <strong class='float-right d-inline-block'>{$import_folder} {$out_of_string} {$total_folder}</strong></li>"'.

WARNINGMaintainabilityNon-prefixed global variableGlobal variables defined by a theme/plugin should start with the theme/plugin prefix. Found: &quot;$ajax_based_deep_search&quot;.60
Category
Maintainability
Occurrences
60
Severity
warning

Sample message

Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: &quot;$ajax_based_deep_search&quot;.

ERRORSecurityUnsafe printing functionAll output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.57
Category
Security
Occurrences
57
Severity
error

Sample message

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

WARNINGSecurityInput is not sanitizedDetected usage of a non-sanitized input variable: $_GET[&#039;dir&#039;]48
Category
Security
Occurrences
48
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_GET[&#039;dir&#039;]

WARNINGSecurityRequest data is not unslashed$_GET[&#039;dir&#039;] not unslashed before sanitization. Use wp_unslash() or similar35
Category
Security
Occurrences
35
Severity
warning

Sample message

$_GET[&#039;dir&#039;] not unslashed before sanitization. Use wp_unslash() or similar

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

Sample message

Processing form data without nonce verification.

ERRORMaintainabilitywp function not compatible with requires wpFunction "wp_doing_ajax()" requires WordPress 4.7.0, but your plugin minimum supported version is WordPress 3.5.0.26
Category
Maintainability
Occurrences
26
Severity
error

Sample message

Function "wp_doing_ajax()" requires WordPress 4.7.0, but your plugin minimum supported version is WordPress 3.5.0.

WARNINGSecurityInput is not validatedDetected usage of a possibly undefined superglobal array index: $_POST[&#039;dir_id&#039;]. Check that the array index exists before using it.15
Category
Security
Occurrences
15
Severity
warning

Sample message

Detected usage of a possibly undefined superglobal array index: $_POST[&#039;dir_id&#039;]. Check that the array index exists before using it.

WARNINGMaintainabilityMissing VersionResource version not set in call to wp_enqueue_script(). This means new versions of the script may not always be loaded due to browser caching.13
Category
Maintainability
Occurrences
13
Severity
warning

Sample message

Resource version not set in call to wp_enqueue_script(). This means new versions of the script may not always be loaded due to browser caching.

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

Sample message

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

Show 15 more
WARNINGMaintainabilityNot In Footer10
Category
Maintainability
Occurrences
10
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.

WARNINGMaintainabilityslow db query meta query9
Category
Maintainability
Occurrences
9
Severity
warning

Sample message

Detected usage of meta_query, possible slow query.

WARNINGMaintainabilityNon-prefixed function8
Category
Maintainability
Occurrences
8
Severity
warning

Sample message

Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: &quot;pre&quot;.

WARNINGMaintainabilityerror log error log7
Category
Maintainability
Occurrences
7
Severity
warning

Sample message

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

WARNINGMaintainabilityDirect Query6
Category
Maintainability
Occurrences
6
Severity
warning

Sample message

Use of a direct database call is discouraged.

WARNINGMaintainabilityNo Caching6
Category
Maintainability
Occurrences
6
Severity
warning

Sample message

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

ERRORMaintainabilitydate date5
Category
Maintainability
Occurrences
5
Severity
error

Sample message

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

WARNINGSecuritywp redirect wp redirect5
Category
Security
Occurrences
5
Severity
warning

Sample message

wp_redirect() found. Using wp_safe_redirect(), along with the &quot;allowed_redirect_hosts&quot; 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.

ERRORMaintainabilityMissing direct file access protection4
Category
Maintainability
Occurrences
4
Severity
error

Sample message

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

ERRORSecurityQuoted Dynamic Placeholder Generation3
Category
Security
Occurrences
3
Severity
error

Sample message

Dynamic placeholder generation should not have surrounding quotes.

WARNINGMaintainabilitytrademarked term3
Category
Maintainability
Occurrences
3
Severity
warning

Sample message

The plugin name includes a restricted term. Your chosen plugin name - "WP Docs" - contains the restricted term "wp" which cannot be used at all in your plugin name.

ERRORSecurityDatabase parameter is not escaped2
Category
Security
Occurrences
2
Severity
error

Sample message

Unescaped parameter $query_str used in $wpdb->get_results()\n$query_str assigned unsafely at line 560.

WARNINGSecurityInterpolated SQL is not prepared2
Category
Security
Occurrences
2
Severity
warning

Sample message

Use placeholders and $wpdb-&gt;prepare(); found interpolated variable $name at &quot;SELECT max(ID) FROM $wpdb-&gt;posts WHERE post_title LIKE &#039;%$name%&#039;&quot;

ERRORSecurityLike Wildcards In Query2
Category
Security
Occurrences
2
Severity
error

Sample message

SQL wildcards for a LIKE query should be passed in through a replacement parameter. Found: LIKE '%%'.

WARNINGMaintainabilityslow db query meta key2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

Detected usage of meta_key, possible slow query.

External Connections

Potential connections found in static code analysis.

18 domains

Outbound calls

32

External assets

1

Incoming endpoints

16

Notable Domains

fontawesome.com2 · outbound
getbootstrap.com2 · outbound
jqueryui.com2 · outbound
androidbubble.com1 · outbound
google.com1 · outbound

Platform / Reference Domains

github.com3 · platform/reference
wordpress.org3 · platform/reference
gnu.org2 · platform/reference
opensource.org1 · platform/reference
profiles.wordpress.org1 · platform/reference
w3.org1 · platform/reference

External Asset Domains

youtube.com7 · asset + outbound

Incoming Endpoints

wp_ajax_nopriv_wpdocs_update_viewpublic

wp_ajax

Admin AJAX endpoints15
wp_ajax_wp_docs_import_memphis_docsauthenticated

wp_ajax

wp_ajax_wp_docs_import_memphis_rollbackauthenticated

wp_ajax

wp_ajax_wp_docs_import_missing_memphis_batchauthenticated

wp_ajax

wp_ajax_wp_docs_import_missing_memphis_clearauthenticated

wp_ajax

wp_ajax_wp_docs_import_missing_memphis_startauthenticated

wp_ajax

wp_ajax_wp_docs_verify_memphis_docs_batchauthenticated

wp_ajax

wp_ajax_wp_docs_verify_memphis_docs_clearauthenticated

wp_ajax

wp_ajax_wp_docs_verify_memphis_docs_startauthenticated

wp_ajax

wp_ajax_wpdocs_add_filesauthenticated

wp_ajax

wp_ajax_wpdocs_create_folderauthenticated

wp_ajax

wp_ajax_wpdocs_delete_filesauthenticated

wp_ajax

wp_ajax_wpdocs_delete_folderauthenticated

wp_ajax

3 more hidden

Score History

First score snapshot

v2.3.1

30

Latest

Findings
539
Errors
268
Warnings
271
Check
2.0.0

Relationship Map

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

37 nodes

Related Plugins

HivePress Favorites

8k+ active installs

99
DocumentCloud

1k+ active installs

98
HivePress Authentication

1k+ active installs

98
WP Document Revisions

2k+ active installs

98
HivePress Messages

7k+ active installs

90