![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/cartforge.co/vendor/magento/module-backend/Block/Widget/Grid/Column/Renderer/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Backend\Block\Widget\Grid\Column\Renderer; /** * Backend grid item renderer currency * * @api * @deprecated 100.2.0 in favour of UI component implementation * @since 100.0.2 */ class Price extends \Magento\Backend\Block\Widget\Grid\Column\Renderer\AbstractRenderer { /** * @var int */ protected $_defaultWidth = 100; /** * Currency objects cache * * @var \Magento\Framework\DataObject[] */ protected static $_currencies = []; /** * @var \Magento\Framework\Locale\CurrencyInterface */ protected $_localeCurrency; /** * @param \Magento\Backend\Block\Context $context * @param \Magento\Framework\Locale\CurrencyInterface $localeCurrency * @param array $data */ public function __construct( \Magento\Backend\Block\Context $context, \Magento\Framework\Locale\CurrencyInterface $localeCurrency, array $data = [] ) { parent::__construct($context, $data); $this->_localeCurrency = $localeCurrency; } /** * Renders grid column * * @param \Magento\Framework\DataObject $row * @return string */ public function render(\Magento\Framework\DataObject $row) { if ($data = $this->_getValue($row)) { $currencyCode = $this->_getCurrencyCode($row); if (!$currencyCode) { return $data; } $data = (float) $data * $this->_getRate($row); $data = sprintf("%f", $data); $data = $this->_localeCurrency->getCurrency($currencyCode)->toCurrency($data); return $data; } return $this->getColumn()->getDefault(); } /** * Returns currency code for the row, false on error * * @param \Magento\Framework\DataObject $row * @return string|false */ protected function _getCurrencyCode($row) { if ($code = $this->getColumn()->getCurrencyCode()) { return $code; } $currency = $this->getColumn()->getCurrency(); if ($currency !== null && $code = $row->getData($currency)) { return $code; } return false; } /** * Returns rate for the row, 1 by default * * @param \Magento\Framework\DataObject $row * @return float|int */ protected function _getRate($row) { if ($rate = $this->getColumn()->getRate()) { return (float) $rate; } $rateField = $this->getColumn()->getRateField(); if ($rateField !== null && $rate = $row->getData($rateField)) { return (float) $rate; } return 1; } /** * Renders CSS * * @return string */ public function renderCss() { return parent::renderCss() . ' col-price'; } }