Digital Signature Add-on for WooCommerce

Automatically require your WooCommerce customers to sign a legally binding contract before downloading your product. Easy to Use.

v2.0.2approvemeUpdated Added 1k+ installs62% rating
34
Score
168
Errors
75
Warnings
+0
Change

Category Scores

Security0
Repo86
Performance100
Maintainability55

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

243 findings

Maintainability

91

11 issue groups

Security

83

8 issue groups

I18n

64

4 issue groups

Repo Compliance

2

2 issue groups

ERRORI18nText Domain MismatchMismatched text domain. Expected 'woocommerce-digital-signature' but got 'esig'.59
Category
I18n
Occurrences
59
Severity
error

Sample message

Mismatched text domain. Expected 'woocommerce-digital-signature' but got 'esig'.

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

Sample message

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

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

Sample message

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

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

Sample message

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

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

Sample message

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

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

Sample message

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

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

Sample message

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

WARNINGMaintainabilityNon-prefixed hook nameHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "woocommerce_get_return_url".6
Category
Maintainability
Occurrences
6
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "woocommerce_get_return_url".

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

Sample message

Processing form data without nonce verification.

WARNINGSecurityDatabase parameter is not escapedUnescaped parameter $db_table used in $wpdb->get_results()\n$db_table assigned unsafely at line 61.5
Category
Security
Occurrences
5
Severity
warning

Sample message

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

Show 15 more
WARNINGSecurityInterpolated SQL is not prepared3
Category
Security
Occurrences
3
Severity
warning

Sample message

Use placeholders and $wpdb->prepare(); found interpolated variable $table at "SELECT post_id FROM $table WHERE meta_key=%s and meta_value=%d"

WARNINGMaintainabilityMissing Version3
Category
Maintainability
Occurrences
3
Severity
warning

Sample message

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

WARNINGI18nNo Html Wrapped Strings3
Category
I18n
Occurrences
3
Severity
warning

Sample message

Translatable string should not be wrapped in HTML. Found: '<p>There is no unsigned agreement for this order.</p>'

WARNINGMaintainabilityDirect Query2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

Use of a direct database call is discouraged.

WARNINGMaintainabilityNo Caching2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

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

WARNINGMaintainabilityNon-prefixed function2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

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

WARNINGMaintainabilityNo PHP code found1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

No PHP code was found in this file and short open tags are not allowed by this install of PHP. This file may be using short open tags but PHP does not allow them.

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.

WARNINGSecuritywp redirect wp redirect1
Category
Security
Occurrences
1
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.

WARNINGSecurityRequest data is not unslashed1
Category
Security
Occurrences
1
Severity
warning

Sample message

$_GET['key'] not unslashed before sanitization. Use wp_unslash() or similar

ERRORMaintainabilityNo Explicit Version1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

Version parameter is not explicitly set or has been set to an equivalent of "false" for wp_enqueue_script; This means that the WordPress core version will be used which is not recommended for plugin or theme development.

ERRORMaintainabilityNon Enqueued Stylesheet1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

Stylesheets must be registered/enqueued via wp_enqueue_style()

ERRORI18nNon Singular String Literal Text1
Category
I18n
Occurrences
1
Severity
error

Sample message

The $text parameter must be a single text string literal. Found: '<div class="esign-woo-container"><div class="esign-woo-box notice-success"><h3><strong>Get Started:</strong></h3> <p>A Global Contract is pretty rad... it lets you set a “global contract” or "global agreement" for your entire e-commerce store. In short you can require ALL customers (regardless of the products they purchase) to sign a legal contract before completing their checkout.<br /><br />You can also attach a individual documents to individual products on the <a href="edit.php?post_type=product">product page</a>.</p><p>This section lets you customize the WP E-Signature & Woocommerce Global Settings<p><p><a href="https://www.approveme.com/profile" class="button-primary">Get My Approveme Downloads </a> <a href="index.php?page=esign-woocommerce-about" class="button">Need help getting started?</a></p></div><div class="esign-woo-box-right"><img src="' . $img_link . '"></div></div>'

ERRORRepo Complianceno license1
Category
Repo Compliance
Occurrences
1
Severity
error

Sample message

Missing "License". Please update your readme with a valid GPLv2 (or later) compatible license.

ERRORRepo Complianceplugin header no license1
Category
Repo Compliance
Occurrences
1
Severity
error

Sample message

Missing "License" in Plugin Header. Please update your Plugin Header with a valid GPLv2 (or later) compatible license.

External Connections

Potential connections found in static code analysis.

9 domains

Outbound calls

31

External assets

15

Incoming endpoints

2

Notable Domains

approveme.com17 · outbound
wpe.approveme.com3 · outbound
aprv.me2 · outbound
woothemes.com1 · outbound
youtube.com1 · outbound

Platform / Reference Domains

wordpress.org6 · platform/reference

External Asset Domains

Incoming Endpoints

No public endpoints detected.

Admin AJAX endpoints2
wp_ajax_esig_create_order_agreementauthenticated

wp_ajax

wp_ajax_esig_woocommerce_ratting_widget_removeauthenticated

wp_ajax

Score History

First score snapshot

v2.0.2

34

Latest

Findings
243
Errors
168
Warnings
75
Check
2.0.0

Relationship Map

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

33 nodes

Related Plugins