PeproDev Ultimate Invoice

Advanced WooCommerce invoice plugin: create customizable HTML/PDF invoices, attach to emails, and let customers download styled invoices easily.

v2.2.6Pepro Dev. GroupUpdated Added 4k+ installs96% rating
24
Score
379
Errors
234
Warnings
+0
Change

Category Scores

Security0
Repo94
Performance100
Maintainability1

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

613 findings

Security

359

6 issue groups

Maintainability

121

15 issue groups

I18n

112

4 issue groups

ERRORSecurityOutput Not EscapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"$echo</div></div>"'.206
Category
Security
Occurrences
206
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"$echo</div></div>"'.

ERRORI18nMissing Translators CommentA 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.81
Category
I18n
Occurrences
81
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.

WARNINGSecurityMissing Unslash$_GET[&quot;download&quot;] not unslashed before sanitization. Use wp_unslash() or similar57
Category
Security
Occurrences
57
Severity
warning

Sample message

$_GET[&quot;download&quot;] not unslashed before sanitization. Use wp_unslash() or similar

WARNINGSecurityRecommendedProcessing form data without nonce verification.49
Category
Security
Occurrences
49
Severity
warning

Sample message

Processing form data without nonce verification.

WARNINGSecurityInput Not SanitizedDetected usage of a non-sanitized input variable: $_GET[&quot;inventory-bulk&quot;]29
Category
Security
Occurrences
29
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_GET[&quot;inventory-bulk&quot;]

ERRORMaintainabilityEcho FoundShort PHP opening tag used with echo; expected "<?php echo $key ..." but found "<?= $key ..."20
Category
Maintainability
Occurrences
20
Severity
error

Sample message

Short PHP opening tag used with echo; expected "<?php echo $key ..." but found "<?= $key ..."

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.20
Category
Maintainability
Occurrences
20
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.

WARNINGMaintainabilityNot In FooterIn 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.19
Category
Maintainability
Occurrences
19
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.

ERRORI18nUnordered Placeholders TextMultiple placeholders in translatable strings should be ordered. Expected "%1$s, %2$s", but got "%s, %s" in '%sBack to Dashboard%s'.17
Category
I18n
Occurrences
17
Severity
error

Sample message

Multiple placeholders in translatable strings should be ordered. Expected "%1$s, %2$s", but got "%s, %s" in '%sBack to Dashboard%s'.

WARNINGMaintainabilityNon Prefixed Hookname FoundHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: &quot;&#039;woocommerce_get_sections_&#039; . $this-&gt;id&quot;.13
Category
Maintainability
Occurrences
13
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: &quot;&#039;woocommerce_get_sections_&#039; . $this-&gt;id&quot;.

Show 15 more
WARNINGSecurityMissing12
Category
Security
Occurrences
12
Severity
warning

Sample message

Processing form data without nonce verification.

ERRORI18nNon Singular String Literal Domain10
Category
I18n
Occurrences
10
Severity
error

Sample message

The $domain parameter must be a single text string literal. Found: $PeproUltimateInvoice->td

WARNINGMaintainabilityNon Prefixed Function Found9
Category
Maintainability
Occurrences
9
Severity
warning

Sample message

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

ERRORMaintainabilityunlink unlink8
Category
Maintainability
Occurrences
8
Severity
error

Sample message

unlink() is discouraged. Use wp_delete_file() to delete a file.

ERRORMaintainabilitydate date6
Category
Maintainability
Occurrences
6
Severity
error

Sample message

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

WARNINGSecurityInput Not Validated6
Category
Security
Occurrences
6
Severity
warning

Sample message

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

WARNINGMaintainabilityDiscouraged5
Category
Maintainability
Occurrences
5
Severity
warning

Sample message

The use of function ini_set() is discouraged

WARNINGMaintainabilityNon Prefixed Constant Found4
Category
Maintainability
Occurrences
4
Severity
warning

Sample message

Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: &quot;PEPROULTIMATEINVOICE_ASSETS_URL&quot;.

WARNINGMaintainabilityNon Prefixed Variable Found4
Category
Maintainability
Occurrences
4
Severity
warning

Sample message

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

ERRORMaintainabilitystrip tags strip tags4
Category
Maintainability
Occurrences
4
Severity
error

Sample message

strip_tags() is discouraged. Use the more comprehensive wp_strip_all_tags() instead.

ERRORI18nInterpolated Variable Domain4
Category
I18n
Occurrences
4
Severity
error

Sample message

The $domain parameter must not contain interpolated variables or expressions. Found: $this->td

ERRORMaintainabilitytimezone change date default timezone set3
Category
Maintainability
Occurrences
3
Severity
error

Sample message

Using date_default_timezone_set() and similar isn't allowed, instead use WP internal timezone support.

WARNINGMaintainabilityprevent path disclosure error reporting2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

error_reporting() can lead to full path disclosure.

ERRORMaintainabilitycurl curl setopt2
Category
Maintainability
Occurrences
2
Severity
error

Sample message

Using cURL functions is highly discouraged. Use wp_remote_get() instead.

ERRORMaintainabilityfile system operations mkdir2
Category
Maintainability
Occurrences
2
Severity
error

Sample message

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

Score History

First score snapshot

v2.2.6

24

Latest

Findings
613
Errors
379
Warnings
234
Check
2.0.0

Related Plugins