b374k
m1n1 1.01
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
Size3.05 kb
Permissionrwxrwxrwx
Ownerroot : root
Create time17-Aug-2025 10:26
Last modified13-May-2022 10:39
Last accessed22-Aug-2025 02:07
Actionsedit | rename | delete | download (gzip)
Viewtext | 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);
}
}