Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .phpstan.dist.baseline.neon
Original file line number Diff line number Diff line change
Expand Up @@ -3479,3 +3479,9 @@ parameters:
identifier: argument.type
count: 1
path: lib/Varien/Simplexml/Element.php

-
rawMessage: Dead catch - PhpUnitsOfMeasure\Exception\UnknownUnitOfMeasure is never thrown in the try block.
identifier: catch.neverThrown
count: 2
path: tests/unit/Mage/Usa/Helper/DataTest.php
3 changes: 3 additions & 0 deletions .phpunit.dist.xml
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,9 @@
<testsuite name="Mage_Uploader">
<directory>tests/unit/Mage/Uploader</directory>
</testsuite>
<testsuite name="Mage_Usa">
<directory>tests/unit/Mage/Usa</directory>
</testsuite>
<testsuite name="Mage_Wishlist">
<directory>tests/unit/Mage/Wishlist</directory>
</testsuite>
Expand Down
26 changes: 26 additions & 0 deletions app/code/core/Mage/Core/Helper/Measure/Length.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<?php

declare(strict_types=1);

/**
* @copyright For copyright and license information, read the COPYING.txt file.
* @link /COPYING.txt
* @license Open Software License (OSL 3.0)
* @package Mage_Core
*/

/**
* Length constants
*
* @package Mage_Core
*/
class Mage_Core_Helper_Measure_Length extends Mage_Core_Helper_Abstract
{
protected $_moduleName = 'Mage_Core';

public const STANDARD = 'meter';

public const CENTIMETER = 'centimeter';

public const INCH = 'inch';
}
28 changes: 28 additions & 0 deletions app/code/core/Mage/Core/Helper/Measure/Weight.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?php

declare(strict_types=1);

/**
* @copyright For copyright and license information, read the COPYING.txt file.
* @link /COPYING.txt
* @license Open Software License (OSL 3.0)
* @package Mage_Core
*/

/**
* Weight constants
*
* @package Mage_Core
*/
class Mage_Core_Helper_Measure_Weight extends Mage_Core_Helper_Abstract
{
protected $_moduleName = 'Mage_Core';

public const STANDARD = 'kilogram';

public const KILOGRAM = 'kilogram';

public const OUNCE = 'ounce';

public const POUND = 'pounds';
}
4 changes: 2 additions & 2 deletions app/code/core/Mage/Usa/Block/Adminhtml/Dhl/Unitofmeasure.php
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ public function _construct()
$weight = round(
(float) Mage::helper('usa')->convertMeasureWeight(
$kgWeight,
Zend_Measure_Weight::KILOGRAM,
Zend_Measure_Weight::POUND,
Mage_Core_Helper_Measure_Weight::KILOGRAM,
Mage_Core_Helper_Measure_Weight::POUND,
),
3,
);
Expand Down
67 changes: 30 additions & 37 deletions app/code/core/Mage/Usa/Helper/Data.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@
* @package Mage_Usa
*/

use PhpUnitsOfMeasure\Exception\NonNumericValue;
use PhpUnitsOfMeasure\Exception\NonStringUnitName;
use PhpUnitsOfMeasure\Exception\UnknownUnitOfMeasure;
use PhpUnitsOfMeasure\PhysicalQuantity\Mass;
use PhpUnitsOfMeasure\PhysicalQuantity\Length;

