PluginProbe ʕ •ᴥ•ʔ
WPML Multilingual & Multicurrency for WooCommerce / 5.5.7
WPML Multilingual & Multicurrency for WooCommerce v5.5.7
5.5.7 5.3.8 5.3.9 5.4.3 5.4.4 5.4.5 5.5.1 5.5.1.1 5.5.2.2 5.5.2.3 5.5.3 5.5.3.1 5.5.4 5.5.5 5.5.6 trunk 0.9 1.0 1.1 1.2 1.3 1.4 1.5 2.0 2.2 2.3 2.3.1 2.3.2 3.0 3.0.1 3.1 3.2 3.2.1 3.2.2 3.3 3.3.1 3.3.2 3.3.3 3.3.4 3.4 3.4.1 3.4.2 3.4.3 3.5 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 3.6 3.6.1 3.6.10 3.6.11 3.6.2 3.6.3 3.6.4 3.6.5 3.6.5.1 3.6.6 3.6.7 3.6.8 3.6.9 3.7 3.7.1 3.7.10 3.7.11 3.7.12 3.7.13 3.7.14 3.7.15 3.7.16 3.7.2 3.7.3 3.7.4 3.7.5 3.7.6 3.7.7 3.7.8 3.7.9 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.9.0 3.9.1 3.9.1.1 3.9.2 3.9.3 3.9.4 3.9.5 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.10.2 4.10.3 4.10.4 4.11.2 4.11.3.2 4.11.5 4.11.6 4.12.1 4.12.4 4.12.5 4.12.6 4.2.0 4.2.0.1 4.2.1 4.2.1.1 4.2.10 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.7.1 4.2.8 4.2.8.1 4.2.9 4.3.0 4.3.1 4.3.2 4.3.2.1 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.4.0 4.4.1 4.4.2 4.4.2.1 4.5.0 4.6.0 4.6.1 4.6.2 4.6.2.1 4.6.3 4.6.5 4.6.6 4.6.7 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.7.5 4.7.6 4.7.7 4.7.8 4.7.9 4.8.0 4.9.0 4.9.1 5.0.1 5.0.2 5.1.1 5.1.2 5.1.3 5.2.0 5.2.1 5.3.2 5.3.3.1 5.3.4 5.3.5 5.3.6 5.3.7
woocommerce-multilingual / classes / multi-currency / payment-gateways / class-wcml-payment-gateway-bacs.php
woocommerce-multilingual / classes / multi-currency / payment-gateways Last commit date
class-wcml-currencies-payment-gateways.php 1 month ago class-wcml-not-supported-payment-gateway.php 1 month ago class-wcml-payment-gateway-bacs.php 1 month ago class-wcml-payment-gateway-paypal-v2.php 1 month ago class-wcml-payment-gateway-paypal.php 1 month ago class-wcml-payment-gateway-stripe.php 1 month ago class-wcml-payment-gateway.php 1 month ago
class-wcml-payment-gateway-bacs.php
55 lines
1 <?php
2
3 class WCML_Payment_Gateway_Bacs extends WCML_Payment_Gateway {
4
5 public function get_output_model() {
6 return [
7 'id' => $this->get_id(),
8 'title' => $this->get_title(),
9 'isSupported' => true,
10 'settings' => $this->get_settings(),
11 'accounts' => wp_list_pluck( $this->get_gateway()->account_details, 'account_name' ),
12 'tooltip' => __( 'Set the currency in which your customer will see the final price when they checkout. Choose which accounts they will see in their payment message.', 'woocommerce-multilingual' ),
13 'strings' => [
14 'labelCurrency' => __( 'Currency', 'woocommerce-multilingual' ),
15 'labelBankAccount' => __( 'Bank Account', 'woocommerce-multilingual' ),
16 'optionAll' => __( 'All Accounts', 'woocommerce-multilingual' ),
17 'optionAllIn' => __( 'All in selected currency', 'woocommerce-multilingual' ),
18 ],
19 ];
20 }
21
22 public function add_hooks() {
23 add_filter( 'woocommerce_bacs_accounts', [ $this, 'filter_bacs_accounts' ] );
24 }
25
26 public function filter_bacs_accounts( $accounts ) {
27
28 $client_currency = $this->woocommerce_wpml->multi_currency->get_client_currency();
29 $gateway_setting = $this->get_setting( $client_currency );
30
31 $allowed_accounts = [];
32
33 if ( $gateway_setting && ! isset( $gateway_setting['value'] ) ) {
34 $gateway_setting['value'] = '0';
35 }
36
37 if ( $gateway_setting && 'all' !== $gateway_setting['value'] ) {
38
39 if ( 'all_in' === $gateway_setting['value'] ) {
40 $bacs_accounts_currencies = get_option( WCML_WC_Gateways::WCML_BACS_ACCOUNTS_CURRENCIES_OPTION, [] );
41 foreach ( $bacs_accounts_currencies as $account_key => $currency ) {
42 if ( $gateway_setting['currency'] === $currency ) {
43 $allowed_accounts[] = $accounts[ $account_key ];
44 }
45 }
46 } else {
47 $allowed_accounts[] = $accounts[ $gateway_setting['value'] ];
48 }
49 }
50
51 return $allowed_accounts ?: $accounts;
52 }
53
54 }
55