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 / vendor / magento / framework / Pricing / Amount /
Filename/home/dev2.destoffenstraat.com/vendor/magento/framework/Pricing/Amount/Base.php
Size3.33 kb
Permissionrw-r--r--
Ownerroot : root
Create time17-Aug-2025 10:26
Last modified07-Jan-2021 21:08
Last accessed23-Aug-2025 03:56
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/

namespace Magento\Framework\Pricing\Amount;

use Magento\Framework\Pricing\Adjustment\AdjustmentInterface;

/**
* Amount base model
*/
class Base implements AmountInterface
{
/**
* @var float
*/
protected $amount;

/**
* @var float
*/
protected $baseAmount;

/**
* @var float
*/
protected $totalAdjustmentAmount;

/**
* @var float[]
*/
protected $adjustmentAmounts = [];

/**
* @var AdjustmentInterface[]
*/
protected $adjustments = [];

/**
* @param float $amount
* @param array $adjustmentAmounts
*/
public function __construct(
$amount,
array $adjustmentAmounts = []
) {
$this->amount = $amount;
$this->adjustmentAmounts = $adjustmentAmounts;
}

/**
* Return full amount value
*
* @param null|string|array $exclude
* @return float
*/
public function getValue($exclude = null)
{
if ($exclude === null) {
return $this->amount;
} else {
if (!is_array($exclude)) {
$exclude = [(string)$exclude];
}
$amount = $this->amount;
foreach ($exclude as $code) {
if ($this->hasAdjustment($code)) {
$amount -= $this->adjustmentAmounts[$code];
}
}
return $amount;
}
}

/**
* Return full amount value in string format
*
* @return string
*/
public function __toString()
{
return (string) $this->getValue();
}

/**
* Return base amount part value
*
* @return float|null
*/
public function getBaseAmount()
{
if ($this->baseAmount === null) {
$this->calculateAmounts();
}
return $this->baseAmount;
}

/**
* Return adjustment amount part value by adjustment code
*
* @param string $adjustmentCode
* @return bool|float
*/
public function getAdjustmentAmount($adjustmentCode)
{
return $this->adjustmentAmounts[$adjustmentCode] ?? false;
}

/**
* Return sum amount of all applied adjustments
*
* @return float|null
*/
public function getTotalAdjustmentAmount()
{
if ($this->totalAdjustmentAmount === null) {
$this->calculateAmounts();
}
return $this->totalAdjustmentAmount;
}

/**
* Return all applied adjustments as array
*
* @return float[]
*/
public function getAdjustmentAmounts()
{
return $this->adjustmentAmounts;
}

/**
* Check if adjustment is contained in amount object
*
* @param string $adjustmentCode
* @return bool
*/
public function hasAdjustment($adjustmentCode)
{
return array_key_exists($adjustmentCode, $this->adjustmentAmounts);
}

/**
* Calculate base amount
*
* @return void
*/
protected function calculateAmounts()
{
$this->baseAmount = $this->amount;
$this->totalAdjustmentAmount = 0.;
foreach ($this->adjustmentAmounts as $amount) {
$this->baseAmount -= $amount;
$this->totalAdjustmentAmount += $amount;
}
}
}