/**
* @package Mage_Usa
*/
Expand All @@ -17,18 +23,18 @@ class Mage_Usa_Helper_Data extends Mage_Core_Helper_Abstract
/**
* Convert weight in different measure types
*
* @param mixed $value
* @param string $sourceWeightMeasure
* @param string $toWeightMeasure
* @return null|int|string
* @param float $value
* @param Mage_Core_Helper_Measure_Weight::* $sourceWeightMeasure
* @param Mage_Core_Helper_Measure_Weight::* $toWeightMeasure
* @return null|float
* @throws NonNumericValue
* @throws NonStringUnitName
*/
public function convertMeasureWeight($value, $sourceWeightMeasure, $toWeightMeasure)
{
if ($value) {
$locale = Mage::app()->getLocale()->getLocale();
$unitWeight = new Zend_Measure_Weight($value, $sourceWeightMeasure, $locale);
$unitWeight->setType($toWeightMeasure);
return $unitWeight->getValue();
$unitWeight = new Mass($value, $sourceWeightMeasure);
return $unitWeight->toUnit($toWeightMeasure);
}

return null;
Expand All @@ -37,20 +43,18 @@ public function convertMeasureWeight($value, $sourceWeightMeasure, $toWeightMeas
/**
* Convert dimensions in different measure types
*
* @param float|int|string $value
* @param string $sourceDimensionMeasure
* @param string $toDimensionMeasure
* @return null|int|string
* @throws Zend_Locale_Exception
* @throws Zend_Measure_Exception
* @param float $value
* @param Mage_Core_Helper_Measure_Length::* $sourceDimensionMeasure
* @param Mage_Core_Helper_Measure_Length::* $toDimensionMeasure
* @return null|float
* @throws NonNumericValue
* @throws NonStringUnitName
*/
public function convertMeasureDimension($value, $sourceDimensionMeasure, $toDimensionMeasure)
{
if ($value) {
$locale = Mage::app()->getLocale()->getLocale();
$unitDimension = new Zend_Measure_Length($value, $sourceDimensionMeasure, $locale);
$unitDimension->setType($toDimensionMeasure);
return $unitDimension->getValue();
$unitDimension = new Length($value, $sourceDimensionMeasure);
return $unitDimension->toUnit($toDimensionMeasure);
}

return null;
Expand All @@ -59,37 +63,27 @@ public function convertMeasureDimension($value, $sourceDimensionMeasure, $toDime
/**
* Get name of measure by its type
*
* @param $key
* @param string $key
* @return string
* @throws Zend_Measure_Exception
* @throws UnknownUnitOfMeasure
*/
public function getMeasureWeightName($key)
{
$weight = new Zend_Measure_Weight(0);
$conversionList = $weight->getConversionList();
if (!empty($conversionList[$key]) && !empty($conversionList[$key][1])) {
return $conversionList[$key][1];
}

return '';
$unit = Mass::getUnit($key);
return $unit->getName();
}

/**
* Get name of measure by its type
*
* @param $key
* @param string $key
* @return string
* @throws Zend_Measure_Exception
* @throws UnknownUnitOfMeasure
*/
public function getMeasureDimensionName($key)
{
$weight = new Zend_Measure_Length(0);
$conversionList = $weight->getConversionList();
if (!empty($conversionList[$key]) && !empty($conversionList[$key][1])) {
return $conversionList[$key][1];
}

return '';
$unit = Length::getUnit($key);
return $unit->getName();
}

/**
Expand Down Expand Up @@ -132,7 +126,6 @@ public function displayGirthValue($shippingMethod)
* Validate ups type value
*
* @param string $valueForCheck ups type value for check
*
* @return bool
*/
public function validateUpsType($valueForCheck)
Expand Down
12 changes: 6 additions & 6 deletions app/code/core/Mage/Usa/Model/Shipping/Carrier/Dhl.php
Original file line number Diff line number Diff line change
Expand Up @@ -290,29 +290,29 @@ public function setRequest(Varien_Object $request)
if ($request->getAction() == 'GenerateLabel') {
$packageParams = $request->getPackageParams();
$shippingWeight = $request->getPackageWeight();
if ($packageParams->getWeightUnits() != Zend_Measure_Weight::POUND) {
if ($packageParams->getWeightUnits() != Mage_Core_Helper_Measure_Weight::POUND) {
$shippingWeight = round((float) Mage::helper('usa')->convertMeasureWeight(
$request->getPackageWeight(),
$packageParams->getWeightUnits(),
Zend_Measure_Weight::POUND,
Mage_Core_Helper_Measure_Weight::POUND,
));
}

if ($packageParams->getDimensionUnits() != Zend_Measure_Length::INCH) {
if ($packageParams->getDimensionUnits() != Mage_Core_Helper_Measure_Length::INCH) {
$packageParams->setLength(round((float) Mage::helper('usa')->convertMeasureDimension(
$packageParams->getLength(),
$packageParams->getDimensionUnits(),
Zend_Measure_Length::INCH,
Mage_Core_Helper_Measure_Length::INCH,
)));
$packageParams->setWidth(round((float) Mage::helper('usa')->convertMeasureDimension(
$packageParams->getWidth(),
$packageParams->getDimensionUnits(),
Zend_Measure_Length::INCH,
Mage_Core_Helper_Measure_Length::INCH,
)));
$packageParams->setHeight(round((float) Mage::helper('usa')->convertMeasureDimension(
$packageParams->getHeight(),
$packageParams->getDimensionUnits(),
Zend_Measure_Length::INCH,
Mage_Core_Helper_Measure_Length::INCH,
)));
}

Expand Down
32 changes: 16 additions & 16 deletions app/code/core/Mage/Usa/Model/Shipping/Carrier/Dhl/International.php
Original file line number Diff line number Diff line change
Expand Up @@ -427,18 +427,18 @@ public function getCode($type, $code = '')
'1' => Mage::helper('usa')->__('Specific'),
],
'dimensions_variables' => [
'L' => Zend_Measure_Weight::POUND,
'LB' => Zend_Measure_Weight::POUND,
'POUND' => Zend_Measure_Weight::POUND,
'K' => Zend_Measure_Weight::KILOGRAM,
'KG' => Zend_Measure_Weight::KILOGRAM,
'KILOGRAM' => Zend_Measure_Weight::KILOGRAM,
'I' => Zend_Measure_Length::INCH,
'IN' => Zend_Measure_Length::INCH,
'INCH' => Zend_Measure_Length::INCH,
'C' => Zend_Measure_Length::CENTIMETER,
'CM' => Zend_Measure_Length::CENTIMETER,
'CENTIMETER' => Zend_Measure_Length::CENTIMETER,
'L' => Mage_Core_Helper_Measure_Weight::POUND,
'LB' => Mage_Core_Helper_Measure_Weight::POUND,
'POUND' => Mage_Core_Helper_Measure_Weight::POUND,
'K' => Mage_Core_Helper_Measure_Weight::KILOGRAM,
'KG' => Mage_Core_Helper_Measure_Weight::KILOGRAM,
'KILOGRAM' => Mage_Core_Helper_Measure_Weight::KILOGRAM,
'I' => Mage_Core_Helper_Measure_Length::INCH,
'IN' => Mage_Core_Helper_Measure_Length::INCH,
'INCH' => Mage_Core_Helper_Measure_Length::INCH,
'C' => Mage_Core_Helper_Measure_Length::CENTIMETER,
'CM' => Mage_Core_Helper_Measure_Length::CENTIMETER,
'CENTIMETER' => Mage_Core_Helper_Measure_Length::CENTIMETER,

],
];
Expand Down Expand Up @@ -537,7 +537,7 @@ public function getDhlProductTitle($code)
protected function _getWeight($weight, $maxWeight = false, $configWeightUnit = false)
{
if ($maxWeight) {
$configWeightUnit = Zend_Measure_Weight::KILOGRAM;
$configWeightUnit = Mage_Core_Helper_Measure_Weight::KILOGRAM;
} elseif ($configWeightUnit) {
$configWeightUnit = $this->getCode('dimensions_variables', $configWeightUnit);
} else {
Expand Down Expand Up @@ -731,10 +731,10 @@ protected function _getDimension($dimension, $configWeightUnit = false)
$configWeightUnit = $this->getCode('dimensions_variables', $configWeightUnit);
}

if ($configWeightUnit == Zend_Measure_Weight::POUND) {
$configDimensionUnit = Zend_Measure_Length::INCH;
if ($configWeightUnit == Mage_Core_Helper_Measure_Weight::POUND) {
$configDimensionUnit = Mage_Core_Helper_Measure_Length::INCH;
} else {
$configDimensionUnit = Zend_Measure_Length::CENTIMETER;
$configDimensionUnit = Mage_Core_Helper_Measure_Length::CENTIMETER;
}

$countryDimensionUnit = $this->getCode('dimensions_variables', $this->_getDimensionUnit());
Expand Down
4 changes: 2 additions & 2 deletions app/code/core/Mage/Usa/Model/Shipping/Carrier/Fedex.php
Original file line number Diff line number Diff line change
Expand Up @@ -1343,8 +1343,8 @@ protected function _formShipmentRequest(Varien_Object $request)
$height = $packageParams->getHeight();
$width = $packageParams->getWidth();
$length = $packageParams->getLength();
$weightUnits = $packageParams->getWeightUnits() == Zend_Measure_Weight::POUND ? 'LB' : 'KG';
$dimensionsUnits = $packageParams->getDimensionUnits() == Zend_Measure_Length::INCH ? 'IN' : 'CM';
$weightUnits = $packageParams->getWeightUnits() == Mage_Core_Helper_Measure_Weight::POUND ? 'LB' : 'KG';
$dimensionsUnits = $packageParams->getDimensionUnits() == Mage_Core_Helper_Measure_Length::INCH ? 'IN' : 'CM';
$unitPrice = 0;
$itemsQty = 0;
$itemsDesc = [];
Expand Down
8 changes: 4 additions & 4 deletions app/code/core/Mage/Usa/Model/Shipping/Carrier/Ups.php
Original file line number Diff line number Diff line change
Expand Up @@ -1379,8 +1379,8 @@ protected function _formShipmentRequest(Varien_Object $request)
$height = $packageParams->getHeight();
$width = $packageParams->getWidth();
$length = $packageParams->getLength();
$weightUnits = $packageParams->getWeightUnits() == Zend_Measure_Weight::POUND ? 'LBS' : 'KGS';
$dimensionsUnits = $packageParams->getDimensionUnits() == Zend_Measure_Length::INCH ? 'IN' : 'CM';
$weightUnits = $packageParams->getWeightUnits() == Mage_Core_Helper_Measure_Weight::POUND ? 'LBS' : 'KGS';
$dimensionsUnits = $packageParams->getDimensionUnits() == Mage_Core_Helper_Measure_Length::INCH ? 'IN' : 'CM';

$xmlRequest = new SimpleXMLElement('<?xml version = "1.0" ?><ShipmentConfirmRequest xml:lang="en-US"/>');
$requestPart = $xmlRequest->addChild('Request');
Expand Down Expand Up @@ -1797,8 +1797,8 @@ protected function _formShipmentRestRequest(Varien_Object $request): string
$width = $packageParams->getWidth();
$length = $packageParams->getLength();
$weight = $packageParams->getWeight();
$weightUnits = $packageParams->getWeightUnits() == Zend_Measure_Weight::POUND ? 'LBS' : 'KGS';
$dimensionsUnits = $packageParams->getDimensionUnits() == Zend_Measure_Length::INCH ? 'IN' : 'CM';
$weightUnits = $packageParams->getWeightUnits() == Mage_Core_Helper_Measure_Weight::POUND ? 'LBS' : 'KGS';
$dimensionsUnits = $packageParams->getDimensionUnits() == Mage_Core_Helper_Measure_Length::INCH ? 'IN' : 'CM';

/** Shipment API Payload */
$shipParams = [
Expand Down
Loading
Loading