/** * Gets the plugin configuration URL * * @since 1.6 * @see SV_WC_Plugin::get_settings_url()() * @see SV_WC_Plugin::get_settings_link() * @param string $plugin_id optional plugin identifier. Note that this can be a * sub-identifier for plugins with multiple parallel settings pages * (ie a gateway that supports both credit cards and echecks) * @return string plugin settings URL */ public function get_settings_url($plugin_id = null) { return SV_WC_Plugin_Compatibility::get_general_configuration_url(); }
/** * Checks if a particular currency is required and not being used and adds a * dismissible admin notice if so. Notice will not be rendered to the admin * user once dismissed unless on the plugin settings page, if any * * @since 2.0 * @see SV_WC_Payment_Gateway_Plugin::render_admin_notices() */ protected function render_currency_admin_notices() { // report any currency issues if ($this->get_accepted_currencies() && !in_array(get_woocommerce_currency(), $this->get_accepted_currencies())) { // we might have a currency issue, go through any gateways provided by this plugin and see which ones (or all) have any unmet currency requirements // (gateway classes will already be instantiated, so it's not like this is a huge deal) $gateways = array(); foreach ($this->get_gateways() as $gateway) { if ($gateway->is_enabled() && !$gateway->currency_is_accepted()) { $gateways[] = $gateway; } } if (count($gateways) == 0) { // no active gateways with unmet currency requirements return; } elseif (count($gateways) == 1 && count($this->get_gateways()) > 1) { // one gateway out of many has a currency issue $suffix = '-' . $gateway->get_id(); $name = $gateway->get_method_title(); $accepted_currencies = $gateway->get_accepted_currencies(); } else { // multiple gateways have a currency issue $suffix = ''; $name = $this->get_plugin_name(); $accepted_currencies = $this->get_accepted_currencies(); } if (!$this->is_message_dismissed('accepted-currency' . $suffix) || $this->is_plugin_settings()) { $message = sprintf(_n('%s accepts payment in %s only. <a href="%s">Configure</a> WooCommerce to accept %s to enable this gateway for checkout.', '%s accepts payment in one of %s only. <a href="%s">Configure</a> WooCommerce to accept one of %s to enable this gateway for checkout.', count($accepted_currencies), '(Plugin) accepts payments in (currency/currencies) only.', $this->text_domain), $name, '<strong>' . implode(', ', $accepted_currencies) . '</strong>', SV_WC_Plugin_Compatibility::get_general_configuration_url(), '<strong>' . implode(', ', $accepted_currencies) . '</strong>'); $this->add_dismissible_notice($message, 'accepted-currency' . $suffix); } } }