currency-switcher
4 weeks ago
class-wcml-custom-prices.php
4 weeks ago
class-wcml-multi-currency-configuration.php
4 weeks ago
class-wcml-multi-currency-coupons.php
1 year ago
class-wcml-multi-currency-install.php
4 weeks ago
class-wcml-multi-currency-orders.php
4 weeks ago
class-wcml-multi-currency-prices.php
4 weeks ago
class-wcml-multi-currency-reports.php
4 weeks ago
class-wcml-multi-currency-resources.php
4 weeks ago
class-wcml-multi-currency-shipping.php
4 weeks ago
class-wcml-multi-currency-table-rate-shipping.php
4 weeks ago
class-wcml-multi-currency.php
4 weeks ago
class-wcml-price-filter.php
4 weeks ago
class-wcml-w3tc-multi-currency.php
4 weeks ago
class-wcml-multi-currency-resources.php
60 lines
| 1 | <?php |
| 2 | |
| 3 | class WCML_Multi_Currency_Resources { |
| 4 | |
| 5 | private static $multi_currency; |
| 6 | |
| 7 | private static $woocommerce_wpml; |
| 8 | |
| 9 | public static function set_up( WCML_Multi_Currency $multi_currency, woocommerce_wpml $woocommerce_wpml ) { |
| 10 | global $pagenow; |
| 11 | |
| 12 | self::$multi_currency = $multi_currency; |
| 13 | self::$woocommerce_wpml = $woocommerce_wpml; |
| 14 | |
| 15 | if ( ! is_admin() && 'wp-login.php' !== $pagenow && self::$woocommerce_wpml->cs_templates->get_active_templates( true ) ) { |
| 16 | self::load_inline_js(); |
| 17 | } |
| 18 | |
| 19 | } |
| 20 | |
| 21 | private static function load_inline_js() { |
| 22 | |
| 23 | wcml_register_script( 'wcml-mc-scripts', 'res/js/wcml-multi-currency' . WCML_JS_MIN . '.js', [], [ 'strategy' => 'defer', 'in_footer' => true ] ); |
| 24 | |
| 25 | $script_vars['wcml_spinner'] = \WCML\functions\assetLink( '/res/img/ajax-loader.gif' ); |
| 26 | $script_vars['current_currency'] = [ |
| 27 | 'code' => self::$multi_currency->get_client_currency(), |
| 28 | 'symbol' => get_woocommerce_currency_symbol( self::$multi_currency->get_client_currency() ), |
| 29 | ]; |
| 30 | |
| 31 | $script_vars = self::set_cache_compatibility_variables( $script_vars ); |
| 32 | |
| 33 | wp_localize_script( 'wcml-mc-scripts', 'wcml_mc_settings', $script_vars ); |
| 34 | |
| 35 | wp_enqueue_script( 'wcml-mc-scripts' ); |
| 36 | |
| 37 | } |
| 38 | |
| 39 | private static function set_cache_compatibility_variables( $script_vars ) { |
| 40 | global $sg_cachepress_environment, $siteground_optimizer_helper; |
| 41 | |
| 42 | $script_vars['cache_enabled'] = false; |
| 43 | |
| 44 | $w3tc_enabled = isset( self::$multi_currency->W3TC ) && self::$multi_currency->W3TC instanceof WCML_W3TC_Multi_Currency; |
| 45 | $nginx_enabled = class_exists( 'NginxCache' ); |
| 46 | |
| 47 | $sg_cache_enabled = |
| 48 | ( $sg_cachepress_environment && $sg_cachepress_environment->cache_is_enabled() ) || |
| 49 | ( $siteground_optimizer_helper && get_option( 'siteground_optimizer_enable_memcached', false ) ); |
| 50 | if ( $w3tc_enabled || $nginx_enabled || $sg_cache_enabled ) { |
| 51 | $script_vars['cache_enabled'] = true; |
| 52 | } |
| 53 | |
| 54 | $script_vars['cache_enabled'] = apply_filters( 'wcml_is_cache_enabled_for_switching_currency', $script_vars['cache_enabled'] ); |
| 55 | |
| 56 | return $script_vars; |
| 57 | } |
| 58 | |
| 59 | } |
| 60 |