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 / inc / currencies / class-wcml-multi-currency-install.php
woocommerce-multilingual / inc / currencies Last commit date
currency-switcher 3 weeks ago class-wcml-custom-prices.php 3 weeks ago class-wcml-multi-currency-configuration.php 3 weeks ago class-wcml-multi-currency-coupons.php 1 year ago class-wcml-multi-currency-install.php 3 weeks ago class-wcml-multi-currency-orders.php 3 weeks ago class-wcml-multi-currency-prices.php 3 weeks ago class-wcml-multi-currency-reports.php 3 weeks ago class-wcml-multi-currency-resources.php 3 weeks ago class-wcml-multi-currency-shipping.php 3 weeks ago class-wcml-multi-currency-table-rate-shipping.php 3 weeks ago class-wcml-multi-currency.php 3 weeks ago class-wcml-price-filter.php 3 weeks ago class-wcml-w3tc-multi-currency.php 3 weeks ago
class-wcml-multi-currency-install.php
60 lines
1 <?php
2
3 use function WCML\functions\getSitePress;
4
5 class WCML_Multi_Currency_Install {
6
7 private $multi_currency;
8 private $woocommerce_wpml;
9
10 public function __construct( WCML_Multi_Currency $multi_currency, woocommerce_wpml $woocommerce_wpml ) {
11
12 $this->multi_currency = $multi_currency;
13 $this->woocommerce_wpml = $woocommerce_wpml;
14
15 $wcml_settings = $this->woocommerce_wpml->get_settings();
16
17 if ( empty( $wcml_settings['multi_currency']['set_up'] ) ) {
18 $wcml_settings['multi_currency']['set_up'] = 1;
19 $this->woocommerce_wpml->update_settings( $wcml_settings );
20
21 $this->set_default_currencies_languages();
22 }
23 }
24
25 public function set_default_currencies_languages( $old_value = false, $new_value = false ) {
26 $settings = $this->woocommerce_wpml->get_settings();
27 $active_languages = getSitePress()->get_active_languages();
28 $wc_currency = $new_value ?: wcml_get_woocommerce_currency_option();
29
30 if ( $old_value !== $new_value ) {
31 $settings = WCML_Multi_Currency_Configuration::currency_options_update_default_currency( $settings, $old_value, $new_value );
32 }
33
34 foreach ( $this->multi_currency->get_currency_codes() as $code ) {
35 if ( $code === $old_value ) {
36 continue;
37 }
38 foreach ( $active_languages as $language ) {
39 if ( ! isset( $settings['currency_options'][ $code ]['languages'][ $language['code'] ] ) ) {
40 $settings['currency_options'][ $code ]['languages'][ $language['code'] ] = 1;
41 }
42 }
43 }
44
45 foreach ( $active_languages as $language ) {
46 if ( ! isset( $settings['default_currencies'][ $language['code'] ] ) ) {
47 $settings['default_currencies'][ $language['code'] ] = false;
48 }
49
50 if ( ! isset( $settings['currency_options'][ $wc_currency ]['languages'][ $language['code'] ] ) ) {
51 $settings['currency_options'][ $wc_currency ]['languages'][ $language['code'] ] = 1;
52 }
53 }
54
55 $this->woocommerce_wpml->update_settings( $settings );
56
57 }
58
59 }
60