• File: ResolverForModeLocation.php
  • Full Path: /home/lef/public_html/wp-content/plugins/woocommerce-multilingual/classes/Multicurrency/Resolver/ResolverForModeLocation.php
  • File size: 793 bytes
  • MIME-type: text/x-php
  • Charset: utf-8
<?php

namespace WCML\MultiCurrency\Resolver;

use WCML\MultiCurrency\Geolocation;
use WCML\MultiCurrency\Settings;
use WCML_Multi_Currency;

class ResolverForModeLocation implements Resolver {

	/**
	 * @inheritDoc
	 */
	public function getClientCurrency() {
		$storedCurrency = wcml_user_store_get( WCML_Multi_Currency::CURRENCY_STORAGE_KEY );

		// $isCurrencyInvalidInCountry :: string -> bool
		$isCurrencyInvalidInCountry = function( $currency ) {
			return ! Settings::isValidCurrencyByCountry( $currency, Geolocation::getUserCountry() );
		};

		if ( ! $storedCurrency ) {
			return HelperByLocation::getCurrencyByUserCountry();
		} elseif ( $isCurrencyInvalidInCountry( $storedCurrency ) ) {
			return HelperByLocation::getCurrencyByUserCountry();
		}

		return $storedCurrency;
	}
}