|
Apache/2.4.41 (Ubuntu) Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) server ip : 62.171.164.128 | your ip : 127.0.0.1 safemode OFF > / home / dev2.destoffenstraat.com / app / code / MageWorx / GiftCards / Helper / |
Filename | /home/dev2.destoffenstraat.com/app/code/MageWorx/GiftCards/Helper/Price.php |
Size | 3.05 kb |
Permission | rwxrwxrwx |
Owner | root : root |
Create time | 17-Aug-2025 10:26 |
Last modified | 13-May-2022 10:39 |
Last accessed | 22-Aug-2025 02:07 |
Actions | edit | rename | delete | download (gzip) |
View | text | code | image |
<?php
/**
* Copyright © MageWorx. All rights reserved.
* See LICENSE.txt for license details.
*/
namespace MageWorx\GiftCards\Helper;
use Magento\Framework\App\Helper\AbstractHelper;
use Magento\Framework\App\Helper\Context as ContextHelper;
use Magento\Framework\Pricing\PriceCurrencyInterface;
class Price extends AbstractHelper
{
/**
* @var PriceCurrencyInterface
*/
protected $priceCurrency;
/**
* Price constructor.
*
* @param ContextHelper $context
* @param PriceCurrencyInterface $priceCurrency
*/
public function __construct(
ContextHelper $context,
PriceCurrencyInterface $priceCurrency
) {
$this->priceCurrency = $priceCurrency;
parent::__construct($context);
}
/**
* @param string $balance
* @param \Magento\Store\Api\Data\StoreInterface $store
* @param string|null $cardCurrency
* @return float
*/
public function convertCardCurrencyToStoreCurrency($balance, $store, $cardCurrency)
{
if ($this->needConvertPrice($store, $cardCurrency, $balance)) {
$rate = $this->priceCurrency->convert($balance, $store, $cardCurrency) / $balance;
$baseCurrencyBalance = $balance / $rate;
$storeCurrencyBalance = $this->priceCurrency->convert(
$baseCurrencyBalance,
$store,
$store->getCurrentCurrencyCode()
);
return $storeCurrencyBalance;
}
return $balance;
}
/**
* @param string $balance
* @param \Magento\Store\Api\Data\StoreInterface $store
* @param string|null $cardCurrency
* @return float
*/
public function convertCurrencyToBaseCurrency($balance, $store, $cardCurrency)
{
if (isset($cardCurrency) && $store->getBaseCurrencyCode() != $cardCurrency && $balance > 0) {
$rate = $this->priceCurrency->convert($balance, $store, $cardCurrency) / $balance;
$baseCurrencyBalance = $balance / $rate;
return $baseCurrencyBalance;
}
return $balance;
}
/**
* @param string $balance
* @param \Magento\Store\Api\Data\StoreInterface $store
* @param string|null $cardCurrency
* @return float
*/
public function convertBaseCurrencyToStoreCurrency($balance, $store, $cardCurrency)
{
if (isset($cardCurrency) && $store->getBaseCurrencyCode() != $cardCurrency && $balance > 0) {
$rate = $this->priceCurrency->convert($balance, $store, $cardCurrency) / $balance;
$cardCurrencyBalance = $balance * $rate;
return $cardCurrencyBalance;
}
return $balance;
}
/**
* @param \Magento\Store\Api\Data\StoreInterface $store
* @param string|null $cardCurrency
* @param string $balance
* @return bool
*/
protected function needConvertPrice($store, $cardCurrency, $balance)
{
return (isset($cardCurrency) && $store->getCurrentCurrencyCode() != $cardCurrency && $balance > 0);
}
}
/**
* Copyright © MageWorx. All rights reserved.
* See LICENSE.txt for license details.
*/
namespace MageWorx\GiftCards\Helper;
use Magento\Framework\App\Helper\AbstractHelper;
use Magento\Framework\App\Helper\Context as ContextHelper;
use Magento\Framework\Pricing\PriceCurrencyInterface;
class Price extends AbstractHelper
{
/**
* @var PriceCurrencyInterface
*/
protected $priceCurrency;
/**
* Price constructor.
*
* @param ContextHelper $context
* @param PriceCurrencyInterface $priceCurrency
*/
public function __construct(
ContextHelper $context,
PriceCurrencyInterface $priceCurrency
) {
$this->priceCurrency = $priceCurrency;
parent::__construct($context);
}
/**
* @param string $balance
* @param \Magento\Store\Api\Data\StoreInterface $store
* @param string|null $cardCurrency
* @return float
*/
public function convertCardCurrencyToStoreCurrency($balance, $store, $cardCurrency)
{
if ($this->needConvertPrice($store, $cardCurrency, $balance)) {
$rate = $this->priceCurrency->convert($balance, $store, $cardCurrency) / $balance;
$baseCurrencyBalance = $balance / $rate;
$storeCurrencyBalance = $this->priceCurrency->convert(
$baseCurrencyBalance,
$store,
$store->getCurrentCurrencyCode()
);
return $storeCurrencyBalance;
}
return $balance;
}
/**
* @param string $balance
* @param \Magento\Store\Api\Data\StoreInterface $store
* @param string|null $cardCurrency
* @return float
*/
public function convertCurrencyToBaseCurrency($balance, $store, $cardCurrency)
{
if (isset($cardCurrency) && $store->getBaseCurrencyCode() != $cardCurrency && $balance > 0) {
$rate = $this->priceCurrency->convert($balance, $store, $cardCurrency) / $balance;
$baseCurrencyBalance = $balance / $rate;
return $baseCurrencyBalance;
}
return $balance;
}
/**
* @param string $balance
* @param \Magento\Store\Api\Data\StoreInterface $store
* @param string|null $cardCurrency
* @return float
*/
public function convertBaseCurrencyToStoreCurrency($balance, $store, $cardCurrency)
{
if (isset($cardCurrency) && $store->getBaseCurrencyCode() != $cardCurrency && $balance > 0) {
$rate = $this->priceCurrency->convert($balance, $store, $cardCurrency) / $balance;
$cardCurrencyBalance = $balance * $rate;
return $cardCurrencyBalance;
}
return $balance;
}
/**
* @param \Magento\Store\Api\Data\StoreInterface $store
* @param string|null $cardCurrency
* @param string $balance
* @return bool
*/
protected function needConvertPrice($store, $cardCurrency, $balance)
{
return (isset($cardCurrency) && $store->getCurrentCurrencyCode() != $cardCurrency && $balance > 0);
}
}