Currency Switcher for WooCommerce

Currency Switcher for WooCommerce is a WordPress plugin that allows to switch product prices and get their rates converted in the real time!

v0.0.8PressMaximumUpdated Added 800 installs0% rating
35
Score
166
Errors
61
Warnings
+0
Change

Category Scores

Security16
Repo65
Performance100
Maintainability67

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

227 findings

I18n

147

4 issue groups

Security

40

6 issue groups

Maintainability

34

9 issue groups

Repo Compliance

5

5 issue groups

ERRORI18nText Domain MismatchMismatched text domain. Expected 'currency-switcher-for-woocommerce' but got 'pmcs'.124
Category
I18n
Occurrences
124
Severity
error

Sample message

Mismatched text domain. Expected 'currency-switcher-for-woocommerce' but got 'pmcs'.

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.21
Category
I18n
Occurrences
21
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 nonce verificationProcessing form data without nonce verification.17
Category
Security
Occurrences
17
Severity
warning

Sample message

Processing form data without nonce verification.

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

Sample message

Processing form data without nonce verification.

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

Sample message

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

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

Sample message

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

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

Sample message

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

WARNINGSecurityRequest data is not unslashed$_POST['_pmcs_order_currency'] not unslashed before sanitization. Use wp_unslash() or similar5
Category
Security
Occurrences
5
Severity
warning

Sample message

$_POST['_pmcs_order_currency'] not unslashed before sanitization. Use wp_unslash() or similar

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

Sample message

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

ERRORMaintainabilityNo Explicit VersionVersion 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.3
Category
Maintainability
Occurrences
3
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.

Show 15 more
WARNINGMaintainabilityNon-prefixed hook name2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

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

WARNINGSecurityInput is not sanitized2
Category
Security
Occurrences
2
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_POST['pmcs_currency_nonce']

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.

ERRORMaintainabilitydate date1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

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

WARNINGMaintainabilityDynamic hook name1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "$value['hook']".

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.

ERRORSupply ChainCompressed files included1
Category
Supply Chain
Occurrences
1
Severity
error

Sample message

Compressed files are not permitted.

ERRORRepo Complianceoutdated tested upto header1
Category
Repo Compliance
Occurrences
1
Severity
error

Sample message

Tested up to: 6.7 < 7.0. The "Tested up to" value in your plugin is not set to the current version of WordPress. This means your plugin will not show up in searches, as we require plugins to be compatible and documented as tested up to the most recent version of WordPress.

ERRORRepo Complianceplugin header invalid plugin uri1
Category
Repo Compliance
Occurrences
1
Severity
error

Sample message

The "Plugin URI" header in the plugin file is not valid.

ERRORRepo Compliancereadme invalid donate link1
Category
Repo Compliance
Occurrences
1
Severity
error

Sample message

The "Donate link" header in the readme file must be a valid URL.

ERRORRepo Compliancereadme mismatched header requires1
Category
Repo Compliance
Occurrences
1
Severity
error

Sample message

Mismatched Requires at least: 4.5 != 5.1. "Requires at least" needs to be exactly the same with that in your main plugin file's header.

WARNINGRepo Compliancereadme parser warnings too many tags1
Category
Repo Compliance
Occurrences
1
Severity
warning

Sample message

One or more tags were ignored. Please limit your plugin to 5 tags.

WARNINGI18ntextdomain mismatch1
Category
I18n
Occurrences
1
Severity
warning

Sample message

The "Text Domain" header in the plugin file does not match the slug. Found "pmcs", expected "currency-switcher-for-woocommerce".

ERRORMaintainabilitytrunk stable tag1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

Incorrect Stable Tag. It's recommended not to use "Stable Tag: trunk". Your Stable Tag is meant to be the stable version of your plugin and it needs to be exactly the same with the Version in your main plugin file's header. Any mismatch can prevent users from downloading the correct plugin files from WordPress.org.

External Connections

Potential connections found in static code analysis.

8 domains

Outbound calls

13

External assets

0

Incoming endpoints

8

Notable Domains

currencylayer.com2 · outbound
fixer.io2 · outbound
pressmaximum.com2 · outbound
apilayer.net1 · outbound
data.fixer.io1 · outbound

External Asset Domains

No external asset domains detected.

Incoming Endpoints

wp_ajax_nopriv_woocommerce_apply_couponpublic

wp_ajax

Admin AJAX endpoints7
wp_ajax_load_exchange_ratesauthenticated

wp_ajax

wp_ajax_woocommerce_add_coupon_discountauthenticated

wp_ajax

wp_ajax_woocommerce_add_order_itemauthenticated

wp_ajax

wp_ajax_woocommerce_apply_couponauthenticated

wp_ajax

wp_ajax_woocommerce_remove_order_couponauthenticated

wp_ajax

wp_ajax_woocommerce_remove_order_itemauthenticated

wp_ajax

wp_ajax_woocommerce_save_order_itemsauthenticated

wp_ajax

Score History

First score snapshot

v0.0.8

35

Latest

Findings
227
Errors
166
Warnings
61
Check
2.0.0

Relationship Map

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

37 nodes

Related Plugins