function gibPreisStringLocalizedSmarty($params, $smarty)
{
$oAufpreis = new stdClass();
$oAufpreis->cAufpreisLocalized = '';
$oAufpreis->cPreisInklAufpreis = '';
if ((float)$params['fAufpreisNetto'] != 0) {
$fAufpreisNetto = (float)$params['fAufpreisNetto'];
$fVKNetto = (float)$params['fVKNetto'];
$kSteuerklasse = (int)$params['kSteuerklasse'];
$fVPEWert = (float)$params['fVPEWert'];
$cVPEEinheit = $params['cVPEEinheit'];
$FunktionsAttribute_arr = $params['FunktionsAttribute'];
$nGenauigkeit = (isset($FunktionsAttribute_arr[FKT_ATTRIBUT_GRUNDPREISGENAUIGKEIT])
&& (int)$FunktionsAttribute_arr[FKT_ATTRIBUT_GRUNDPREISGENAUIGKEIT] > 0)
? (int)$FunktionsAttribute_arr[FKT_ATTRIBUT_GRUNDPREISGENAUIGKEIT]
: 2;
if ((int)$params['nNettoPreise'] === 1) {
$oAufpreis->cAufpreisLocalized = Preise::getLocalizedPriceString($fAufpreisNetto);
$oAufpreis->cPreisInklAufpreis = Preise::getLocalizedPriceString($fAufpreisNetto + $fVKNetto);
$oAufpreis->cAufpreisLocalized = ($fAufpreisNetto > 0)
? ('+ ' . $oAufpreis->cAufpreisLocalized)
: str_replace('-', '- ', $oAufpreis->cAufpreisLocalized);
if ($fVPEWert > 0) {
$oAufpreis->cPreisVPEWertAufpreis = Preise::getLocalizedPriceString(
$fAufpreisNetto / $fVPEWert,
\Session\Frontend::getCurrency()->getCode(),
true,
$nGenauigkeit
) . ' ' . Shop::Lang()->get('vpePer') . ' ' . $cVPEEinheit;
$oAufpreis->cPreisVPEWertInklAufpreis = Preise::getLocalizedPriceString(
($fAufpreisNetto + $fVKNetto) / $fVPEWert,
\Session\Frontend::getCurrency()->getCode(),
true,
$nGenauigkeit
) . ' ' . Shop::Lang()->get('vpePer') . ' ' . $cVPEEinheit;
$oAufpreis->cAufpreisLocalized = $oAufpreis->cAufpreisLocalized . ', ' .
$oAufpreis->cPreisVPEWertAufpreis;
$oAufpreis->cPreisInklAufpreis = $oAufpreis->cPreisInklAufpreis . ', ' .
$oAufpreis->cPreisVPEWertInklAufpreis;
}
} else {
$oAufpreis->cAufpreisLocalized = Preise::getLocalizedPriceString(
Tax::getGross($fAufpreisNetto, $_SESSION['Steuersatz'][$kSteuerklasse], 4)
);
$oAufpreis->cPreisInklAufpreis = Preise::getLocalizedPriceString(
Tax::getGross($fAufpreisNetto + $fVKNetto, $_SESSION['Steuersatz'][$kSteuerklasse], 4)
);
$oAufpreis->cAufpreisLocalized = ($fAufpreisNetto > 0)
? ('+ ' . $oAufpreis->cAufpreisLocalized)
: str_replace('-', '- ', $oAufpreis->cAufpreisLocalized);
if ($fVPEWert > 0) {
$oAufpreis->cPreisVPEWertAufpreis = Preise::getLocalizedPriceString(
Tax::getGross($fAufpreisNetto / $fVPEWert, $_SESSION['Steuersatz'][$kSteuerklasse]),
\Session\Frontend::getCurrency()->getCode(),
true,
$nGenauigkeit
) . ' ' . Shop::Lang()->get('vpePer') . ' ' . $cVPEEinheit;
$oAufpreis->cPreisVPEWertInklAufpreis = Preise::getLocalizedPriceString(
Tax::getGross(
($fAufpreisNetto + $fVKNetto) / $fVPEWert,
$_SESSION['Steuersatz'][$kSteuerklasse]
),
\Session\Frontend::getCurrency()->getCode(),
true,
$nGenauigkeit
) . ' ' . Shop::Lang()->get('vpePer') . ' ' . $cVPEEinheit;
$oAufpreis->cAufpreisLocalized = $oAufpreis->cAufpreisLocalized .
', ' . $oAufpreis->cPreisVPEWertAufpreis;
$oAufpreis->cPreisInklAufpreis = $oAufpreis->cPreisInklAufpreis .
', ' . $oAufpreis->cPreisVPEWertInklAufpreis;
}
}
}
return (isset($params['bAufpreise']) && (int)$params['bAufpreise'] > 0)
? $oAufpreis->cAufpreisLocalized
: $oAufpreis->cPreisInklAufpreis;
}